mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Changes to magic10 driver.
- Better structure and organization. - Added Super Gran Safari. - Added improved lamps layout to Super Gran Safari and Magic's 10. New games added or promoted from NOT_WORKING status --------------------------------------------------- Super Gran Safari [Roberto Fresca]
This commit is contained in:
parent
520c511cd0
commit
2c605c0528
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2484,6 +2484,7 @@ src/mame/layout/pyramid.lay svneol=native#text/plain
|
||||
src/mame/layout/quintoon.lay svneol=native#text/plain
|
||||
src/mame/layout/rocknms.lay svneol=native#text/plain
|
||||
src/mame/layout/sbrkout.lay svneol=native#text/plain
|
||||
src/mame/layout/sgsafari.lay svneol=native#text/plain
|
||||
src/mame/layout/shuttlei.lay svneol=native#text/plain
|
||||
src/mame/layout/sidewndr.lay svneol=native#text/plain
|
||||
src/mame/layout/sigmapkr.lay svneol=native#text/plain
|
||||
|
@ -9,32 +9,62 @@
|
||||
|
||||
Supported games:
|
||||
|
||||
Magic's 10 (ver. 16.15) (c) 1995 AWP Games
|
||||
Magic's 10 (ver. 16.45) (c) 1995 AWP Games
|
||||
Magic's 10 (ver. 16.55) (c) 1995 AWP Games
|
||||
Magic's 10 2 (c) 1997 ABM Games
|
||||
Super Pool (9743 rev.01) (c) 1997 ABM Games
|
||||
Hot Slot (ver. 05.01) (c) 1996 ABM Electronics
|
||||
Magic Colors (ver. 1.7a) 1999 Unknown
|
||||
Magic's 10 (ver. 16.15), 1995, AWP Games.
|
||||
Magic's 10 (ver. 16.45), 1995, AWP Games.
|
||||
Magic's 10 (ver. 16.55), 1995, AWP Games.
|
||||
Magic's 10 2, 1997, ABM Games.
|
||||
Super Pool (9743 rev.01), 1997, ABM Games.
|
||||
Hot Slot (ver. 05.01), 1996, ABM Electronics.
|
||||
Magic Colors (ver. 1.7a), 1999, Unknown.
|
||||
Super Gran Safari (ver 3.11), 1996, New Impeuropex Corp.
|
||||
|
||||
|
||||
*****************************************************************************
|
||||
|
||||
|
||||
Magic's 10 instruction for the 1st boot:
|
||||
Game Notes
|
||||
==========
|
||||
|
||||
|
||||
* Magic's 10
|
||||
|
||||
First time boot instructions:
|
||||
|
||||
- Switch "Disable Free Play" to ON
|
||||
- Enter a coin
|
||||
- Press Collect to get the 1st game over
|
||||
|
||||
|
||||
|
||||
* Super Gran Safari
|
||||
|
||||
There is a input sequence to initialize the game.
|
||||
|
||||
The code expects a mask of 0x4c00 in the DIP switches port to allow
|
||||
enter the sequence, so DIP switches must be on default position.
|
||||
|
||||
When you see the black screen, enter the following sequence:
|
||||
HOLD 4 (key V), HOLD 2 (key X), HOLD 5 (key B), START (key 1).
|
||||
|
||||
The code is checking for a 5th entry. In fact expects HOLD 3 as the first
|
||||
entry, then the rest listed above. I don't know why bypass the first one.
|
||||
Input port bits are checked in the following order: 2, 3, 1, 4, 5.
|
||||
|
||||
The player can play the "Super Game" to grab the points.
|
||||
In this subgame, you must to hit the lion to get the prize.
|
||||
For now, you must miss the shot till hopper & ticket dispenser are properly emulated.
|
||||
|
||||
|
||||
*****************************************************************************
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
- ticket / coin dispenser
|
||||
- some unknown writes
|
||||
- finish magic10_2 (association coin - credits handling its inputs
|
||||
- Ticket / Hopper support.
|
||||
- Some unknown writes
|
||||
- Finish magic10_2 (association coin - credits handling its inputs
|
||||
and some reads that drive the note displayed?)
|
||||
- protection (suprpool, hotslot, mcolors)
|
||||
- protection (magic102, suprpool, hotslot, mcolors).
|
||||
|
||||
|
||||
****************************************************************************/
|
||||
@ -42,27 +72,33 @@
|
||||
|
||||
#include "driver.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "sgsafari.lh"
|
||||
|
||||
static tilemap *layer0_tilemap, *layer1_tilemap, *layer2_tilemap;
|
||||
static UINT16 *layer0_videoram, *layer1_videoram, *layer2_videoram;
|
||||
static int layer2_offset[2];
|
||||
|
||||
|
||||
/***************************
|
||||
* Video Hardware *
|
||||
***************************/
|
||||
|
||||
static WRITE16_HANDLER( layer0_videoram_w )
|
||||
{
|
||||
COMBINE_DATA(&layer0_videoram[offset]);
|
||||
tilemap_mark_tile_dirty(layer0_tilemap,offset>>1);
|
||||
tilemap_mark_tile_dirty( layer0_tilemap, offset >> 1);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( layer1_videoram_w )
|
||||
{
|
||||
COMBINE_DATA(&layer1_videoram[offset]);
|
||||
tilemap_mark_tile_dirty(layer1_tilemap,offset>>1);
|
||||
tilemap_mark_tile_dirty( layer1_tilemap, offset >> 1);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( layer2_videoram_w )
|
||||
{
|
||||
COMBINE_DATA(&layer2_videoram[offset]);
|
||||
tilemap_mark_tile_dirty(layer2_tilemap,offset>>1);
|
||||
tilemap_mark_tile_dirty( layer2_tilemap, offset >> 1);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( paletteram_w )
|
||||
@ -71,27 +107,71 @@ static WRITE16_HANDLER( paletteram_w )
|
||||
palette_set_color_rgb( machine, offset, pal4bit(data >> 4), pal4bit(data >> 0), pal4bit(data >> 8));
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( magic10_misc_w )
|
||||
|
||||
static TILE_GET_INFO( get_layer0_tile_info )
|
||||
{
|
||||
/*
|
||||
lamps:
|
||||
1 -> data & 0x01
|
||||
2 -> data & 0x02
|
||||
3 -> data & 0x04
|
||||
4 -> data & 0x08
|
||||
5 -> data & 0x10
|
||||
6 -> data & 0x20
|
||||
7 -> data & 0x40
|
||||
*/
|
||||
|
||||
/*
|
||||
data & 0x0180 toggles
|
||||
data & 0x2000 ? written with 0x400 when coin1 is inserted
|
||||
*/
|
||||
|
||||
coin_counter_w(0, data & 0x400);
|
||||
SET_TILE_INFO
|
||||
(
|
||||
1,
|
||||
layer0_videoram[tile_index * 2],
|
||||
layer0_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((layer0_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_layer1_tile_info )
|
||||
{
|
||||
SET_TILE_INFO
|
||||
(
|
||||
1,
|
||||
layer1_videoram[tile_index * 2],
|
||||
layer1_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
TILE_FLIPYX((layer1_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
|
||||
);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_layer2_tile_info )
|
||||
{
|
||||
SET_TILE_INFO
|
||||
(
|
||||
0,
|
||||
layer2_videoram[tile_index * 2],
|
||||
layer2_videoram[tile_index * 2 + 1] & 0x0f,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_START( magic10 )
|
||||
{
|
||||
layer0_tilemap = tilemap_create(get_layer0_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
|
||||
layer1_tilemap = tilemap_create(get_layer1_tile_info, tilemap_scan_rows, 16, 16, 32, 32);
|
||||
layer2_tilemap = tilemap_create(get_layer2_tile_info, tilemap_scan_rows, 8, 8, 64, 64);
|
||||
|
||||
tilemap_set_transparent_pen(layer1_tilemap, 0);
|
||||
tilemap_set_transparent_pen(layer2_tilemap, 0);
|
||||
|
||||
tilemap_set_scrollx(layer2_tilemap, 0, layer2_offset[0]);
|
||||
tilemap_set_scrolly(layer2_tilemap, 0, layer2_offset[1]);
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE( magic10 )
|
||||
{
|
||||
tilemap_draw(bitmap, cliprect, layer0_tilemap, 0, 0);
|
||||
tilemap_draw(bitmap, cliprect, layer1_tilemap, 0, 0);
|
||||
tilemap_draw(bitmap, cliprect, layer2_tilemap, 0, 0);
|
||||
|
||||
tilemap_set_scrollx(layer2_tilemap, 0, layer2_offset[0]);
|
||||
tilemap_set_scrolly(layer2_tilemap, 0, layer2_offset[1]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***************************
|
||||
* R/W Handlers *
|
||||
***************************/
|
||||
|
||||
static READ16_HANDLER( magic102_r )
|
||||
{
|
||||
static UINT16 ret = 0;
|
||||
@ -110,11 +190,68 @@ static WRITE16_HANDLER( hotslot_copro_w )
|
||||
logerror("Writting to copro: %d \n", data);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( vid_reg_1_w ) // layer pos control
|
||||
static WRITE16_HANDLER( magic10_out_w )
|
||||
{
|
||||
/*
|
||||
----------------------------------------------
|
||||
--- Super Gran Safari & Magic's 10 Outputs ---
|
||||
----------------------------------------------
|
||||
|
||||
0x0000 - Normal State (lamps off).
|
||||
0x0001 - Hold 1 lamp.
|
||||
0x0002 - Hold 2 lamp.
|
||||
0x0004 - Hold 3 lamp.
|
||||
0x0008 - Hold 4 lamp.
|
||||
0x0010 - Hold 5 lamp.
|
||||
0x0020 - Start lamp.
|
||||
0x0040 - Play (Bet/Take/Cancel) lamp.
|
||||
0x0100 - Payout lamp.
|
||||
0x0400 - Coin counter.
|
||||
|
||||
|
||||
- Lbits -
|
||||
7654 3210
|
||||
=========
|
||||
---- ---x Hold1 lamp.
|
||||
---- --x- Hold2 lamp.
|
||||
---- -x-- Hold3 lamp.
|
||||
---- x--- Hold4 lamp.
|
||||
---x ---- Hold5 lamp.
|
||||
--x- ---- Start lamp.
|
||||
-x-- ---- Play (Bet/Take/Cancel) lamp.
|
||||
|
||||
- Hbits -
|
||||
7654 3210
|
||||
=========
|
||||
---- ---x Payout lamp.
|
||||
---- -x-- Coin counter.
|
||||
|
||||
*/
|
||||
|
||||
// popmessage("lamps: %02X", data);
|
||||
|
||||
output_set_lamp_value(1, (data & 1)); /* Lamp 1 - HOLD 1 */
|
||||
output_set_lamp_value(2, (data >> 1) & 1); /* Lamp 2 - HOLD 2 */
|
||||
output_set_lamp_value(3, (data >> 2) & 1); /* Lamp 3 - HOLD 3 */
|
||||
output_set_lamp_value(4, (data >> 3) & 1); /* Lamp 4 - HOLD 4 */
|
||||
output_set_lamp_value(5, (data >> 4) & 1); /* Lamp 5 - HOLD 5 */
|
||||
output_set_lamp_value(6, (data >> 5) & 1); /* Lamp 6 - START */
|
||||
output_set_lamp_value(7, (data >> 6) & 1); /* Lamp 7 - PLAY (BET/TAKE/CANCEL) */
|
||||
output_set_lamp_value(8, (data >> 8) & 1); /* Lamp 8 - PAYOUT/SUPERGAME */
|
||||
|
||||
coin_counter_w(0, data & 0x400);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( vid_reg_1_w ) /* layer pos control */
|
||||
{
|
||||
layer2_offset[0] = -(data - 5);
|
||||
}
|
||||
|
||||
|
||||
/***************************
|
||||
* Memory Maps *
|
||||
***************************/
|
||||
|
||||
static ADDRESS_MAP_START( magic10_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
|
||||
@ -124,7 +261,7 @@ static ADDRESS_MAP_START( magic10_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x400008, 0x400009) AM_WRITE(magic10_misc_w)
|
||||
AM_RANGE(0x400008, 0x400009) AM_WRITE(magic10_out_w)
|
||||
AM_RANGE(0x40000a, 0x40000b) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
|
||||
AM_RANGE(0x40000e, 0x40000f) AM_WRITENOP
|
||||
AM_RANGE(0x400080, 0x400087) AM_WRITENOP // video registers?
|
||||
@ -140,7 +277,7 @@ static ADDRESS_MAP_START( magic10a_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_misc_w)
|
||||
AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
|
||||
AM_RANGE(0x50000a, 0x50000b) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
|
||||
AM_RANGE(0x50000e, 0x50000f) AM_WRITENOP
|
||||
AM_RANGE(0x500080, 0x500087) AM_WRITENOP // video registers?
|
||||
@ -188,7 +325,34 @@ static ADDRESS_MAP_START( hotslot_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x700086, 0x700087) AM_WRITENOP // video registers
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sgsafari_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
|
||||
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
|
||||
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
|
||||
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE(&generic_nvram16) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE(&paletteram16)
|
||||
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
|
||||
AM_RANGE(0x50000a, 0x50000b) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
|
||||
AM_RANGE(0x50000e, 0x50000f) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x600000, 0x603fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
/*
|
||||
|
||||
SGSafari unimplemented writes:
|
||||
|
||||
0x500000 - 0x500007 ; unknown.
|
||||
0x50000c - 0x50007f ; unknown.
|
||||
0x500080 - 0x500083 ; video registers (layer scroll)
|
||||
0x500084 - 0x500087 ; video registers (unknown)
|
||||
0x500088 - 0x5000ff ; unknown.
|
||||
|
||||
*/
|
||||
|
||||
/***************************
|
||||
* Input Ports *
|
||||
***************************/
|
||||
|
||||
static INPUT_PORTS_START( magic10 )
|
||||
PORT_START("INPUTS")
|
||||
@ -198,7 +362,7 @@ static INPUT_PORTS_START( magic10 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Play") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play (Bet/Take)") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Lots FC") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note A")
|
||||
@ -207,7 +371,7 @@ static INPUT_PORTS_START( magic10 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Out Hole") PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Note D") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Collect") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect") PORT_CODE(KEYCODE_M)
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Display Logo" )
|
||||
@ -386,56 +550,64 @@ static INPUT_PORTS_START( hotslot )
|
||||
PORT_DIPSETTING( 0x80, "Tickets Only" )
|
||||
PORT_DIPSETTING( 0xc0, "Tickets & Tokens" )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
static TILE_GET_INFO( get_layer0_tile_info )
|
||||
{
|
||||
SET_TILE_INFO(1,layer0_videoram[tile_index*2],layer0_videoram[tile_index*2+1] & 0xf,TILE_FLIPYX((layer0_videoram[tile_index*2+1] & 0xc0) >> 6));
|
||||
}
|
||||
static INPUT_PORTS_START( sgsafari )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2 / Head") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4 / Tail") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5 / Half Gamble") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play (Bet/Take/Cancel)") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
static TILE_GET_INFO( get_layer1_tile_info )
|
||||
{
|
||||
SET_TILE_INFO(1,layer1_videoram[tile_index*2],layer1_videoram[tile_index*2+1] & 0xf,TILE_FLIPYX((layer1_videoram[tile_index*2+1] & 0xc0) >> 6));
|
||||
}
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin 1")
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin 2")
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Note B")
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Note C")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Note D") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Payout / Super Game") PORT_CODE(KEYCODE_W)
|
||||
|
||||
static TILE_GET_INFO( get_layer2_tile_info )
|
||||
{
|
||||
SET_TILE_INFO(0,layer2_videoram[tile_index*2],layer2_videoram[tile_index*2+1] & 0xf,0);
|
||||
}
|
||||
PORT_START("DSW1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x0300, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x0c00, DEF_STR( 1C_1C ) ) PORT_DIPLOCATION("SW1:3,4")
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0000, "1 Coin/10 Credits" )
|
||||
PORT_DIPNAME( 0x3000, 0x0000, "Payout Options" ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPSETTING( 0x3000, "Pay at 100 points" )
|
||||
PORT_DIPSETTING( 0x2000, "Pay at 200 points" )
|
||||
PORT_DIPSETTING( 0x1000, "Pay at 400 points" )
|
||||
PORT_DIPSETTING( 0x0000, "Pay at 500 points" )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, "Tickets" ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x0000, "Hopper" ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static VIDEO_START( magic10 )
|
||||
{
|
||||
layer0_tilemap = tilemap_create(get_layer0_tile_info,tilemap_scan_rows,16,16,32,32);
|
||||
layer1_tilemap = tilemap_create(get_layer1_tile_info,tilemap_scan_rows,16,16,32,32);
|
||||
layer2_tilemap = tilemap_create(get_layer2_tile_info,tilemap_scan_rows, 8, 8,64,64);
|
||||
|
||||
tilemap_set_transparent_pen(layer1_tilemap,0);
|
||||
tilemap_set_transparent_pen(layer2_tilemap,0);
|
||||
|
||||
tilemap_set_scrollx(layer2_tilemap,0,layer2_offset[0]);
|
||||
tilemap_set_scrolly(layer2_tilemap,0,layer2_offset[1]);
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE( magic10 )
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,layer0_tilemap,0,0);
|
||||
tilemap_draw(bitmap,cliprect,layer1_tilemap,0,0);
|
||||
tilemap_draw(bitmap,cliprect,layer2_tilemap,0,0);
|
||||
|
||||
tilemap_set_scrollx(layer2_tilemap,0,layer2_offset[0]);
|
||||
tilemap_set_scrolly(layer2_tilemap,0,layer2_offset[1]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
/****************************
|
||||
* Graphics Layouts *
|
||||
****************************/
|
||||
|
||||
static const gfx_layout tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4),RGN_FRAC(2,4),RGN_FRAC(1,4),RGN_FRAC(0,4) },
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
@ -454,19 +626,29 @@ static const gfx_layout tiles16x16_layout =
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
/****************************
|
||||
* Graphics Decode *
|
||||
****************************/
|
||||
|
||||
static GFXDECODE_START( magic10 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles16x16_layout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
/****************************
|
||||
* Machine Drivers *
|
||||
****************************/
|
||||
|
||||
static MACHINE_DRIVER_START( magic10 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("cpu", M68000, 10000000) // ?
|
||||
MDRV_CPU_PROGRAM_MAP(magic10_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_NVRAM_HANDLER(generic_0fill)
|
||||
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
@ -480,23 +662,23 @@ static MACHINE_DRIVER_START( magic10 )
|
||||
MDRV_VIDEO_START(magic10)
|
||||
MDRV_VIDEO_UPDATE(magic10)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD("oki", OKIM6295, 1056000)
|
||||
MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified
|
||||
MDRV_SOUND_CONFIG(okim6295_interface_pin7high) /* clock frequency & pin 7 not verified */
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( magic10a )
|
||||
|
||||
static MACHINE_DRIVER_START( magic10a )
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(magic10)
|
||||
MDRV_CPU_MODIFY("cpu")
|
||||
MDRV_CPU_PROGRAM_MAP(magic10a_map,0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( magic102 )
|
||||
|
||||
static MACHINE_DRIVER_START( magic102 )
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(magic10)
|
||||
MDRV_CPU_MODIFY("cpu")
|
||||
@ -506,8 +688,8 @@ static MACHINE_DRIVER_START( magic102 )
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( hotslot )
|
||||
|
||||
static MACHINE_DRIVER_START( hotslot )
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(magic10)
|
||||
MDRV_CPU_MODIFY("cpu")
|
||||
@ -517,6 +699,23 @@ static MACHINE_DRIVER_START( hotslot )
|
||||
MDRV_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 2*8, 32*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( sgsafari )
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(magic10)
|
||||
MDRV_CPU_MODIFY("cpu")
|
||||
MDRV_CPU_PROGRAM_MAP(sgsafari_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq2_line_hold) /* L1 interrupts */
|
||||
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
/****************************
|
||||
* Rom Loads *
|
||||
****************************/
|
||||
|
||||
/*
|
||||
|
||||
Magic 10 (videopoker)
|
||||
@ -530,34 +729,33 @@ Magic 10 (videopoker)
|
||||
1x Dallas Ds1220y-200 Nonvolatile ram
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( magic10 )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "u3.bin", 0x000000, 0x20000, CRC(191a46f4) SHA1(65bc22cdcc4b2f102d3eef595626819af709cacb) )
|
||||
ROM_LOAD16_BYTE( "u2.bin", 0x000001, 0x20000, CRC(a03a80bc) SHA1(a21da8912f1d2c8c2fa4a8d3ce4d43da8a934e21) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* Tiles */
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* tiles */
|
||||
ROM_LOAD( "u25.bin", 0x00000, 0x20000, CRC(7abb8136) SHA1(1d4daf6a4477853d89d08afb524516ef79f60dd6) )
|
||||
ROM_LOAD( "u26.bin", 0x20000, 0x20000, CRC(fd0b912d) SHA1(1cd15fa3459e7fece9fc37595f2b6848c00ffa43) )
|
||||
ROM_LOAD( "u27.bin", 0x40000, 0x20000, CRC(8178c907) SHA1(8c3440769ed4e113d84d1f8f9079783497791859) )
|
||||
ROM_LOAD( "u28.bin", 0x60000, 0x20000, CRC(dfd41aab) SHA1(82248c7fa4febb1c453f35a0e4cfae062c5da2d5) )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "u22.bin", 0x00000, 0x40000, CRC(98885246) SHA1(752d549e6248074f2a7f6c5cc4d0bbc44c7fa4c3) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( magic10a )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "u3_1645.bin", 0x00000, 0x20000, CRC(7f2549e4) SHA1(6578ad29273c357faae7c6be3fa1b49087e088a2) )
|
||||
ROM_LOAD16_BYTE( "u2_1645.bin", 0x00001, 0x20000, CRC(c075234e) SHA1(d9bc38f0b984082a77088fbb52b02c8f5c49846c) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* Tile */
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* tiles */
|
||||
ROM_LOAD( "u25.bin", 0x00000, 0x20000, CRC(7abb8136) SHA1(1d4daf6a4477853d89d08afb524516ef79f60dd6) )
|
||||
ROM_LOAD( "u26.bin", 0x20000, 0x20000, CRC(fd0b912d) SHA1(1cd15fa3459e7fece9fc37595f2b6848c00ffa43) )
|
||||
ROM_LOAD( "u27.bin", 0x40000, 0x20000, CRC(8178c907) SHA1(8c3440769ed4e113d84d1f8f9079783497791859) )
|
||||
ROM_LOAD( "u28.bin", 0x60000, 0x20000, CRC(dfd41aab) SHA1(82248c7fa4febb1c453f35a0e4cfae062c5da2d5) )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "u22.bin", 0x00000, 0x40000, CRC(98885246) SHA1(752d549e6248074f2a7f6c5cc4d0bbc44c7fa4c3) )
|
||||
ROM_END
|
||||
|
||||
@ -594,19 +792,18 @@ Note:
|
||||
1x battery
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( magic10b )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2.u3", 0x000000, 0x20000, CRC(32c12ad6) SHA1(93340df2c0f4c260837bd6649008e26a17a22015) )
|
||||
ROM_LOAD16_BYTE( "3.u2", 0x000001, 0x20000, CRC(a9945aaa) SHA1(97d4f6441b96618f2e3ce14095ffc5628cb14f0e) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* Tiles */
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* tiles */
|
||||
ROM_LOAD( "6.u25", 0x00000, 0x20000, CRC(7abb8136) SHA1(1d4daf6a4477853d89d08afb524516ef79f60dd6) )
|
||||
ROM_LOAD( "4.u26", 0x20000, 0x20000, CRC(fd0b912d) SHA1(1cd15fa3459e7fece9fc37595f2b6848c00ffa43) )
|
||||
ROM_LOAD( "5.u27", 0x40000, 0x20000, CRC(8178c907) SHA1(8c3440769ed4e113d84d1f8f9079783497791859) )
|
||||
ROM_LOAD( "7.u28", 0x60000, 0x20000, CRC(dfd41aab) SHA1(82248c7fa4febb1c453f35a0e4cfae062c5da2d5) )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "1.u22", 0x00000, 0x40000, CRC(98885246) SHA1(752d549e6248074f2a7f6c5cc4d0bbc44c7fa4c3) )
|
||||
ROM_END
|
||||
|
||||
@ -624,19 +821,18 @@ pcb is marked: Copyright ABM - 9605 Rev.02
|
||||
1x oki6295
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( magic102 )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2.u3", 0x00000, 0x20000, CRC(6fc55fe4) SHA1(392ad92e55aeac9bf5235cceb6b0b415942105a4) )
|
||||
ROM_LOAD16_BYTE( "1.u2", 0x00001, 0x20000, CRC(501507af) SHA1(ceed50c9380a9838cd3d171d2387334edfeff77f) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* Tiles */
|
||||
ROM_REGION( 0x80000, "gfx1", ROMREGION_DISPOSE ) /* tiles */
|
||||
ROM_LOAD( "3.u35", 0x00000, 0x20000, CRC(df47bb12) SHA1(b8bcbc9ab764d3159344d93776d13a14c9154086) )
|
||||
ROM_LOAD( "4.u36", 0x20000, 0x20000, CRC(dc242034) SHA1(6a2983c79776df07f29b77f23799fef6f20df24f) )
|
||||
ROM_LOAD( "5.u37", 0x40000, 0x20000, CRC(a048e26e) SHA1(788c28470298896902120e74fd8b9b283b8e9b79) )
|
||||
ROM_LOAD( "6.u38", 0x60000, 0x20000, CRC(469efb34) SHA1(b16646fb0c4757132e272b3877cf546b6f616786) )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "7.u32", 0x00000, 0x40000, CRC(47804af7) SHA1(602dc0361869b52532e2adcb0de3cbdd042761b3) )
|
||||
ROM_END
|
||||
|
||||
@ -681,19 +877,18 @@ ABM (Nazionale Elettronica Giochi S.A.S.), 1998.
|
||||
Fixed layers = yes.
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( suprpool )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2-1.22a.u3", 0x00000, 0x20000,CRC(5d15037a) SHA1(74cab79a1b08910267262a4c6b501126a4df6cda) )
|
||||
ROM_LOAD16_BYTE( "3-1.22a.u2", 0x00001, 0x20000,CRC(c762cd1c) SHA1(ee05a9e8147d613eb14333e6e7b743fc05982e7c) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* Sprites */
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* graphics */
|
||||
ROM_LOAD( "7.u35", 0x00000, 0x20000, CRC(357d145f) SHA1(9fea0d0c5d6c27bf520c4f81eb0f48a65ff60142) )
|
||||
ROM_LOAD( "6.u36", 0x20000, 0x20000, CRC(c4448813) SHA1(6e168eb8503b852179f2d743f1cba935592e0a60) )
|
||||
ROM_LOAD( "5.u37", 0x40000, 0x20000, CRC(6e99af07) SHA1(85e7a76724fd9ce8d07b5088cb6e0d933fd95692) )
|
||||
ROM_LOAD( "4.u38", 0x60000, 0x20000, CRC(0660a169) SHA1(1cb34b3da4b144028519a3c5b32ef7da44af0624) )
|
||||
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "1.u32", 0x00000, 0x40000, CRC(47804af7) SHA1(602dc0361869b52532e2adcb0de3cbdd042761b3) )
|
||||
ROM_END
|
||||
|
||||
@ -752,19 +947,18 @@ Note:
|
||||
Fixed layers = yes.
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( hotslot )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "hotslot2.u3", 0x00000, 0x20000, CRC(676cbe32) SHA1(78721326f3334fcdfdaffb72dbcacfb8bb591d51) )
|
||||
ROM_LOAD16_BYTE( "hotslot3.u2", 0x00001, 0x20000, CRC(2c362765) SHA1(c41741c97fe8e5b3a66eb08ebf68d24c6c771ba8) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx1", 0 ) /* Sprites */
|
||||
ROM_REGION( 0x100000, "gfx1", 0 ) /* graphics */
|
||||
ROM_LOAD( "hotslot7.u35", 0x00000, 0x40000, CRC(715073c2) SHA1(39085871fee182a9b22c3e042211e76da0ee3024) )
|
||||
ROM_LOAD( "hotslot6.u36", 0x40000, 0x40000, CRC(8ef2e25a) SHA1(d4a3288878fabab7ea193d5dadde1fe9fea6bc8a) )
|
||||
ROM_LOAD( "hotslot5.u37", 0x80000, 0x40000, CRC(98375b25) SHA1(2167f3374bdfc5e1fef7b9ec4361bc68223876b8) )
|
||||
ROM_LOAD( "hotslot4.u38", 0xc0000, 0x40000, CRC(cc8a241a) SHA1(8c6ea51d5f7475be79775df0b976ffddc5a960ed) )
|
||||
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "hotslot1.u32", 0x00000, 0x40000, CRC(ae880970) SHA1(3c302b3f6f6bbf72a522889592add3b6ef8ce1b0) )
|
||||
ROM_END
|
||||
|
||||
@ -807,22 +1001,80 @@ Note:
|
||||
Fixed layers = yes.
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( mcolors )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 Code */
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "m.colors1.7a-2.u3", 0x00000, 0x20000, CRC(02ce6aab) SHA1(349cb639024a818cb88e911788a0146f48d25333) )
|
||||
ROM_LOAD16_BYTE( "m.colors1.7a-3.u2", 0x00001, 0x20000, CRC(076b9680) SHA1(856d1cfaca886d78a36e129a7b41455362932e66) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* Sprites */
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* graphics */
|
||||
ROM_LOAD( "m.colors1.7-7.u35", 0x00000, 0x20000, CRC(ec44b289) SHA1(269c965112f0ba308bb5f02d965e32df70310b2c) )
|
||||
ROM_LOAD( "m.colors1.7-6.u36", 0x20000, 0x20000, CRC(44e550e2) SHA1(abfc05b386efb0f9ad7479ff53079e6ecbaec137) )
|
||||
ROM_LOAD( "m.colors1.7-5.u37", 0x40000, 0x20000, CRC(ec363d0d) SHA1(283f0bf3e3d76d64389f0abdffbeaa3d538b8991) )
|
||||
ROM_LOAD( "m.colors1.7-4.u38", 0x60000, 0x20000, CRC(7845667d) SHA1(66b1409b8b661b95e2658385da9c2662430d8030) )
|
||||
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* Samples */
|
||||
ROM_REGION( 0x080000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "m.color1.u32", 0x00000, 0x40000, CRC(db8d6769) SHA1(2ab7730fd8ae9522e5452fe1f535002e11db5e7b) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
Super Gran Safari
|
||||
1996 - New Impeuropex Corp.
|
||||
|
||||
CPU:
|
||||
1x MC68000P12 (main)
|
||||
2x A1020B-PL84C (not dumped)
|
||||
|
||||
1x M6295 (sound)
|
||||
1x TDA2002 (sound)
|
||||
1x GL324 (sound)
|
||||
|
||||
1x oscillator 30.000MHz
|
||||
|
||||
ROMs:
|
||||
2x M27C512 (1,2)
|
||||
1x M27C2001 (3)
|
||||
4x M27C1001 (4,5,6,7)
|
||||
|
||||
Note:
|
||||
1x JAMMA edge connector
|
||||
1x 12 legs connector (j2)
|
||||
1x 8x2 switches dip
|
||||
1x 4 legs jumper (j3)
|
||||
1x 2 legs jumper (j4)
|
||||
1x trimmer (volume)
|
||||
|
||||
|
||||
STATUS:
|
||||
|
||||
Memory map = done.
|
||||
Inputs = done.
|
||||
Machine = done.
|
||||
|
||||
OKI 6295 = ok.
|
||||
Screen size = ok.
|
||||
Fixed layers = yes.
|
||||
|
||||
*/
|
||||
ROM_START( sgsafari )
|
||||
ROM_REGION( 0x40000, "cpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "2.u7", 0x00000, 0x10000, CRC(797ceeac) SHA1(19055b6700f8523785790992adfeb67faa2358e0) )
|
||||
ROM_LOAD16_BYTE( "1.u2", 0x00001, 0x10000, CRC(549872f5) SHA1(2228c51541e3b059d5b16f50387e4215b82f78f6) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) /* graphics */
|
||||
ROM_LOAD( "4.u15", 0x00000, 0x20000, CRC(f9233481) SHA1(1d1aca9a61f0285a6f6f12f6169d9cfc2c5e6991) )
|
||||
ROM_LOAD( "5.u18", 0x20000, 0x20000, CRC(9561aa47) SHA1(140e0d9104c677de911d4d12ff617d84449d907b) )
|
||||
ROM_LOAD( "6.u16", 0x40000, 0x20000, CRC(91c22541) SHA1(e419a2d5e71b6c64992a08fa9bd82718350ca7da) )
|
||||
ROM_LOAD( "7.u19", 0x60000, 0x20000, CRC(3e3a5fbd) SHA1(c3511b488ecb4759a5fdea478007a4a1c2b5f9e0) )
|
||||
|
||||
ROM_REGION( 0x040000, "oki", 0 ) /* ADPCM samples */
|
||||
ROM_LOAD( "3.u39", 0x00000, 0x40000, CRC(43257bb5) SHA1(993fbeb6ee0a8a4da185303ec24eee8424b90cd0) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/****************************
|
||||
* Driver Init *
|
||||
****************************/
|
||||
|
||||
static DRIVER_INIT( magic10 )
|
||||
{
|
||||
@ -851,11 +1103,23 @@ static DRIVER_INIT( hotslot )
|
||||
layer2_offset[1] = 0; // Y offset.
|
||||
}
|
||||
|
||||
static DRIVER_INIT( sgsafari )
|
||||
{
|
||||
layer2_offset[0] = 16;
|
||||
layer2_offset[1] = 20;
|
||||
}
|
||||
|
||||
GAME( 1995, magic10, 0, magic10, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0 )
|
||||
GAME( 1995, magic10a, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0 )
|
||||
GAME( 1995, magic10b, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0 )
|
||||
GAME( 1997, magic102, 0, magic102, magic102, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
|
||||
GAME( 1997, suprpool, 0, magic102, magic102, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
|
||||
GAME( 1996, hotslot, 0, hotslot, hotslot, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
|
||||
GAME( 1999, mcolors, 0, magic102, magic102, magic102, ROT0, "unknown", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
|
||||
|
||||
/******************************
|
||||
* Game Drivers *
|
||||
******************************/
|
||||
|
||||
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
||||
GAMEL( 1995, magic10, 0, magic10, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0, layout_sgsafari )
|
||||
GAMEL( 1995, magic10a, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0, layout_sgsafari )
|
||||
GAMEL( 1995, magic10b, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0, layout_sgsafari )
|
||||
GAME( 1997, magic102, 0, magic102, magic102, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
|
||||
GAME( 1997, suprpool, 0, magic102, magic102, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
|
||||
GAME( 1996, hotslot, 0, hotslot, hotslot, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
|
||||
GAME( 1999, mcolors, 0, magic102, magic102, magic102, ROT0, "unknown", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
|
||||
GAMEL( 1996, sgsafari, 0, sgsafari, sgsafari, sgsafari, ROT0, "New Impeuropex Corp.", "Super Gran Safari (ver 3.11)", 0, layout_sgsafari )
|
||||
|
136
src/mame/layout/sgsafari.lay
Normal file
136
src/mame/layout/sgsafari.lay
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
<element name="L1" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD1">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L2" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD2">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L3" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD3">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L4" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD4">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L5" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<text string="HOLD5">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L6" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.3" />
|
||||
</rect>
|
||||
<text string="START">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L7" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.3" />
|
||||
</rect>
|
||||
<text string="BET/TAKE">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="L8" defstate="1">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.3" green="0.3" blue="0.3" />
|
||||
</rect>
|
||||
<text string="PAYOUT">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<view name="Button Lamps">
|
||||
<screen index="0">
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
<bezel name="lamp1" element="L1">
|
||||
<bounds x="1.6" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp2" element="L2">
|
||||
<bounds x="2.1" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp3" element="L3">
|
||||
<bounds x="2.6" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp4" element="L4">
|
||||
<bounds x="3.1" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp5" element="L5">
|
||||
<bounds x="3.6" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp6" element="L6">
|
||||
<bounds x="0" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp7" element="L7">
|
||||
<bounds x="0.5" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp8" element="L8">
|
||||
<bounds x="1.0" y="3.13" width="0.40" height="0.24" />
|
||||
</bezel>
|
||||
</view>
|
||||
</mamelayout>
|
@ -1720,6 +1720,8 @@ $(DRIVERS)/lazercmd.o: $(LAYOUT)/lazercmd.lh
|
||||
|
||||
$(DRIVERS)/lucky74.o: $(LAYOUT)/lucky74.lh
|
||||
|
||||
$(DRIVERS)/magic10.o: $(LAYOUT)/sgsafari.lh
|
||||
|
||||
$(DRIVERS)/maxaflex.o: $(LAYOUT)/maxaflex.lh
|
||||
|
||||
$(DRIVERS)/mpu4.o: $(LAYOUT)/mpu4.lh \
|
||||
|
Loading…
Reference in New Issue
Block a user