comparison cdd_mcu.h @ 2116:cd057d6fe030

Initial stab at subcode emulation
author Michael Pavone <pavone@retrodev.com>
date Sun, 06 Mar 2022 22:03:52 -0800
parents c732dcc9c61b
children c3ee42c89b27
comparison
equal deleted inserted replaced
2115:e93ced356a21 2116:cd057d6fe030
134 134
135 typedef struct { 135 typedef struct {
136 system_media *media; 136 system_media *media;
137 uint32_t cycle; //this is in CD block CLKS 137 uint32_t cycle; //this is in CD block CLKS
138 uint32_t next_int_cycle; //this is in SCD MCLKS 138 uint32_t next_int_cycle; //this is in SCD MCLKS
139 uint32_t last_subcode_cycle; 139 uint32_t next_subcode_int_cycle;
140 uint32_t last_sector_cycle;
140 uint32_t last_nibble_cycle; 141 uint32_t last_nibble_cycle;
141 uint32_t next_byte_cycle; 142 uint32_t next_byte_cycle;
143 uint32_t next_subcode_cycle;
142 int current_status_nibble; 144 int current_status_nibble;
143 int current_cmd_nibble; 145 int current_cmd_nibble;
144 int current_sector_byte; 146 int current_sector_byte;
147 int current_subcode_byte;
148 int current_subcode_dest;
145 uint32_t head_pba; 149 uint32_t head_pba;
146 uint32_t seek_pba; 150 uint32_t seek_pba;
147 uint32_t pause_pba; 151 uint32_t pause_pba;
148 cdd_status status_buffer; 152 cdd_status status_buffer;
149 cdd_cmd cmd_buffer; 153 cdd_cmd cmd_buffer;
152 drive_status error_status; 156 drive_status error_status;
153 uint8_t requested_track; 157 uint8_t requested_track;
154 uint8_t cmd_recv_wait; 158 uint8_t cmd_recv_wait;
155 uint8_t cmd_recv_pending; 159 uint8_t cmd_recv_pending;
156 uint8_t int_pending; 160 uint8_t int_pending;
161 uint8_t subcode_int_pending;
157 uint8_t toc_valid; 162 uint8_t toc_valid;
158 uint8_t first_cmd_received; 163 uint8_t first_cmd_received;
159 uint8_t seeking; 164 uint8_t seeking;
160 uint8_t in_fake_pregap; 165 uint8_t in_fake_pregap;
161 } cdd_mcu; 166 } cdd_mcu;