summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/m6502/m6509.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-03-09 21:59:57 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-03-09 21:59:57 +0000
commitddfc0c32593bece374c5d2d3d70a26776b9c9ee2 (patch)
tree258c2f68f84d66b9308d0e14be0a28d1f741454f /src/emu/cpu/m6502/m6509.c
parentac9778cdb0cb5e8b8cbb4e5c4a123f18919b9a40 (diff)
WIP check-in. Things work now, but I'm still working on the code.
Converted address maps to tokens. Changed the address_map structure to house global map-wide information and hung a list of entries off of it corresponding to each address range. Introduced new functions address_map_alloc() and address_map_free() to build/destroy these structures. Updated all code as necessary. Fixed several instances of porttagtohandler*() in the address maps. Drivers should use AM_READ_PORT() macros instead. ADDRESS_MAP_EXTERN() now is required to specify the number of databits, just like ADDRESS_MAP_START. Removed ADDRESS_MAP_FLAGS() grossness. There are now three new macros which replace its former usage. ADDRESS_MAP_GLOBAL_MASK(mask) specifies a global address-space-wide mask on all addresses. Useful for cases where one or more address lines simply are not used at all. And ADDRESS_MAP_UNMAP_LOW/HIGH specifies the behavior of unmapped reads (do they come back as 0 or ~0). Changed internal memory mapping behavior to keep only a single address map and store the byte-adjusted values next in the address map entries rather than maintaining two separate maps. Many other small internal changes/cleanups.
Diffstat (limited to 'src/emu/cpu/m6502/m6509.c')
-rw-r--r--src/emu/cpu/m6502/m6509.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emu/cpu/m6502/m6509.c b/src/emu/cpu/m6502/m6509.c
index dbeed825a41..93157427d6d 100644
--- a/src/emu/cpu/m6502/m6509.c
+++ b/src/emu/cpu/m6502/m6509.c
@@ -376,7 +376,7 @@ void m6509_get_info(UINT32 state, cpuinfo *info)
case CPUINFO_PTR_DISASSEMBLE: info->disassemble = m6502_dasm; break;
#endif
case CPUINFO_PTR_INSTRUCTION_COUNTER: info->icount = &m6502_ICount; break;
- case CPUINFO_PTR_INTERNAL_MEMORY_MAP: info->internal_map = construct_map_m6509_mem; break;
+ case CPUINFO_PTR_INTERNAL_MEMORY_MAP: info->internal_map8 = address_map_m6509_mem; break;
case CPUINFO_PTR_M6502_READINDEXED_CALLBACK: info->f = (genf *) m6509.rdmem_id; break;
case CPUINFO_PTR_M6502_WRITEINDEXED_CALLBACK: info->f = (genf *) m6509.wrmem_id; break;