summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-01-11 07:04:30 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2018-01-11 07:04:30 +0100
commite6e29d4d6dd91114bf9c2391b8ef47a69d8c3b88 (patch)
treeac7e2e40fa1b3977dccda2b8c60e88100f3598fe
parenteb7894d1267a695587ff97ee3e29cb32a9a64863 (diff)
new working clone
------------------------------- Amstrad CPC6128 (Spain) [Enrique Ausina, Guru]
-rw-r--r--src/mame/drivers/amstrad.cpp47
-rw-r--r--src/mame/mame.lst1
2 files changed, 37 insertions, 11 deletions
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index eec93b4baf1..6cdb0505ab9 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Kevin Thacker, Barry Rodewald
/******************************************************************************
- amstrad.c
+ amstrad.cpp
system driver
Amstrad Hardware:
@@ -509,6 +509,19 @@ static INPUT_PORTS_START( cpc6128s )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR(';')
INPUT_PORTS_END
+static INPUT_PORTS_START( cpc6128sp )
+ PORT_INCLUDE(cpc6128)
+
+ PORT_MODIFY("kbrow.2")
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("[") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR('[') PORT_CHAR('*')
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("]") PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR(']') PORT_CHAR('+')
+
+ PORT_MODIFY("kbrow.3")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('^') PORT_CHAR(0x20A7)
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR(':')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(0x00F1) PORT_CHAR(0x00D1)
+INPUT_PORTS_END
+
/*
* The BIOS of the KC Compact would be able to recognize the keypresses
* generated by F5-F9. Unfortunately these keys are not present on the
@@ -1218,6 +1231,17 @@ ROM_START( cpc6128s )
ROM_LOAD("cpcados.rom", 0x18000, 0x4000, CRC(1fe22ecd) SHA1(39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb))
ROM_END
+ROM_START( cpc6128sp )
+ /* this defines the total memory size (128kb))- 64k ram, 16k OS, 16k BASIC, 16k DOS +16k*/
+ ROM_REGION(0x020000, "maincpu", 0)
+
+ /* load the os to offset 0x01000 from memory base */
+ ROM_LOAD("amstrad_40038.ic103", 0x10000, 0x8000, CRC(2fa2e7d6) SHA1(1acd01c2c03424a78b32c9440f4d890fb1104815))
+ ROM_LOAD("amstrad_40015.ic204", 0x18000, 0x4000, CRC(1fe22ecd) SHA1(39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb))
+
+ ROM_REGION(0x200, "pals", 0)
+ ROM_LOAD("mmi_hal16l8.ic118", 0x000, 0x104, NO_DUMP)
+ROM_END
ROM_START( cpc464 )
/* this defines the total memory size - 64k ram, 16k OS, 16k BASIC, 16k DOS */
@@ -1287,13 +1311,14 @@ ROM_END
*************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
-COMP( 1984, cpc464, 0, 0, cpc464, cpc464, amstrad_state, 0, "Amstrad plc", "Amstrad CPC464", 0 )
-COMP( 1985, cpc664, cpc464, 0, cpc664, cpc664, amstrad_state, 0, "Amstrad plc", "Amstrad CPC664", 0 )
-COMP( 1985, cpc6128, cpc464, 0, cpc6128, cpc6128, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128", 0 )
-COMP( 1985, cpc6128f, cpc464, 0, cpc6128, cpc6128f, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128 (France, AZERTY Keyboard)", 0 )
-COMP( 1985, cpc6128s, cpc464, 0, cpc6128, cpc6128s, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128 (Sweden/Finland)", 0 )
-COMP( 1990, cpc464p, 0, 0, cpcplus, plus, amstrad_state, 0, "Amstrad plc", "Amstrad CPC464+", 0 )
-COMP( 1990, cpc6128p, 0, 0, cpcplus, plus, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128+", 0 )
-CONS( 1990, gx4000, 0, 0, gx4000, gx4000, amstrad_state, 0, "Amstrad plc", "Amstrad GX4000", 0 )
-COMP( 1989, kccomp, cpc464, 0, kccomp, kccomp, amstrad_state, 0, "VEB Mikroelektronik", "KC Compact", 0 )
-COMP( 1993, al520ex, cpc464, 0, aleste, aleste, amstrad_state, 0, "Patisonic", "Aleste 520EX", MACHINE_IMPERFECT_SOUND )
+COMP( 1984, cpc464, 0, 0, cpc464, cpc464, amstrad_state, 0, "Amstrad plc", "Amstrad CPC464", 0 )
+COMP( 1985, cpc664, cpc464, 0, cpc664, cpc664, amstrad_state, 0, "Amstrad plc", "Amstrad CPC664", 0 )
+COMP( 1985, cpc6128, cpc464, 0, cpc6128, cpc6128, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128", 0 )
+COMP( 1985, cpc6128f, cpc464, 0, cpc6128, cpc6128f, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128 (France, AZERTY Keyboard)", 0 )
+COMP( 1985, cpc6128s, cpc464, 0, cpc6128, cpc6128s, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128 (Sweden/Finland)", 0 )
+COMP( 1985, cpc6128sp, cpc464, 0, cpc6128, cpc6128sp, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128 (Spain)", 0 )
+COMP( 1990, cpc464p, 0, 0, cpcplus, plus, amstrad_state, 0, "Amstrad plc", "Amstrad CPC464+", 0 )
+COMP( 1990, cpc6128p, 0, 0, cpcplus, plus, amstrad_state, 0, "Amstrad plc", "Amstrad CPC6128+", 0 )
+CONS( 1990, gx4000, 0, 0, gx4000, gx4000, amstrad_state, 0, "Amstrad plc", "Amstrad GX4000", 0 )
+COMP( 1989, kccomp, cpc464, 0, kccomp, kccomp, amstrad_state, 0, "VEB Mikroelektronik", "KC Compact", 0 )
+COMP( 1993, al520ex, cpc464, 0, aleste, aleste, amstrad_state, 0, "Patisonic", "Aleste 520EX", MACHINE_IMPERFECT_SOUND )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index b60ad3cb88b..10c2dd4300e 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -1219,6 +1219,7 @@ cpc6128 // Amstrad (Schneider in Germany) 1985
cpc6128f // Amstrad (Schneider in Germany) 1985 (AZERTY)
cpc6128p // Amstrad CPC6128 Plus - 1990
cpc6128s // Amstrad (Schneider in Germany) 1985
+cpc6128sp // Amstrad (Schneider in Germany) 1985
cpc664 // Amstrad (Schneider in Germany) 1985
gx4000 // Amstrad GX4000 - 1990
kccomp // VEB KC compact