summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2023-10-22 20:26:33 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2023-10-22 20:26:33 +0200
commit25a0dd47abb9b75b543a562ff6b6cdcad891028a (patch)
treec1a27474d33176ffeb54c8ae835a77706ace1b2f
parente5c4907791f354da8ebe39100c7dbef7dc349708 (diff)
misc/vamphalf.cpp: added PCB layout for the F-E1-16-004 PCB for the new Solitaire game and added additional information. Also redefined the keys used to be logical and named them as per the control panel. [Brian Troha]
-rw-r--r--src/mame/misc/vamphalf.cpp121
-rw-r--r--src/mame/subsino/subsino_crypt.cpp2
2 files changed, 78 insertions, 45 deletions
diff --git a/src/mame/misc/vamphalf.cpp b/src/mame/misc/vamphalf.cpp
index f127684f262..338818fc1f5 100644
--- a/src/mame/misc/vamphalf.cpp
+++ b/src/mame/misc/vamphalf.cpp
@@ -1153,19 +1153,19 @@ static INPUT_PORTS_START( yorijori )
INPUT_PORTS_END
static INPUT_PORTS_START( solitaire )
- PORT_START("P1_P2")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) // L1 Button in test mode
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) // L2 Button in test mode
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) // L3 Button in test mode
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) // L4 Button in test mode
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) // L5 Button in test mode
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON6 ) // L6 Button in test mode
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON7 ) // L7 Button in test mode
+ PORT_START("P1_P2") // when you have no more moves, hold down “Turn Up Card” & “Register” and you get a count down to end that round / game
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Column 1 / 2 Credit Start") // L1 Button in test mode
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Column 2 / 3 Credit Start") // L2 Button in test mode
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Column 3 / 4 Credit Start") // L3 Button in test mode
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Column 4") // L4 Button in test mode
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Column 5") // L5 Button in test mode
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Column 6") // L6 Button in test mode
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_M) PORT_NAME("Column 7") // L7 Button in test mode
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON8 ) // D1 Button in test mode
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON9 ) // D2 Button in test mode
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON10 ) // R1 Button in test mode
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON11 ) // Gift Button in test mode
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_A) PORT_NAME("Turn Up Card") // D1 Button in test mode
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_S) PORT_NAME("Select Turned Up Card") // D2 Button in test mode
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("Register") // R1 Button in test mode
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("Gift") // Gift Button in test mode
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
@@ -1985,38 +1985,6 @@ ROM_END
/*
-Solitaire (c) 1999 F2 System
-
- CPU: Hyperstone E1-16T
- Video: 2 x QuickLogic QL2003-XPL84C FPGA
- Sound: AD-65 (OKI 6295), KA51 (YM2151) & KA12 (YM3012)
- OSC: 20MHz & 28MHz
-EEPROM: 93C46
-
-PCB: F-E1-16-004
-
-*/
-
-ROM_START( solitaire ) // Version 2.5
- ROM_REGION32_BE( 0x100000, "maincpu", ROMREGION_ERASE00 ) // Hyperstone CPU Code
- // 0 - 0x80000 empty
- ROM_LOAD( "rom2-27c040.bin", 0x080000, 0x080000, CRC(304e4338) SHA1(6b2817d7505c943ca7cdfa9176c9504e30936235) )
-
- ROM_REGION32_BE( 0x800000, "gfx", 0 ) // gfx data
- ROM_LOAD32_WORD_SWAP( "romu00-mx29f1610mc.bin", 0x000000, 0x200000, CRC(7fee63ac) SHA1(ef22145da9ce3100c8736e9a77e59da4f984aaba) )
- ROM_LOAD32_WORD_SWAP( "roml00-mx29f1610mc.bin", 0x000002, 0x200000, CRC(0d973625) SHA1(b482a97732a6117d9c1c7507118e111ac4f7f3f1) )
- ROM_LOAD32_WORD_SWAP( "romu01-mx29f1610mc.bin", 0x400000, 0x200000, CRC(f3f3f3e5) SHA1(9a0d91351903b70049fbbc76a9ccff1a382ecbfd) )
- ROM_LOAD32_WORD_SWAP( "roml01-mx29f1610mc.bin", 0x400002, 0x200000, CRC(5bba95b8) SHA1(6d884a694cbbad6768e606afd5b234a07a3b5b50) )
-
- ROM_REGION( 0x80000, "oki1", 0 ) // Oki Samples
- ROM_LOAD( "vrom1-27c020.bin", 0x000000, 0x040000, CRC(bbbf4ac8) SHA1(b37f945143a9ed7a372a953ef93dbea01c4fcce4) )
-
- ROM_REGION( 0x2dd, "plds", 0 )
- ROM_LOAD( "palce22v10.gal1", 0x000000, 0x0002dd, NO_DUMP ) // Protected
-ROM_END
-
-/*
-
Mr. Dig
SUN, 2000
@@ -2080,6 +2048,71 @@ ROM_END
/*
+Solitaire
+F2 System, 1999
+
+F-E1-16-004
++-----------------------------------------------+
+| RESET KA12 VROM1 ROMU01 |
+| TEST KA51 AD-65 ROMU00 |
+| CRAM2 28.000MHz ROML01 |
+| CRAM1 ROML00 |
+| |
+|J +----------+|
+|A DRAM1 E1-16T ROM2 | ||
+|M 50.000MHz |Quicklogic||
+|M PAL | QL2003- ||
+|A 93C46 | XPL84C ||
+| MEM1U +----------+|
+| +----------+ MEM1L |
+| MOTOR3 | | MEM3 |
+| MOTOR2 |Quicklogic| MEM2 |
+| MOTOR1 | QL2003- | MEM7 |
+| M01 L01 LIGHT | XPL84C | MEM6 |
++----------------+----------+-------------------+
+
+ CPU: Hyperstone E1-16T
+ Video: 2 x QuickLogic QL2003-XPL84C FPGA
+ Sound: AD-65 (OKI 6295), KA51 (YM2151) & KA12 (YM3012)
+ OSC: 50MHz & 28MHz
+EEPROM: 93C46
+
+MOTOR1 - MOTOR3 are 4 pin headers
+LIGHT is a 4 pin header
+AAM01 & AAL01 are 10 pin headers
+RESET & TEST are push buttons
+
+RAM:
+ DRAM1 - LG Semi GM71C18163 1M x16 EDO DRAM (SOJ44)
+MEMx/CRAMx - NKK N341256SJ-15 32K x8 SRAM (SOJ28)
+
+ROMs:
+ ROMU00/L00 & ROMU01/L01 - Macronix MX29F1610MC-12 SOP44 16MBit FlashROM
+ ROM2 - AMD AM27C040 4MBit DIP32 EPROM
+ VROM1 - AMD AM27C020 2MBit DIP32 EPROM
+
+*/
+
+ROM_START( solitaire ) // Version 2.5
+ ROM_REGION32_BE( 0x100000, "maincpu", ROMREGION_ERASE00 ) // Hyperstone CPU Code
+ // 0 - 0x80000 empty
+ ROM_LOAD( "rom2.bin", 0x080000, 0x080000, CRC(304e4338) SHA1(6b2817d7505c943ca7cdfa9176c9504e30936235) ) // 27c040
+
+ ROM_REGION32_BE( 0x800000, "gfx", 0 ) // gfx data, all mx29f1610mc
+ ROM_LOAD32_WORD_SWAP( "romu00.bin", 0x000000, 0x200000, CRC(7fee63ac) SHA1(ef22145da9ce3100c8736e9a77e59da4f984aaba) )
+ ROM_LOAD32_WORD_SWAP( "roml00.bin", 0x000002, 0x200000, CRC(0d973625) SHA1(b482a97732a6117d9c1c7507118e111ac4f7f3f1) )
+ ROM_LOAD32_WORD_SWAP( "romu01.bin", 0x400000, 0x200000, CRC(f3f3f3e5) SHA1(9a0d91351903b70049fbbc76a9ccff1a382ecbfd) )
+ ROM_LOAD32_WORD_SWAP( "roml01.bin", 0x400002, 0x200000, CRC(5bba95b8) SHA1(6d884a694cbbad6768e606afd5b234a07a3b5b50) )
+
+ ROM_REGION( 0x80000, "oki1", 0 ) // Oki Samples
+ ROM_LOAD( "vrom1.bin", 0x000000, 0x040000, CRC(bbbf4ac8) SHA1(b37f945143a9ed7a372a953ef93dbea01c4fcce4) ) // 27c020
+
+ ROM_REGION( 0x2dd, "plds", 0 )
+ ROM_LOAD( "palce22v10.gal1", 0x000000, 0x0002dd, NO_DUMP ) // Protected
+ROM_END
+
+/*
+
Cool Minigame Collection
SemiCom, 1999
diff --git a/src/mame/subsino/subsino_crypt.cpp b/src/mame/subsino/subsino_crypt.cpp
index 2e8fb56cb2f..702d941799b 100644
--- a/src/mame/subsino/subsino_crypt.cpp
+++ b/src/mame/subsino/subsino_crypt.cpp
@@ -36,7 +36,7 @@ void newhunterc_bitswaps(uint8_t *decrypt, int i)
{
if ((i & 7) == 0) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 1, 0, 3, 6, 5, 4);
if ((i & 7) == 1) decrypt[i] = bitswap<8>(decrypt[i], 7, 6, 5, 0, 3, 2, 1, 4);
- if ((i & 7) == 2) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 1, 0, 3, 6, 5, 4); // TODO: verify 7,6
+ if ((i & 7) == 2) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 1, 0, 3, 6, 5, 4);
if ((i & 7) == 3) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 1, 0, 3, 6, 5, 4);
if ((i & 7) == 4) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 5, 4, 3, 6, 1, 0);
if ((i & 7) == 5) decrypt[i] = bitswap<8>(decrypt[i], 7, 2, 5, 0, 3, 6, 1, 4);