summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/apple2gs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/apple2gs.cpp')
-rw-r--r--src/mame/drivers/apple2gs.cpp126
1 files changed, 21 insertions, 105 deletions
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index 3baceec044c..e9f30bd9949 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -4605,151 +4605,67 @@ MACHINE_CONFIG_START( apple2gs_state::apple2gs )
MCFG_RAM_DEFAULT_VALUE(0x00)
/* C100 banking */
- MCFG_DEVICE_ADD(A2GS_C100_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(c100bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200)
+ ADDRESS_MAP_BANK(config, A2GS_C100_TAG).set_map(&apple2gs_state::c100bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x200);
/* C300 banking */
- MCFG_DEVICE_ADD(A2GS_C300_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(c300bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x100)
+ ADDRESS_MAP_BANK(config, A2GS_C300_TAG).set_map(&apple2gs_state::c300bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x100);
/* C400 banking */
- MCFG_DEVICE_ADD(A2GS_C400_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(c400bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x400)
+ ADDRESS_MAP_BANK(config, A2GS_C400_TAG).set_map(&apple2gs_state::c400bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x400);
/* C800 banking */
- MCFG_DEVICE_ADD(A2GS_C800_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(c800bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x800)
+ ADDRESS_MAP_BANK(config, A2GS_C800_TAG).set_map(&apple2gs_state::c800bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x800);
/* built-in language card emulation */
- MCFG_DEVICE_ADD(A2GS_LCBANK_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(lcbank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_LCBANK_TAG).set_map(&apple2gs_state::lcbank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* aux bank language card emulation */
- MCFG_DEVICE_ADD(A2GS_LCAUX_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(lcaux_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_LCAUX_TAG).set_map(&apple2gs_state::lcaux_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* bank 00 language card emulation */
- MCFG_DEVICE_ADD(A2GS_LC00_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(lc00_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_LC00_TAG).set_map(&apple2gs_state::lc00_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* bank 01 language card emulation */
- MCFG_DEVICE_ADD(A2GS_LC01_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(lc01_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_LC01_TAG).set_map(&apple2gs_state::lc01_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* /INH banking */
- MCFG_DEVICE_ADD(A2GS_UPPERBANK_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(inhbank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_UPPERBANK_TAG).set_map(&apple2gs_state::inhbank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* /INH banking - aux bank */
- MCFG_DEVICE_ADD(A2GS_AUXUPPER_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(inhaux_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_AUXUPPER_TAG).set_map(&apple2gs_state::inhaux_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* /INH banking - bank 00 */
- MCFG_DEVICE_ADD(A2GS_00UPPER_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(inh00_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_00UPPER_TAG).set_map(&apple2gs_state::inh00_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* /INH banking - bank 01 */
- MCFG_DEVICE_ADD(A2GS_01UPPER_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(inh01_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x3000)
+ ADDRESS_MAP_BANK(config, A2GS_01UPPER_TAG).set_map(&apple2gs_state::inh01_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
/* Bank 0 - I/O and LC area */
- MCFG_DEVICE_ADD(A2GS_B0CXXX_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(bank0_iolc_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000)
+ ADDRESS_MAP_BANK(config, A2GS_B0CXXX_TAG).set_map(&apple2gs_state::bank0_iolc_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x4000);
/* Bank 1 - lower 48K */
- MCFG_DEVICE_ADD(A2GS_B01_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(bank1_lower48_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0xc000)
+ ADDRESS_MAP_BANK(config, A2GS_B01_TAG).set_map(&apple2gs_state::bank1_lower48_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0xc000);
/* Bank 1 - I/O and LC area */
- MCFG_DEVICE_ADD(A2GS_B1CXXX_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(bank1_iolc_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000)
+ ADDRESS_MAP_BANK(config, A2GS_B1CXXX_TAG).set_map(&apple2gs_state::bank1_iolc_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x4000);
/* Bank 0 0000 banking */
- MCFG_DEVICE_ADD(A2GS_B00000_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb0000bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200)
+ ADDRESS_MAP_BANK(config, A2GS_B00000_TAG).set_map(&apple2gs_state::rb0000bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x200);
/* Bank 0 0200 banking */
- MCFG_DEVICE_ADD(A2GS_B00200_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb0200bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x200)
+ ADDRESS_MAP_BANK(config, A2GS_B00200_TAG).set_map(&apple2gs_state::rb0200bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x200);
/* Bank 0 0400 banking */
- MCFG_DEVICE_ADD(A2GS_B00400_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb0400bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x400)
+ ADDRESS_MAP_BANK(config, A2GS_B00400_TAG).set_map(&apple2gs_state::rb0400bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x400);
/* Bank 0 0800 banking */
- MCFG_DEVICE_ADD(A2GS_B00800_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb0800bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
+ ADDRESS_MAP_BANK(config, A2GS_B00800_TAG).set_map(&apple2gs_state::rb0800bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x2000);
/* Bank 0 2000 banking */
- MCFG_DEVICE_ADD(A2GS_B02000_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb2000bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
+ ADDRESS_MAP_BANK(config, A2GS_B02000_TAG).set_map(&apple2gs_state::rb2000bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x2000);
/* Bank 0 4000 banking */
- MCFG_DEVICE_ADD(A2GS_B04000_TAG, ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(rb4000bank_map)
- MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x8000)
+ ADDRESS_MAP_BANK(config, A2GS_B04000_TAG).set_map(&apple2gs_state::rb4000bank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x8000);
/* serial */
MCFG_DEVICE_ADD(SCC_TAG, SCC85C30, A2GS_14M/2)