| Previous | 199869 Revisions | Next |
| r34687 Tuesday 27th January, 2015 at 23:20:38 UTC by Angelo Salese |
|---|
| One bug nailed (boot vectors are *whatever exists in regular 0-0xffff range"). |
| [src/emu/cpu/m6502] | m4510.c m6502.h om65ce02.lst |
| [src/mess/drivers] | c65.c |
| r243198 | r243199 | |
|---|---|---|
| 75 | 75 | nomap = true; |
| 76 | 76 | |
| 77 | 77 | // Wild guess, this setting makes the cpu start executing some code in the c65 driver |
| 78 | map_offset[1] = 0x30000; | |
| 79 | map_enable = 0x80; | |
| 78 | //map_offset[1] = 0x2e000; | |
| 79 | //map_enable = 0x80; | |
| 80 | 80 | m65ce02_device::device_reset(); |
| 81 | 81 | } |
| 82 | 82 | |
| r243198 | r243199 | |
| 86 | 86 | { |
| 87 | 87 | address = map(address); |
| 88 | 88 | } |
| 89 | ||
| 89 | ||
| 90 | 90 | return true; |
| 91 | 91 | } |
| 92 | 92 |
| r243198 | r243199 | |
|---|---|---|
| 220 | 220 | |
| 221 | 221 | // inline helpers |
| 222 | 222 | static inline bool page_changing(UINT16 base, int delta) { return ((base + delta) ^ base) & 0xff00; } |
| 223 | static inline UINT16 set_l(UINT16 base, UINT8 val) { return (base & 0xff00) | val; } | |
| 224 | static inline UINT16 set_h(UINT16 base, UINT8 val) { return (base & 0x00ff) | (val << 8); } | |
| 223 | static inline UINT16 set_l(UINT16 base, UINT16 val) { return (base & 0xff00) | val; } | |
| 224 | static inline UINT16 set_h(UINT16 base, UINT16 val) { return (base & 0x00ff) | (val << 8); } | |
| 225 | 225 | |
| 226 | 226 | inline void dec_SP() { SP = set_l(SP, SP-1); } |
| 227 | 227 | inline void inc_SP() { SP = set_l(SP, SP+1); } |
| r243198 | r243199 | |
|---|---|---|
| 342 | 342 | prefetch(); |
| 343 | 343 | |
| 344 | 344 | bra_rw2 |
| 345 | printf("PC=%04x\n",PC); | |
| 345 | 346 | TMP = read_pc(); |
| 346 | 347 | TMP = set_h(TMP, read_pc()); |
| 347 | PC += TMP; | |
| 348 | PC += TMP - 1; | |
| 348 | 349 | prefetch(); |
| 349 | 350 | |
| 350 | 351 | brk_ce_imp |
| r243198 | r243199 | |
| 734 | 735 | jsr_ce_adr |
| 735 | 736 | TMP = read_pc(); |
| 736 | 737 | write(SP, PC>>8); |
| 738 | printf("a %04x\n",SP); | |
| 737 | 739 | dec_SP_ce(); |
| 738 | 740 | write(SP, PC); |
| 741 | printf("b %04x\n",SP); | |
| 739 | 742 | dec_SP_ce(); |
| 740 | 743 | TMP = set_h(TMP, read_pc()); |
| 741 | 744 | PC = TMP; |
| 745 | printf("%04x\n",TMP); | |
| 742 | 746 | prefetch(); |
| 743 | 747 | |
| 744 | 748 | jsr_iax |
| r243198 | r243199 | |
|---|---|---|
| 125 | 125 | printf("CONTROL A %02x\n",data); |
| 126 | 126 | m_VIC3_ControlA = data; |
| 127 | 127 | break; |
| 128 | default: | |
| 128 | default: | |
| 129 | 129 | if(!space.debugger_access()) |
| 130 | 130 | printf("%02x %02x\n",offset,data); |
| 131 | 131 | break; |
| https://github.com/mamedev/mame/commit/c652a6efe20a1b1570233bd46514cd0f18ac03f8 |
| Previous | 199869 Revisions | Next |