mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
seta2.cpp: correct CPU type for ablastb, preliminary sound (nw)
This commit is contained in:
parent
5a8bdc6cd5
commit
a3bcad51b0
@ -375,35 +375,36 @@ ADDRESS_MAP_END
|
||||
***************************************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( penbros_base_map, AS_PROGRAM, 16, seta2_state )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
|
||||
AM_RANGE(0x210000, 0x23ffff) AM_RAM // RAM
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") // P1
|
||||
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2") // P2
|
||||
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") // Coins
|
||||
AM_RANGE(0x600004, 0x600005) AM_WRITE(pzlbowl_coin_counter_w) // Coins Counter
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM
|
||||
AM_RANGE(0x210000, 0x21ffff) AM_RAM // zeroed at startup, then never written again on originals, used on the bootleg
|
||||
AM_RANGE(0x220000, 0x22ffff) AM_RAM // zeroed at startup, then never written again
|
||||
AM_RANGE(0x230000, 0x23ffff) AM_RAM // zeroed at startup, then never written again on originals, used on the bootleg
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x600004, 0x600005) AM_WRITE(pzlbowl_coin_counter_w)
|
||||
AM_RANGE(0x600006, 0x600007) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
|
||||
//AM_RANGE(0x700000, 0x700001) AM_READ(pzlbowl_protection_r) // Protection
|
||||
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
|
||||
AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
|
||||
AM_RANGE(0xb60000, 0xb6003f) AM_WRITE(vregs_w) AM_SHARE("vregs")
|
||||
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
|
||||
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
|
||||
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w)
|
||||
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
|
||||
AM_IMPORT_FROM(penbros_base_map)
|
||||
AM_RANGE(0x500300, 0x500301) AM_READ_PORT("DSW1") // DSW 1
|
||||
AM_RANGE(0x500302, 0x500303) AM_READ_PORT("DSW2") // DSW 2
|
||||
AM_RANGE(0x500300, 0x50030f) AM_WRITE(sound_bank_w) // Samples Banks
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_RAM
|
||||
AM_RANGE(0x500300, 0x500301) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x500302, 0x500303) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x500300, 0x50030f) AM_WRITE(sound_bank_w)
|
||||
AM_RANGE(0xb60000, 0xb6003f) AM_WRITE(vregs_w) AM_SHARE("vregs")
|
||||
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( penbrosk_map, AS_PROGRAM, 16, seta2_state )
|
||||
static ADDRESS_MAP_START( ablastb_map, AS_PROGRAM, 16, seta2_state )
|
||||
AM_IMPORT_FROM(penbros_base_map)
|
||||
AM_RANGE(0x508300, 0x508301) AM_READ_PORT("DSW1") // DSW 1
|
||||
AM_RANGE(0x508302, 0x508303) AM_READ_PORT("DSW2") // DSW 2
|
||||
// TODO: Where are the samples banks?
|
||||
AM_RANGE(0x508300, 0x508301) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x508302, 0x508303) AM_READ_PORT("DSW2")
|
||||
// TODO: Is there samples banking like in the original?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -2609,12 +2610,12 @@ static MACHINE_CONFIG_DERIVED( penbros, seta2 )
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0x80, 0x160-1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( penbrosk, penbros )
|
||||
MCFG_CPU_MODIFY("maincpu") // actually TMP68HC000P-16
|
||||
MCFG_CPU_PROGRAM_MAP(penbrosk_map)
|
||||
static MACHINE_CONFIG_DERIVED( ablastb, penbros )
|
||||
MCFG_CPU_REPLACE("maincpu", M68000, XTAL_16MHz) // TMP68HC000P-16
|
||||
MCFG_CPU_PROGRAM_MAP(ablastb_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, irq2_line_hold)
|
||||
|
||||
//TODO:
|
||||
//MCFG_DEVICE_REMOVE("tmp68301")
|
||||
MCFG_DEVICE_REMOVE("tmp68301")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( reelquak, seta2 )
|
||||
@ -3522,9 +3523,8 @@ ROM_START( ablastb ) // bootleg PCB with standard 68000 instead of TMP68301 and
|
||||
ROM_LOAD( "4.bin", 0x800000, 0x400000, CRC(db94847d) SHA1(fd2e29a45bb0acbd9e709256c7fc27bdd64a6634) )
|
||||
ROM_FILL( 0xc00000, 0x400000, 0x00 ) // 6bpp instead of 8bpp
|
||||
|
||||
ROM_REGION( 0x300000, "x1snd", 0 ) // Samples
|
||||
// Leave 1MB empty (addressable by the chip)
|
||||
ROM_LOAD( "29F1610.bin", 0x100000, 0x200000, CRC(de4e65e2) SHA1(82d4e590c714b3e9bf0ffaf1500deb24fd315595) )
|
||||
ROM_REGION( 0x200000, "x1snd", 0 ) // Samples. ROM content matches the penbros' one, but there's no proper X1-010 on the PCB. Possibly one of the FPGAs acts as a substitute?
|
||||
ROM_LOAD( "29F1610.bin", 0x000000, 0x200000, CRC(de4e65e2) SHA1(82d4e590c714b3e9bf0ffaf1500deb24fd315595) )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
@ -4108,7 +4108,7 @@ ROM_END
|
||||
|
||||
CPU: Toshiba TMP68301AF-16 (100 Pin PQFP @ U1)
|
||||
Video: Allumer X1-020 9426HK003 (@ U9 - Same as DX-101?)
|
||||
NEC DX-102 (52 Pin PQFP @ U8)
|
||||
NEC DX-102 (52 Pin PQFP @ U8)
|
||||
Allumer X1-007 505100 (SDIP42 @ U110 - Feeds RGB DACs)
|
||||
Sound: X1-010 (Mitsubishi M60016 Gate Array, 80 Pin PQFP @ U26)
|
||||
Inputs: Allumer X1-004 546100 (SDIP52)
|
||||
@ -4157,7 +4157,7 @@ GAME( 1997, staraudi, 0, staraudi, staraudi, staraudi_state, 0, ROT0
|
||||
GAME( 1999, pzlbowl, 0, pzlbowl, pzlbowl, seta2_state, 0, ROT0, "MOSS / Nihon System", "Puzzle De Bowling (Japan)", MACHINE_NO_COCKTAIL )
|
||||
GAME( 2000, penbros, 0, penbros, penbros, seta2_state, 0, ROT0, "Subsino", "Penguin Brothers (Japan)", MACHINE_NO_COCKTAIL )
|
||||
GAME( 2000, ablast, penbros, penbros, penbros, seta2_state, 0, ROT0, "Subsino", "A-Blast (Japan)", MACHINE_NO_COCKTAIL )
|
||||
GAME( 2000, ablastb, penbros, penbrosk, penbros, seta2_state, 0, ROT0, "bootleg", "A-Blast (bootleg)", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING )
|
||||
GAME( 2000, ablastb, penbros, ablastb, penbros, seta2_state, 0, ROT0, "bootleg", "A-Blast (bootleg)", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // at least "tilemap sprite" scrolly flag differs, FPGA instead of x1-010
|
||||
GAME( 2000, namcostr, 0, namcostr, funcube, seta2_state, 0, ROT0, "Namco", "Namco Stars", MACHINE_NO_COCKTAIL | MACHINE_NOT_WORKING )
|
||||
GAME( 2000, deerhunt, 0, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.3", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 2000, deerhunta, deerhunt, samshoot, deerhunt, seta2_state, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.2", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -70,7 +70,7 @@
|
||||
---- ---8 7654 3210 "Tilemap" scroll Y
|
||||
|
||||
|
||||
Shadows (same principle as ssv.c):
|
||||
Shadows (same principle as ssv.cpp):
|
||||
|
||||
The low bits of the pens from a "shadowing" tile (regardless of color code)
|
||||
substitute the top bits of the color index (0-7fff) in the frame buffer.
|
||||
@ -483,8 +483,15 @@ uint32_t seta2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
// Black or pen 0?
|
||||
bitmap.fill(m_palette->pen(0), cliprect);
|
||||
|
||||
if ( (m_vregs[0x30/2] & 1) == 0 ) // 1 = BLANK SCREEN
|
||||
if (m_vregs.found())
|
||||
{
|
||||
if ( (m_vregs[0x30/2] & 1) == 0 ) // 1 = BLANK SCREEN
|
||||
draw_sprites(bitmap, cliprect);
|
||||
}
|
||||
else // ablastb doesn't seem to have the same vregs
|
||||
{
|
||||
draw_sprites(bitmap, cliprect);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user