Mercurial > repos > blastem
comparison xband.c @ 1231:d9d775d61fcf
Cut down on the verbose logging in XBAND code
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 25 Feb 2017 02:30:55 -0800 |
parents | 0ed27bb6a658 |
children | 6370b80491c7 |
comparison
equal
deleted
inserted
replaced
1230:0ed27bb6a658 | 1231:d9d775d61fcf |
---|---|
70 UNKNOWN_REG2, | 70 UNKNOWN_REG2, |
71 UNKNOWN_REG3, | 71 UNKNOWN_REG3, |
72 | 72 |
73 }; | 73 }; |
74 | 74 |
75 //#define DO_DEBUG_PRINT | |
76 #ifdef DO_DEBUG_PRINT | |
77 #define dprintf printf | |
78 #define dputs puts | |
79 #else | |
80 #define dprintf | |
81 #define dputs | |
82 #endif | |
83 | |
75 uint8_t xband_detect(uint8_t *rom, uint32_t rom_size) | 84 uint8_t xband_detect(uint8_t *rom, uint32_t rom_size) |
76 { | 85 { |
77 //Internal ROM is 512KB, accept larger ones for overdumps and custom firmware | 86 //Internal ROM is 512KB, accept larger ones for overdumps and custom firmware |
78 if (rom_size < (512*1024)) { | 87 if (rom_size < (512*1024)) { |
79 return 0; | 88 return 0; |
128 m68k_context *m68k = context; | 137 m68k_context *m68k = context; |
129 genesis_context *gen = m68k->system; | 138 genesis_context *gen = m68k->system; |
130 xband *x = get_xband(gen); | 139 xband *x = get_xband(gen); |
131 if (address == 0x181) { | 140 if (address == 0x181) { |
132 x->kill = value; | 141 x->kill = value; |
133 printf("Write to \"soft\" kill register %X\n", value); | 142 dprintf("Write to \"soft\" kill register %X\n", value); |
134 } else if (address == 0x183) { | 143 } else if (address == 0x183) { |
135 update_control(gen, value); | 144 update_control(gen, value); |
136 printf("Write to \"soft\" control register %X\n", value); | 145 dprintf("Write to \"soft\" control register %X\n", value); |
137 } else if ((x->control & BIT_ROM_HI && address < 0x200000) || (address >= 0x200000 && !(x->control & BIT_ROM_HI))) { | 146 } else if ((x->control & BIT_ROM_HI && address < 0x200000) || (address >= 0x200000 && !(x->control & BIT_ROM_HI))) { |
138 gen->save_storage[(address & 0xFFFF) ^ 1] = value; | 147 gen->save_storage[(address & 0xFFFF) ^ 1] = value; |
139 m68k_handle_code_write(address, m68k); | 148 m68k_handle_code_write(address, m68k); |
140 //TODO: handle code at mirror addresses | 149 //TODO: handle code at mirror addresses |
141 } else { | 150 } else { |
211 if (offset < XBAND_REGS) { | 220 if (offset < XBAND_REGS) { |
212 switch (offset) | 221 switch (offset) |
213 { | 222 { |
214 case MORE_MYSTERY: | 223 case MORE_MYSTERY: |
215 case UNKNOWN_REG: | 224 case UNKNOWN_REG: |
216 printf("Write to mysterious reg: %X: %X\n", address, value); | 225 dprintf("Write to mysterious reg: %X: %X\n", address, value); |
217 value = value & 0x7F; | 226 value = value & 0x7F; |
218 break; | 227 break; |
219 case UNKNOWN_REG3: | 228 case UNKNOWN_REG3: |
220 printf("Write to mysterious reg: %X: %X\n", address, value); | 229 dprintf("Write to mysterious reg: %X: %X\n", address, value); |
221 value = value & 0xFE; | 230 value = value & 0xFE; |
222 break; | 231 break; |
223 } | 232 } |
224 x->regs[offset] = value; | 233 x->regs[offset] = value; |
225 printf("Write to register %X(%d): %X\n", address, offset, value); | 234 dprintf("Write to register %X(%d): %X\n", address, offset, value); |
226 } else { | 235 } else { |
227 printf("Unhandled register write %X: %X\n", address, value); | 236 printf("Unhandled register write %X: %X\n", address, value); |
228 } | 237 } |
229 } else { | 238 } else { |
230 if (address == 0x3BFE01) { | 239 if (address == 0x3BFE01) { |
231 x->kill = value; | 240 x->kill = value; |
232 printf("Write to kill register %X\n", value); | 241 dprintf("Write to kill register %X\n", value); |
233 } else if (address == 0x3BFE03) { | 242 } else if (address == 0x3BFE03) { |
234 update_control(gen, value); | 243 update_control(gen, value); |
235 printf("Write to control register %X\n", value); | 244 dprintf("Write to control register %X\n", value); |
236 } else { | 245 } else { |
237 printf("Unhandled register write %X: %X\n", address, value); | 246 printf("Unhandled register write %X: %X\n", address, value); |
238 } | 247 } |
239 } | 248 } |
240 return context; | 249 return context; |
255 } | 264 } |
256 xband *x = get_xband(gen); | 265 xband *x = get_xband(gen); |
257 if (address < 0x3BFE00) { | 266 if (address < 0x3BFE00) { |
258 uint32_t offset = (address - 0x3BC001) / 2; | 267 uint32_t offset = (address - 0x3BC001) / 2; |
259 if (offset < XBAND_REGS) { | 268 if (offset < XBAND_REGS) { |
260 printf("Regsister read: %X\n", address); | 269 dprintf("Regsister read: %X\n", address); |
261 return x->regs[offset]; | 270 return x->regs[offset]; |
262 } else { | 271 } else { |
263 printf("Unhandled register read from address %X\n", address); | 272 printf("Unhandled register read from address %X\n", address); |
264 return 0x5D; | 273 return 0x5D; |
265 } | 274 } |