diff options
Diffstat (limited to 'src/mame/drivers/mjsiyoub.c')
-rw-r--r-- | src/mame/drivers/mjsiyoub.c | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/src/mame/drivers/mjsiyoub.c b/src/mame/drivers/mjsiyoub.c new file mode 100644 index 00000000000..d946ecf8812 --- /dev/null +++ b/src/mame/drivers/mjsiyoub.c @@ -0,0 +1,130 @@ +/* + Mahjong Shiyou driver + + placeholder driver, roms 1.1k & 2.1g might be encrypted, looks like an address based xor on + a couple of bits at a time, probably not too hard to decrypt + +*/ + + +/* + +Mahjong Shiyou (BET type) +(c)1986 Visco + +Board: S-0086-001-00 +CPU: Z80-A x2 +Sound: AY-3-8910 + M5205 +OSC: 18.432MHz + 400KHz + + +1.1K Z80#2 prg. +2.1G + +3.3G Z80#1 prg. +4.3F + +COLOR.BPR color + +*/ + +#include "driver.h" +#include "sound/ay8910.h" +#include "sound/msm5205.h" + + +static VIDEO_START(mjsiyoub) +{ +} + +static VIDEO_UPDATE(mjsiyoub) +{ + return 0; +} + +static ADDRESS_MAP_START( readmem1, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( writemem1, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM) +ADDRESS_MAP_END + + +static ADDRESS_MAP_START( readmem2, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_READ(MRA8_ROM) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( writemem2, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x7fff) AM_WRITE(MWA8_ROM) +ADDRESS_MAP_END + +static INPUT_PORTS_START( mjsiyoub ) +INPUT_PORTS_END + + +static struct AY8910interface ay8910_interface = +{ + 0, /* Input A: DSW 2 */ + 0, /* Input B: DSW 1 */ +}; + +static struct MSM5205interface msm5205_interface = +{ + 0, /* IRQ handler */ + MSM5205_S48_4B /* 8 KHz, 4 Bits ?? */ +}; + + +static MACHINE_DRIVER_START( mjsiyoub ) + /* basic machine hardware */ + MDRV_CPU_ADD(Z80,18432000/4) + MDRV_CPU_PROGRAM_MAP(readmem1,writemem1) +// MDRV_CPU_VBLANK_INT(irq0_line_hold,1) + + MDRV_CPU_ADD(Z80,18432000/4) + MDRV_CPU_PROGRAM_MAP(readmem2,writemem2) +// MDRV_CPU_VBLANK_INT(irq0_line_hold,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(256, 256) + MDRV_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1) + MDRV_PALETTE_LENGTH(0x100) + + MDRV_VIDEO_START(mjsiyoub) + MDRV_VIDEO_UPDATE(mjsiyoub) + + /* sound hardware */ + MDRV_SPEAKER_STANDARD_MONO("mono") + + MDRV_SOUND_ADD(AY8910, 18432000/16) // ?? + MDRV_SOUND_CONFIG(ay8910_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + + MDRV_SOUND_ADD(MSM5205, 18432000/32) // ?? + MDRV_SOUND_CONFIG(msm5205_interface) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) +MACHINE_DRIVER_END + + +ROM_START( mjsiyoub ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "1.1k", 0x00000, 0x8000, CRC(a1083321) SHA1(b36772e90be60270234df16cf92d87f8d950190d) ) + ROM_LOAD( "2.1g", 0x08000, 0x4000, CRC(cfe5de1d) SHA1(4acf9a752aa3c02b0889b0b49d3744359fa24460) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "3.3g", 0x00000, 0x8000, CRC(47d0f16e) SHA1(a125be052668ba93756bf940af31a10e91a3d307) ) + ROM_LOAD( "4.3f", 0x08000, 0x8000, CRC(6cd6a200) SHA1(1c53e5caacdb9c660bd98f5331bf5354581f74c9) ) + + ROM_REGION( 0x40000, REGION_PROMS, 0 ) + ROM_LOAD( "color.bpr", 0x00, 0x20, CRC(d21367e5) SHA1(b28321ac8f99abfebe2ef4da0c751cefe9f3f3b6) ) +ROM_END + +GAME( 1986, mjsiyoub, 0, mjsiyoub, mjsiyoub, 0, ROT0, "Visco", "Mahjong Shiyou", GAME_NOT_WORKING ) |