Files
CDi_MiSTer/sim2/table_of_contents.h
Andre Zeps 2aee070bd7 MPEG video decoder synthesizable for MiSTer
Replaced memory arrays of video decoder with dual port RAM for FPGA usage
Added planar YCbCr frame player to display decoded frames
Added DDR3 interface for frame player and pixel worker
Added DDR3 interface mux for multiple masters
MCD212: Added EV bit usage to replace backdrop with external video

Shows Dragon's Lair intro with artefacts on MiSTer
because the worker currently cannot read from DDR3
For some reason, the EV bit is not working correctly
2025-09-09 00:06:42 +02:00

157 lines
5.6 KiB
C

#pragma once
#include <stdint.h>
struct toc_entry {
uint8_t control;
uint8_t track;
uint8_t m;
uint8_t s;
uint8_t f;
};
extern struct toc_entry toc_buffer[100];
extern int toc_entry_count;
void prepare_apprentice_usa_toc() {
toc_buffer[0] = {1, 1, 21, 34, 1};
toc_buffer[1] = {1, 1, 21, 34, 0};
toc_buffer[2] = {1, 1, 21, 34, 34};
toc_buffer[3] = {1, 2, 25, 68, 21};
toc_buffer[4] = {1, 2, 25, 68, 2};
toc_buffer[5] = {1, 2, 25, 68, 1};
toc_buffer[6] = {1, 3, 35, 85, 0};
toc_buffer[7] = {1, 3, 35, 85, 68};
toc_buffer[8] = {1, 3, 35, 85, 35};
toc_buffer[9] = {1, 4, 36, 86, 3};
toc_buffer[10] = {1, 4, 36, 86, 1};
toc_buffer[11] = {1, 4, 36, 86, 0};
toc_buffer[12] = {1, 5, 41, 66, 86};
toc_buffer[13] = {1, 5, 41, 66, 36};
toc_buffer[14] = {1, 5, 41, 66, 4};
toc_buffer[15] = {1, 6, 48, 67, 1};
toc_buffer[16] = {1, 6, 48, 67, 0};
toc_buffer[17] = {1, 6, 48, 67, 66};
toc_buffer[18] = {1, 7, 53, 49, 41};
toc_buffer[19] = {1, 7, 53, 49, 6};
toc_buffer[20] = {1, 7, 53, 49, 1};
toc_buffer[21] = {1, 8, 54, 55, 0};
toc_buffer[22] = {1, 8, 54, 55, 67};
toc_buffer[23] = {1, 8, 54, 55, 53};
toc_buffer[24] = {1, 9, 65, 18, 7};
toc_buffer[25] = {1, 9, 65, 18, 1};
toc_buffer[26] = {1, 9, 65, 18, 0};
toc_buffer[27] = {1, 16, 66, 21, 55};
toc_buffer[28] = {1, 16, 66, 21, 54};
toc_buffer[29] = {1, 16, 66, 21, 8};
toc_buffer[30] = {1, 17, 70, 37, 1};
toc_buffer[31] = {1, 17, 70, 37, 0};
toc_buffer[32] = {1, 17, 70, 37, 18};
toc_buffer[33] = {1, 18, 71, 32, 65};
toc_buffer[34] = {1, 18, 71, 32, 16};
toc_buffer[35] = {1, 18, 71, 32, 1};
toc_buffer[36] = {1, 19, 81, 54, 0};
toc_buffer[37] = {1, 19, 81, 54, 21};
toc_buffer[38] = {1, 19, 81, 54, 70};
toc_buffer[39] = {1, 20, 82, 54, 17};
toc_buffer[40] = {1, 20, 82, 54, 1};
toc_buffer[41] = {1, 20, 82, 54, 0};
toc_buffer[42] = {1, 21, 83, 69, 32};
toc_buffer[43] = {1, 21, 83, 69, 71};
toc_buffer[44] = {1, 21, 83, 69, 18};
toc_buffer[45] = {1, 22, 86, 85, 1};
toc_buffer[46] = {1, 22, 86, 85, 0};
toc_buffer[47] = {1, 22, 86, 85, 54};
toc_buffer[48] = {1, 23, 87, 5, 81};
toc_buffer[49] = {1, 23, 87, 5, 20};
toc_buffer[50] = {1, 23, 87, 5, 1};
toc_buffer[51] = {1, 24, 89, 2, 0};
toc_buffer[52] = {1, 24, 89, 2, 54};
toc_buffer[53] = {1, 24, 89, 2, 83};
toc_buffer[54] = {1, 25, 89, 37, 21};
toc_buffer[55] = {1, 25, 89, 37, 1};
toc_buffer[56] = {1, 25, 89, 37, 0};
toc_buffer[57] = {1, 32, 96, 0, 85};
toc_buffer[58] = {1, 32, 96, 0, 86};
toc_buffer[59] = {1, 32, 96, 0, 22};
toc_buffer[60] = {1, 33, 96, 34, 1};
toc_buffer[61] = {1, 33, 96, 34, 0};
toc_buffer[62] = {1, 33, 96, 34, 5};
toc_buffer[63] = {1, 34, 96, 87, 87};
toc_buffer[64] = {1, 34, 96, 87, 24};
toc_buffer[65] = {1, 34, 96, 87, 1};
toc_buffer[66] = {1, 160, 1, 0, 0};
toc_buffer[67] = {1, 160, 1, 0, 2};
toc_buffer[68] = {1, 160, 1, 0, 89};
toc_buffer[69] = {1, 161, 34, 0, 25};
toc_buffer[70] = {1, 161, 34, 0, 1};
toc_buffer[71] = {1, 161, 34, 0, 0};
toc_buffer[72] = {1, 162, 21, 34, 0};
toc_buffer[73] = {1, 162, 21, 34, 96};
toc_buffer[74] = {1, 162, 21, 34, 32};
toc_entry_count = 75;
}
void prepare_lucky_luke_europe_toc() {
toc_buffer[0] = {1, 1, 34, 25, 1};
toc_buffer[1] = {1, 1, 34, 25, 0};
toc_buffer[2] = {1, 1, 34, 25, 25};
toc_buffer[3] = {1, 2, 37, 32, 34};
toc_buffer[4] = {1, 2, 37, 32, 2};
toc_buffer[5] = {1, 2, 37, 32, 1};
toc_buffer[6] = {1, 3, 41, 2, 0};
toc_buffer[7] = {1, 3, 41, 2, 32};
toc_buffer[8] = {1, 3, 41, 2, 41};
toc_buffer[9] = {1, 4, 50, 19, 3};
toc_buffer[10] = {1, 4, 50, 19, 1};
toc_buffer[11] = {1, 4, 50, 19, 0};
toc_buffer[12] = {1, 5, 53, 70, 19};
toc_buffer[13] = {1, 5, 53, 70, 50};
toc_buffer[14] = {1, 5, 53, 70, 4};
toc_buffer[15] = {1, 6, 56, 4, 1};
toc_buffer[16] = {1, 6, 56, 4, 0};
toc_buffer[17] = {1, 6, 56, 4, 70};
toc_buffer[18] = {1, 7, 57, 37, 53};
toc_buffer[19] = {1, 7, 57, 37, 6};
toc_buffer[20] = {1, 7, 57, 37, 1};
toc_buffer[21] = {1, 8, 64, 86, 0};
toc_buffer[22] = {1, 8, 64, 86, 4};
toc_buffer[23] = {1, 8, 64, 86, 57};
toc_buffer[24] = {1, 9, 66, 41, 7};
toc_buffer[25] = {1, 9, 66, 41, 1};
toc_buffer[26] = {1, 9, 66, 41, 0};
toc_buffer[27] = {1, 16, 67, 72, 86};
toc_buffer[28] = {1, 16, 67, 72, 64};
toc_buffer[29] = {1, 16, 67, 72, 8};
toc_buffer[30] = {1, 17, 68, 41, 1};
toc_buffer[31] = {1, 17, 68, 41, 0};
toc_buffer[32] = {1, 17, 68, 41, 41};
toc_buffer[33] = {1, 18, 68, 82, 66};
toc_buffer[34] = {1, 18, 68, 82, 16};
toc_buffer[35] = {1, 18, 68, 82, 1};
toc_buffer[36] = {1, 19, 69, 84, 0};
toc_buffer[37] = {1, 19, 69, 84, 72};
toc_buffer[38] = {1, 19, 69, 84, 68};
toc_buffer[39] = {1, 20, 71, 25, 17};
toc_buffer[40] = {1, 20, 71, 25, 1};
toc_buffer[41] = {1, 20, 71, 25, 0};
toc_buffer[42] = {1, 21, 72, 69, 82};
toc_buffer[43] = {1, 21, 72, 69, 68};
toc_buffer[44] = {1, 21, 72, 69, 18};
toc_buffer[45] = {1, 22, 81, 37, 1};
toc_buffer[46] = {1, 22, 81, 37, 0};
toc_buffer[47] = {1, 22, 81, 37, 84};
toc_buffer[48] = {1, 160, 1, 0, 69};
toc_buffer[49] = {1, 160, 1, 0, 20};
toc_buffer[50] = {1, 160, 1, 0, 1};
toc_buffer[51] = {1, 161, 22, 0, 0};
toc_buffer[52] = {1, 161, 22, 0, 25};
toc_buffer[53] = {1, 161, 22, 0, 72};
toc_buffer[54] = {1, 162, 34, 25, 21};
toc_buffer[55] = {1, 162, 34, 25, 1};
toc_buffer[56] = {1, 162, 34, 25, 0};
toc_entry_count = 57;
}