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

trunk/src/emu/cpu/m6502/m4510.c
r243198r243199
7575   nomap = true;
7676
7777   // 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;
8080   m65ce02_device::device_reset();
8181}
8282
r243198r243199
8686   {
8787      address = map(address);
8888   }
89
89   
9090   return true;
9191}
9292
trunk/src/emu/cpu/m6502/m6502.h
r243198r243199
220220
221221   // inline helpers
222222   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); }
225225
226226   inline void dec_SP() { SP = set_l(SP, SP-1); }
227227   inline void inc_SP() { SP = set_l(SP, SP+1); }
trunk/src/emu/cpu/m6502/om65ce02.lst
r243198r243199
342342   prefetch();
343343
344344bra_rw2
345   printf("PC=%04x\n",PC);
345346   TMP = read_pc();
346347   TMP = set_h(TMP, read_pc());
347   PC += TMP;
348   PC += TMP - 1;
348349   prefetch();
349350
350351brk_ce_imp
r243198r243199
734735jsr_ce_adr
735736   TMP = read_pc();
736737   write(SP, PC>>8);
738   printf("a %04x\n",SP);
737739   dec_SP_ce();
738740   write(SP, PC);
741      printf("b %04x\n",SP);
739742   dec_SP_ce();
740743   TMP = set_h(TMP, read_pc());
741744   PC = TMP;
745   printf("%04x\n",TMP);
742746   prefetch();
743747
744748jsr_iax
trunk/src/mess/drivers/c65.c
r243198r243199
125125         printf("CONTROL A %02x\n",data);
126126         m_VIC3_ControlA = data;
127127         break;
128      default:
128      default:
129129         if(!space.debugger_access())
130130            printf("%02x %02x\n",offset,data);
131131         break;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team