summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Zandona <robertoz@mamedev.org>2008-04-16 21:12:02 +0000
committer Roberto Zandona <robertoz@mamedev.org>2008-04-16 21:12:02 +0000
commit2e108042754a9bf8fa52e773c1d55bae04c3f22f (patch)
tree16876d161c3eb6a03d3d872dfa312f0c49e589fa
parent12836eea2c0ed7f81fdebf989645e0a1d23fa0f4 (diff)
add "Not Working" bootleg of aerofgt (bootleg set 2) (the romset is unknown_incog.zip)
add some info to machine/irem_cpu.c
-rw-r--r--src/mame/drivers/aerofgt.c126
-rw-r--r--src/mame/machine/irem_cpu.c9
-rw-r--r--src/mame/mamedriv.c1
3 files changed, 131 insertions, 5 deletions
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 260bc8c6fac..5a64e5c8ab5 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -354,6 +354,32 @@ static ADDRESS_MAP_START( aerfboot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
ADDRESS_MAP_END
+static ADDRESS_MAP_START( aerfboo2_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+ AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
+ AM_RANGE(0x0d0000, 0x0d1fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_BASE(&aerofgt_bg1videoram)
+ AM_RANGE(0x0d2000, 0x0d3fff) AM_RAM_WRITE(aerofgt_bg2videoram_w) AM_BASE(&aerofgt_bg2videoram)
+ AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM AM_BASE(&aerofgt_spriteram1) AM_SIZE(&aerofgt_spriteram1_size)
+ AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_BASE(&aerofgt_spriteram2) AM_SIZE(&aerofgt_spriteram2_size)
+ AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
+ AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM //AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16)
+ AM_RANGE(0x0fe000, 0x0fe001) AM_READ(input_port_0_word_r)
+ AM_RANGE(0x0fe002, 0x0fe003) AM_READ(input_port_1_word_r)
+ AM_RANGE(0x0fe004, 0x0fe005) AM_READ(input_port_2_word_r)
+ AM_RANGE(0x0fe008, 0x0fe009) AM_READ(input_port_3_word_r)
+ AM_RANGE(0x0fe002, 0x0fe003) AM_WRITE(aerofgt_bg1scrolly_w)
+ AM_RANGE(0x0fe004, 0x0fe005) AM_WRITE(aerofgt_bg2scrollx_w)
+ AM_RANGE(0x0fe006, 0x0fe007) AM_WRITE(aerofgt_bg2scrolly_w)
+ AM_RANGE(0x0fe008, 0x0fe00b) AM_WRITE(turbofrc_gfxbank_w)
+ AM_RANGE(0x0fe010, 0x0fe011) AM_WRITENOP
+// AM_RANGE(0x0fe012, 0x0fe013) AM_WRITE(aerfboot_soundlatch_w)
+ AM_RANGE(0x0fe400, 0x0fe401) AM_WRITENOP
+ AM_RANGE(0x0fe402, 0x0fe403) AM_WRITENOP
+ AM_RANGE(0x0ff000, 0x0fffff) AM_RAM AM_BASE(&aerofgt_rasterram) /* used only for the scroll registers */
+ AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_BASE(&aerofgt_spriteram3) AM_SIZE(&aerofgt_spriteram3_size)
+ADDRESS_MAP_END
+
static ADDRESS_MAP_START( wbbc97_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x500000, 0x50ffff) AM_RAM /* work RAM */
@@ -1100,6 +1126,17 @@ static const gfx_layout aerfboot_charlayout =
8*8
};
+static const gfx_layout aerfboo2_charlayout =
+{
+ 8,8,
+ RGN_FRAC(1,2),
+ 4,
+ { 0, 1, 2, 3 },
+ { 1*4, 0*4, RGN_FRAC(1,2)+1*4, RGN_FRAC(1,2)+0*4, 3*4, 2*4, RGN_FRAC(1,2)+3*4, RGN_FRAC(1,2)+2*4 },
+ { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
+ 32*4
+};
+
static const gfx_layout pspikes_spritelayout =
{
16,16,
@@ -1178,6 +1215,19 @@ static const gfx_layout aerfboot_spritelayout =
64*8
};
+static const gfx_layout aerfboo2_spritelayout =
+{
+ 16,16,
+ RGN_FRAC(1,2),
+ 4,
+ { 0,1,2,3 },
+ { 28,24,20,16,12,8,4,0,60,56,52,48,44,40,36,32 },
+ {
+ 0*64,1*64,2*64,3*64,4*64,5*64,6*64,7*64,8*64,9*64,10*64,11*64,12*64,13*64,14*64,15*64
+ },
+ 16*64
+};
+
static const gfx_layout wbbc97_spritelayout =
{
16,16,
@@ -1238,6 +1288,13 @@ static GFXDECODE_START( aerfboot )
GFXDECODE_ENTRY( REGION_GFX3, 0, aerfboot_spritelayout, 768, 16 )
GFXDECODE_END
+static GFXDECODE_START( aerfboo2 )
+ GFXDECODE_ENTRY( REGION_GFX1, 0, aerfboo2_charlayout, 0, 16 )
+ GFXDECODE_ENTRY( REGION_GFX2, 0, aerfboo2_charlayout, 256, 16 )
+ GFXDECODE_ENTRY( REGION_GFX3, 0, aerfboo2_spritelayout, 512, 16 )
+ GFXDECODE_ENTRY( REGION_GFX3, 0x100000,aerfboo2_spritelayout, 768, 16 )
+GFXDECODE_END
+
static GFXDECODE_START( wbbc97 )
GFXDECODE_ENTRY( REGION_GFX1, 0, pspikes_charlayout, 0, 64 ) /* colors 0-1023 in 8 banks */
GFXDECODE_ENTRY( REGION_GFX2, 0, wbbc97_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */
@@ -1611,6 +1668,38 @@ static MACHINE_DRIVER_START( aerfboot )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_DRIVER_END
+static MACHINE_DRIVER_START( aerfboo2 )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
+ MDRV_CPU_PROGRAM_MAP(aerfboo2_map,0)
+ MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
+
+// MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
+// MDRV_CPU_PROGRAM_MAP(aerfboot_sound_map,0)
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(500))
+ /* wrong but improves sprite-background synchronization */
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(64*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
+ MDRV_GFXDECODE(aerfboo2)
+ MDRV_PALETTE_LENGTH(1024)
+
+ MDRV_VIDEO_START(turbofrc)
+ MDRV_VIDEO_UPDATE(aerfboot)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+
+ MDRV_SOUND_ADD(OKIM6295, 1056000)
+ MDRV_SOUND_CONFIG(okim6295_interface_region_1_pin7high) // clock frequency & pin 7 not verified
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+MACHINE_DRIVER_END
+
static MACHINE_DRIVER_START( wbbc97 )
/* basic machine hardware */
@@ -2299,6 +2388,40 @@ ROM_START( aerfboot )
ROM_CONTINUE( 0x100000, 0x20000 )
ROM_END
+ROM_START( aerfboo2 )
+ ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
+// ROM_LOAD16_BYTE( "afb_ep2.u3", 0x00000, 0x40000, CRC(2bb9edf7) SHA1(cf0a62070fc0803dd8c473c375f6a2d1884ba2bf) )
+// ROM_LOAD16_BYTE( "afb_ep3.u2", 0x00001, 0x40000, CRC(475d3df3) SHA1(58bde24e9dea2fb0d7ae4f2a574b06bc1a33a13d) )
+ ROM_LOAD16_BYTE( "p2", 0x00000, 0x40000, CRC(6c4ec09b) SHA1(cdfb8c59ddd6360487fee017d5093636aa52c5c2) )
+ ROM_LOAD16_BYTE( "p1", 0x00001, 0x40000, CRC(841c513a) SHA1(819e634f0aec29b1863c9cf0118cc33154d10037) )
+
+// ROM_REGION( 0x10000, REGION_CPU2, 0 )
+// ROM_LOAD( "afb_ep1.u17", 0x0000, 0x8000, CRC(d41b5ab2) SHA1(17d9b999c9af1f332d67e7ce1a2f71fd08178303) )
+
+ ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
+ ROM_LOAD( "g5" , 0x000000, 0x80000, CRC(1c2bd86c) SHA1(f16d7eba967d76faaaeae5101db43141ef9e2eed) )
+
+ ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
+ ROM_LOAD( "g6" , 0x000000, 0x80000, CRC(b9b1b9b0) SHA1(c25e1ef8b5ecb4b630fb850fe483d7efb0544a6c) )
+
+ ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
+ ROM_LOAD32_BYTE( "g2" , 0x000000, 0x80000, CRC(84774dbd) SHA1(731b08a62446ff9cf36a43d42d217f73b4e2437c) )
+ ROM_LOAD32_BYTE( "g1" , 0x000001, 0x80000, CRC(4ab31e69) SHA1(1c6bf5bf4a887cf21da76c6a874f8ff5d3540e3a) )
+ ROM_LOAD32_BYTE( "g4" , 0x000002, 0x80000, CRC(97725694) SHA1(59316e4be043e0b7111c6777b36bcfd39c899e72) )
+ ROM_LOAD32_BYTE( "g3" , 0x000003, 0x80000, CRC(7be8cef0) SHA1(b227252fd288e8eb06507397f3ad625465dc1b0a) )
+
+// ROM_REGION( 0x140000, REGION_SOUND1, ROMREGION_ERASEFF ) /* sound samples */
+// ROM_LOAD( "afb_ep5.u29", 0x000000, 0x20000, CRC(3559609a) SHA1(6f0b633bf74f41487fc98dcdc43a83eb67f3d14c) )
+// ROM_LOAD( "afb_ep4.u30", 0x040000, 0x20000, CRC(f9652163) SHA1(d8c1fcf44b350cc65378869e4eb188ea232b4948) )
+// ROM_CONTINUE( 0x080000, 0x20000 )
+// ROM_CONTINUE( 0x0c0000, 0x20000 )
+// ROM_CONTINUE( 0x100000, 0x20000 )
+ ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* sound samples */
+ ROM_LOAD( "s1" , 0x00000, 0x80000, CRC(9e09813d) SHA1(582a36b5a46f4d8eaedca22e583b6949535d24a5) )
+ ROM_LOAD( "s2" , 0x80000, 0x80000, CRC(2e316ee8) SHA1(a163dddee6d8cfd1286059ee561e3a01df49381b) )
+
+ROM_END
+
ROM_START( wbbc97 )
ROM_REGION( 0x400000, REGION_CPU1, 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "03.27c040.ur4.rom", 0x000001, 0x80000, CRC(fb4e48fc) SHA1(cffc75766a9b867ab73597156142aa7c70bf6f20) )
@@ -2347,5 +2470,6 @@ GAME( 1992, aerofgt, 0, aerofgt, aerofgt, 0, ROT270, "Video System Co.
GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_NO_COCKTAIL )
GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_NO_COCKTAIL )
GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_NO_COCKTAIL )
-GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, 0, ROT270, "bootleg", "Aero Fighters (bootleg)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
+GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
+GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_NOT_WORKING)
GAME( 1997, wbbc97, 0, wbbc97, wbbc97, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_NO_COCKTAIL )
diff --git a/src/mame/machine/irem_cpu.c b/src/mame/machine/irem_cpu.c
index 9357fde9f4c..5fc07162572 100644
--- a/src/mame/machine/irem_cpu.c
+++ b/src/mame/machine/irem_cpu.c
@@ -117,7 +117,7 @@ const UINT8 lethalth_decryption_table[256] = {
0x3d,xxxx,xxxx,0x38,0x78,0x89,0xd1,0x80, 0x3b,0x72,0x07,xxxx,0x42,0x37,0x0a,0x18, /* 30 */
// gggg !!!! ???? !!!! !!!! !!!! !!!! !!!! !!!! !!!!
0x88,0xb4,0x98,0x8b,0xb9,0x9c,0xad,0x0e, 0x2b,xxxx,0xbf,xxxx,0x55,xxxx,0x56,0xb0, /* 40 */
-// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
+// !!!! !!!! !!!! !!!! !!!! gggg !!!! !!!! !!!! !!!!
0x93,0x91,xxxx,0xeb,xxxx,0x50,0x41,0x29, 0x47,xxxx,xxxx,0x60,xxxx,0xab,xxxx,xxxx, /* 50 */
// !!!! !!!! !!!! !!!! !!!! !!!! !!!!
0xc3,0xe2,0xd0,0xb2,0x11,0x79,xxxx,0x08, xxxx,0xfb,xxxx,0x2c,0x23,xxxx,0x28,0x0d, /* 60 */
@@ -152,18 +152,19 @@ missing opcode:
00 -> (79,7d,"7f") ->
1a -> (78,7c,7e) ->
34 -> (78,7c,7e) -> 78
+
65 -> (79,
-7f -> (
af -> (79,7d,7f) (strange 71) ->
d9 -> (11e07 from 11de6) (70,78 -> to handle a01ce=000-7d0 -> 0x78
ed -> (p76,78,7c,7e) ->
fb ->
probably:
+7f -> 30 (little machine in the game)
c5 -> (18d56 - from 1844f) (71,73,76,79,7a,7d,7e) -> to handle level number (a008d=00-0f) -> 0x76
-
-guess:
+very probably:
+48 -> 0x2b
e5 -> 0x73
*/
// 0x2c (0xd4) complete guess
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index 9b8f43c992d..0d0939c6d75 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -6449,6 +6449,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
DRIVER( aerofgtc ) /* (c) 1992 Video System Co. */
DRIVER( sonicwi ) /* (c) 1992 Video System Co. (Japan) */
DRIVER( aerfboot ) /* bootleg */
+ DRIVER( aerfboo2 ) /* bootleg */
DRIVER( wbbc97 ) /* (c) 1997 Comad */
DRIVER( welltris ) /* (c) 1991 Video System Co. (Japan) */
DRIVER( welltrij ) /* (c) 1991 Video System Co. (Japan) */