diff options
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 |
commit | 2e108042754a9bf8fa52e773c1d55bae04c3f22f (patch) | |
tree | 16876d161c3eb6a03d3d872dfa312f0c49e589fa | |
parent | 12836eea2c0ed7f81fdebf989645e0a1d23fa0f4 (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.c | 126 | ||||
-rw-r--r-- | src/mame/machine/irem_cpu.c | 9 | ||||
-rw-r--r-- | src/mame/mamedriv.c | 1 |
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) */ |