Previous 199869 Revisions Next

r18920 Saturday 10th November, 2012 at 11:05:51 UTC by O. Galibert
m6509: "normal" read/writes happen in the fetch bank [O. Galibert]
[src/emu/cpu/m6502]m6509.c m6509.h

trunk/src/emu/cpu/m6502/m6509.c
r18919r18920
4646   m6502_device(mconfig, M6509, "M6509", tag, owner, clock)
4747{
4848   program_config.m_addrbus_width = 20;
49   program_config.m_logaddr_width = 16;
50   program_config.m_page_shift = 13;
49   program_config.m_logaddr_width = 20;
5150}
5251
5352void m6509_device::device_start()
r18919r18920
5958
6059   init();
6160
61   state_add(STATE_GENPC, "GENPC", XPC).callexport().noshow();
6262   state_add(M6509_BI, "BI", bank_i);
6363   state_add(M6509_BY, "BY", bank_y);
6464}
r18919r18920
7070   bank_y = 0x0f;
7171}
7272
73void m6509_device::state_export(const device_state_entry &entry)
74{
75   switch(entry.index()) {
76   case STATE_GENPC:
77      XPC = adr_in_bank_i(NPC);
78      break;
79   }
80}
81
7382offs_t m6509_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
7483{
7584   return disassemble_generic(buffer, pc, oprom, opram, options, disasm_entries);
r18919r18920
8392
8493UINT8 m6509_device::mi_6509_normal::read(UINT16 adr)
8594{
86   UINT8 res = program->read_byte(adr);
95   UINT8 res = program->read_byte(base->adr_in_bank_i(adr));
8796   if(adr == 0x0000)
8897      res = base->bank_i_r();
8998   else if(adr == 0x0001)
r18919r18920
123132
124133void m6509_device::mi_6509_normal::write(UINT16 adr, UINT8 val)
125134{
126   program->write_byte(adr, val);
135   program->write_byte(base->adr_in_bank_i(adr), val);
127136   if(adr == 0x0000)
128137      base->bank_i_w(val);
129138   else if(adr == 0x0001)
trunk/src/emu/cpu/m6502/m6509.h
r18919r18920
7575
7676   virtual void device_start();
7777   virtual void device_reset();
78   virtual void state_export(const device_state_entry &entry);
7879
80   UINT32 XPC;
81
7982   UINT8 bank_i, bank_y;
8083
8184   UINT8 bank_i_r() { return bank_i; }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team