From ab3eab51e06b6baf40c774a63a0dc3a10869a1d4 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sun, 14 Jul 2013 09:09:51 +0000 Subject: [PATCH] (MESS) pc1512: Split to SD/DD/HD10/HD20 models. (nw) --- src/mess/drivers/pc1512.c | 114 +++++++++++++++++++------------------- src/mess/mess.lst | 9 +-- 2 files changed, 61 insertions(+), 62 deletions(-) diff --git a/src/mess/drivers/pc1512.c b/src/mess/drivers/pc1512.c index 64c60e0ebd3..6bb5b4eaafb 100644 --- a/src/mess/drivers/pc1512.c +++ b/src/mess/drivers/pc1512.c @@ -1059,8 +1059,8 @@ FLOPPY_FORMATS_MEMBER( pc1512_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( ibmpc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) +static SLOT_INTERFACE_START( pc1512_floppies ) + SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Tandon TM65-2L SLOT_INTERFACE_END @@ -1245,10 +1245,10 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state ) MCFG_PIT8253_ADD(I8253_TAG, pit_intf) MCFG_MC146818_IRQ_ADD(MC146818_TAG, MC146818_STANDARD, DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w)) MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG) + MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_state::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, NULL, pc1512_state::floppy_formats) MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz) MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", pc1512_state::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", pc1512_state::floppy_formats) MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL) // ISA8 bus @@ -1267,6 +1267,26 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state ) MACHINE_CONFIG_END +//------------------------------------------------- +// MACHINE_CONFIG( pc1512dd ) +//------------------------------------------------- + +static MACHINE_CONFIG_DERIVED( pc1512dd, pc1512 ) + MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1") + MCFG_DEVICE_SLOT_INTERFACE(pc1512_floppies, "525dd", false) +MACHINE_CONFIG_END + + +//------------------------------------------------- +// MACHINE_CONFIG( pc1512hd ) +//------------------------------------------------- + +static MACHINE_CONFIG_DERIVED( pc1512hd, pc1512 ) + MCFG_DEVICE_MODIFY("isa1") + MCFG_DEVICE_SLOT_INTERFACE(pc_isa8_cards, "wdxt_gen", false) +MACHINE_CONFIG_END + + //------------------------------------------------- // MACHINE_CONFIG( pc1640 ) //------------------------------------------------- @@ -1288,6 +1308,8 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state ) MCFG_PIT8253_ADD(I8253_TAG, pit_intf) MCFG_MC146818_IRQ_ADD(MC146818_TAG, MC146818_STANDARD, DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w)) MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG) + MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_state::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, NULL, pc1512_state::floppy_formats) MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz) MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf) MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL) @@ -1309,31 +1331,21 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state ) MACHINE_CONFIG_END -//------------------------------------------------- -// MACHINE_CONFIG( pc1640sd ) -//------------------------------------------------- - -static MACHINE_CONFIG_DERIVED( pc1640sd, pc1640 ) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", pc1512_state::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, NULL, pc1512_state::floppy_formats) -MACHINE_CONFIG_END - - //------------------------------------------------- // MACHINE_CONFIG( pc1640dd ) //------------------------------------------------- static MACHINE_CONFIG_DERIVED( pc1640dd, pc1640 ) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", pc1512_state::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", pc1512_state::floppy_formats) + MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1") + MCFG_DEVICE_SLOT_INTERFACE(pc1512_floppies, "525dd", false) MACHINE_CONFIG_END //------------------------------------------------- -// MACHINE_CONFIG( pc1640sd ) +// MACHINE_CONFIG( pc1640hd ) //------------------------------------------------- -static MACHINE_CONFIG_DERIVED( pc1640hd20, pc1640sd ) +static MACHINE_CONFIG_DERIVED( pc1640hd, pc1640 ) MCFG_DEVICE_MODIFY("isa1") MCFG_DEVICE_SLOT_INTERFACE(pc_isa8_cards, "wdxt_gen", false) MACHINE_CONFIG_END @@ -1350,47 +1362,32 @@ MACHINE_CONFIG_END ROM_START( pc1512 ) ROM_REGION16_LE( 0x4000, I8086_TAG, 0) - ROM_LOAD16_BYTE( "40044.ic132", 0x0000, 0x2000, CRC(f72f1582) SHA1(7781d4717917262805d514b331ba113b1e05a247) ) - ROM_LOAD16_BYTE( "40043.ic129", 0x0001, 0x2000, CRC(668fcc94) SHA1(74002f5cc542df442eec9e2e7a18db3598d8c482) ) + ROM_SYSTEM_BIOS( 0, "v1", "Version 1" ) + ROMX_LOAD( "40044.ic132", 0x0000, 0x2000, CRC(f72f1582) SHA1(7781d4717917262805d514b331ba113b1e05a247), ROM_SKIP(1) | ROM_BIOS(1) ) + ROMX_LOAD( "40043.ic129", 0x0001, 0x2000, CRC(668fcc94) SHA1(74002f5cc542df442eec9e2e7a18db3598d8c482), ROM_SKIP(1) | ROM_BIOS(1) ) + ROM_SYSTEM_BIOS( 1, "v2", "Version 2" ) + ROMX_LOAD( "40044v2.ic132", 0x0000, 0x2000, CRC(1aec54fa) SHA1(b12fd73cfc35a240ed6da4dcc4b6c9910be611e0), ROM_SKIP(1) | ROM_BIOS(2) ) + ROMX_LOAD( "40043v2.ic129", 0x0001, 0x2000, CRC(d2d4d2de) SHA1(c376fd1ad23025081ae16c7949e88eea7f56e1bb), ROM_SKIP(1) | ROM_BIOS(2) ) + ROM_SYSTEM_BIOS( 2, "v3", "Version 3" ) + ROMX_LOAD( "40044-2.ic132", 0x0000, 0x2000, CRC(ea527e6e) SHA1(b77fa44767a71a0b321a88bb0a394f1125b7c220), ROM_SKIP(1) | ROM_BIOS(3) ) + ROMX_LOAD( "40043-2.ic129", 0x0001, 0x2000, CRC(532c3854) SHA1(18a17b710f9eb079d9d7216d07807030f904ceda), ROM_SKIP(1) | ROM_BIOS(3) ) ROM_REGION( 0x2000, AMS40041_TAG, 0 ) - ROM_LOAD( "40045.ic127", 0x0000, 0x2000, CRC(dd5e030f) SHA1(7d858bbb2e8d6143aa67ab712edf5f753c2788a7) ) + ROMX_LOAD( "40045.ic127", 0x0000, 0x2000, CRC(dd5e030f) SHA1(7d858bbb2e8d6143aa67ab712edf5f753c2788a7), ROM_BIOS(1) ) + ROMX_LOAD( "40078.ic127", 0x0000, 0x2000, CRC(ae9c0d04) SHA1(bc8dc4dcedeea5bc1c04986b1f105ad93cb2ebcd), ROM_BIOS(2) ) + ROMX_LOAD( "40078.ic127", 0x0000, 0x2000, CRC(ae9c0d04) SHA1(bc8dc4dcedeea5bc1c04986b1f105ad93cb2ebcd), ROM_BIOS(3) ) ROM_END - -//------------------------------------------------- -// ROM( pc1512v2 ) -//------------------------------------------------- - -ROM_START( pc1512v2 ) - ROM_REGION16_LE( 0x4000, I8086_TAG, 0) - ROM_LOAD16_BYTE( "40044v2.ic132", 0x0000, 0x2000, CRC(1aec54fa) SHA1(b12fd73cfc35a240ed6da4dcc4b6c9910be611e0) ) - ROM_LOAD16_BYTE( "40043v2.ic129", 0x0001, 0x2000, CRC(d2d4d2de) SHA1(c376fd1ad23025081ae16c7949e88eea7f56e1bb) ) - - ROM_REGION( 0x2000, AMS40041_TAG, 0 ) - ROM_LOAD( "40078.ic127", 0x0000, 0x2000, CRC(ae9c0d04) SHA1(bc8dc4dcedeea5bc1c04986b1f105ad93cb2ebcd) ) -ROM_END +#define rom_pc1512dd rom_pc1512 +#define rom_pc1512hd10 rom_pc1512 +#define rom_pc1512hd20 rom_pc1512 //------------------------------------------------- -// ROM( pc1512v3 ) +// ROM( pc1640 ) //------------------------------------------------- -ROM_START( pc1512v3 ) - ROM_REGION16_LE( 0x4000, I8086_TAG, 0) - ROM_LOAD16_BYTE( "40044-2.ic132", 0x0000, 0x2000, CRC(ea527e6e) SHA1(b77fa44767a71a0b321a88bb0a394f1125b7c220) ) - ROM_LOAD16_BYTE( "40043-2.ic129", 0x0001, 0x2000, CRC(532c3854) SHA1(18a17b710f9eb079d9d7216d07807030f904ceda) ) - - ROM_REGION( 0x2000, AMS40041_TAG, 0 ) - ROM_LOAD( "40078.ic127", 0x0000, 0x2000, CRC(ae9c0d04) SHA1(bc8dc4dcedeea5bc1c04986b1f105ad93cb2ebcd) ) -ROM_END - - -//------------------------------------------------- -// ROM( pc1640sd ) -//------------------------------------------------- - -ROM_START( pc1640sd ) +ROM_START( pc1640 ) ROM_REGION16_LE( 0x4000, I8086_TAG, 0) ROM_SYSTEM_BIOS( 0, "8809", "Week 9/1988" ) ROMX_LOAD( "40044-1 8809.ic132", 0x0000, 0x2000, CRC(f1c074f3) SHA1(a055ea7e933d137623c22fe24004e870653c7952), ROM_SKIP(1) | ROM_BIOS(1) ) // 8809 B @@ -1403,8 +1400,8 @@ ROM_START( pc1640sd ) ROMX_LOAD( "40043 88xx.ic129", 0x0001, 0x2000, CRC(9219d0aa) SHA1(dde1a46c8f83e413d7070f1356fc91b9f595a8b6), ROM_SKIP(1) | ROM_BIOS(3) ) ROM_END -#define rom_pc1640dd rom_pc1640sd -#define rom_pc1640hd20 rom_pc1640sd +#define rom_pc1640dd rom_pc1640 +#define rom_pc1640hd20 rom_pc1640 @@ -1413,9 +1410,10 @@ ROM_END //************************************************************************** // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS -COMP( 1986, pc1512, 0, 0, pc1512, pc1512, driver_device, 0, "Amstrad plc", "PC1512 (V1)", GAME_SUPPORTS_SAVE ) -COMP( 1987, pc1512v2, pc1512, 0, pc1512, pc1512, driver_device, 0, "Amstrad plc", "PC1512 (V2)", GAME_SUPPORTS_SAVE ) -COMP( 1989, pc1512v3, pc1512, 0, pc1512, pc1512, driver_device, 0, "Amstrad plc", "PC1512 (V3)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) -COMP( 1987, pc1640sd, 0, 0, pc1640sd, pc1640, driver_device, 0, "Amstrad plc", "PC1640 SD", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) -COMP( 1987, pc1640dd, pc1640sd, 0, pc1640dd, pc1640, driver_device, 0, "Amstrad plc", "PC1640 DD", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) -COMP( 1987, pc1640hd20, pc1640sd, 0, pc1640hd20, pc1640, driver_device, 0, "Amstrad plc", "PC1640 HD20", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +COMP( 1986, pc1512, 0, 0, pc1512, pc1512, driver_device, 0, "Amstrad plc", "PC1512 SD", GAME_SUPPORTS_SAVE ) +COMP( 1986, pc1512dd, pc1512, 0, pc1512dd, pc1512, driver_device, 0, "Amstrad plc", "PC1512 DD", GAME_SUPPORTS_SAVE ) +COMP( 1986, pc1512hd10, pc1512, 0, pc1512hd, pc1512, driver_device, 0, "Amstrad plc", "PC1512 HD10", GAME_SUPPORTS_SAVE ) +COMP( 1986, pc1512hd20, pc1512, 0, pc1512hd, pc1512, driver_device, 0, "Amstrad plc", "PC1512 HD20", GAME_SUPPORTS_SAVE ) +COMP( 1987, pc1640, 0, 0, pc1640, pc1640, driver_device, 0, "Amstrad plc", "PC1640 SD", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +COMP( 1987, pc1640dd, pc1640, 0, pc1640dd, pc1640, driver_device, 0, "Amstrad plc", "PC1640 DD", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) +COMP( 1987, pc1640hd20, pc1640, 0, pc1640hd, pc1640, driver_device, 0, "Amstrad plc", "PC1640 HD20", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) diff --git a/src/mess/mess.lst b/src/mess/mess.lst index 1cb19e8a89e..12bd8964ceb 100644 --- a/src/mess/mess.lst +++ b/src/mess/mess.lst @@ -734,10 +734,11 @@ pc200 // 1988 Sinclair PC200 pc20 // 1988 Amstrad PC20 ppc512 // 1987 Amstrad PPC512 ppc640 // 1987 Amstrad PPC640 -pc1512 // 1986 Amstrad PC1512 v1 (CGA compatible) -pc1512v2 // 1986 Amstrad PC1512 v2 (CGA compatible) -pc1512v3 // 1986 Amstrad PC1512 v3.2 (CGA compatible) -pc1640sd // 1987 Amstrad PC1640 (EGA compatible) +pc1512 +pc1512dd +pc1512hd10 +pc1512hd20 +pc1640 pc1640dd pc1640hd20 pc2086