Mercurial > repos > blastem
comparison system.h @ 2116:cd057d6fe030
Initial stab at subcode emulation
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 06 Mar 2022 22:03:52 -0800 |
parents | 2449c88cea36 |
children | 9a8dd4ba2753 |
comparison
equal
deleted
inserted
replaced
2115:e93ced356a21 | 2116:cd057d6fe030 |
---|---|
88 typedef enum { | 88 typedef enum { |
89 TRACK_AUDIO, | 89 TRACK_AUDIO, |
90 TRACK_DATA | 90 TRACK_DATA |
91 } track_type; | 91 } track_type; |
92 | 92 |
93 enum { | |
94 SUBCODES_NONE, | |
95 SUBCODES_RAW, | |
96 SUBCODES_COOKED | |
97 }; | |
98 | |
93 typedef struct { | 99 typedef struct { |
94 FILE *f; | 100 FILE *f; |
95 uint32_t file_offset; | 101 uint32_t file_offset; |
96 uint32_t fake_pregap; | 102 uint32_t fake_pregap; |
97 uint32_t pregap_lba; | 103 uint32_t pregap_lba; |
98 uint32_t start_lba; | 104 uint32_t start_lba; |
99 uint32_t end_lba; | 105 uint32_t end_lba; |
100 uint16_t sector_bytes; | 106 uint16_t sector_bytes; |
101 uint8_t need_swap; | 107 uint8_t need_swap; |
108 uint8_t has_subcodes; | |
102 track_type type; | 109 track_type type; |
103 } track_info; | 110 } track_info; |
104 | 111 |
105 typedef uint8_t (*seek_fun)(system_media *media, uint32_t sector); | 112 typedef uint8_t (*seek_fun)(system_media *media, uint32_t sector); |
106 typedef uint8_t (*read_fun)(system_media *media, uint32_t offset); | 113 typedef uint8_t (*read_fun)(system_media *media, uint32_t offset); |
110 char *dir; | 117 char *dir; |
111 char *name; | 118 char *name; |
112 char *extension; | 119 char *extension; |
113 system_media *chain; | 120 system_media *chain; |
114 track_info *tracks; | 121 track_info *tracks; |
122 uint8_t *tmp_buffer; | |
115 seek_fun seek; | 123 seek_fun seek; |
116 read_fun read; | 124 read_fun read; |
125 read_fun read_subcodes; | |
117 uint32_t num_tracks; | 126 uint32_t num_tracks; |
118 uint32_t cur_track; | 127 uint32_t cur_track; |
119 uint32_t size; | 128 uint32_t size; |
120 uint32_t cur_sector; | 129 uint32_t cur_sector; |
121 media_type type; | 130 media_type type; |