New game (NOT_WORKING):

- International Toote

roms in current/i/inttoote.zip (contains manual and PCB pictures)
This commit is contained in:
Luca Elia 2008-01-13 14:32:27 +00:00
parent 31b8c14a71
commit 7686ec1344
4 changed files with 488 additions and 11 deletions

View File

@ -6,16 +6,16 @@
CPU : 68000 + [65C02] (only in the earlier games)
Custom : X1-001A X1-002A Sprites
Custom : X1-001A X1-002A (SDIP64) Sprites
X1-001
X1-002
X1-003
X1-004
X1-004 (SDIP52) Inputs
X1-005 X0-005
X1-006 X0-006
X1-007
X1-010 Sound: 16 Bit PCM
X1-011 [x2] X1-012 [x2] Tilemaps
X1-007 (SDIP42) Vide DAC
X1-010 (QFP80) Sound: 16 Bit PCM
X1-011 X1-012 (QFP100) Tilemaps
X1-014 Sprites?
-------------------------------------------------------------------------------
@ -35,6 +35,7 @@ P0-053-A 92 Quiz Kokology Tecmo
P0-055-B 89 Wit's Athena
P0-055-D 90 Thunder & Lightning Romstar / Visco
Promat PCB 94 Wiggie Waggie(5) --
P0-058-C 98 Internation Toote (6) Coinmaster
P0-063-A 91 Rezon Allumer
P0-068-B (M6100723A) 92 Block Carnival Visco
P0-072-2 (prototype) 92 Blandia (prototype) Allumer
@ -62,7 +63,6 @@ P0-117-A? 95 Sokonuke Taisen Game Sammy Industries
P0-120-A (BP954KA) 95 Gundhara Banpresto
PO-122-A (SZR-001) 95 Zombie Raid American Sammy
? 96 Crazy Fight Subsino
-------------------------------------------------------------------------------
(1) YM2203 + YM3812 instead of X1-010
(2) wrong colors
@ -75,6 +75,7 @@ PO-122-A (SZR-001) 95 Zombie Raid American Sammy
there are a few gfx emulation bugs (flipping of some border tiles and
sprites not leaving the screen correctly) its possible the custom hw
doesn't behave *exactly* the same as the original seta hw
(6) To enter test mode press 9 (open door), then F2 (turn function key), then E (bet 3-4).
Notes:
- The NEC D4701 used by Caliber 50 is a mouse interface IC (uPD4701c).
@ -1256,9 +1257,36 @@ ym3812
***************************************************************************/
/***************************************************************************
Internation Toote
Main PCB (P0-058C):
TOSHIBA TMP68HC000N-16
X1-010
X1-001A
X1-002A
X1-004 (x2)
X1-007
X1-011
X1-012
HD63B50P
Horse Race I/O Expansion (PCB-HRE-000):
MC68B50CP (x2)
EF68B21P (x2)
Note: on screen copyright is (c)1998 Coinmaster.
The I/O board has (c)1993 Coinmaster.
***************************************************************************/
#include "driver.h"
#include "seta.h"
#include "machine/6821pia.h"
#include "machine/6850acia.h"
#include "machine/msm6242.h"
#include "sound/2203intf.h"
#include "sound/2612intf.h"
#include "sound/3812intf.h"
@ -3071,6 +3099,72 @@ static ADDRESS_MAP_START( crazyfgt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE(&spriteram16_2) // Sprites Code + X + Attr
ADDRESS_MAP_END
/***************************************************************************
International Toote
***************************************************************************/
static READ16_HANDLER( inttoote_dsw_r )
{
int shift = offset * 4;
return ((((readinputport(0) >> shift) & 0xf)) << 0) |
((((readinputport(1) >> shift) & 0xf)) << 4) |
((((readinputport(1) >> (shift+8)) & 0xf)) << 8) ;
}
static UINT16 *inttoote_key_select;
static READ16_HANDLER( inttoote_key_r )
{
switch( *inttoote_key_select )
{
case 0x08: return readinputport(4+0);
case 0x10: return readinputport(4+1);
case 0x20: return readinputport(4+2);
case 0x40: return readinputport(4+3);
case 0x80: return readinputport(4+4);
}
logerror("%06X: unknown read, select = %04x\n",activecpu_get_pc(),*inttoote_key_select);
return 0xffff;
}
static UINT16 *inttoote_700000;
static READ16_HANDLER( inttoote_700000_r )
{
return inttoote_700000[offset] & 0x3f;
}
static ADDRESS_MAP_START( inttoote_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM (up to 2MB)
AM_RANGE(0x200000, 0x200001) AM_READWRITE(inttoote_key_r, MWA16_RAM) AM_BASE(&inttoote_key_select)
AM_RANGE(0x200002, 0x200003) AM_READ(input_port_2_word_r)
AM_RANGE(0x200010, 0x200011) AM_READWRITE(input_port_3_word_r, MWA16_NOP)
AM_RANGE(0x300000, 0x300001) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x300010, 0x300011) AM_WRITE(MWA16_NOP) // lev1 ack
AM_RANGE(0x300020, 0x300021) AM_WRITE(MWA16_NOP) // lev2 ack
AM_RANGE(0x300040, 0x300041) AM_WRITE(MWA16_NOP) // lev4 ack
AM_RANGE(0x300060, 0x300061) AM_WRITE(MWA16_NOP) // lev6 ack
AM_RANGE(0x500000, 0x500003) AM_READ(inttoote_dsw_r) // DSW x 3
AM_RANGE(0x700000, 0x700101) AM_READWRITE(inttoote_700000_r,MWA16_RAM) AM_BASE(&inttoote_700000)
AM_RANGE(0x800000, 0x80001f) AM_READWRITE(msm6242_lsb_r,msm6242_lsb_w) // 6242RTC
AM_RANGE(0x900000, 0x903fff) AM_READWRITE( seta_sound_word_r, seta_sound_word_w ) // Sound
AM_RANGE(0xa00000, 0xa00005) AM_WRITE(MWA16_RAM) AM_BASE(&seta_vctrl_0 ) // VRAM 0&1 Ctrl
AM_RANGE(0xb00000, 0xb03fff) AM_READWRITE(MRA16_RAM,seta_vram_0_w) AM_BASE(&seta_vram_0 ) // VRAM 0&1
AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
AM_RANGE(0xd00000, 0xd00607) AM_RAM AM_BASE(&spriteram16 ) // Sprites Y
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE(&spriteram16_2 ) // Sprites Code + X + Attr
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
ADDRESS_MAP_END
/***************************************************************************
@ -6249,6 +6343,231 @@ static INPUT_PORTS_START( crazyfgt )
PORT_DIPSETTING( 0x0000, "3" )
INPUT_PORTS_END
/***************************************************************************
International Toote
***************************************************************************/
static INPUT_PORTS_START( inttoote )
PORT_START_TAG("IN0") // DSW 1
PORT_DIPNAME( 0x03, 0x03, "Max Bet" )
PORT_DIPSETTING( 0x03, "10" )
PORT_DIPSETTING( 0x02, "20" )
PORT_DIPSETTING( 0x01, "99" )
// PORT_DIPSETTING( 0x00, "99" )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x08, "1 Coin/10 Credits" )
PORT_DIPSETTING( 0x04, "1 Coin/20 Credits" )
PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" )
PORT_DIPNAME( 0x08, 0x08, "Unknown 1-3" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown 1-4" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Unknown 1-5" )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Unknown 1-6" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Unknown 1-7" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START_TAG("IN1") // DSW 2&3
PORT_DIPNAME( 0x0001, 0x0001, "Unknown 2-0" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, "Unknown 2-1" )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, "Unknown 2-2" )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0018, 0x0018, "Betting Clock Speed" )
PORT_DIPSETTING( 0x0018, "Slowest" )
PORT_DIPSETTING( 0x0010, "Slower" )
PORT_DIPSETTING( 0x0008, "Faster" )
PORT_DIPSETTING( 0x0000, "Fastest" )
PORT_DIPNAME( 0x01e0, 0x01e0, "Payout Rate" )
PORT_DIPSETTING( 0x01e0, "80%" )
PORT_DIPSETTING( 0x01c0, "81%" )
PORT_DIPSETTING( 0x01a0, "82%" )
PORT_DIPSETTING( 0x0180, "83%" )
PORT_DIPSETTING( 0x0160, "84%" )
PORT_DIPSETTING( 0x0140, "85%" )
PORT_DIPSETTING( 0x0120, "86%" )
PORT_DIPSETTING( 0x0100, "87%" )
PORT_DIPSETTING( 0x00e0, "88%" )
PORT_DIPSETTING( 0x00c0, "89%" )
PORT_DIPSETTING( 0x00a0, "90%" )
PORT_DIPSETTING( 0x0080, "91%" )
PORT_DIPSETTING( 0x0060, "92%" )
PORT_DIPSETTING( 0x0040, "93%" )
PORT_DIPSETTING( 0x0020, "94%" )
PORT_DIPSETTING( 0x0000, "95%" )
PORT_DIPNAME( 0x0200, 0x0200, "Unknown 3-1" )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, "Payout" )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, "Horses" )
PORT_DIPSETTING( 0x0800, "Random" )
PORT_DIPSETTING( 0x0000, "Cyclic" )
PORT_DIPNAME( 0x1000, 0x1000, "Higher Odds" )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, "Unknown 3-5" )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, "Unknown 3-6" )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, "Unknown 3-7" )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START_TAG("IN2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SPECIAL ) // P1 coin out
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SPECIAL ) // P2 coin out
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Door Open") PORT_TOGGLE
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Question Mark")
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE( 0x1000, IP_ACTIVE_LOW ) // Function menu (electronic key switch, fitted beneath the front panel)
PORT_BIT( 0x6000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) // Battery (0 = OK, 1 = NG)
/*
Betting Panel (keys)
1 1-2 2-3 3-4 4-5 5-6 (1QWERT)
2 1-3 2-4 3-5 4-6 (2ASDF)
3 1-4 2-5 3-6 (3ZXC)
4 1-5 2-6 (4YU)
5 1-6 (5H)
6 (6)
*/
PORT_START_TAG("IN4") // 200000.w (0x08)
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1") PORT_CODE(KEYCODE_1_PAD)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 2") PORT_CODE(KEYCODE_2_PAD)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 3") PORT_CODE(KEYCODE_3_PAD)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 4") PORT_CODE(KEYCODE_4_PAD)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 5") PORT_CODE(KEYCODE_5_PAD)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 2") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 3") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 4") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 5") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN5") // 200000.w (0x10)
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 6") PORT_CODE(KEYCODE_6_PAD)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Collect")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Cancel")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Collect") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Cancel") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN6") // 200000.w (0x20)
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1-2") PORT_CODE(KEYCODE_Q)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1-3") PORT_CODE(KEYCODE_A)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1-4") PORT_CODE(KEYCODE_Z)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1-5") PORT_CODE(KEYCODE_Y)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 1-6") PORT_CODE(KEYCODE_H)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1-2") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1-3") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1-4") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1-5") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 1-6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN7") // 200000.w (0x40)
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 2-3") PORT_CODE(KEYCODE_W)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 2-4") PORT_CODE(KEYCODE_S)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 2-5") PORT_CODE(KEYCODE_X)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 2-6") PORT_CODE(KEYCODE_U)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 3-4") PORT_CODE(KEYCODE_E)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 2-3") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 2-4") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 2-5") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 2-6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 3-4") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START_TAG("IN8") // 200000.w (0x80)
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 3-5") PORT_CODE(KEYCODE_D)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 3-6") PORT_CODE(KEYCODE_C)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 4-5") PORT_CODE(KEYCODE_R)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 4-6") PORT_CODE(KEYCODE_F)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Bet 5-6") PORT_CODE(KEYCODE_T)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 3-5") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 3-6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 4-5") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 4-6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Bet 5-6") //PORT_CODE(KEYCODE_)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
/***************************************************************************
@ -6482,7 +6801,14 @@ static GFXDECODE_START( crazyfgt )
GFXDECODE_ENTRY( REGION_GFX3, 0, layout_packed_6bits_3roms, 16*32, 32 ) // [2] Layer 2
GFXDECODE_END
/***************************************************************************
International Toote
***************************************************************************/
static GFXDECODE_START( inttoote )
GFXDECODE_ENTRY( REGION_GFX1, 0, layout_planes, 0, 32 ) // [0] Sprites
GFXDECODE_ENTRY( REGION_GFX2, 0, layout_planes_2roms_split, 16*32*0, 32 ) // [1] Layer 1
GFXDECODE_END
/***************************************************************************
@ -7954,6 +8280,62 @@ static MACHINE_DRIVER_START( crazyfgt )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_DRIVER_END
/***************************************************************************
International Toote
***************************************************************************/
// Test mode shows a 16ms and 2ms counters
static INTERRUPT_GEN( inttoote_interrupt )
{
switch (cpu_getiloops())
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7: cpunum_set_input_line(0, 6, HOLD_LINE); break;
case 8: cpunum_set_input_line(0, 2, HOLD_LINE); break;
case 9: cpunum_set_input_line(0, 1, HOLD_LINE); break;
case 10: cpunum_set_input_line(0, 4, HOLD_LINE); break;
}
}
static MACHINE_DRIVER_START( inttoote )
/* basic machine hardware */
MDRV_CPU_ADD(M68000, 16000000)
MDRV_CPU_PROGRAM_MAP(inttoote_map,0)
MDRV_CPU_VBLANK_INT(inttoote_interrupt,8+1+1+1)
MDRV_SCREEN_REFRESH_RATE(60)
MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(64*8, 32*8)
MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MDRV_GFXDECODE(inttoote)
MDRV_PALETTE_LENGTH(512 * 1) /* sprites, layer1, layer2 */
MDRV_PALETTE_INIT(inttoote)
MDRV_VIDEO_START(seta_1_layer)
MDRV_VIDEO_UPDATE(seta)
/* sound hardware */
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
MDRV_SOUND_ADD(X1_010, 16000000)
MDRV_SOUND_CONFIG(seta_sound_intf)
MDRV_SOUND_ROUTE(0, "left", 1.0)
MDRV_SOUND_ROUTE(1, "right", 1.0)
MACHINE_DRIVER_END
/***************************************************************************
@ -9003,6 +9385,43 @@ ROM_START( crazyfgt )
ROM_LOAD( "rom.u85", 0x00000, 0x40000, CRC(7b95d0bb) SHA1(f16dfd639eed6856e3ab93704caef592a07ba367) )
ROM_END
ROM_START( inttoote )
ROM_REGION( 0x200000, REGION_CPU1, 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "p523.v01_horse_prog_2.002", 0x000000, 0x10000, CRC(6ce6f1ad) SHA1(82e7100721ca5b1a736f6523610b1f1edf225c12) )
ROM_LOAD16_BYTE( "p523.v01_horse_prog_1.003", 0x000001, 0x10000, CRC(921fcff5) SHA1(cabc4e9936621132a6fbaa1a925d205c5f04a2ae) )
ROM_FILL( 0x020000, 0x60000, 0xff )
ROM_LOAD16_WORD_SWAP( "ya_002_001.u18", 0x100000, 0x80000, CRC(dd108016) SHA1(1554de4cc1a9436a1e62400cd96c9752a2098f99) )
ROM_FILL( 0x180000, 0x80000, 0xff )
ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
ROM_LOAD( "ya_011_004.u10", 0x000000, 0x80000, CRC(eb74d2e0) SHA1(221ff6cc03ce57a7fcbe418f1c12a293990f8a7d) )
ROM_LOAD( "p523.v01_horse_fore_1.u135", 0x070000, 0x10000, CRC(3a75df30) SHA1(f3b3a7428e3e125921686bc9aacde6b28b1947b5) )
ROM_LOAD( "ya_011_005.u17", 0x080000, 0x80000, CRC(4a6c804b) SHA1(b596b9b0b3b453c26f9c7f976ff4d56eac4fac04) )
ROM_LOAD( "p523.v01_horse_fore_2.u134", 0x0f0000, 0x10000, CRC(26fb0339) SHA1(a134ecef00f690c82c8bddf26498b357ccf8d5c3) )
ROM_LOAD( "ya_011_006.u22", 0x100000, 0x80000, CRC(bfae01a5) SHA1(3be83972c3987e9bf722cd6db7770f074587301c) )
ROM_LOAD( "p523.v01_horse_fore_3.u133", 0x170000, 0x10000, CRC(c38596af) SHA1(d27141e28d8f8352f065c55121412e604c199a9a) )
ROM_LOAD( "ya_011_007.u27", 0x180000, 0x80000, CRC(2dc7a294) SHA1(97f2aa9939a45aaa94d4aeb2fcd5b7f30204b942) )
ROM_LOAD( "p523.v01_horse_fore_4.u132", 0x1f0000, 0x10000, CRC(64ef345e) SHA1(ef5d9f293ded44a2be91278549f5db8673fc7571) )
ROM_REGION( 0xc0000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 1 */
ROM_LOAD( "ya_011_008.u35", 0x000000, 0x40000, CRC(4b890f83) SHA1(fde6544898a0691b550f3045803f2e81cfeb5fe9) )
ROM_LOAD( "p523.v01_horse_back_1.u137", 0x040000, 0x20000, CRC(39b221ea) SHA1(3b3367430733ed36d6a981cd2ec6df731d07c089) )
ROM_LOAD( "ya_011_009.u41", 0x060000, 0x40000, CRC(caa5e3c1) SHA1(63cccc5479040a02872febc8d7f2d46096e138d1) )
ROM_LOAD( "p523.v01_horse_back_2.u136", 0x0a0000, 0x20000, CRC(9c5e32a0) SHA1(964734a626b5c7b9d7130addc642895df520dcb7) )
ROM_REGION( 0x400, REGION_PROMS, 0 ) /* Colours */
ROM_LOAD16_BYTE( "ya-010.prom", 0x000, 0x200, CRC(778094b3) SHA1(270329a0d544dc7a8240d6dab08ccd54ea87ab70) )
ROM_LOAD16_BYTE( "ya-011.prom", 0x001, 0x200, CRC(bd4fe2f6) SHA1(83d9f9db3fbfa2d172f5227c397ea4d5a9687015) )
ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* Samples */
ROM_LOAD( "ya_011_013.u71", 0x00000, 0x80000, CRC(2bccaf47) SHA1(1658643444d575410f11b648e0d7ae6c43fcf1ea) )
ROM_LOAD( "ya_011_012.u64", 0x80000, 0x80000, CRC(a8015ce6) SHA1(bb0b589856ec82e1fd42be9af89b07ba1d17e595) )
ROM_END
static READ16_HANDLER( twineagl_debug_r )
{
@ -9238,14 +9657,59 @@ static DRIVER_INIT( crazyfgt )
driver_init_blandia(machine);
}
/***************************************************************************
International Toote
***************************************************************************/
static const pia6821_interface inttoote_pia0_intf =
{
/* PIA inputs: A, B, CA1, CB1, CA2, CB2 */
0, 0, 0, 0, 0, 0,
/* PIA outputs: A, B, CA2, CB2 */
0, 0, 0, 0,
/* PIA IRQs: A, B */
0, 0
};
static const pia6821_interface inttoote_pia1_intf =
{
/* PIA inputs: A, B, CA1, CB1, CA2, CB2 */
0, 0, 0, 0, 0, 0,
/* PIA outputs: A, B, CA2, CB2 */
0, 0, 0, 0,
/* PIA IRQs: A, B */
0, 0
};
static DRIVER_INIT( inttoote )
{
UINT16 *ROM = (UINT16 *)memory_region( REGION_CPU1 );
static UINT16 seta_vregs_unused[3] = {0,0,0};
// missing / unused video regs
seta_vregs = seta_vregs_unused;
// code patches (to be removed...)
ROM[0x4de0/2] = 0x4e71; // hardware test errors
ROM[0x4de2/2] = 0x4e71;
ROM[0x368a/2] = 0x50f9; // betting count down
/* Initializing PIAs... (to be done) */
pia_config(0, &inttoote_pia0_intf);
pia_config(1, &inttoote_pia1_intf);
}
/***************************************************************************
Game Drivers
***************************************************************************/
/* Working Games: */
/* 68000 + 65C02 */
GAME( 1987, tndrcade, 0, tndrcade, tndrcade, 0, ROT270, "[Seta] (Taito license)", "Thundercade / Twin Formation" , 0) // Title/License: DSW
GAME( 1987, tndrcadj, tndrcade, tndrcade, tndrcadj, 0, ROT270, "[Seta] (Taito license)", "Tokusyu Butai U.A.G. (Japan)" , 0) // License: DSW
@ -9295,3 +9759,4 @@ GAME( 1995, gundhara, 0, gundhara, gundhara, 0, ROT270, "Banpresto
GAME( 1995, sokonuke, 0, extdwnhl, sokonuke, 0, ROT0, "Sammy Industries", "Sokonuke Taisen Game (Japan)", GAME_IMPERFECT_SOUND )
GAME( 1995, zombraid, 0, gundhara, zombraid, zombraid, ROT0, "American Sammy", "Zombie Raid (US)", GAME_NO_COCKTAIL )
GAME( 1996, crazyfgt, 0, crazyfgt, crazyfgt, crazyfgt, ROT0, "Subsino", "Crazy Fight", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1998, inttoote, 0, inttoote, inttoote, inttoote, ROT0, "Coinmaster", "International Toote (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )

View File

@ -26,6 +26,7 @@ WRITE16_HANDLER( seta_vregs_w );
PALETTE_INIT( blandia );
PALETTE_INIT( gundhara );
PALETTE_INIT( inttoote );
PALETTE_INIT( jjsquawk );
PALETTE_INIT( usclssic );
PALETTE_INIT( zingzip );

View File

@ -6622,7 +6622,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
DRIVER( ryouran ) /* (c) 1998 Electro Design Co. (Japan) */
DRIVER( teljan ) /* (c) 1999 Electro Design Co. (Japan) */
/* Seta games */
/* Seta games (seta.c) */
DRIVER( hanaawas ) /* (c) SetaKikaku */
DRIVER( speedatk ) /* CB-0 (c) SetaKikaku */
DRIVER( srmp1 ) /* UB or UC?? (c) 1987 */
@ -6678,7 +6678,10 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
DRIVER( sokonuke ) /* (c) 1995 Sammy Industries */
DRIVER( zombraid ) /* (c) 1995 American Sammy */
DRIVER( crazyfgt ) /* (c) 1998 Subsino */
DRIVER( inttoote ) /* (c) 1998 Coinmaster */
/* Seta games (seta2.c) */
DRIVER( hanaawas ) /* (c) SetaKikaku */
DRIVER( gundamex ) /* (c) 1994 Banpresto */
DRIVER( grdians ) /* (c) 1995 Banpresto */
DRIVER( mj4simai ) /* (c) 1996 Maboroshi Ware */

View File

@ -608,8 +608,16 @@ PALETTE_INIT( zingzip )
colortable[color * 64 + pen + 32*16*2] = ((color * 16 + pen)%(32*16)) + 32*16*2;
}
// color prom
PALETTE_INIT( inttoote )
{
int x;
for (x = 0; x < 0x200 ; x++)
{
int data = (color_prom[x*2] <<8) | color_prom[x*2+1];
palette_set_color_rgb(machine, x, pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
}
}
PALETTE_INIT( usclssic )
{