summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-02-05 15:38:33 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2017-02-05 15:38:33 +0100
commitd20b4ba6864b45d0c068d98d43e63c8bc5014a3b (patch)
treed7ece83492f8ebf3c3635b68307993cb05368da1
parent18882607f9ec5e4871e10b01c5ad41983f1c5def (diff)
New working machine added
_______________________ Flash Boy (vertical) [DECO Cassette MD] (No.12/Ver.0/Set.1,Japan) [Game Preservation Society]
-rw-r--r--src/mame/drivers/decocass.cpp61
-rw-r--r--src/mame/includes/decocass.h1
-rw-r--r--src/mame/machine/decocass.cpp33
-rw-r--r--src/mame/mame.lst1
4 files changed, 88 insertions, 8 deletions
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index dab345ae431..a9e92724ab0 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -14,23 +14,30 @@
The Dumping Union
Team Japump!!!
Hau
+ Jean-Francois Del Nero
+ Omar Cornut
+ Game Preservation Society
+ Joseph Redon
The DECO cassette system consists of three PCBS in a card cage:
Early boardset: (1980-1983) (proms unknown for this boardset, no schematics for this boardset)
One DE-0069C-0 RMS-3 pcb with a 6502 processor, D8041C MCU (DECO Cassette control), two ay-3-8910s, and one 2708 eprom holding the audio bios. (audio, needs external amp and volume control)
- One DE-0068B-0 DSP-3 pcb with a 'DECO CPU-3' custom, two 2716 eproms (main processor and bios, graphics, dipswitches?)
- One DE-0070C-0 BIO-3 pcb with an analog ADC0908 8-bit adc
+ One DE-0068B-0 DSP-3 pcb with a 'DECO CPU-3' custom, two 2716 eproms. (main processor and bios, graphics, dipswitches?)
+ One DE-0070C-0 BIO-3 pcb with an analog ADC0908 8-bit adc.
One DE-0066B-0 card rack board that the other three boards plug into.
- TODO: get more info about this older boardset: D. Widel has some info about it on his page at http://www.widel.com/stuff/decopin.htm
+ This boardset has two versions : MD, known as "shokase" in Japan, and MT, known as "daikase" which is using bigger data tapes. (MT was only sold in Japan, not emulated yet)
- Later boardset: (1984 onward, schematic is dated 10/83)
+ Later boardset: (1984 onward, schematic is dated October 1983)
One DE-0097C-0 RMS-8 pcb with a 6502 processor, two ay-3-8910s, two eproms (2716 and 2732) plus one prom, and 48k worth of 4116 16kx1 DRAMs; the 6502 processor has its own 4K of SRAM. (audio processor and RAM, Main processor's dram, dipswitches)
One DE-0096C-0 DSP-8 board with a 'DECO 222' custom on it (labeled '8049 // C10707-2') which appears to really be a 'cleverly' disguised 6502, and two proms, plus 4K of sram, and three hm2511-1 1kx1 srams. (main processor and graphics)
- One DE-0098C-0 B10-8 (BIO-8 on schematics) board with an 8041, an analog devices ADC0908 8-bit adc, and 4K of SRAM on it (DECO Cassette control, inputs)
- One DE-0109C-0 card rack board that the other three boards plug into.
+ One DE-0098C-0 B10-8 (BIO-8 on schematics) board with an 8041, an analog devices ADC0908 8-bit adc, and 4K of SRAM on it. (DECO Cassette control, inputs)
+ One DE-0109C-0 card rack board that the other three boards plug into. (fourth connector for DE-109C-0 is shorter than in earlier versions)
The actual cassettes use a custom player hooked to the BIO board, and are roughly microcassette form factor, but are larger and will not fit in a conventional microcassette player.
- Each cassette has two tracks on it: a clock track and a data track, for a form of synchronous serial. The data is stored in blocks with headers and checksums.
+ Each cassette has one track on it and is separated into clock and data by two Magtek IC in the player, for a form of synchronous serial.
+ The data is stored in blocks with headers and CRC16 checksums.
+ The first block contains information such as the region (A:Japan, B:USA, C:UK, D:Europe) and the total number of blocks left to read.
+ The last physical block on the cassette is a dummy block not used by the system. (only used to mark the end of last block)
***********************************************************************/
@@ -656,6 +663,26 @@ static INPUT_PORTS_START( cfishing )
/* Switches 5, 6, 7 & 8 are listed as "Not Used" and "Don't Change" */
INPUT_PORTS_END
+static INPUT_PORTS_START( cfboy0a1 ) /* 12 */
+ PORT_INCLUDE( decocass )
+
+ PORT_MODIFY("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Number of The Deco Kids" ) PORT_DIPLOCATION("SW2:1")
+ PORT_DIPSETTING( 0x01, "3" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x06, 0x06, "Bonus Points" ) PORT_DIPLOCATION("SW2:2,3")
+ PORT_DIPSETTING( 0x06, "5000" )
+ PORT_DIPSETTING( 0x04, "10000" )
+ PORT_DIPSETTING( 0x02, "15000" )
+ PORT_DIPSETTING( 0x00, DEF_STR( None ) )
+ PORT_DIPNAME( 0x08, 0x08, "Number of Alien Missiles" ) PORT_DIPLOCATION("SW2:4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) )
+ PORT_DIPNAME( 0x10, 0x10, "Alien Craft Movement" ) PORT_DIPLOCATION("SW2:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) )
+ /* Switches 6 to 8 are shown as "Country Code" (A to F) and "Don't Change" */
+INPUT_PORTS_END
static const gfx_layout charlayout =
{
@@ -866,6 +893,13 @@ static MACHINE_CONFIG_DERIVED( clocknch, decocass )
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( cfboy0a1, decocass ) /* 12 */
+
+ /* basic machine hardware */
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cfboy0a1)
+MACHINE_CONFIG_END
+
+
static MACHINE_CONFIG_DERIVED( cprogolf, decocass )
/* basic machine hardware */
@@ -1237,6 +1271,17 @@ ROM_START( clocknch )
ROM_LOAD( "clocknch.cas", 0x0000, 0x8000, CRC(c9d163a4) SHA1(3ef55a8d8f603059e263776c08eb81f2cf18b75c) )
ROM_END
+/* 12 Flash Boy (early vertical Japan version, then horizontal version), The Deco Kid (early vertical World version, then vertical version) */
+ROM_START( cfboy0a1 ) // version MD 0-A-1 verified, 105 blocks, decrypted main data CRC(7ca358f0)
+ DECOCASS_BIOS_AO_ROMS
+
+ ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */
+ ROM_LOAD( "dt-1120-a-1.cas", 0x0000, 0x6a00, CRC(c6746dc0) SHA1(816ccb61dfa2745a9ef918d9a50d1cd91493c9ed) )
+
+ ROM_REGION( 0x00020, "dongle", 0 ) /* dongle data */
+ ROM_LOAD( "dp-1120-a.rom", 0x0000, 0x0020, CRC(1bc9fccb) SHA1(ffc59c7660d5c87a8deca294f80260b6bc7c3027) )
+ROM_END
+
/* 13 */
/* Photo of Dongle shows DP-1130B (the "B" is in a separate white box then the DP-1130 label) */
ROM_START( cprogolf ) // version 9-B-0
@@ -1788,7 +1833,7 @@ DRIVER_INIT_MEMBER(decocass_state,cdsteljn)
/* 10 */ GAME( 1981, cocean1a, decocass, cocean1a, cocean1a, decocass_state, decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.1,Japan)", 0 ) /* no lever, 1P/2P buttons used to switch player, cocktail mode not emulated */
/* */ GAME( 1981, cocean6b, cocean1a, cocean1a, cocean1a, decocass_state, decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.6,US)", 0 ) /* lever, 1P/2P buttons used to switch player, cocktail mode not emulated */
/* 11 */ GAME( 1981, clocknch, decocass, clocknch, clocknch, decocass_state, decocass, ROT270, "Data East Corporation", "Lock'n'Chase (DECO Cassette) (US)", 0 )
-/* 12 */ // 1981.08 Flash Boy/DECO Kid
+/* 12 */ GAME( 1981, cfboy0a1, decocass, cfboy0a1, cfboy0a1, decocass_state, decocass, ROT270, "Data East Corporation", "Flash Boy (vertical) [DECO Cassette MD] (No.12/Ver.0/Set.1,Japan)", 0 )
/* 13 */ GAME( 1981, cprogolf, decocass, cprogolf, cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette) (US)", 0 )
/* */ GAME( 1981, cprogolfj, cprogolf, cprogolfj,cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette) (Japan)", 0 )
/* 14 */ GAME( 1981, cdsteljn, decocass, cdsteljn, cdsteljn, decocass_state, cdsteljn, ROT270, "Data East Corporation", "DS Telejan (DECO Cassette) (Japan)", 0 )
diff --git a/src/mame/includes/decocass.h b/src/mame/includes/decocass.h
index 9f8beb4163b..a4f15a59a7e 100644
--- a/src/mame/includes/decocass.h
+++ b/src/mame/includes/decocass.h
@@ -184,6 +184,7 @@ public:
DECLARE_MACHINE_RESET(cflyball);
DECLARE_MACHINE_RESET(cmanhat);
DECLARE_MACHINE_RESET(cocean1a); /* 10 */
+ DECLARE_MACHINE_RESET(cfboy0a1); /* 12 */
uint32_t screen_update_decocass(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER(decocass_coin_counter_w);
DECLARE_WRITE8_MEMBER(decocass_sound_command_w);
diff --git a/src/mame/machine/decocass.cpp b/src/mame/machine/decocass.cpp
index f1529ebba4e..94d38b9a5d9 100644
--- a/src/mame/machine/decocass.cpp
+++ b/src/mame/machine/decocass.cpp
@@ -430,6 +430,39 @@ MACHINE_RESET_MEMBER(decocass_state,cocean1a) /* 10 */
m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
}
+ /***************************************************************************
+ *
+ * TYPE1 DONGLE DP-1120/DP-2120 map for Flash Boy/The Deco Kid
+ *
+ * Latched bits = $24 (2 latch bits)
+ * Input bits that are passed uninverted = $08 (1 true bits)
+ * Input bits that are passed inverted = $00 (0 inverted bits)
+ * Remaining bits for addressing PROM = $D3 (5 bits)
+ * Latched bit #0:
+ * Input bit position = 2
+ * Output bit position = 2
+ * Type = Inverting latch
+ * Latched bit #1:
+ * Input bit position = 5
+ * Output bit position = 5
+ * Type = Non-inverting latch
+ *
+ ***************************************************************************/
+
+static uint8_t type1_map1120[8] = { T1PROM,T1PROM,T1LATCHINV,T1DIRECT,T1PROM,T1LATCH,T1PROM,T1PROM };
+
+
+MACHINE_RESET_MEMBER(decocass_state,cfboy0a1) /* 12 */
+{
+ decocass_state::machine_reset();
+ LOG(0,("dongle type #1 (DP-1120 map)\n"));
+ m_dongle_r = read8_delegate(FUNC(decocass_state::decocass_type1_r),this);
+ m_type1_map = type1_map1120;
+ m_type1_inmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+}
+
+
/***************************************************************************
*
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 449a4744036..934449b5a8f 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -10958,6 +10958,7 @@ cburnrub2 // 27
cdiscon1 // 19 1982.04 Disco No.1
cdsteljn // 14 1981.06 DS Telejan
cexplore // 18 1982.02 Explorer
+cfboy0a1 // DT-1[12]0-A-1 1981.08 Flash Boy (Japan) (DECO Cassette MD) (Ver 1) // version verified // vertical scrolling (early version)
cfghtice // 40 1984.04 Fighting Ice Hockey
cfishing // 25 1982.10 Fishing
cflyball // 35 1983.?? Flying Ball/Bampoline