trunk/src/mame/drivers/wc90b.c
| r243818 | r243819 | |
| 96 | 96 | #define MSM5205_CLOCK XTAL_384kHz |
| 97 | 97 | |
| 98 | 98 | |
| 99 | | WRITE8_MEMBER(wc90b_state::wc90b_bankswitch_w) |
| 99 | WRITE8_MEMBER(wc90b_state::bankswitch_w) |
| 100 | 100 | { |
| 101 | 101 | membank("mainbank")->set_entry(data >> 3); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | | WRITE8_MEMBER(wc90b_state::wc90b_bankswitch1_w) |
| 104 | WRITE8_MEMBER(wc90b_state::bankswitch1_w) |
| 105 | 105 | { |
| 106 | 106 | membank("subbank")->set_entry(data >> 3); |
| 107 | 107 | } |
| 108 | 108 | |
| 109 | | WRITE8_MEMBER(wc90b_state::wc90b_sound_command_w) |
| 109 | WRITE8_MEMBER(wc90b_state::sound_command_w) |
| 110 | 110 | { |
| 111 | 111 | soundlatch_byte_w(space, offset, data); |
| 112 | 112 | m_audiocpu->set_input_line(0, HOLD_LINE); |
| r243818 | r243819 | |
| 127 | 127 | static ADDRESS_MAP_START( wc90b_map1, AS_PROGRAM, 8, wc90b_state ) |
| 128 | 128 | AM_RANGE(0x0000, 0x7fff) AM_ROM |
| 129 | 129 | AM_RANGE(0x8000, 0x9fff) AM_RAM /* Main RAM */ |
| 130 | | AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(wc90b_fgvideoram_w) AM_SHARE("fgvideoram") |
| 131 | | AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(wc90b_bgvideoram_w) AM_SHARE("bgvideoram") |
| 132 | | AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(wc90b_txvideoram_w) AM_SHARE("txvideoram") |
| 130 | AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram") |
| 131 | AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram") |
| 132 | AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram") |
| 133 | 133 | AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("mainbank") |
| 134 | 134 | AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") |
| 135 | | AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90b_bankswitch_w) |
| 136 | | AM_RANGE(0xfd00, 0xfd00) AM_WRITE(wc90b_sound_command_w) |
| 135 | AM_RANGE(0xfc00, 0xfc00) AM_WRITE(bankswitch_w) |
| 136 | AM_RANGE(0xfd00, 0xfd00) AM_WRITE(sound_command_w) |
| 137 | 137 | AM_RANGE(0xfd04, 0xfd04) AM_WRITEONLY AM_SHARE("scroll1y") |
| 138 | 138 | AM_RANGE(0xfd06, 0xfd06) AM_WRITEONLY AM_SHARE("scroll1x") |
| 139 | 139 | AM_RANGE(0xfd08, 0xfd08) AM_WRITEONLY AM_SHARE("scroll2y") |
| r243818 | r243819 | |
| 154 | 154 | AM_RANGE(0xe800, 0xefff) AM_ROM |
| 155 | 155 | AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank") |
| 156 | 156 | AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1") |
| 157 | | AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90b_bankswitch1_w) |
| 157 | AM_RANGE(0xfc00, 0xfc00) AM_WRITE(bankswitch1_w) |
| 158 | 158 | ADDRESS_MAP_END |
| 159 | 159 | |
| 160 | 160 | static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, wc90b_state ) |
| r243818 | r243819 | |
| 325 | 325 | membank("mainbank")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x800); |
| 326 | 326 | membank("subbank")->configure_entries(0, 32, memregion("sub")->base() + 0x10000, 0x800); |
| 327 | 327 | membank("audiobank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000); |
| 328 | |
| 329 | save_item(NAME(m_msm5205next)); |
| 330 | save_item(NAME(m_toggle)); |
| 328 | 331 | } |
| 329 | 332 | |
| 330 | 333 | |
| r243818 | r243819 | |
| 349 | 352 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 350 | 353 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 351 | 354 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 352 | | MCFG_SCREEN_UPDATE_DRIVER(wc90b_state, screen_update_wc90b) |
| 355 | MCFG_SCREEN_UPDATE_DRIVER(wc90b_state, screen_update) |
| 353 | 356 | MCFG_SCREEN_PALETTE("palette") |
| 354 | 357 | |
| 355 | 358 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", wc90b) |
| r243818 | r243819 | |
| 507 | 510 | ROM_END |
| 508 | 511 | |
| 509 | 512 | |
| 510 | | GAME( 1989, wc90b1, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (Italian hack of Tecmo World Cup '90)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) |
| 511 | | GAME( 1989, wc90b2, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Worldcup '90", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) |
| 512 | | GAME( 1989, wc90ba, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (Italian hack of Temco World Cup '90 - alt version)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND ) |
| 513 | GAME( 1989, wc90b1, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (Italian hack of Tecmo World Cup '90)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 514 | GAME( 1989, wc90b2, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Worldcup '90", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 515 | GAME( 1989, wc90ba, wc90, wc90b, wc90b, driver_device, 0, ROT0, "bootleg", "Euro League (Italian hack of Temco World Cup '90 - alt version)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/wc90b.h
| r243818 | r243819 | |
| 5 | 5 | public: |
| 6 | 6 | wc90b_state(const machine_config &mconfig, device_type type, const char *tag) |
| 7 | 7 | : driver_device(mconfig, type, tag), |
| 8 | m_maincpu(*this, "maincpu"), |
| 9 | m_audiocpu(*this, "audiocpu"), |
| 10 | m_msm(*this, "msm"), |
| 11 | m_gfxdecode(*this, "gfxdecode"), |
| 12 | m_palette(*this, "palette"), |
| 8 | 13 | m_fgvideoram(*this, "fgvideoram"), |
| 9 | 14 | m_bgvideoram(*this, "bgvideoram"), |
| 10 | 15 | m_txvideoram(*this, "txvideoram"), |
| r243818 | r243819 | |
| 13 | 18 | m_scroll1y(*this, "scroll1y"), |
| 14 | 19 | m_scroll2y(*this, "scroll2y"), |
| 15 | 20 | m_scroll_x_lo(*this, "scroll_x_lo"), |
| 16 | | m_spriteram(*this, "spriteram"), |
| 17 | | m_maincpu(*this, "maincpu"), |
| 18 | | m_audiocpu(*this, "audiocpu"), |
| 19 | | m_msm(*this, "msm"), |
| 20 | | m_gfxdecode(*this, "gfxdecode"), |
| 21 | | m_palette(*this, "palette") { } |
| 21 | m_spriteram(*this, "spriteram") { } |
| 22 | 22 | |
| 23 | | int m_msm5205next; |
| 24 | | int m_toggle; |
| 23 | required_device<cpu_device> m_maincpu; |
| 24 | required_device<cpu_device> m_audiocpu; |
| 25 | required_device<msm5205_device> m_msm; |
| 26 | required_device<gfxdecode_device> m_gfxdecode; |
| 27 | required_device<palette_device> m_palette; |
| 28 | |
| 25 | 29 | required_shared_ptr<UINT8> m_fgvideoram; |
| 26 | 30 | required_shared_ptr<UINT8> m_bgvideoram; |
| 27 | 31 | required_shared_ptr<UINT8> m_txvideoram; |
| r243818 | r243819 | |
| 30 | 34 | required_shared_ptr<UINT8> m_scroll1y; |
| 31 | 35 | required_shared_ptr<UINT8> m_scroll2y; |
| 32 | 36 | required_shared_ptr<UINT8> m_scroll_x_lo; |
| 37 | required_shared_ptr<UINT8> m_spriteram; |
| 38 | |
| 33 | 39 | tilemap_t *m_tx_tilemap; |
| 34 | 40 | tilemap_t *m_fg_tilemap; |
| 35 | 41 | tilemap_t *m_bg_tilemap; |
| 36 | | required_shared_ptr<UINT8> m_spriteram; |
| 37 | | DECLARE_WRITE8_MEMBER(wc90b_bankswitch_w); |
| 38 | | DECLARE_WRITE8_MEMBER(wc90b_bankswitch1_w); |
| 39 | | DECLARE_WRITE8_MEMBER(wc90b_sound_command_w); |
| 42 | int m_msm5205next; |
| 43 | int m_toggle; |
| 44 | |
| 45 | DECLARE_WRITE8_MEMBER(bankswitch_w); |
| 46 | DECLARE_WRITE8_MEMBER(bankswitch1_w); |
| 47 | DECLARE_WRITE8_MEMBER(sound_command_w); |
| 40 | 48 | DECLARE_WRITE8_MEMBER(adpcm_data_w); |
| 41 | | DECLARE_WRITE8_MEMBER(wc90b_bgvideoram_w); |
| 42 | | DECLARE_WRITE8_MEMBER(wc90b_fgvideoram_w); |
| 43 | | DECLARE_WRITE8_MEMBER(wc90b_txvideoram_w); |
| 49 | DECLARE_WRITE8_MEMBER(bgvideoram_w); |
| 50 | DECLARE_WRITE8_MEMBER(fgvideoram_w); |
| 51 | DECLARE_WRITE8_MEMBER(txvideoram_w); |
| 44 | 52 | DECLARE_WRITE8_MEMBER(adpcm_control_w); |
| 53 | DECLARE_WRITE_LINE_MEMBER(adpcm_int); |
| 54 | |
| 45 | 55 | TILE_GET_INFO_MEMBER(get_bg_tile_info); |
| 46 | 56 | TILE_GET_INFO_MEMBER(get_fg_tile_info); |
| 47 | 57 | TILE_GET_INFO_MEMBER(get_tx_tile_info); |
| 58 | |
| 48 | 59 | virtual void machine_start(); |
| 49 | 60 | virtual void video_start(); |
| 50 | | UINT32 screen_update_wc90b(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 61 | |
| 62 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 51 | 63 | void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority ); |
| 52 | | DECLARE_WRITE_LINE_MEMBER(adpcm_int); |
| 53 | | required_device<cpu_device> m_maincpu; |
| 54 | | required_device<cpu_device> m_audiocpu; |
| 55 | | required_device<msm5205_device> m_msm; |
| 56 | | required_device<gfxdecode_device> m_gfxdecode; |
| 57 | | required_device<palette_device> m_palette; |
| 58 | 64 | }; |