mirror of
https://github.com/holub/mame
synced 2025-05-17 19:24:59 +03:00
bishjan.c update [Luca Elia]
- Implemented dynamic tile sizes - Generalized video routines to support more layers - Moved mtrain in from subsino.c New games added or promoted from NOT_WORKING status --------------------------------------------------- X-Plan [Bicycle Repair Man, Luca Elia]
This commit is contained in:
parent
7746a68163
commit
3355c47d22
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2561,7 +2561,6 @@ src/mame/drivers/xain.c svneol=native#text/plain
|
||||
src/mame/drivers/xexex.c svneol=native#text/plain
|
||||
src/mame/drivers/xmen.c svneol=native#text/plain
|
||||
src/mame/drivers/xorworld.c svneol=native#text/plain
|
||||
src/mame/drivers/xplan.c svneol=native#text/plain
|
||||
src/mame/drivers/xtheball.c svneol=native#text/plain
|
||||
src/mame/drivers/xtom3d.c svneol=native#text/plain
|
||||
src/mame/drivers/xxmissio.c svneol=native#text/plain
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -200,27 +200,11 @@
|
||||
- Added technical notes.
|
||||
|
||||
|
||||
2010-07-30
|
||||
----------
|
||||
|
||||
- Added Magic Train.
|
||||
|
||||
Since it's driven by a HD647180X0CP6 (Subsino - SS9600)
|
||||
plus SS9601 and SS9602 (for video and I/O respectively),
|
||||
it's possible that needs to be moved to a new driver in
|
||||
a near future.
|
||||
|
||||
- Added technical notes.
|
||||
|
||||
|
||||
2010-10-12
|
||||
----------
|
||||
|
||||
- Added Victor 6 (3 sets).
|
||||
- Created proper inputs for all sets.
|
||||
- Fixed/extended Magic Train technical notes.
|
||||
- Eliminated the 3 undumped bipolar PROMs from Magic Train,
|
||||
since these are in fact Darlington Arrays instead of PROMs.
|
||||
|
||||
|
||||
|
||||
@ -1128,10 +1112,6 @@ static ADDRESS_MAP_START( subsino_iomap, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mtrain_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x00000, 0x0bfff ) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***************************************************************************
|
||||
* Input Ports *
|
||||
***************************************************************************/
|
||||
@ -2550,10 +2530,6 @@ static GFXDECODE_START( subsino_stisub )
|
||||
GFXDECODE_ENTRY( "reels", 0, layout_8x32x8, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( subsino_mtrain )
|
||||
GFXDECODE_ENTRY( "tilemap", 0, layout_8x8x8, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
/***************************************************************************
|
||||
* Machine Drivers *
|
||||
***************************************************************************/
|
||||
@ -2727,48 +2703,6 @@ static MACHINE_CONFIG_START( stisub, driver_device )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
VIDEO_START(mtrain)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
VIDEO_UPDATE(mtrain)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( mtrain, driver_device )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown clock */
|
||||
MCFG_CPU_PROGRAM_MAP(mtrain_map)
|
||||
MCFG_CPU_IO_MAP(subsino_iomap)
|
||||
|
||||
/* 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(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
|
||||
|
||||
MCFG_GFXDECODE(subsino_mtrain)
|
||||
|
||||
MCFG_PALETTE_LENGTH(0x100)
|
||||
MCFG_PALETTE_INIT(subsino_3proms)
|
||||
|
||||
MCFG_VIDEO_START(mtrain)
|
||||
MCFG_VIDEO_UPDATE(mtrain)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_3_579545MHz)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki", XTAL_4_433619MHz / 4, OKIM6295_PIN7_HIGH) /* Clock frequency & pin 7 not verified */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
* ROMs Loading *
|
||||
@ -3420,71 +3354,6 @@ ROM_START( stisub )
|
||||
ROM_LOAD( "sti-alpha_9-ver1.1.u22", 0x60000, 0x20000, CRC(9710a223) SHA1(76ef6bd77ae33d91a9b6a9a615d07caee3356dfb) )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Magic Train
|
||||
-----------
|
||||
|
||||
Board silkscreened: "SUBSINO" (logo), "CS186P012". Stickered "1056439".
|
||||
|
||||
|
||||
CPU: 1x Hitachi HD647180X0CP6 - 6D1R (Subsino - SS9600) (U23).
|
||||
SND: 1x U6295 (OKI compatible) (U25).
|
||||
1x TDA1519A (PHILIPS, 22W BTL or 2x 11W stereo car radio power amplifier (U34).
|
||||
|
||||
NVRAM: 1x SANYO LC36256AML (SMD) (U16).
|
||||
VRAM: 2x UMC UM62256E-70LL (U7-U8, next to gfx ROMs).
|
||||
Other RAM: 1x HMC HM86171-80 (U29, next to sound ROM).
|
||||
|
||||
Video: Subsino (SMD-40PX40P) SS9601 - 9732WX011 (U1).
|
||||
I/O: Subsino (SMD-30PX20P) SS9602 - 9732LX006 (U11).
|
||||
|
||||
PRG ROM: Stickered "M-TRAIN-N OUT_1 V1.31".
|
||||
|
||||
GFX ROMs: 1x 27C2000DC-12 Stickered "M-TRAIN-N ROM_1 V1.0" (U5).
|
||||
1x 27C2000DC-12 Stickered "M-TRAIN-N ROM_2 V1.0" (U4).
|
||||
1x 27C2000DC-12 Stickered "M-TRAIN-N ROM_3 V1.0" (U3).
|
||||
1x 27C2000DC-12 Stickered "M-TRAIN-N ROM_4 V1.0" (U2).
|
||||
|
||||
SND ROM: 1x 27C2000DC-12 (U27, no sticker).
|
||||
|
||||
PLDs: 1x GAL16V8D (U31, next to sound ROM).
|
||||
3x GAL16V8D (U18-U19-U6, next to CPU, program ROM and NVRAM).
|
||||
1x GAL16V8D (U26, near sound amp)
|
||||
|
||||
Battery: 1x VARTA 3.6v, 60mAh.
|
||||
|
||||
Xtal: 12 MHz.
|
||||
|
||||
4x 8 DIP switches banks (SW1-SW2-SW3-SW4).
|
||||
1x Push button (S1, next to battery).
|
||||
|
||||
1x 2x36 Edge connector.
|
||||
1x 2x10 Edge connector.
|
||||
|
||||
|
||||
The hardware lacks of color PROMs...
|
||||
U12, U13 & U14 are Darlington arrays.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( mtrain )
|
||||
ROM_REGION( 0x18100, "maincpu", 0 )
|
||||
ROM_LOAD( "out_1v131.u17", 0x8000, 0x8100, CRC(6761be7f) SHA1(a492f8179d461a454516dde33ff04473d4cfbb27) )
|
||||
// code starts at 0x8100???
|
||||
ROM_CONTINUE(0x0000,0x8000-0x100)
|
||||
|
||||
ROM_REGION( 0x100000, "tilemap", 0 )
|
||||
ROM_LOAD( "rom_1.u05", 0xc0000, 0x40000, CRC(96067e95) SHA1(bec7dffaf6920ff2bd85a43fb001a997583e25ee) )
|
||||
ROM_LOAD( "rom_2.u04", 0x80000, 0x40000, CRC(a794f287) SHA1(7b9c0d57224a700f49e55ba5aeb7ed9d35a71e02) )
|
||||
ROM_LOAD( "rom_3.u03", 0x40000, 0x40000, CRC(cef2c079) SHA1(9ee54a08ef8db90a80a4b3568bb82ce09ee41e65) )
|
||||
ROM_LOAD( "rom_4.u02", 0x00000, 0x40000, CRC(b7e65d04) SHA1(5eea1b8c1129963b3b83a59410cd0e1de70621e4) )
|
||||
|
||||
ROM_REGION( 0x40000, "oki", 0 )
|
||||
ROM_LOAD( "rom_5.u27", 0x00000, 0x40000, CRC(51cae476) SHA1(d1da4e5c3d53d18d8b69dfb57796d0ae311d99bf) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
* Driver Init / Decryption *
|
||||
@ -3663,16 +3532,6 @@ static DRIVER_INIT( stisub )
|
||||
|
||||
}
|
||||
|
||||
DRIVER_INIT( mtrain )
|
||||
{
|
||||
// this one is odd
|
||||
// the code clearly starts at 0x8100 in the rom, not 0x8000
|
||||
// and there are jumps to the 0xbxxx region, but I'm not sure
|
||||
// which part of the ROM should map there, or how it should
|
||||
// decrypt.
|
||||
subsino_decrypt(machine, crsbingo_bitswaps, crsbingo_xors, 0xc000);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
* Game Drivers *
|
||||
@ -3693,4 +3552,3 @@ GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, sharkpye, ROT0, "American A
|
||||
GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed
|
||||
GAMEL( 1996, smoto20, 0, srider, smoto20, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto )
|
||||
GAMEL( 1996, smoto16, smoto20, srider, smoto16, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto )
|
||||
GAME( 1997, mtrain, 0, mtrain, stisub, mtrain, ROT0, "Subsino", "Magic Train", GAME_NOT_WORKING )
|
||||
|
@ -1,175 +0,0 @@
|
||||
/***************************************************************************
|
||||
|
||||
X-Plan (c) 2006 Subsino
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/nec/nec.h"
|
||||
|
||||
static UINT16 *vram;
|
||||
|
||||
static VIDEO_START( xplan )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE( xplan )
|
||||
{
|
||||
int x,y,count;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
|
||||
count = 0;
|
||||
|
||||
for (y=0;y<32;y++)
|
||||
{
|
||||
for (x=0;x<32;x++)
|
||||
{
|
||||
UINT16 tile = vram[count];
|
||||
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,0,0,0,x*8,y*8);
|
||||
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( paletteram_io_w )
|
||||
{
|
||||
static int pal_offs,r,g,b,internal_pal_offs;
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
pal_offs = data;
|
||||
internal_pal_offs = 0;
|
||||
break;
|
||||
case 2: // RAMDAC MASK
|
||||
break;
|
||||
case 1:
|
||||
switch(internal_pal_offs)
|
||||
{
|
||||
case 0:
|
||||
r = ((data & 0x3f) << 2) | ((data & 0x30) >> 4);
|
||||
internal_pal_offs++;
|
||||
break;
|
||||
case 1:
|
||||
g = ((data & 0x3f) << 2) | ((data & 0x30) >> 4);
|
||||
internal_pal_offs++;
|
||||
break;
|
||||
case 2:
|
||||
b = ((data & 0x3f) << 2) | ((data & 0x30) >> 4);
|
||||
palette_set_color(space->machine, pal_offs, MAKE_RGB(r, g, b));
|
||||
internal_pal_offs = 0;
|
||||
pal_offs++;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static READ16_HANDLER( test_r )
|
||||
{
|
||||
return space->machine->rand();
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( xplan_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x00000, 0x0ffff) AM_RAM
|
||||
|
||||
AM_RANGE(0x30000, 0x30fff) AM_RAM AM_BASE(&vram)
|
||||
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_code", 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( xplan_io, ADDRESS_SPACE_IO, 16 )
|
||||
AM_RANGE(0x0060, 0x0063) AM_WRITE8( paletteram_io_w, 0xffff )
|
||||
|
||||
AM_RANGE(0x00a0, 0x00a1) AM_WRITENOP
|
||||
|
||||
AM_RANGE(0x0300, 0x0307) AM_READ(test_r) AM_WRITENOP // i/os, mux in there too
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( xplan )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
8,
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
{ 0*8*8, 1*8*8, 2*8*8, 3*8*8, 4*8*8, 5*8*8, 6*8*8, 7*8*8 },
|
||||
8*8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( xplan )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_START( xplan )
|
||||
{
|
||||
}
|
||||
|
||||
static MACHINE_RESET( xplan )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( xplan, driver_device )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu",V33,12000000) //unknown CPU type
|
||||
MCFG_CPU_PROGRAM_MAP(xplan_map)
|
||||
MCFG_CPU_IO_MAP(xplan_io)
|
||||
|
||||
MCFG_MACHINE_START(xplan)
|
||||
MCFG_MACHINE_RESET(xplan)
|
||||
|
||||
/* 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(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
|
||||
MCFG_GFXDECODE(xplan)
|
||||
|
||||
MCFG_PALETTE_LENGTH(0x100)
|
||||
|
||||
MCFG_VIDEO_START(xplan)
|
||||
MCFG_VIDEO_UPDATE(xplan)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Game driver(s)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( xplan )
|
||||
ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF )
|
||||
|
||||
ROM_REGION( 0x40000, "boot_code", 0 )
|
||||
ROM_LOAD( "x-plan_v101.u14", 0x0000, 0x40000, CRC(5a05fcb3) SHA1(9dffffd868e777f9436c38df76fa5247f4dd6daf) )
|
||||
|
||||
ROM_REGION( 0x200000, "gfx1", 0 )
|
||||
ROM_LOAD32_BYTE( "x-plan_rom_3_v102b.u20", 0x000000, 0x80000, CRC(a027cbd1) SHA1(dac4226014794ef5bff84ddafee7da6691c00ece) )
|
||||
ROM_LOAD32_BYTE( "x-plan_rom_4_v102b.u19", 0x000001, 0x80000, CRC(744be318) SHA1(1c1f2a9e1da77d9bc1bf897072df44a681a53079) )
|
||||
ROM_LOAD32_BYTE( "x-plan_rom_5_v102b.u18", 0x000002, 0x80000, CRC(7e89c9b3) SHA1(9e3fea0d74cac48c068a15595f2342a2b0b3f747) )
|
||||
ROM_LOAD32_BYTE( "x-plan_rom_6_v102b.u17", 0x000003, 0x80000, CRC(a86ca3b9) SHA1(46aa86b9c62aa0a4e519eb06c72c2d540489afee) )
|
||||
|
||||
ROM_REGION( 0x80000, "samples", 0 )
|
||||
ROM_LOAD( "x-plan_rom_2_v100.u7", 0x000000, 0x80000, CRC(c742b5c8) SHA1(646960508be738824bfc578c1b21355c17e05010) )
|
||||
ROM_END
|
||||
|
||||
GAME( 2006, xplan, 0, xplan, xplan, 0, ROT0, "Subsino", "X-Plan (v1.02)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
@ -1254,7 +1254,6 @@ $(MAMEOBJ)/subsino.a: \
|
||||
$(DRIVERS)/bishjan.o \
|
||||
$(DRIVERS)/lastfght.o \
|
||||
$(DRIVERS)/subsino.o \
|
||||
$(DRIVERS)/xplan.o \
|
||||
|
||||
$(MAMEOBJ)/sun.a: \
|
||||
$(DRIVERS)/arabian.o $(VIDEO)/arabian.o \
|
||||
|
@ -9501,6 +9501,7 @@ Other Sun games
|
||||
DRIVER( mirax ) /* (c) 1985 Current Technologies */
|
||||
DRIVER( miraxa ) /* (c) 1985 Current Technologies */
|
||||
|
||||
/* Subsino */
|
||||
DRIVER( victor5 ) /* (c) 1990 Subsino */
|
||||
DRIVER( victor21 ) /* (c) 1990 Subsino */
|
||||
DRIVER( crsbingo ) /* (c) 1991 Subsino */
|
||||
|
Loading…
Reference in New Issue
Block a user