mirror of
https://github.com/mamedev/mame.git
synced 2024-11-18 10:06:19 +01:00
New games added or promoted from NOT_WORKING status
--------------------------------------------------- Doraemon no Eawase Montage (prototype) [dopefishjustin, Smitdogg, Luca Elia, The Dumping Union]
This commit is contained in:
parent
749008af45
commit
9a4a69c85c
3 changed files with 267 additions and 15 deletions
|
@ -154,6 +154,7 @@ Notes:
|
|||
#include "cpu/z80/z80.h"
|
||||
#include "sound/x1_010.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/ticket.h"
|
||||
#include "includes/tnzs.h"
|
||||
#include "video/seta001.h"
|
||||
|
||||
|
@ -164,7 +165,6 @@ public:
|
|||
: tnzs_state(mconfig, type, tag) { }
|
||||
|
||||
UINT8 m_last_trackball_val[2];
|
||||
// UINT8 * m_nvram; // currently this uses generic_nvram
|
||||
};
|
||||
|
||||
|
||||
|
@ -219,6 +219,40 @@ static ADDRESS_MAP_START( champbwl_map, AS_PROGRAM, 8 )
|
|||
AM_RANGE(0xf800, 0xf800) AM_WRITENOP
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static WRITE8_HANDLER( doraemon_outputs_w )
|
||||
{
|
||||
coin_counter_w(space->machine(), 0, data & 1); // coin in counter
|
||||
coin_counter_w(space->machine(), 1, data & 2); // gift out counter
|
||||
|
||||
coin_lockout_w(space->machine(), 0, ~data & 8); // coin lockout
|
||||
ticket_dispenser_w(space->machine().device("hopper"), 0, (data & 0x04) ? 0x00 : 0x80); // gift out motor
|
||||
|
||||
memory_set_bank(space->machine(), "bank1", (data & 0x30) >> 4);
|
||||
|
||||
// popmessage("%02x", data);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( doraemon, AS_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xa000, 0xafff) AM_RAM AM_DEVREADWRITE("spritegen", spritecodelow_r8, spritecodelow_w8)
|
||||
AM_RANGE(0xb000, 0xbfff) AM_RAM AM_DEVREADWRITE("spritegen", spritecodehigh_r8, spritecodehigh_w8)
|
||||
AM_RANGE(0xc000, 0xc07f) AM_DEVREADWRITE("x1snd", seta_sound_r,seta_sound_w) // Sound
|
||||
AM_RANGE(0xe000, 0xe2ff) AM_RAM AM_DEVREADWRITE("spritegen", spriteylow_r8, spriteylow_w8)
|
||||
AM_RANGE(0xe300, 0xe303) AM_DEVWRITE("spritegen", spritectrl_w8)
|
||||
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("spritegen", spritebgflag_w8) /* enable / disable background transparency */
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("IN0") AM_WRITE(doraemon_outputs_w)
|
||||
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("IN1") AM_WRITENOP // Ack?
|
||||
AM_RANGE(0xf004, 0xf004) AM_WRITENOP // Ack?
|
||||
AM_RANGE(0xf006, 0xf006) AM_READ_PORT("DSW") AM_WRITENOP // Ack?
|
||||
AM_RANGE(0xf800, 0xf800) AM_WRITENOP // 0
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( champbwl )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
|
@ -312,6 +346,63 @@ static INPUT_PORTS_START( champbwl )
|
|||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(45) PORT_CENTERDELTA(0) PORT_REVERSE
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( doraemon )
|
||||
PORT_START("DSW") // f006
|
||||
PORT_DIPNAME( 0x0f, 0x09, "Gift Out" )
|
||||
PORT_DIPSETTING( 0x0f, "2 %" )
|
||||
PORT_DIPSETTING( 0x0e, "5 %" )
|
||||
PORT_DIPSETTING( 0x0d, "7 %" )
|
||||
PORT_DIPSETTING( 0x0c, "10 %" )
|
||||
PORT_DIPSETTING( 0x0b, "12 %" )
|
||||
PORT_DIPSETTING( 0x0a, "15 %" )
|
||||
PORT_DIPSETTING( 0x09, "20 %" )
|
||||
PORT_DIPSETTING( 0x08, "25 %" )
|
||||
PORT_DIPSETTING( 0x07, "30 %" )
|
||||
PORT_DIPSETTING( 0x06, "40 %" )
|
||||
PORT_DIPSETTING( 0x05, "60 %" )
|
||||
PORT_DIPSETTING( 0x04, "80 %" )
|
||||
// PORT_DIPSETTING( 0x03, "100 %" )
|
||||
// PORT_DIPSETTING( 0x02, "100 %" )
|
||||
// PORT_DIPSETTING( 0x01, "100 %" )
|
||||
PORT_DIPSETTING( 0x00, "100 %" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Games For 100 Yen" )
|
||||
PORT_DIPSETTING( 0x10, "1" )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN0") // f000
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME( "Data Clear" )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE3 ) PORT_NAME( "Freeze" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1") // f002
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("hopper", ticket_dispenser_line_r) // sensor
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
16,16,
|
||||
|
@ -413,6 +504,68 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
|
|||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
static SCREEN_UPDATE( doraemon )
|
||||
{
|
||||
bitmap_fill(bitmap, cliprect, 0x1f0);
|
||||
|
||||
screen->machine().device<seta001_device>("spritegen")->set_bg_yoffsets( 0x00, 0x01 );
|
||||
screen->machine().device<seta001_device>("spritegen")->set_fg_yoffsets( 0x00, 0x10 );
|
||||
|
||||
screen->machine().device<seta001_device>("spritegen")->seta001_draw_sprites(screen->machine(), bitmap, cliprect, 0x800, 1 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
static SCREEN_EOF( doraemon )
|
||||
{
|
||||
machine.device<seta001_device>("spritegen")->setac_eof();
|
||||
}
|
||||
|
||||
static MACHINE_START( doraemon )
|
||||
{
|
||||
UINT8 *ROM = machine.region("maincpu")->base();
|
||||
memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x10000], 0x4000);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( doraemon, tnzs_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL_14_31818MHz/4)
|
||||
MCFG_CPU_PROGRAM_MAP(doraemon)
|
||||
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
|
||||
MCFG_TICKET_DISPENSER_ADD("hopper", 2000, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
|
||||
|
||||
MCFG_MACHINE_START(doraemon)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_SIZE(320, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-16-1)
|
||||
MCFG_SCREEN_UPDATE(doraemon)
|
||||
MCFG_SCREEN_EOF(doraemon)
|
||||
|
||||
MCFG_GFXDECODE(champbwl)
|
||||
MCFG_PALETTE_LENGTH(512)
|
||||
|
||||
MCFG_PALETTE_INIT(arknoid2)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("x1snd", X1_010, XTAL_14_31818MHz)
|
||||
MCFG_SOUND_CONFIG(champbwl_sound_intf)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
ROM_START( champbwl )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* Z80 Code */
|
||||
ROM_LOAD( "ab001001.u1", 0x10000, 0x10000, CRC(6c6f7675) SHA1(19834f25f2644ae5d156c1e1bbb3fc50cae10fd2) )
|
||||
|
@ -437,4 +590,101 @@ ROM_START( champbwl )
|
|||
ROM_LOAD( "champbwl.nv", 0x000, 0x800, CRC(1d46aa8e) SHA1(a733cf86cfb26d98fb4c491d7f779a7a1c8ff228) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1989, champbwl, 0, champbwl, champbwl, 0, ROT270, "Seta / Romstar Inc.", "Championship Bowling", GAME_SUPPORTS_SAVE )
|
||||
/*
|
||||
|
||||
Doraemon no Eawase Montage (prototype)
|
||||
Sunsoft / Epoch / Fujiko - Shogakukan - TV Asahi
|
||||
|
||||
This PCB was obtained from a collector who was invited to purchase some inventory when Sunsoft closed its U.S. offices in 2001.
|
||||
Among the items he acquired was a small JAMMA cabinet with no keys to open its locked door.
|
||||
When the lock was drilled out, this game was discovered inside the cabinet.
|
||||
|
||||
PCB Layout
|
||||
----------
|
||||
|
||||
P0-094A Sun Electronics Corporation
|
||||
|---------------------------------------------------------|
|
||||
| MB3712 SW2 U27-01 U22 U15 U9 U7 |
|
||||
| X1-007 U26-01 |
|
||||
| VOL |
|
||||
| |
|
||||
| DSW2(8) DSW1(8) |
|
||||
| |
|
||||
| 4050 |
|
||||
| |
|
||||
| X1-002A |
|
||||
| CN1 X1-004 |
|
||||
|J 3V_BATT |
|
||||
|A 2063 X1-001A |
|
||||
|M |
|
||||
|M SW3 |
|
||||
|A 14.31818MHz |
|
||||
| 4520 |
|
||||
| |
|
||||
| 2128 |
|
||||
| X1-010 |
|
||||
| |
|
||||
| |
|
||||
| 3404 U51 U43 |
|
||||
| |
|
||||
| Z8400AB1 U1 |
|
||||
|---------------------------------------------------------|
|
||||
|
||||
Notes:
|
||||
2063 - Toshiba TMM2063AP-10 8K x8 SRAM (DIP28)
|
||||
2128 - MSM2128-15RS 2K x8 SRAM (DIP24)
|
||||
MB3712 - Fujitsu MB3712 5.7 Watt Power AMP (SIP8)
|
||||
4050 - Toshiba TC4050BCP Non-Inverting Hex Buffer / Converter (DIP16)
|
||||
4520 - Hitachi HD14520 Dual Up Counter (DIP16)
|
||||
3404 - Japan Radio Co. JRC3404 Low Power Quad Op AMP (DIP8)
|
||||
SW2 - Reset Switch
|
||||
SW3 - 2-Position Switch (when ON, powers 6116 RAM near it)
|
||||
3V_BATT - 3V Lithium Coin Battery
|
||||
CN1 - 10-pin Connector
|
||||
|
||||
Custom IC's -
|
||||
X1-001A (SDIP64) \ Sprite Generators
|
||||
X1-002A (SDIP64) /
|
||||
X1-004 (SDIP52) Inputs [4 wires going to small board with DSWA(10) & DSWB(10)]
|
||||
X1-007 (SDIP42) Video DAC
|
||||
X1-010 (QFP80) Sound Chip, 16Bit PCM
|
||||
|
||||
ROMs -
|
||||
Filename Type Use
|
||||
-----------------------------------------------
|
||||
U1 27C1001 UV EEPROM (FDIP32W) Z80 Program
|
||||
|
||||
U7 27C1001 UV EEPROM (FDIP32W) \
|
||||
U9 27C1001 UV EEPROM (FDIP32W) | GFX
|
||||
U15 27C1001 UV EEPROM (FDIP32W) |
|
||||
U22 27C1001 UV EEPROM (FDIP32W) /
|
||||
|
||||
U26-01 82S147 PROM (DIP20)
|
||||
U27-01 82S147 PROM (DIP20)
|
||||
|
||||
U43 27C4001 UV EEPROM (DIP32) \
|
||||
U51 27C4001 UV EEPROM (DIP32) / PCM Samples
|
||||
*/
|
||||
|
||||
ROM_START( doraemon )
|
||||
ROM_REGION( 0x30000, "maincpu", 0 )
|
||||
ROM_LOAD( "u1.bin", 0x00000, 0x20000, CRC(d338b9ca) SHA1(5f59c994db81577dc6074362c8b6b93f8fe592f6) )
|
||||
ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 4000-7fff */
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 )
|
||||
ROM_LOAD( "u22.bin", 0x00000, 0x20000, CRC(b264ac2d) SHA1(0529fd1b88ba61dcf72019c7b01e9b939b6e3f2e) )
|
||||
ROM_LOAD( "u15.bin", 0x20000, 0x20000, CRC(2985df6f) SHA1(fd2dae7169c14d07beaf870b0b8c248deb6b6c03) )
|
||||
ROM_LOAD( "u9.bin", 0x40000, 0x20000, CRC(8b774b0e) SHA1(bfcf63b955f74b226a325b0409167e95c2489134) )
|
||||
ROM_LOAD( "u7.bin", 0x60000, 0x20000, CRC(2f850973) SHA1(7dbad160aefaf8b0a85e64f58b9fa0fb4049e65d) )
|
||||
|
||||
ROM_REGION( 0x100000, "x1snd", 0 )
|
||||
ROM_LOAD( "u43.bin", 0x00000, 0x80000, CRC(d684d92a) SHA1(935f39e5efb923a8c7cd0caa6fa6b78a5d78ef30) )
|
||||
ROM_LOAD( "u51.bin", 0x80000, 0x80000, CRC(35cbcb31) SHA1(4ab59e5d5ba917fa2d809e2dc6216c801d3927e7) )
|
||||
|
||||
ROM_REGION( 0x0400, "proms", 0 )
|
||||
ROM_LOAD( "u26-01.bin", 0x00000, 0x200, CRC(9d431542) SHA1(d8895052c5016574f13bf4c096d191534062b9a1) )
|
||||
ROM_LOAD( "u27-01.bin", 0x00200, 0x200, CRC(66245fc7) SHA1(c94d9dce7b557c21a3dc1f3f8a1b29594715c994) )
|
||||
ROM_END
|
||||
|
||||
GAME( ????, doraemon, 0, doraemon, doraemon, 0, ROT0, "Sunsoft / Epoch / Fujiko - Shogakukan - TV Asahi", "Doraemon no Eawase Montage (prototype)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1989, champbwl, 0, champbwl, champbwl, 0, ROT270, "Seta / Romstar Inc.", "Championship Bowling", GAME_SUPPORTS_SAVE )
|
||||
|
|
|
@ -2019,6 +2019,7 @@ insectx // B97 (c) 1989 Taito Corporation Japan (World)
|
|||
insectxj // B97 (c) 1989 Taito Corporation (Japan)
|
||||
cchance // (c)1987 Taito?
|
||||
champbwl // (c)1989 Romstar. not Taito, but the same Seta video chips
|
||||
doraemon // Sunsoft / Epoch / Fujiko - Shogakukan - TV Asahi (prototype)
|
||||
|
||||
// Taito L-System games
|
||||
raimais // B36 (c) 1988 Taito Corporation (Japan)
|
||||
|
|
|
@ -180,19 +180,19 @@ WRITE8_DEVICE_HANDLER( spritebgflag_w8 )
|
|||
***************************************************************************/
|
||||
|
||||
/*
|
||||
twineagl: 010 02d 0f 10 (ship)
|
||||
tndrcade: 058 02d 07 18 (start of game - yes, flip on!)
|
||||
arbalest: 018 02d 0f 10 (logo)
|
||||
metafox : 018 021 0f f0 (bomb)
|
||||
zingzip : 010 02c 00 0f (bomb)
|
||||
wrofaero: 010 021 00 ff (test mode)
|
||||
thunderl: 010 06c 00 ff (always?)
|
||||
krzybowl: 011 028 c0 ff (game)
|
||||
kiwame : 016 021 7f 00 (logo)
|
||||
oisipuzl: 059 020 00 00 (game - yes, flip on!)
|
||||
|
||||
superman: 010 021 07 38 (game)
|
||||
twineagl: 000 027 00 0f (test mode)
|
||||
twineagl: 10 2d 0f 10 (ship)
|
||||
tndrcade: 58 2d 07 18 (start of game - yes, flip on!)
|
||||
arbalest: 18 2d 0f 10 (logo)
|
||||
metafox : 18 21 0f f0 (bomb)
|
||||
zingzip : 10 2c 00 0f (bomb)
|
||||
wrofaero: 10 21 00 ff (test mode)
|
||||
thunderl: 10 6c 00 ff (always?)
|
||||
krzybowl: 11 28 c0 ff (game)
|
||||
kiwame : 16 21 7f 00 (logo)
|
||||
oisipuzl: 59 20 00 00 (game - yes, flip on!)
|
||||
superman: 10 21 07 38 (game)
|
||||
twineagl: 00 27 00 0f (test mode)
|
||||
doraemon: 19 2a 00 03 (always)
|
||||
*/
|
||||
|
||||
|
||||
|
@ -230,6 +230,7 @@ void seta001_device::seta001_draw_background( running_machine &machine, bitmap_t
|
|||
switch (ctrl & 0x0f)
|
||||
{
|
||||
case 0x01: col0 = 0x4; break; // krzybowl
|
||||
case 0x09: col0 = 0x4; break; // doraemon
|
||||
case 0x06: col0 = 0x8; break; // kiwame
|
||||
|
||||
default: col0 = 0x0;
|
||||
|
|
Loading…
Reference in a new issue