trunk/src/mame/drivers/goldstar.c
| r18842 | r18843 | |
| 596 | 596 | ADDRESS_MAP_END |
| 597 | 597 | |
| 598 | 598 | |
| 599 | static ADDRESS_MAP_START( megaline_map, AS_PROGRAM, 8, goldstar_state ) |
| 600 | /* Reels stuff are there just as placeholder, and obviously in wrong offset */ |
| 601 | AM_RANGE(0x0000, 0x9fff) AM_ROM |
| 599 | 602 | |
| 603 | AM_RANGE(0xd000, 0xd7ff) AM_RAM //AM_SHARE("nvram") |
| 604 | |
| 605 | AM_RANGE(0xd840, 0xd87f) AM_RAM AM_SHARE("reel1_scroll") |
| 606 | AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_SHARE("reel2_scroll") |
| 607 | AM_RANGE(0xd900, 0xd93f) AM_RAM AM_SHARE("reel3_scroll") |
| 608 | AM_RANGE(0xdfc0, 0xdfff) AM_RAM |
| 609 | |
| 610 | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_SHARE("fg_vidram") |
| 611 | AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_SHARE("fg_atrram") |
| 612 | |
| 613 | AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(goldstar_reel1_ram_w ) AM_SHARE("reel1_ram") |
| 614 | AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(goldstar_reel2_ram_w ) AM_SHARE("reel2_ram") |
| 615 | AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(goldstar_reel3_ram_w ) AM_SHARE("reel3_ram") |
| 616 | AM_RANGE(0xf600, 0xf7ff) AM_RAM |
| 617 | AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(unkch_reel1_attrram_w ) AM_SHARE("reel1_attrram") |
| 618 | AM_RANGE(0xfa00, 0xfbff) AM_RAM_WRITE(unkch_reel2_attrram_w ) AM_SHARE("reel2_attrram") |
| 619 | AM_RANGE(0xfc00, 0xfdff) AM_RAM_WRITE(unkch_reel3_attrram_w ) AM_SHARE("reel3_attrram") |
| 620 | AM_RANGE(0xfe00, 0xffff) AM_RAM |
| 621 | ADDRESS_MAP_END |
| 622 | |
| 623 | /* unknown I/O byte R/W |
| 624 | |
| 625 | PSGs: A0 - C0 - E0 |
| 626 | AY8910?: 60 - 80 |
| 627 | |
| 628 | ----------------- |
| 629 | */ |
| 630 | static ADDRESS_MAP_START( megaline_portmap, AS_IO, 8, goldstar_state ) |
| 631 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 632 | AM_RANGE(0xa0, 0xa0) AM_DEVWRITE("sn1", sn76489_device, write) /* SN76489 #1 */ |
| 633 | AM_RANGE(0xc0, 0xc0) AM_DEVWRITE("sn2", sn76489_device, write) /* SN76489 #2 */ |
| 634 | AM_RANGE(0xe0, 0xe0) AM_DEVWRITE("sn3", sn76489_device, write) /* SN76489 #3 */ |
| 635 | AM_RANGE(0x60, 0x60) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w) /* AY8910 control? */ |
| 636 | AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w) /* AY8910 Input? */ |
| 637 | // AM_RANGE(0x01, 0x01) AM_DEVREAD_LEGACY("aysnd", ay8910_r) |
| 638 | // AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_address_w) |
| 639 | ADDRESS_MAP_END |
| 640 | |
| 641 | |
| 600 | 642 | static INPUT_PORTS_START( cmv801 ) |
| 601 | 643 | PORT_START("IN0") |
| 602 | 644 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| r18842 | r18843 | |
| 5218 | 5260 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5219 | 5261 | INPUT_PORTS_END |
| 5220 | 5262 | |
| 5263 | static INPUT_PORTS_START( megaline ) |
| 5264 | PORT_START("IN0") |
| 5265 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") |
| 5266 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2") |
| 5267 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3") |
| 5268 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4") |
| 5269 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5") |
| 5270 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6") |
| 5271 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7") |
| 5272 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8") |
| 5273 | |
| 5274 | PORT_START("IN1") |
| 5275 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1") |
| 5276 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2") |
| 5277 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3") |
| 5278 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4") |
| 5279 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5") |
| 5280 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6") |
| 5281 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7") |
| 5282 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8") |
| 5283 | |
| 5284 | PORT_START("IN2") |
| 5285 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN2-1") |
| 5286 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN2-2") |
| 5287 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN2-3") |
| 5288 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN2-4") |
| 5289 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN2-5") |
| 5290 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN2-6") |
| 5291 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN2-7") |
| 5292 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN2-8") |
| 5293 | |
| 5294 | PORT_START("IN3") |
| 5295 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN3-1") |
| 5296 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN3-2") |
| 5297 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN3-3") |
| 5298 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN3-4") |
| 5299 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN3-5") |
| 5300 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN3-6") |
| 5301 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN3-7") |
| 5302 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN3-8") |
| 5303 | |
| 5304 | PORT_START("IN4") |
| 5305 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1") |
| 5306 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("IN4-2") |
| 5307 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3") |
| 5308 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4") |
| 5309 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN4-5") |
| 5310 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6") |
| 5311 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7") |
| 5312 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("IN4-8") |
| 5313 | |
| 5314 | PORT_START("DSW1") |
| 5315 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) |
| 5316 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 5317 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5318 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) |
| 5319 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 5320 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5321 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) |
| 5322 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 5323 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5324 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) |
| 5325 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 5326 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5327 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) |
| 5328 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 5329 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5330 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) |
| 5331 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 5332 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5333 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) |
| 5334 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 5335 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5336 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 5337 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 5338 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5339 | |
| 5340 | PORT_START("DSW2") |
| 5341 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) |
| 5342 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 5343 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5344 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) |
| 5345 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 5346 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5347 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) |
| 5348 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 5349 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5350 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) |
| 5351 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 5352 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5353 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) |
| 5354 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 5355 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5356 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) |
| 5357 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 5358 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5359 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) |
| 5360 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 5361 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5362 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 5363 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 5364 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5365 | |
| 5366 | PORT_START("DSW3") |
| 5367 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) |
| 5368 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 5369 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5370 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) |
| 5371 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 5372 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5373 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) |
| 5374 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 5375 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5376 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) |
| 5377 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 5378 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5379 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) |
| 5380 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 5381 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5382 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) |
| 5383 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 5384 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5385 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) |
| 5386 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 5387 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5388 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 5389 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 5390 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5391 | |
| 5392 | PORT_START("DSW4") |
| 5393 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) |
| 5394 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 5395 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5396 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) |
| 5397 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 5398 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5399 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) |
| 5400 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 5401 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5402 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) |
| 5403 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 5404 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5405 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) |
| 5406 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 5407 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5408 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) |
| 5409 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 5410 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5411 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) |
| 5412 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 5413 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5414 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 5415 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 5416 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5417 | INPUT_PORTS_END |
| 5418 | |
| 5419 | |
| 5221 | 5420 | static const gfx_layout charlayout = |
| 5222 | 5421 | { |
| 5223 | 5422 | 8,8, /* 8*8 characters */ |
| r18842 | r18843 | |
| 5416 | 5615 | 32*32 |
| 5417 | 5616 | }; |
| 5418 | 5617 | |
| 5618 | static const gfx_layout tiles8x8x4_layout = |
| 5619 | { |
| 5620 | 8, 8, |
| 5621 | RGN_FRAC(1,4), /* 4096 tiles */ |
| 5622 | 4, |
| 5623 | { 0, RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, /* bitplanes are separated */ |
| 5624 | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 5625 | { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, |
| 5626 | 8*8 /* every char takes 8 consecutive bytes */ |
| 5627 | }; |
| 5419 | 5628 | |
| 5629 | |
| 5420 | 5630 | static GFXDECODE_START( goldstar ) |
| 5421 | 5631 | GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) |
| 5422 | 5632 | GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 128, 8 ) |
| r18842 | r18843 | |
| 5488 | 5698 | GFXDECODE_END |
| 5489 | 5699 | #endif |
| 5490 | 5700 | |
| 5701 | static GFXDECODE_START( megaline ) |
| 5702 | GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x4_layout, 0, 16 ) |
| 5703 | GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128, 8 ) |
| 5704 | GFXDECODE_END |
| 5491 | 5705 | |
| 5706 | |
| 5492 | 5707 | static const gfx_layout tiles8x32_4bpp_layout = |
| 5493 | 5708 | { |
| 5494 | 5709 | 8,32, |
| r18842 | r18843 | |
| 5850 | 6065 | DEVCB_NULL |
| 5851 | 6066 | }; |
| 5852 | 6067 | |
| 6068 | static const sn76496_config psg2_intf = |
| 6069 | { |
| 6070 | DEVCB_NULL |
| 6071 | }; |
| 5853 | 6072 | |
| 6073 | static const sn76496_config psg3_intf = |
| 6074 | { |
| 6075 | DEVCB_NULL |
| 6076 | }; |
| 6077 | |
| 6078 | |
| 5854 | 6079 | static MACHINE_CONFIG_START( goldstar, goldstar_state ) |
| 5855 | 6080 | |
| 5856 | 6081 | /* basic machine hardware */ |
| r18842 | r18843 | |
| 6777 | 7002 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 6778 | 7003 | MACHINE_CONFIG_END |
| 6779 | 7004 | |
| 7005 | |
| 7006 | static MACHINE_CONFIG_START( megaline, goldstar_state ) |
| 7007 | |
| 7008 | /* basic machine hardware */ |
| 7009 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 7010 | MCFG_CPU_PROGRAM_MAP(megaline_map) |
| 7011 | MCFG_CPU_IO_MAP(megaline_portmap) |
| 7012 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) |
| 7013 | |
| 7014 | /* 3x 8255 */ |
| 7015 | // MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
| 7016 | // MCFG_I8255A_ADD( "ppi8255_1", lucky8_ppi8255_1_intf ) |
| 7017 | // MCFG_I8255A_ADD( "ppi8255_2", lucky8_ppi8255_2_intf ) |
| 7018 | |
| 7019 | /* video hardware */ |
| 7020 | MCFG_SCREEN_ADD("screen", RASTER) |
| 7021 | MCFG_SCREEN_REFRESH_RATE(60) |
| 7022 | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 7023 | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 7024 | MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) |
| 7025 | MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar) |
| 7026 | MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8) |
| 7027 | |
| 7028 | MCFG_GFXDECODE(megaline) |
| 7029 | MCFG_PALETTE_LENGTH(256) |
| 7030 | // MCFG_NVRAM_ADD_1FILL("nvram") |
| 7031 | |
| 7032 | MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar) |
| 7033 | |
| 7034 | /* sound hardware */ |
| 7035 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 7036 | |
| 7037 | MCFG_SOUND_ADD("sn1", SN76489, PSG_CLOCK) |
| 7038 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 7039 | MCFG_SOUND_CONFIG(psg_intf) |
| 7040 | |
| 7041 | MCFG_SOUND_ADD("sn2", SN76489, PSG_CLOCK) |
| 7042 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 7043 | MCFG_SOUND_CONFIG(psg2_intf) |
| 7044 | |
| 7045 | MCFG_SOUND_ADD("sn3", SN76489, PSG_CLOCK) |
| 7046 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 7047 | MCFG_SOUND_CONFIG(psg3_intf) |
| 7048 | |
| 7049 | MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) |
| 7050 | MCFG_SOUND_CONFIG(lucky8_ay8910_config) |
| 7051 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 7052 | |
| 7053 | MACHINE_CONFIG_END |
| 7054 | |
| 7055 | |
| 6780 | 7056 | /*************************************************************************** |
| 6781 | 7057 | |
| 6782 | 7058 | Game driver(s) |
| r18842 | r18843 | |
| 10076 | 10352 | ROM_END |
| 10077 | 10353 | |
| 10078 | 10354 | |
| 10355 | /* |
| 10356 | |
| 10357 | MEGA LINES |
| 10358 | Fun World. |
| 10359 | |
| 10360 | CPU: 1x Z80 |
| 10361 | |
| 10362 | Sound: 3x SN76489. |
| 10363 | 1x AY-3-8910. |
| 10364 | |
| 10365 | ROMs: 1x 27C512 for program. |
| 10366 | 2x 27C512 for fg graphics. |
| 10367 | 2x 27C256 for reels graphics. |
| 10368 | |
| 10369 | PROMs: 3x TBP24S10N |
| 10370 | 1x N82S123AN |
| 10371 | |
| 10372 | Clock: 1x Xtal 12.000 MHz. |
| 10373 | |
| 10374 | |
| 10375 | Other: 1x DIP-40 custom IC silkscreened '06B30P' (I/O?). |
| 10376 | 1x DIP-28 custom IC silkscreened '06B49P' (clock divider). |
| 10377 | 2x DIP-28 custom IC silkscreened '06B53P' (video). |
| 10378 | 1x 3.6V lithium battery. |
| 10379 | 4x 8 DIP switches banks. |
| 10380 | 1x Reset switch. |
| 10381 | |
| 10382 | Connectors: 1x (2x36) edge connector. |
| 10383 | 1x (2x10) edge connector. |
| 10384 | |
| 10385 | |
| 10386 | ROMS have Falcon original stickers. |
| 10387 | PCB is original from WING Co.,Ltd, with Wing license seal, |
| 10388 | and Eagle & Fun World stickers (serial numbers). |
| 10389 | |
| 10390 | |
| 10391 | For custom IC's 06B49P, and 06B53P, see the reverse-engineering notes in lucky74.c. |
| 10392 | |
| 10393 | ------------------------ |
| 10394 | |
| 10395 | IO mapped devices: |
| 10396 | |
| 10397 | PSGs: A0 - C0 - E0 |
| 10398 | AY8910: 60 - 80 |
| 10399 | |
| 10400 | */ |
| 10401 | ROM_START( megaline ) |
| 10402 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 10403 | ROM_LOAD( "18.r1", 0x00000, 0x10000, CRC(37234cca) SHA1(f991bc55fbfc69594573608ca03a9001ccf2f73b) ) |
| 10404 | |
| 10405 | ROM_REGION( 0x20000, "gfx1", 0 ) |
| 10406 | ROM_LOAD( "11.b1", 0x00000, 0x10000, CRC(6e7810d8) SHA1(16f1331851041b971a62f653f69b8853a2c4f868) ) |
| 10407 | ROM_LOAD( "12.d1", 0x10000, 0x10000, CRC(054c6ee7) SHA1(6e91223c8f6a2dc93a39a1e6453ccd9c731b8b45) ) |
| 10408 | |
| 10409 | ROM_REGION( 0x10000, "gfx2", 0 ) |
| 10410 | ROM_LOAD( "13.j1", 0x0000, 0x8000, CRC(5676ccb3) SHA1(36794c365c0b7490a9046422c0b334a3cdc15b8e) ) |
| 10411 | ROM_LOAD( "14.k1", 0x8000, 0x8000, CRC(81acfc59) SHA1(b6f94ade557a2d3ba5e358d33e83016a210890e7) ) |
| 10412 | |
| 10413 | ROM_REGION( 0x200, "proms", 0 ) |
| 10414 | ROM_LOAD( "tbp24s10.f4", 0x0000, 0x0100, CRC(d864b6f1) SHA1(6edc1941fe49cf53f073bf4acc466cd28b788146) ) |
| 10415 | ROM_LOAD( "tbp24s10.h4", 0x0100, 0x0100, CRC(4acd5887) SHA1(dca1187a74d9f4abc53b77a1590ec726f682dd91) ) |
| 10416 | |
| 10417 | ROM_REGION( 0x100, "proms2", 0 ) |
| 10418 | ROM_LOAD( "n82s123an.j4", 0x0000, 0x0020, CRC(5447e258) SHA1(04057cddb86896500954b9aa6d6508aa081b9645) ) |
| 10419 | |
| 10420 | ROM_REGION( 0x100, "unkprom", 0 ) |
| 10421 | ROM_LOAD( "tbp24s10.m3", 0x0000, 0x0100, CRC(7edb311b) SHA1(8e7f933313dc7a1f2a5e8803c26953ced3f798d0) ) |
| 10422 | ROM_END |
| 10423 | |
| 10424 | |
| 10079 | 10425 | /*********************************************************************************************************************/ |
| 10080 | 10426 | |
| 10081 | 10427 | DRIVER_INIT_MEMBER(goldstar_state,goldstar) |
| r18842 | r18843 | |
| 10841 | 11187 | GAME( 1999, unkch4, unkch1, unkch, unkch, goldstar_state, unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND ) // by 'toy system' hungary |
| 10842 | 11188 | |
| 10843 | 11189 | |
| 11190 | GAME( 1991, megaline, 0, megaline, megaline, driver_device, 0, ROT0, "Fun World", "Mega Lines", GAME_NOT_WORKING ) |
| 10844 | 11191 | |
| 11192 | |
| 10845 | 11193 | /* possible stealth sets: |
| 10846 | 11194 | |
| 10847 | 11195 | - cmv4a ---> see the 1fxx zone. put a bp in 1f9f to see the loop. |