trunk/src/mame/drivers/goldstar.c
| r244851 | r244852 | |
| 257 | 257 | ADDRESS_MAP_END |
| 258 | 258 | |
| 259 | 259 | |
| 260 | | static ADDRESS_MAP_START( star100_map, AS_PROGRAM, 8, sangho_state ) |
| 260 | static ADDRESS_MAP_START( star100_map, AS_PROGRAM, 8, sanghopm_state ) |
| 261 | 261 | AM_RANGE(0x0000, 0xbfff) AM_ROM |
| 262 | 262 | |
| 263 | 263 | AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(fg_vidram_w) AM_SHARE("fg_vidram") // videoram 1 |
| r244851 | r244852 | |
| 290 | 290 | ADDRESS_MAP_END |
| 291 | 291 | |
| 292 | 292 | |
| 293 | | WRITE8_MEMBER(sangho_state::coincount_w) |
| 293 | WRITE8_MEMBER(sanghopm_state::coincount_w) |
| 294 | 294 | { |
| 295 | 295 | /* |
| 296 | 296 | 7654 3210 |
| r244851 | r244852 | |
| 309 | 309 | coin_counter_w(machine(), 4, data & 0x01); /* counter5 payout */ |
| 310 | 310 | } |
| 311 | 311 | |
| 312 | | WRITE8_MEMBER(sangho_state::enable_w) |
| 312 | WRITE8_MEMBER(sanghopm_state::enable_w) |
| 313 | 313 | { |
| 314 | 314 | m_enable_reg = data; |
| 315 | 315 | } |
| 316 | 316 | |
| 317 | | static ADDRESS_MAP_START( star100_readport, AS_IO, 8, sangho_state ) |
| 317 | static ADDRESS_MAP_START( star100_readport, AS_IO, 8, sanghopm_state ) |
| 318 | 318 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 319 | 319 | |
| 320 | 320 | AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) |
| r244851 | r244852 | |
| 7589 | 7589 | MACHINE_CONFIG_END |
| 7590 | 7590 | |
| 7591 | 7591 | |
| 7592 | | static MACHINE_CONFIG_START( star100, sangho_state ) |
| 7592 | static MACHINE_CONFIG_START( star100, sanghopm_state ) |
| 7593 | 7593 | |
| 7594 | 7594 | /* basic machine hardware */ |
| 7595 | 7595 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 7596 | 7596 | MCFG_CPU_PROGRAM_MAP(star100_map) |
| 7597 | 7597 | MCFG_CPU_IO_MAP(star100_readport) |
| 7598 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", sangho_state, irq0_line_hold) |
| 7598 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sanghopm_state, irq0_line_hold) |
| 7599 | 7599 | |
| 7600 | 7600 | /* video hardware */ |
| 7601 | 7601 | MCFG_SCREEN_ADD("screen", RASTER) |
| r244851 | r244852 | |
| 7603 | 7603 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 7604 | 7604 | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 7605 | 7605 | MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) |
| 7606 | | MCFG_SCREEN_UPDATE_DRIVER(sangho_state, screen_update_sangho) |
| 7606 | MCFG_SCREEN_UPDATE_DRIVER(sanghopm_state, screen_update_sangho) |
| 7607 | 7607 | MCFG_SCREEN_PALETTE("palette") |
| 7608 | 7608 | |
| 7609 | 7609 | MCFG_PALETTE_ADD("palette", 0x100) |
| r244851 | r244852 | |
| 7613 | 7613 | |
| 7614 | 7614 | MCFG_NVRAM_ADD_1FILL("nvram") |
| 7615 | 7615 | |
| 7616 | | MCFG_VIDEO_START_OVERRIDE(sangho_state, sangho) |
| 7616 | MCFG_VIDEO_START_OVERRIDE(sanghopm_state, sangho) |
| 7617 | 7617 | |
| 7618 | 7618 | /* sound hardware */ |
| 7619 | 7619 | MCFG_SPEAKER_STANDARD_MONO("mono") |
trunk/src/mame/video/goldstar.c
| r244851 | r244852 | |
| 493 | 493 | |
| 494 | 494 | |
| 495 | 495 | |
| 496 | | WRITE8_MEMBER(sangho_state::fg_vidram_w) |
| 496 | WRITE8_MEMBER(sanghopm_state::fg_vidram_w) |
| 497 | 497 | { |
| 498 | 498 | m_fg_vidram[offset] = data; |
| 499 | 499 | m_fg_tilemap->mark_tile_dirty(offset); |
| 500 | 500 | } |
| 501 | 501 | |
| 502 | | WRITE8_MEMBER(sangho_state::fg_atrram_w) |
| 502 | WRITE8_MEMBER(sanghopm_state::fg_atrram_w) |
| 503 | 503 | { |
| 504 | 504 | m_fg_atrram[offset] = data; |
| 505 | 505 | m_fg_tilemap->mark_tile_dirty(offset); |
| 506 | 506 | } |
| 507 | 507 | |
| 508 | | WRITE8_MEMBER(sangho_state::bg_vidram_w) |
| 508 | WRITE8_MEMBER(sanghopm_state::bg_vidram_w) |
| 509 | 509 | { |
| 510 | 510 | m_bg_vidram[offset] = data; |
| 511 | 511 | m_bg_tilemap->mark_tile_dirty(offset); |
| 512 | 512 | } |
| 513 | 513 | |
| 514 | | WRITE8_MEMBER(sangho_state::bg_atrram_w) |
| 514 | WRITE8_MEMBER(sanghopm_state::bg_atrram_w) |
| 515 | 515 | { |
| 516 | 516 | m_bg_atrram[offset] = data; |
| 517 | 517 | m_bg_tilemap->mark_tile_dirty(offset); |
| 518 | 518 | } |
| 519 | 519 | |
| 520 | | WRITE8_MEMBER(sangho_state::reel1_attrram_w) |
| 520 | WRITE8_MEMBER(sanghopm_state::reel1_attrram_w) |
| 521 | 521 | { |
| 522 | 522 | m_reel1_attrram[offset] = data; |
| 523 | 523 | m_reel1_tilemap->mark_tile_dirty(offset); |
| 524 | 524 | } |
| 525 | 525 | |
| 526 | | WRITE8_MEMBER(sangho_state::reel2_attrram_w) |
| 526 | WRITE8_MEMBER(sanghopm_state::reel2_attrram_w) |
| 527 | 527 | { |
| 528 | 528 | m_reel2_attrram[offset] = data; |
| 529 | 529 | m_reel2_tilemap->mark_tile_dirty(offset); |
| 530 | 530 | } |
| 531 | 531 | |
| 532 | | WRITE8_MEMBER(sangho_state::reel3_attrram_w) |
| 532 | WRITE8_MEMBER(sanghopm_state::reel3_attrram_w) |
| 533 | 533 | { |
| 534 | 534 | m_reel3_attrram[offset] = data; |
| 535 | 535 | m_reel3_tilemap->mark_tile_dirty(offset); |
| 536 | 536 | } |
| 537 | 537 | |
| 538 | 538 | |
| 539 | | TILE_GET_INFO_MEMBER(sangho_state::get_fg_tile_info) |
| 539 | TILE_GET_INFO_MEMBER(sanghopm_state::get_fg_tile_info) |
| 540 | 540 | { |
| 541 | 541 | int code = m_fg_vidram[tile_index]; |
| 542 | 542 | int attr = m_fg_atrram[tile_index]; |
| r244851 | r244852 | |
| 547 | 547 | 0); |
| 548 | 548 | } |
| 549 | 549 | |
| 550 | | TILE_GET_INFO_MEMBER(sangho_state::get_bg_tile_info) |
| 550 | TILE_GET_INFO_MEMBER(sanghopm_state::get_bg_tile_info) |
| 551 | 551 | { |
| 552 | 552 | int code = m_bg_vidram[tile_index]; |
| 553 | 553 | int attr = m_bg_atrram[tile_index]; |
| r244851 | r244852 | |
| 558 | 558 | 0); |
| 559 | 559 | } |
| 560 | 560 | |
| 561 | | TILE_GET_INFO_MEMBER(sangho_state::get_reel1_tile_info) |
| 561 | TILE_GET_INFO_MEMBER(sanghopm_state::get_reel1_tile_info) |
| 562 | 562 | { |
| 563 | 563 | int code = m_reel1_ram[tile_index]; |
| 564 | 564 | int attr = m_reel1_attrram[tile_index]; |
| r244851 | r244852 | |
| 569 | 569 | 0); |
| 570 | 570 | } |
| 571 | 571 | |
| 572 | | TILE_GET_INFO_MEMBER(sangho_state::get_reel2_tile_info) |
| 572 | TILE_GET_INFO_MEMBER(sanghopm_state::get_reel2_tile_info) |
| 573 | 573 | { |
| 574 | 574 | int code = m_reel2_ram[tile_index]; |
| 575 | 575 | int attr = m_reel2_attrram[tile_index]; |
| r244851 | r244852 | |
| 580 | 580 | 0); |
| 581 | 581 | } |
| 582 | 582 | |
| 583 | | TILE_GET_INFO_MEMBER(sangho_state::get_reel3_tile_info) |
| 583 | TILE_GET_INFO_MEMBER(sanghopm_state::get_reel3_tile_info) |
| 584 | 584 | { |
| 585 | 585 | int code = m_reel3_ram[tile_index]; |
| 586 | 586 | int attr = m_reel3_attrram[tile_index]; |
| r244851 | r244852 | |
| 592 | 592 | } |
| 593 | 593 | |
| 594 | 594 | |
| 595 | | VIDEO_START_MEMBER(sangho_state, sangho) |
| 595 | VIDEO_START_MEMBER(sanghopm_state, sangho) |
| 596 | 596 | { |
| 597 | | m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sangho_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8); |
| 597 | m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8); |
| 598 | 598 | |
| 599 | | m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sangho_state::get_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 600 | | m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sangho_state::get_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 601 | | m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sangho_state::get_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 599 | m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 600 | m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 601 | m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); |
| 602 | 602 | |
| 603 | 603 | m_reel1_tilemap->set_scroll_cols(64); |
| 604 | 604 | m_reel2_tilemap->set_scroll_cols(64); |
| 605 | 605 | m_reel3_tilemap->set_scroll_cols(64); |
| 606 | 606 | |
| 607 | | m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sangho_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 32); |
| 607 | m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 32); |
| 608 | 608 | m_fg_tilemap->set_transparent_pen(0); |
| 609 | 609 | } |
| 610 | 610 | |
| 611 | 611 | |
| 612 | | UINT32 sangho_state::screen_update_sangho(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 612 | UINT32 sanghopm_state::screen_update_sangho(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 613 | 613 | { |
| 614 | 614 | int i; |
| 615 | 615 | |