summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/amusco.cpp57
-rw-r--r--src/mame/drivers/subsino2.cpp45
-rw-r--r--src/mame/mame.lst2
3 files changed, 92 insertions, 12 deletions
diff --git a/src/mame/drivers/amusco.cpp b/src/mame/drivers/amusco.cpp
index e349c69ccc5..7ce94b6a86a 100644
--- a/src/mame/drivers/amusco.cpp
+++ b/src/mame/drivers/amusco.cpp
@@ -117,6 +117,7 @@ public:
void amusco(machine_config &config);
void draw88pkr(machine_config &config);
+ void freeway(machine_config &config);
DECLARE_WRITE_LINE_MEMBER(coin_irq);
@@ -141,6 +142,7 @@ private:
void amusco_mem_map(address_map &map);
void amusco_io_map(address_map &map);
+ void freeway_mem_map(address_map &map);
std::unique_ptr<uint8_t []> m_videoram;
tilemap_t *m_bg_tilemap;
@@ -212,7 +214,13 @@ void amusco_state::machine_start()
void amusco_state::amusco_mem_map(address_map &map)
{
map(0x00000, 0x0ffff).ram();
- map(0xf8000, 0xfffff).rom();
+ map(0xf8000, 0xfffff).rom().region("maincpu", 0);
+}
+
+void amusco_state::freeway_mem_map(address_map &map)
+{
+ map(0x00000, 0x0ffff).ram();
+ map(0xf0000, 0xfffff).rom().region("maincpu", 0);
}
READ8_MEMBER( amusco_state::mc6845_r)
@@ -599,19 +607,27 @@ MACHINE_CONFIG_START(amusco_state::amusco)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(amusco_state::draw88pkr)
+void amusco_state::draw88pkr(machine_config &config)
+{
amusco(config);
//MCFG_DEVICE_MODIFY("ppi_outputs") // Some bits are definitely different
-MACHINE_CONFIG_END
+}
+
+void amusco_state::freeway(machine_config &config)
+{
+ amusco(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &amusco_state::freeway_mem_map);
+ //TODO: everything
+}
/*************************
* Rom Load *
*************************/
ROM_START( amusco )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "pk_v1.4_u42.u42", 0xf8000, 0x08000, CRC(bf57d7b1) SHA1(fc8b062b12c241c6c096325f728305316b80be8b) )
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "pk_v1.4_u42.u42", 0x0000, 0x8000, CRC(bf57d7b1) SHA1(fc8b062b12c241c6c096325f728305316b80be8b) )
ROM_REGION( 0xc000, "gfx1", 0 )
ROM_LOAD( "char_a_u35.u35", 0x0000, 0x4000, CRC(ded67ef6) SHA1(da7326c190211e956e5a5f763d5045615bb8ffb3) )
@@ -638,8 +654,8 @@ ROM_END
*/
ROM_START( draw88pkr )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD( "u42.bin", 0xf8000, 0x08000, CRC(e98a7cfd) SHA1(8dc581c3e0cfd78bd33fbbbafd40307cf66f154d) )
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "u42.bin", 0x0000, 0x8000, CRC(e98a7cfd) SHA1(8dc581c3e0cfd78bd33fbbbafd40307cf66f154d) )
ROM_REGION( 0xc000, "gfx1", 0 )
ROM_LOAD( "u35.bin", 0x0000, 0x4000, CRC(f608019a) SHA1(f0c5e10a03f39976d9bc6e8bc9f78e30ffefa03e) )
@@ -647,11 +663,32 @@ ROM_START( draw88pkr )
ROM_LOAD( "u37.bin", 0x8000, 0x4000, CRC(6e23b9f2) SHA1(6916828d84d1ecb44dc454e6786f97801a8550c7) )
ROM_END
+// this might better fit another driver
+// 8088 CPU
+// Intel 8254 Programmable Interval Timer
+// Intel 8259
+// 2x 8k SRAM
+// 1x 32k SRAM
+// 6845 video chip
+// 5 roms
+// Oscillator 10 MHz
+
+ROM_START( freeway )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "vip88.bin", 0x00000, 0x10000, CRC(aeba6d5e) SHA1(bb84f7040bf1b6976cb2c50b1ffdc59ae88df223) )
+
+ ROM_REGION( 0x20000, "gfx1", 0 ) // loading might be wrong
+ ROM_LOAD( "sb_51.bin", 0x00000, 0x8000, CRC(d25bd328) SHA1(b8c692298f6dc5fd5ae2f9e7701e14b0436a95bb) ) // xxx0xxxxxxxxxxx = 0xFF
+ ROM_LOAD( "sb_52.bin", 0x08000, 0x8000, CRC(f2b33acd) SHA1(e4786b4f00871d771aadacd9d6ec767691f4d939) )
+ ROM_LOAD( "sb_53.bin", 0x10000, 0x8000, CRC(50407ae6) SHA1(2c6c4803905bed5f27c6783f99a24f8dee62c19b) )
+ ROM_LOAD( "sb_cor.bin", 0x18000, 0x8000, CRC(5f86a160) SHA1(f21b7e0e6a407371c252d6fde6fcb32a2682824c) ) // 00000xxxxxxxxxx = 0xFF
+ROM_END
/*************************
* Game Drivers *
*************************/
-/* YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1987, amusco, 0, amusco, amusco, amusco_state, empty_init, ROT0, "Amusco", "American Music Poker (V1.4)", MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco ) // palette totally wrong
-GAMEL( 1988, draw88pkr, 0, draw88pkr, draw88pkr, amusco_state, empty_init, ROT0, "BTE, Inc.", "Draw 88 Poker (V2.0)", MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco ) // palette totally wrong
+/* YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
+GAMEL( 1987, amusco, 0, amusco, amusco, amusco_state, empty_init, ROT0, "Amusco", "American Music Poker (V1.4)", MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco ) // palette totally wrong
+GAMEL( 1988, draw88pkr, 0, draw88pkr, draw88pkr, amusco_state, empty_init, ROT0, "BTE, Inc.", "Draw 88 Poker (V2.0)", MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco ) // palette totally wrong
+GAMEL( 1999, freeway, 0, draw88pkr, draw88pkr, amusco_state, empty_init, ROT0, "NVC Electronica", "FreeWay (V5.12)", MACHINE_IS_SKELETON | MACHINE_NODEVICE_PRINTER, layout_amusco ) // might need an own driver
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index 911cfd63099..13b9903abe6 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -22,6 +22,7 @@ Year Game CPU Sound Custom
1999 Bishou Jan H8/3044** SS9904 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
1999 X-Train/P-Train AM188-EM M6295 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
2000 New 2001 H8/3044** SS9904 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
+2001 Queen Bee H8/3044** SS9804 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
2001 Humlan's Lyckohjul H8/3044** SS9804 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
2002 Super Queen Bee H8/3044** ? ? ?
2006 X-Plan AM188-EM M6295 SS9601, SS9802, SS9803 HM86171 RAMDAC, Battery
@@ -114,6 +115,7 @@ public:
void init_bishjan();
void init_new2001();
+ void init_queenbee();
void init_humlan();
void init_squeenb();
void init_xtrain();
@@ -2700,6 +2702,44 @@ void subsino2_state::init_new2001()
/***************************************************************************
+Queen Bee
+(c) 2001 Subsino
+
+no ROM labels available
+
+***************************************************************************/
+
+ROM_START( queenbee )
+ ROM_REGION( 0x80000, "maincpu", 0 ) // H8/3044
+ ROM_LOAD( "u21", 0x00000, 0x40000, CRC(23e0ad8f) SHA1(d913ebd249c471ab36aabe515a8b36bb3590c1ca) )
+ ROM_FILL( 0x40000, 0x40000, 0xff )
+
+ ROM_REGION( 0x200000, "tilemap", 0 ) // this PCB has a single surface mounted ROM, which hasn't been dumped.
+ ROM_LOAD( "gfx", 0x000000, 0x200000, NO_DUMP )
+ // following ROMs are taken from humlan for testing, it doesn't seem to be a case of just differently split ROMs.
+ // ROM_LOAD32_BYTE( "hlj__truemax_3_v402.u25", 0x000000, 0x80000, CRC(dfc8d795) SHA1(93e0fe271c7390596f73092720befe11d8354838) )
+ // ROM_LOAD32_BYTE( "hlj__truemax_4_v402.u26", 0x000001, 0x80000, CRC(31c774d6) SHA1(13fcdb42f5fd7d0cadd3fd7030037c21b7585f0f) )
+ // ROM_LOAD32_BYTE( "hlj__truemax_5_v402.u27", 0x000002, 0x80000, CRC(28e14be8) SHA1(778906427175ca50ad5b0a7c5978c36ed29ef994) )
+ // ROM_LOAD32_BYTE( "hlj__truemax_6_v402.u28", 0x000003, 0x80000, CRC(d1c7ae17) SHA1(3ddb8ad38eeb5ab0a944d7d26cfb890a4327ef2e) )
+
+ ROM_REGION( 0x40000, "samples", 0 )
+ ROM_LOAD( "u9", 0x000000, 0x40000, NO_DUMP )
+ROM_END
+
+void subsino2_state::init_queenbee()
+{
+ uint16_t *rom = (uint16_t*)memregion("maincpu")->base();
+
+ // patch serial protection test (ERROR 093099 otherwise)
+ rom[0x1826/2] = 0x4066;
+
+ // rts -> rte
+ rom[0x3902/2] = 0x5670; // IRQ 8
+ rom[0x3a56/2] = 0x5670; // IRQ 0
+}
+
+/***************************************************************************
+
Humlan's Lyckohjul (Sweden, V402)
(c) 2001 Subsino & Truemax
@@ -3224,5 +3264,6 @@ GAME( 1999, ptrain, 0, xtrain, xtrain, subsino2_state, init_ptrain,
GAME( 1999, bishjan, 0, bishjan, bishjan, subsino2_state, init_bishjan, ROT0, "Subsino", "Bishou Jan (Japan, Ver. 203)", MACHINE_NO_SOUND )
GAME( 2000, new2001, 0, new2001, new2001, subsino2_state, init_new2001, ROT0, "Subsino", "New 2001 (Italy, Ver. 200N)", MACHINE_NO_SOUND )
GAME( 2006, xplan, 0, xplan, xplan, subsino2_state, init_xplan, ROT0, "Subsino", "X-Plan (Ver. 101)", 0 )
-GAME( 2001, humlan, 0, humlan, humlan, subsino2_state, init_humlan, ROT0, "Subsino (Truemax license)", "Humlan's Lyckohjul (Sweden, Ver. 402)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
-GAME( 2002, squeenb, 0, humlan, humlan, subsino2_state, init_squeenb, ROT0, "Subsino", "Super Queen Bee (Ver. 101)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 2001, queenbee, 0, humlan, humlan, subsino2_state, init_queenbee, ROT0, "Subsino", "Queen Bee (Brazil, Ver. 202)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // severe timing issues, only program ROM available
+GAME( 2001, humlan, queenbee, humlan, humlan, subsino2_state, init_humlan, ROT0, "Subsino (Truemax license)", "Humlan's Lyckohjul (Sweden, Ver. 402)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // severe timing issues
+GAME( 2002, squeenb, 0, humlan, humlan, subsino2_state, init_squeenb, ROT0, "Subsino", "Super Queen Bee (Ver. 101)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // severe timing issues
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 30856c03d7f..4bdd7c3b0c7 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -1264,6 +1264,7 @@ kccomp // VEB KC compact
@source:amusco.cpp
amusco // 1987, Amusco.
draw88pkr // 1988, BTE, Inc.
+freeway
@source:amust.cpp
amust //
@@ -36233,6 +36234,7 @@ humlan // (c) 2001 Subsino & Truemax
mtrain // (c) 1996 Subsino
new2001 // (c) 2000 Subsino
ptrain // (c) 1999 Subsino
+queenbee // (c) 2001 Subsino
saklove // (c) 1998 Subsino
squeenb // (c) 2002 Subsino
wtrnymph // (c) 1996 Subsino