summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/m6502
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2015-06-04 21:42:58 +0200
committer Olivier Galibert <galibert@pobox.com>2015-06-24 08:43:34 +0200
commit88949a5b47798b3c82851c31b6f801e4fb8ca06f (patch)
tree7929d5f4beb47f8f6b61fe2a2b89f2302f3df19c /src/emu/cpu/m6502
parentd1583b9850d9fb45470648a515eb734e05fd926f (diff)
memory: Remove support for decrypted bases, use an address space instead [O. Galibert]
Diffstat (limited to 'src/emu/cpu/m6502')
-rw-r--r--src/emu/cpu/m6502/deco16.c8
-rw-r--r--src/emu/cpu/m6502/m4510.c19
-rw-r--r--src/emu/cpu/m6502/m4510.h8
-rw-r--r--src/emu/cpu/m6502/m6502.c42
-rw-r--r--src/emu/cpu/m6502/m6502.h24
-rwxr-xr-xsrc/emu/cpu/m6502/m6502make.py4
-rw-r--r--src/emu/cpu/m6502/m6504.c17
-rw-r--r--src/emu/cpu/m6502/m6504.h8
-rw-r--r--src/emu/cpu/m6502/m6509.c16
-rw-r--r--src/emu/cpu/m6502/m6509.h8
-rw-r--r--src/emu/cpu/m6502/m6510.c26
-rw-r--r--src/emu/cpu/m6502/m6510.h8
-rw-r--r--src/emu/cpu/m6502/n2a03.c14
-rw-r--r--src/emu/cpu/m6502/n2a03.h8
-rw-r--r--src/emu/cpu/m6502/odeco16.lst12
-rw-r--r--src/emu/cpu/m6502/om6502.lst28
-rw-r--r--src/emu/cpu/m6502/om65c02.lst10
-rw-r--r--src/emu/cpu/m6502/om65ce02.lst8
-rw-r--r--src/emu/cpu/m6502/om740.lst14
19 files changed, 158 insertions, 124 deletions
diff --git a/src/emu/cpu/m6502/deco16.c b/src/emu/cpu/m6502/deco16.c
index 681ae5dcc42..a500b287d7a 100644
--- a/src/emu/cpu/m6502/deco16.c
+++ b/src/emu/cpu/m6502/deco16.c
@@ -41,7 +41,13 @@ void deco16_device::device_start()
const address_space_config *deco16_device::memory_space_config(address_spacenum spacenum) const
{
- return spacenum == AS_PROGRAM ? &program_config : spacenum == AS_IO ? &io_config : NULL;
+ switch(spacenum)
+ {
+ case AS_PROGRAM: return &program_config;
+ case AS_IO: return &io_config;
+ case AS_DECRYPTED_OPCODES: return has_configured_map(AS_DECRYPTED_OPCODES) ? &sprogram_config : NULL;
+ default: return NULL;
+ }
}
#include "cpu/m6502/deco16.inc"
diff --git a/src/emu/cpu/m6502/m4510.c b/src/emu/cpu/m6502/m4510.c
index 329734f692e..65c59280b29 100644
--- a/src/emu/cpu/m6502/m4510.c
+++ b/src/emu/cpu/m6502/m4510.c
@@ -19,6 +19,9 @@ m4510_device::m4510_device(const machine_config &mconfig, const char *tag, devic
program_config.m_addrbus_width = 20;
program_config.m_logaddr_width = 16;
program_config.m_page_shift = 13;
+ sprogram_config.m_addrbus_width = 20;
+ sprogram_config.m_logaddr_width = 16;
+ sprogram_config.m_page_shift = 13;
}
offs_t m4510_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
@@ -71,14 +74,14 @@ UINT8 m4510_device::mi_4510_normal::read(UINT16 adr)
return program->read_byte(base->map(adr));
}
-UINT8 m4510_device::mi_4510_normal::read_direct(UINT16 adr)
+UINT8 m4510_device::mi_4510_normal::read_sync(UINT16 adr)
{
- return direct->read_raw_byte(base->map(adr));
+ return sdirect->read_byte(base->map(adr));
}
-UINT8 m4510_device::mi_4510_normal::read_decrypted(UINT16 adr)
+UINT8 m4510_device::mi_4510_normal::read_arg(UINT16 adr)
{
- return direct->read_decrypted_byte(base->map(adr));
+ return direct->read_byte(base->map(adr));
}
void m4510_device::mi_4510_normal::write(UINT16 adr, UINT8 val)
@@ -90,14 +93,14 @@ m4510_device::mi_4510_nd::mi_4510_nd(m4510_device *_base) : mi_4510_normal(_base
{
}
-UINT8 m4510_device::mi_4510_nd::read_direct(UINT16 adr)
+UINT8 m4510_device::mi_4510_nd::read_sync(UINT16 adr)
{
- return read(adr);
+ return program->read_byte(base->map(adr));
}
-UINT8 m4510_device::mi_4510_nd::read_decrypted(UINT16 adr)
+UINT8 m4510_device::mi_4510_nd::read_arg(UINT16 adr)
{
- return read(adr);
+ return sprogram->read_byte(base->map(adr));
}
#include "cpu/m6502/m4510.inc"
diff --git a/src/emu/cpu/m6502/m4510.h b/src/emu/cpu/m6502/m4510.h
index 46a95a1eb72..90bba4d0262 100644
--- a/src/emu/cpu/m6502/m4510.h
+++ b/src/emu/cpu/m6502/m4510.h
@@ -37,8 +37,8 @@ protected:
mi_4510_normal(m4510_device *base);
virtual ~mi_4510_normal() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
@@ -46,8 +46,8 @@ protected:
public:
mi_4510_nd(m4510_device *base);
virtual ~mi_4510_nd() {}
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
};
virtual void device_start();
diff --git a/src/emu/cpu/m6502/m6502.c b/src/emu/cpu/m6502/m6502.c
index c1a84b2fd9c..01b2b8f0f98 100644
--- a/src/emu/cpu/m6502/m6502.c
+++ b/src/emu/cpu/m6502/m6502.c
@@ -17,7 +17,8 @@ const device_type M6502 = &device_creator<m6502_device>;
m6502_device::m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
cpu_device(mconfig, M6502, "M6502", tag, owner, clock, "m6502", __FILE__),
sync_w(*this),
- program_config("program", ENDIANNESS_LITTLE, 8, 16)
+ program_config("program", ENDIANNESS_LITTLE, 8, 16),
+ sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16)
{
direct_disabled = false;
}
@@ -25,7 +26,8 @@ m6502_device::m6502_device(const machine_config &mconfig, const char *tag, devic
m6502_device::m6502_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
cpu_device(mconfig, type, name, tag, owner, clock, shortname, source),
sync_w(*this),
- program_config("program", ENDIANNESS_LITTLE, 8, 16)
+ program_config("program", ENDIANNESS_LITTLE, 8, 16),
+ sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16)
{
direct_disabled = false;
}
@@ -42,8 +44,11 @@ void m6502_device::device_start()
void m6502_device::init()
{
- mintf->program = &space(AS_PROGRAM);
- mintf->direct = &mintf->program->direct();
+ mintf->program = &space(AS_PROGRAM);
+ mintf->sprogram = has_space(AS_DECRYPTED_OPCODES) ? &space(AS_DECRYPTED_OPCODES) : mintf->program;
+
+ mintf->direct = &mintf->program->direct();
+ mintf->sdirect = &mintf->sprogram->direct();
sync_w.resolve_safe();
@@ -402,7 +407,12 @@ void m6502_device::execute_set_input(int inputnum, int state)
const address_space_config *m6502_device::memory_space_config(address_spacenum spacenum) const
{
- return (spacenum == AS_PROGRAM) ? &program_config : NULL;
+ switch(spacenum)
+ {
+ case AS_PROGRAM: return &program_config;
+ case AS_DECRYPTED_OPCODES: return has_configured_map(AS_DECRYPTED_OPCODES) ? &sprogram_config : NULL;
+ default: return NULL;
+ }
}
@@ -621,7 +631,7 @@ void m6502_device::prefetch()
sync = true;
sync_w(ASSERT_LINE);
NPC = PC;
- IR = mintf->read_decrypted(PC);
+ IR = mintf->read_sync(PC);
sync = false;
sync_w(CLEAR_LINE);
@@ -637,7 +647,7 @@ void m6502_device::prefetch_noirq()
sync = true;
sync_w(ASSERT_LINE);
NPC = PC;
- IR = mintf->read_decrypted(PC);
+ IR = mintf->read_sync(PC);
sync = false;
sync_w(CLEAR_LINE);
PC++;
@@ -674,31 +684,33 @@ UINT8 m6502_device::mi_default_normal::read(UINT16 adr)
return program->read_byte(adr);
}
-UINT8 m6502_device::mi_default_normal::read_direct(UINT16 adr)
+UINT8 m6502_device::mi_default_normal::read_sync(UINT16 adr)
{
- return direct->read_raw_byte(adr);
+ return sdirect->read_byte(adr);
}
-UINT8 m6502_device::mi_default_normal::read_decrypted(UINT16 adr)
+UINT8 m6502_device::mi_default_normal::read_arg(UINT16 adr)
{
- return direct->read_decrypted_byte(adr);
+ return direct->read_byte(adr);
}
+
void m6502_device::mi_default_normal::write(UINT16 adr, UINT8 val)
{
program->write_byte(adr, val);
}
-UINT8 m6502_device::mi_default_nd::read_direct(UINT16 adr)
+UINT8 m6502_device::mi_default_nd::read_sync(UINT16 adr)
{
- return read(adr);
+ return sprogram->read_byte(adr);
}
-UINT8 m6502_device::mi_default_nd::read_decrypted(UINT16 adr)
+UINT8 m6502_device::mi_default_nd::read_arg(UINT16 adr)
{
- return read(adr);
+ return program->read_byte(adr);
}
+
WRITE_LINE_MEMBER( m6502_device::irq_line )
{
set_input_line( M6502_IRQ_LINE, state );
diff --git a/src/emu/cpu/m6502/m6502.h b/src/emu/cpu/m6502/m6502.h
index 240509f21ea..1dbed7710de 100644
--- a/src/emu/cpu/m6502/m6502.h
+++ b/src/emu/cpu/m6502/m6502.h
@@ -42,14 +42,14 @@ public:
protected:
class memory_interface {
public:
- address_space *program;
- direct_read_data *direct;
+ address_space *program, *sprogram;
+ direct_read_data *direct, *sdirect;
virtual ~memory_interface() {}
virtual UINT8 read(UINT16 adr) = 0;
virtual UINT8 read_9(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr) = 0;
- virtual UINT8 read_decrypted(UINT16 adr) = 0;
+ virtual UINT8 read_sync(UINT16 adr) = 0;
+ virtual UINT8 read_arg(UINT16 adr) = 0;
virtual void write(UINT16 adr, UINT8 val) = 0;
virtual void write_9(UINT16 adr, UINT8 val);
};
@@ -58,16 +58,16 @@ protected:
public:
virtual ~mi_default_normal() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
class mi_default_nd : public mi_default_normal {
public:
virtual ~mi_default_nd() {}
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
};
struct disasm_entry {
@@ -151,7 +151,7 @@ protected:
virtual UINT32 disasm_max_opcode_bytes() const;
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
- address_space_config program_config;
+ address_space_config program_config, sprogram_config;
UINT16 PPC; /* previous program counter */
UINT16 NPC; /* next start-of-instruction program counter */
@@ -179,9 +179,9 @@ protected:
UINT8 read_9(UINT16 adr) { return mintf->read_9(adr); }
void write(UINT16 adr, UINT8 val) { mintf->write(adr, val); }
void write_9(UINT16 adr, UINT8 val) { mintf->write_9(adr, val); }
- UINT8 read_direct(UINT16 adr) { return mintf->read_direct(adr); }
- UINT8 read_pc() { return mintf->read_direct(PC++); }
- UINT8 read_pc_noinc() { return mintf->read_direct(PC); }
+ UINT8 read_arg(UINT16 adr) { return mintf->read_arg(adr); }
+ UINT8 read_pc() { return mintf->read_arg(PC++); }
+ UINT8 read_pc_noinc() { return mintf->read_arg(PC); }
void prefetch();
void prefetch_noirq();
void set_nz(UINT8 v);
diff --git a/src/emu/cpu/m6502/m6502make.py b/src/emu/cpu/m6502/m6502make.py
index 514af0e8fb8..591d01268ca 100755
--- a/src/emu/cpu/m6502/m6502make.py
+++ b/src/emu/cpu/m6502/m6502make.py
@@ -68,7 +68,7 @@ FULL_EAT_ALL="""\
"""
FULL_MEMORY="""\
-\tif(icount <= 0) { inst_substate = %(substate)s; return; }
+\tif(icount == 0) { inst_substate = %(substate)s; return; }
%(ins)s
\ticount--;
"""
@@ -97,7 +97,7 @@ case %(substate)s:;
"""
PARTIAL_MEMORY="""\
-\tif(icount <= 0) { inst_substate = %(substate)s; return; }
+\tif(icount == 0) { inst_substate = %(substate)s; return; }
case %(substate)s:
%(ins)s
\ticount--;
diff --git a/src/emu/cpu/m6502/m6504.c b/src/emu/cpu/m6502/m6504.c
index 383d0f1fecd..f2ae2c4b6d9 100644
--- a/src/emu/cpu/m6502/m6504.c
+++ b/src/emu/cpu/m6502/m6504.c
@@ -17,6 +17,7 @@ m6504_device::m6504_device(const machine_config &mconfig, const char *tag, devic
m6502_device(mconfig, M6504, "M6504", tag, owner, clock, "m6504", __FILE__)
{
program_config.m_addrbus_width = 13;
+ sprogram_config.m_addrbus_width = 13;
}
void m6504_device::device_start()
@@ -34,14 +35,14 @@ UINT8 m6504_device::mi_6504_normal::read(UINT16 adr)
return program->read_byte(adr & 0x1fff);
}
-UINT8 m6504_device::mi_6504_normal::read_direct(UINT16 adr)
+UINT8 m6504_device::mi_6504_normal::read_sync(UINT16 adr)
{
- return direct->read_raw_byte(adr & 0x1fff);
+ return sdirect->read_byte(adr & 0x1fff);
}
-UINT8 m6504_device::mi_6504_normal::read_decrypted(UINT16 adr)
+UINT8 m6504_device::mi_6504_normal::read_arg(UINT16 adr)
{
- return direct->read_decrypted_byte(adr & 0x1fff);
+ return direct->read_byte(adr & 0x1fff);
}
void m6504_device::mi_6504_normal::write(UINT16 adr, UINT8 val)
@@ -49,12 +50,12 @@ void m6504_device::mi_6504_normal::write(UINT16 adr, UINT8 val)
program->write_byte(adr & 0x1fff, val);
}
-UINT8 m6504_device::mi_6504_nd::read_direct(UINT16 adr)
+UINT8 m6504_device::mi_6504_nd::read_sync(UINT16 adr)
{
- return read(adr);
+ return sprogram->read_byte(adr & 0x1fff);
}
-UINT8 m6504_device::mi_6504_nd::read_decrypted(UINT16 adr)
+UINT8 m6504_device::mi_6504_nd::read_arg(UINT16 adr)
{
- return read(adr);
+ return program->read_byte(adr & 0x1fff);
}
diff --git a/src/emu/cpu/m6502/m6504.h b/src/emu/cpu/m6502/m6504.h
index e325240d8e9..de6ca847b25 100644
--- a/src/emu/cpu/m6502/m6504.h
+++ b/src/emu/cpu/m6502/m6504.h
@@ -22,16 +22,16 @@ protected:
public:
virtual ~mi_6504_normal() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
class mi_6504_nd : public mi_6504_normal {
public:
virtual ~mi_6504_nd() {}
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
};
virtual void device_start();
diff --git a/src/emu/cpu/m6502/m6509.c b/src/emu/cpu/m6502/m6509.c
index 3c8c3436e25..77af9e8f1f7 100644
--- a/src/emu/cpu/m6502/m6509.c
+++ b/src/emu/cpu/m6502/m6509.c
@@ -18,6 +18,8 @@ m6509_device::m6509_device(const machine_config &mconfig, const char *tag, devic
{
program_config.m_addrbus_width = 20;
program_config.m_logaddr_width = 20;
+ sprogram_config.m_addrbus_width = 20;
+ sprogram_config.m_logaddr_width = 20;
}
void m6509_device::device_start()
@@ -71,9 +73,9 @@ UINT8 m6509_device::mi_6509_normal::read(UINT16 adr)
return res;
}
-UINT8 m6509_device::mi_6509_normal::read_direct(UINT16 adr)
+UINT8 m6509_device::mi_6509_normal::read_sync(UINT16 adr)
{
- UINT8 res = direct->read_raw_byte(base->adr_in_bank_i(adr));
+ UINT8 res = sdirect->read_byte(base->adr_in_bank_i(adr));
if(adr == 0x0000)
res = base->bank_i_r();
else if(adr == 0x0001)
@@ -81,9 +83,9 @@ UINT8 m6509_device::mi_6509_normal::read_direct(UINT16 adr)
return res;
}
-UINT8 m6509_device::mi_6509_normal::read_decrypted(UINT16 adr)
+UINT8 m6509_device::mi_6509_normal::read_arg(UINT16 adr)
{
- UINT8 res = direct->read_decrypted_byte(base->adr_in_bank_i(adr));
+ UINT8 res = direct->read_byte(base->adr_in_bank_i(adr));
if(adr == 0x0000)
res = base->bank_i_r();
else if(adr == 0x0001)
@@ -123,9 +125,9 @@ m6509_device::mi_6509_nd::mi_6509_nd(m6509_device *_base) : mi_6509_normal(_base
{
}
-UINT8 m6509_device::mi_6509_nd::read_direct(UINT16 adr)
+UINT8 m6509_device::mi_6509_nd::read_sync(UINT16 adr)
{
- UINT8 res = program->read_byte(base->adr_in_bank_i(adr));
+ UINT8 res = sprogram->read_byte(base->adr_in_bank_i(adr));
if(adr == 0x0000)
res = base->bank_i_r();
else if(adr == 0x0001)
@@ -133,7 +135,7 @@ UINT8 m6509_device::mi_6509_nd::read_direct(UINT16 adr)
return res;
}
-UINT8 m6509_device::mi_6509_nd::read_decrypted(UINT16 adr)
+UINT8 m6509_device::mi_6509_nd::read_arg(UINT16 adr)
{
UINT8 res = program->read_byte(base->adr_in_bank_i(adr));
if(adr == 0x0000)
diff --git a/src/emu/cpu/m6502/m6509.h b/src/emu/cpu/m6502/m6509.h
index 561a31449a4..27f7411b80f 100644
--- a/src/emu/cpu/m6502/m6509.h
+++ b/src/emu/cpu/m6502/m6509.h
@@ -32,8 +32,8 @@ protected:
virtual ~mi_6509_normal() {}
virtual UINT8 read(UINT16 adr);
virtual UINT8 read_9(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
virtual void write_9(UINT16 adr, UINT8 val);
};
@@ -42,8 +42,8 @@ protected:
public:
mi_6509_nd(m6509_device *base);
virtual ~mi_6509_nd() {}
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
};
virtual void device_start();
diff --git a/src/emu/cpu/m6502/m6510.c b/src/emu/cpu/m6502/m6510.c
index dfab818bd60..10e57fb27b8 100644
--- a/src/emu/cpu/m6502/m6510.c
+++ b/src/emu/cpu/m6502/m6510.c
@@ -119,9 +119,9 @@ UINT8 m6510_device::mi_6510_normal::read(UINT16 adr)
return res;
}
-UINT8 m6510_device::mi_6510_normal::read_direct(UINT16 adr)
+UINT8 m6510_device::mi_6510_normal::read_sync(UINT16 adr)
{
- UINT8 res = direct->read_raw_byte(adr);
+ UINT8 res = sdirect->read_byte(adr);
if(adr == 0x0000)
res = base->dir_r();
else if(adr == 0x0001)
@@ -129,9 +129,9 @@ UINT8 m6510_device::mi_6510_normal::read_direct(UINT16 adr)
return res;
}
-UINT8 m6510_device::mi_6510_normal::read_decrypted(UINT16 adr)
+UINT8 m6510_device::mi_6510_normal::read_arg(UINT16 adr)
{
- UINT8 res = direct->read_decrypted_byte(adr);
+ UINT8 res = direct->read_byte(adr);
if(adr == 0x0000)
res = base->dir_r();
else if(adr == 0x0001)
@@ -152,14 +152,24 @@ m6510_device::mi_6510_nd::mi_6510_nd(m6510_device *_base) : mi_6510_normal(_base
{
}
-UINT8 m6510_device::mi_6510_nd::read_direct(UINT16 adr)
+UINT8 m6510_device::mi_6510_nd::read_sync(UINT16 adr)
{
- return read(adr);
+ UINT8 res = sprogram->read_byte(adr);
+ if(adr == 0x0000)
+ res = base->dir_r();
+ else if(adr == 0x0001)
+ res = base->port_r();
+ return res;
}
-UINT8 m6510_device::mi_6510_nd::read_decrypted(UINT16 adr)
+UINT8 m6510_device::mi_6510_nd::read_arg(UINT16 adr)
{
- return read(adr);
+ UINT8 res = program->read_byte(adr);
+ if(adr == 0x0000)
+ res = base->dir_r();
+ else if(adr == 0x0001)
+ res = base->port_r();
+ return res;
}
#include "cpu/m6502/m6510.inc"
diff --git a/src/emu/cpu/m6502/m6510.h b/src/emu/cpu/m6502/m6510.h
index 76b8a405f30..2dbd7e4138e 100644
--- a/src/emu/cpu/m6502/m6510.h
+++ b/src/emu/cpu/m6502/m6510.h
@@ -47,8 +47,8 @@ protected:
mi_6510_normal(m6510_device *base);
virtual ~mi_6510_normal() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
@@ -56,8 +56,8 @@ protected:
public:
mi_6510_nd(m6510_device *base);
virtual ~mi_6510_nd() {}
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
};
devcb_read8 read_port;
diff --git a/src/emu/cpu/m6502/n2a03.c b/src/emu/cpu/m6502/n2a03.c
index dd29182f53c..b3b2cb31808 100644
--- a/src/emu/cpu/m6502/n2a03.c
+++ b/src/emu/cpu/m6502/n2a03.c
@@ -38,14 +38,14 @@ UINT8 n2a03_device::mi_2a03_normal::read(UINT16 adr)
return program->read_byte(adr);
}
-UINT8 n2a03_device::mi_2a03_normal::read_direct(UINT16 adr)
+UINT8 n2a03_device::mi_2a03_normal::read_sync(UINT16 adr)
{
- return direct->read_raw_byte(adr);
+ return sdirect->read_byte(adr);
}
-UINT8 n2a03_device::mi_2a03_normal::read_decrypted(UINT16 adr)
+UINT8 n2a03_device::mi_2a03_normal::read_arg(UINT16 adr)
{
- return direct->read_decrypted_byte(adr);
+ return direct->read_byte(adr);
}
void n2a03_device::mi_2a03_normal::write(UINT16 adr, UINT8 val)
@@ -58,12 +58,12 @@ UINT8 n2a03_device::mi_2a03_nd::read(UINT16 adr)
return program->read_byte(adr);
}
-UINT8 n2a03_device::mi_2a03_nd::read_direct(UINT16 adr)
+UINT8 n2a03_device::mi_2a03_nd::read_sync(UINT16 adr)
{
- return program->read_byte(adr);
+ return sprogram->read_byte(adr);
}
-UINT8 n2a03_device::mi_2a03_nd::read_decrypted(UINT16 adr)
+UINT8 n2a03_device::mi_2a03_nd::read_arg(UINT16 adr)
{
return program->read_byte(adr);
}
diff --git a/src/emu/cpu/m6502/n2a03.h b/src/emu/cpu/m6502/n2a03.h
index c2f8a7f511b..a046ef71ad3 100644
--- a/src/emu/cpu/m6502/n2a03.h
+++ b/src/emu/cpu/m6502/n2a03.h
@@ -28,8 +28,8 @@ protected:
public:
virtual ~mi_2a03_normal() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
@@ -37,8 +37,8 @@ protected:
public:
virtual ~mi_2a03_nd() {}
virtual UINT8 read(UINT16 adr);
- virtual UINT8 read_direct(UINT16 adr);
- virtual UINT8 read_decrypted(UINT16 adr);
+ virtual UINT8 read_sync(UINT16 adr);
+ virtual UINT8 read_arg(UINT16 adr);
virtual void write(UINT16 adr, UINT8 val);
};
diff --git a/src/emu/cpu/m6502/odeco16.lst b/src/emu/cpu/m6502/odeco16.lst
index cf8b75455d6..6cea2fa7282 100644
--- a/src/emu/cpu/m6502/odeco16.lst
+++ b/src/emu/cpu/m6502/odeco16.lst
@@ -13,13 +13,13 @@ brk_16_imp
write(SP, irq_taken ? P & ~F_B : P);
dec_SP();
if(nmi_state) {
- PC = read_direct(0xfff7);
- PC = set_h(PC, read_direct(0xfff6));
+ PC = read_arg(0xfff7);
+ PC = set_h(PC, read_arg(0xfff6));
nmi_state = false;
standard_irq_callback(NMI_LINE);
} else {
- PC = read_direct(0xfff3);
- PC = set_h(PC, read_direct(0xfff2));
+ PC = read_arg(0xfff3);
+ PC = set_h(PC, read_arg(0xfff2));
if(irq_taken)
standard_irq_callback(IRQ_LINE);
}
@@ -95,7 +95,7 @@ vbl_zpg
# exceptions
reset_16
- PC = read_direct(0xfff1);
- PC = set_h(PC, read_direct(0xfff0));
+ PC = read_arg(0xfff1);
+ PC = set_h(PC, read_arg(0xfff0));
prefetch();
inst_state = -1;
diff --git a/src/emu/cpu/m6502/om6502.lst b/src/emu/cpu/m6502/om6502.lst
index f76884b554f..24c560c02fa 100644
--- a/src/emu/cpu/m6502/om6502.lst
+++ b/src/emu/cpu/m6502/om6502.lst
@@ -184,7 +184,7 @@ bcc_rel
if(!(P & F_C)) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -195,7 +195,7 @@ bcs_rel
if(P & F_C) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -206,7 +206,7 @@ beq_rel
if(P & F_Z) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -228,7 +228,7 @@ bmi_rel
if(P & F_N) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -239,7 +239,7 @@ bne_rel
if(!(P & F_Z)) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -250,7 +250,7 @@ bpl_rel
if(!(P & F_N)) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -270,13 +270,13 @@ brk_imp
write(SP, irq_taken ? P & ~F_B : P);
dec_SP();
if(nmi_state) {
- PC = read_direct(0xfffa);
- PC = set_h(PC, read_direct(0xfffb));
+ PC = read_arg(0xfffa);
+ PC = set_h(PC, read_arg(0xfffb));
nmi_state = false;
standard_irq_callback(NMI_LINE);
} else {
- PC = read_direct(0xfffe);
- PC = set_h(PC, read_direct(0xffff));
+ PC = read_arg(0xfffe);
+ PC = set_h(PC, read_arg(0xffff));
if(irq_taken)
standard_irq_callback(IRQ_LINE);
}
@@ -290,7 +290,7 @@ bvc_rel
if(!(P & F_V)) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -301,7 +301,7 @@ bvs_rel
if(P & F_V) {
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
}
@@ -1216,8 +1216,8 @@ tya_imp
# exceptions
reset
- PC = read_direct(0xfffc);
- PC = set_h(PC, read_direct(0xfffd));
+ PC = read_arg(0xfffc);
+ PC = set_h(PC, read_arg(0xfffd));
prefetch();
inst_state = -1;
diff --git a/src/emu/cpu/m6502/om65c02.lst b/src/emu/cpu/m6502/om65c02.lst
index 21bc1d4e726..d64ddcdc409 100644
--- a/src/emu/cpu/m6502/om65c02.lst
+++ b/src/emu/cpu/m6502/om65c02.lst
@@ -181,7 +181,7 @@ bra_rel
TMP = read_pc();
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
prefetch();
@@ -199,13 +199,13 @@ brk_c_imp
write(SP, irq_taken || nmi_state ? P & ~F_B : P);
dec_SP();
if(irq_taken && nmi_state) {
- PC = read_direct(0xfffa);
- PC = set_h(PC, read_direct(0xfffb));
+ PC = read_arg(0xfffa);
+ PC = set_h(PC, read_arg(0xfffb));
nmi_state = false;
standard_irq_callback(NMI_LINE);
} else {
- PC = read_direct(0xfffe);
- PC = set_h(PC, read_direct(0xffff));
+ PC = read_arg(0xfffe);
+ PC = set_h(PC, read_arg(0xffff));
if(irq_taken)
standard_irq_callback(IRQ_LINE);
}
diff --git a/src/emu/cpu/m6502/om65ce02.lst b/src/emu/cpu/m6502/om65ce02.lst
index 6fdf244a8b1..049097fded8 100644
--- a/src/emu/cpu/m6502/om65ce02.lst
+++ b/src/emu/cpu/m6502/om65ce02.lst
@@ -360,12 +360,12 @@ brk_ce_imp
write(SP, irq_taken || nmi_state ? P & ~F_B : P);
dec_SP_ce();
if(nmi_state) {
- PC = read_direct(0xfffa);
- PC = set_h(PC, read_direct(0xfffb));
+ PC = read_arg(0xfffa);
+ PC = set_h(PC, read_arg(0xfffb));
nmi_state = false;
} else {
- PC = read_direct(0xfffe);
- PC = set_h(PC, read_direct(0xffff));
+ PC = read_arg(0xfffe);
+ PC = set_h(PC, read_arg(0xffff));
}
irq_taken = false;
P = (P | F_I) & ~F_D; // Do *not* move after the prefetch
diff --git a/src/emu/cpu/m6502/om740.lst b/src/emu/cpu/m6502/om740.lst
index d944a0cbcb5..9f17dc639bf 100644
--- a/src/emu/cpu/m6502/om740.lst
+++ b/src/emu/cpu/m6502/om740.lst
@@ -99,7 +99,7 @@ bra_rel
TMP = read_pc();
read_pc_noinc();
if(page_changing(PC, INT8(TMP))) {
- read_direct(set_l(PC, PC+INT8(TMP)));
+ read_arg(set_l(PC, PC+INT8(TMP)));
}
PC += INT8(TMP);
prefetch();
@@ -112,8 +112,8 @@ jmp_zpi
prefetch();
reset740
- PC = read_direct(0xfffe);
- PC = set_h(PC, read_direct(0xffff));
+ PC = read_arg(0xfffe);
+ PC = set_h(PC, read_arg(0xffff));
prefetch();
inst_state = -1;
@@ -131,13 +131,13 @@ brk740_imp
write(SP, irq_taken ? P & ~F_B : P);
dec_SP();
if(nmi_state) {
- PC = read_direct(0xfffa);
- PC = set_h(PC, read_direct(0xfffb));
+ PC = read_arg(0xfffa);
+ PC = set_h(PC, read_arg(0xfffb));
nmi_state = false;
standard_irq_callback(NMI_LINE);
} else {
- PC = read_direct(m_irq_vector);
- PC = set_h(PC, read_direct(m_irq_vector+1));
+ PC = read_arg(m_irq_vector);
+ PC = set_h(PC, read_arg(m_irq_vector+1));
if(irq_taken)
standard_irq_callback(IRQ_LINE);
}