diff options
Diffstat (limited to 'src/mame/drivers/apple2gs.cpp')
-rw-r--r-- | src/mame/drivers/apple2gs.cpp | 126 |
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) |