mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
One bug nailed (boot vectors are *whatever exists in regular 0-0xffff range").
This commit is contained in:
parent
6e0a315ce0
commit
c652a6efe2
@ -75,8 +75,8 @@ void m4510_device::device_reset()
|
|||||||
nomap = true;
|
nomap = true;
|
||||||
|
|
||||||
// Wild guess, this setting makes the cpu start executing some code in the c65 driver
|
// Wild guess, this setting makes the cpu start executing some code in the c65 driver
|
||||||
map_offset[1] = 0x30000;
|
//map_offset[1] = 0x2e000;
|
||||||
map_enable = 0x80;
|
//map_enable = 0x80;
|
||||||
m65ce02_device::device_reset();
|
m65ce02_device::device_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ bool m4510_device::memory_translate(address_spacenum spacenum, int intention, of
|
|||||||
{
|
{
|
||||||
address = map(address);
|
address = map(address);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,8 +220,8 @@ protected:
|
|||||||
|
|
||||||
// inline helpers
|
// inline helpers
|
||||||
static inline bool page_changing(UINT16 base, int delta) { return ((base + delta) ^ base) & 0xff00; }
|
static inline bool page_changing(UINT16 base, int delta) { return ((base + delta) ^ base) & 0xff00; }
|
||||||
static inline UINT16 set_l(UINT16 base, UINT8 val) { return (base & 0xff00) | val; }
|
static inline UINT16 set_l(UINT16 base, UINT16 val) { return (base & 0xff00) | val; }
|
||||||
static inline UINT16 set_h(UINT16 base, UINT8 val) { return (base & 0x00ff) | (val << 8); }
|
static inline UINT16 set_h(UINT16 base, UINT16 val) { return (base & 0x00ff) | (val << 8); }
|
||||||
|
|
||||||
inline void dec_SP() { SP = set_l(SP, SP-1); }
|
inline void dec_SP() { SP = set_l(SP, SP-1); }
|
||||||
inline void inc_SP() { SP = set_l(SP, SP+1); }
|
inline void inc_SP() { SP = set_l(SP, SP+1); }
|
||||||
|
@ -342,9 +342,10 @@ bra_ce_rel
|
|||||||
prefetch();
|
prefetch();
|
||||||
|
|
||||||
bra_rw2
|
bra_rw2
|
||||||
|
printf("PC=%04x\n",PC);
|
||||||
TMP = read_pc();
|
TMP = read_pc();
|
||||||
TMP = set_h(TMP, read_pc());
|
TMP = set_h(TMP, read_pc());
|
||||||
PC += TMP;
|
PC += TMP - 1;
|
||||||
prefetch();
|
prefetch();
|
||||||
|
|
||||||
brk_ce_imp
|
brk_ce_imp
|
||||||
@ -734,11 +735,14 @@ jmp_ce_ind
|
|||||||
jsr_ce_adr
|
jsr_ce_adr
|
||||||
TMP = read_pc();
|
TMP = read_pc();
|
||||||
write(SP, PC>>8);
|
write(SP, PC>>8);
|
||||||
|
printf("a %04x\n",SP);
|
||||||
dec_SP_ce();
|
dec_SP_ce();
|
||||||
write(SP, PC);
|
write(SP, PC);
|
||||||
|
printf("b %04x\n",SP);
|
||||||
dec_SP_ce();
|
dec_SP_ce();
|
||||||
TMP = set_h(TMP, read_pc());
|
TMP = set_h(TMP, read_pc());
|
||||||
PC = TMP;
|
PC = TMP;
|
||||||
|
printf("%04x\n",TMP);
|
||||||
prefetch();
|
prefetch();
|
||||||
|
|
||||||
jsr_iax
|
jsr_iax
|
||||||
|
@ -125,7 +125,7 @@ WRITE8_MEMBER(c65_state::vic4567_dummy_w)
|
|||||||
printf("CONTROL A %02x\n",data);
|
printf("CONTROL A %02x\n",data);
|
||||||
m_VIC3_ControlA = data;
|
m_VIC3_ControlA = data;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(!space.debugger_access())
|
if(!space.debugger_access())
|
||||||
printf("%02x %02x\n",offset,data);
|
printf("%02x %02x\n",offset,data);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user