summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers
diff options
context:
space:
mode:
author Alex W. Jackson <alex.w.jackson@gmail.com>2014-09-18 01:07:22 +0000
committer Alex W. Jackson <alex.w.jackson@gmail.com>2014-09-18 01:07:22 +0000
commitace8c59d1afb538933892681e0a2408c8466cf3f (patch)
treeee702115a0c5c240d445dc12586f80833fdbeaf6 /src/mess/drivers
parent5dbedfbf1867e962a1e25fd551860d59bbc47663 (diff)
Memory system and Namco improvements: [Alex Jackson]
Explicit regions in address maps (AM_REGION) are now looked up relative to the device rather than as siblings when in an internal address map (similar to devices and shared pointers) Besides being more orthogonal than before, this allows internal ROMs of MCUs and similar devices to be hooked up in a nicer and more foolproof way. Updated the m37710 and m5074x (m6502 derivative) to take advantage of this. Divided the M37702/M37710 into specific models, with each model having its own internal address map containing the correct amounts of internal RAM and ROM. M37702 MCUs found on various Namco PCBs are now all unique devices and have their respective internal ROMs loaded as device ROMs. (nw) Also did some spring (fall) cleaning in addrmap.c/memory.c/dimemory.c m_devbase (the base device used for tagmap lookup when late-binding handlers and finding memory regions and shares) is now a reference rather than a pointer, since we know what it is when the address_map_entry is constructed and it doesn't change (it depends solely on whether it's an entry in an MCFG-provided address map or an internal one) And for the same reason, there's now only one m_devbase per address_map_entry rather than individual copies for read/write/setoffset/sharedptr. Removed mysterious unused address_map_entry member "m_region_string", along with a silly assert probably left over from when Aaron was replacing AM_BASE with AM_SHARE years ago. Added a comment noting that "make sure all devices exist" in device_memory_interface::interface_validity_check() actually does nothing, like the proverbial goggles. The reason there's just a comment and not a fix is I haven't figured out how to fix it yet (is it possible to extract the original device tag that was given to a proto-delegate? Sorry, the template hell in devdelegate.h and lib/util/delegate.h makes me want to run screaming like a little girl)
Diffstat (limited to 'src/mess/drivers')
-rw-r--r--src/mess/drivers/apple2gs.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mess/drivers/apple2gs.c b/src/mess/drivers/apple2gs.c
index 1302c5f7290..aef0f91acd8 100644
--- a/src/mess/drivers/apple2gs.c
+++ b/src/mess/drivers/apple2gs.c
@@ -427,7 +427,7 @@ MACHINE_CONFIG_END
ROM_START(apple2gs)
// M50740/50741 ADB MCU inside the IIgs system unit
- ROM_REGION(0x1000,"m50741",0)
+ ROM_REGION(0x1000,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) )
// i8048 microcontroller inside the IIgs ADB Standard Keyboard
@@ -454,7 +454,7 @@ ROM_START(apple2gs)
ROM_END
ROM_START(apple2gsr3p)
- ROM_REGION(0x1000,"m50741",0)
+ ROM_REGION(0x1000,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) )
ROM_REGION(0x400, "kmcu", 0)
@@ -476,7 +476,7 @@ ROM_START(apple2gsr3p)
ROM_END
ROM_START(apple2gsr3lp)
- ROM_REGION(0x1000,"m50741",0)
+ ROM_REGION(0x1000,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0632-2.bin", 0x000000, 0x001000, CRC(e1c11fb0) SHA1(141d18c36a617ab9dce668445440d34354be0672) )
ROM_REGION(0x400, "kmcu", 0)
@@ -498,7 +498,7 @@ ROM_START(apple2gsr3lp)
ROM_END
ROM_START(apple2gsr1)
- ROM_REGION(0xc00,"m50740",0)
+ ROM_REGION(0xc00,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
ROM_REGION(0x400, "kmcu", 0)
@@ -519,7 +519,7 @@ ROM_START(apple2gsr1)
ROM_END
ROM_START(apple2gsr0)
- ROM_REGION(0xc00,"m50740",0)
+ ROM_REGION(0xc00,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
ROM_REGION(0x400, "kmcu", 0)
@@ -544,7 +544,7 @@ ROM_START(apple2gsr0)
ROM_END
ROM_START(apple2gsr0p) // 6/19/1986 Cortland prototype
- ROM_REGION(0xc00,"m50740",0)
+ ROM_REGION(0xc00,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
ROM_REGION(0x400, "kmcu", 0)
@@ -565,7 +565,7 @@ ROM_START(apple2gsr0p) // 6/19/1986 Cortland prototype
ROM_END
ROM_START(apple2gsr0p2) // 3/10/1986 Cortland prototype, boots as "Apple //'ing - Alpha 2.0"
- ROM_REGION(0xc00,"m50740",0)
+ ROM_REGION(0xc00,ADBMICRO_TAG":internal",0)
ROM_LOAD( "341s0345.bin", 0x000000, 0x000c00, CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480) )
ROM_REGION(0x400, "kmcu", 0)