diff options
author | 2008-03-09 21:59:57 +0000 | |
---|---|---|
committer | 2008-03-09 21:59:57 +0000 | |
commit | ddfc0c32593bece374c5d2d3d70a26776b9c9ee2 (patch) | |
tree | 258c2f68f84d66b9308d0e14be0a28d1f741454f /src/mame/drivers/laserbas.c | |
parent | ac9778cdb0cb5e8b8cbb4e5c4a123f18919b9a40 (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/mame/drivers/laserbas.c')
-rw-r--r-- | src/mame/drivers/laserbas.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c index a1b6dd299ff..d63fe42447d 100644 --- a/src/mame/drivers/laserbas.c +++ b/src/mame/drivers/laserbas.c @@ -90,7 +90,7 @@ static ADDRESS_MAP_START( laserbas_memory, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END static ADDRESS_MAP_START( laserbas_io, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) + ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x1f) AM_WRITE(vrambank_w) AM_RANGE(0x20, 0x20) AM_READ(read_unk) AM_WRITENOP//write = ram/rom bank ? at fc00-f800 ? AM_RANGE(0x21, 0x21) AM_READ(input_port_0_r) |