trunk/src/mame/drivers/bigstrkb.c
| r245395 | r245396 | |
| 48 | 48 | |
| 49 | 49 | AM_RANGE(0x0D0000, 0x0dffff) AM_RAM // 0xd2000 - 0xd3fff? 0xd8000? |
| 50 | 50 | |
| 51 | | AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE(bsb_videoram2_w) AM_SHARE("videoram2") |
| 52 | | AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(bsb_videoram3_w) AM_SHARE("videoram3") |
| 53 | | AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE(bsb_videoram_w) AM_SHARE("videoram") |
| 51 | AM_RANGE(0x0e0000, 0x0e3fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2") |
| 52 | AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(videoram3_w) AM_SHARE("videoram3") |
| 53 | AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") |
| 54 | 54 | |
| 55 | 55 | AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM |
| 56 | 56 | AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") |
| r245395 | r245396 | |
| 207 | 207 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 208 | 208 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 209 | 209 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 210 | | MCFG_SCREEN_UPDATE_DRIVER(bigstrkb_state, screen_update_bigstrkb) |
| 210 | MCFG_SCREEN_UPDATE_DRIVER(bigstrkb_state, screen_update) |
| 211 | 211 | MCFG_SCREEN_PALETTE("palette") |
| 212 | 212 | |
| 213 | 213 | MCFG_PALETTE_ADD("palette", 0x400) |
| r245395 | r245396 | |
| 292 | 292 | |
| 293 | 293 | /* GAME drivers */ |
| 294 | 294 | |
| 295 | | GAME( 1992, bigstrkb, bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL ) |
| 296 | | GAME( 1992, bigstrkba,bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg w/Italian teams)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL ) |
| 295 | GAME( 1992, bigstrkb, bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) |
| 296 | GAME( 1992, bigstrkba,bigstrik, bigstrkb, bigstrkb, driver_device, 0, ROT0, "bootleg", "Big Striker (bootleg w/Italian teams)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) |
trunk/src/mame/drivers/warpsped.c
| r245395 | r245396 | |
| 105 | 105 | tilemap_t *m_text_tilemap; |
| 106 | 106 | tilemap_t *m_starfield_tilemap; |
| 107 | 107 | UINT8 m_regs[0x28]; |
| 108 | | DECLARE_WRITE8_MEMBER(warpspeed_hardware_w); |
| 109 | | DECLARE_WRITE8_MEMBER(warpspeed_vidram_w); |
| 110 | | DECLARE_DRIVER_INIT(warpspeed); |
| 111 | | TILE_GET_INFO_MEMBER(get_warpspeed_text_tile_info); |
| 112 | | TILE_GET_INFO_MEMBER(get_warpspeed_starfield_tile_info); |
| 108 | |
| 109 | DECLARE_WRITE8_MEMBER(hardware_w); |
| 110 | DECLARE_WRITE8_MEMBER(vidram_w); |
| 111 | |
| 112 | TILE_GET_INFO_MEMBER(get_text_tile_info); |
| 113 | TILE_GET_INFO_MEMBER(get_starfield_tile_info); |
| 114 | |
| 113 | 115 | virtual void video_start(); |
| 114 | 116 | DECLARE_PALETTE_INIT(warpspeed); |
| 115 | | UINT32 screen_update_warpspeed(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 117 | |
| 118 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 116 | 119 | void draw_circles(bitmap_ind16 &bitmap); |
| 117 | 120 | }; |
| 118 | 121 | |
| 119 | | WRITE8_MEMBER(warpspeed_state::warpspeed_hardware_w) |
| 122 | WRITE8_MEMBER(warpspeed_state::hardware_w) |
| 120 | 123 | { |
| 121 | 124 | m_regs[offset] = data; |
| 122 | 125 | } |
| 123 | 126 | |
| 124 | | TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_text_tile_info) |
| 127 | TILE_GET_INFO_MEMBER(warpspeed_state::get_text_tile_info) |
| 125 | 128 | { |
| 126 | 129 | UINT8 code = m_videoram[tile_index] & 0x3f; |
| 127 | 130 | SET_TILE_INFO_MEMBER(0, code, 0, 0); |
| 128 | 131 | } |
| 129 | 132 | |
| 130 | | TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_starfield_tile_info) |
| 133 | TILE_GET_INFO_MEMBER(warpspeed_state::get_starfield_tile_info) |
| 131 | 134 | { |
| 132 | 135 | UINT8 code = 0x3f; |
| 133 | 136 | if ( tile_index & 1 ) |
| r245395 | r245396 | |
| 137 | 140 | SET_TILE_INFO_MEMBER(1, code, 0, 0); |
| 138 | 141 | } |
| 139 | 142 | |
| 140 | | WRITE8_MEMBER(warpspeed_state::warpspeed_vidram_w) |
| 143 | WRITE8_MEMBER(warpspeed_state::vidram_w) |
| 141 | 144 | { |
| 142 | 145 | m_videoram[offset] = data; |
| 143 | 146 | m_text_tilemap->mark_tile_dirty(offset); |
| r245395 | r245396 | |
| 145 | 148 | |
| 146 | 149 | void warpspeed_state::video_start() |
| 147 | 150 | { |
| 148 | | m_text_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); |
| 151 | m_text_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(warpspeed_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); |
| 149 | 152 | m_text_tilemap->set_transparent_pen(0); |
| 150 | | m_starfield_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_starfield_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); |
| 153 | m_starfield_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(warpspeed_state::get_starfield_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); |
| 151 | 154 | m_starfield_tilemap->mark_all_dirty(); |
| 155 | |
| 156 | save_item(NAME(m_regs)); |
| 152 | 157 | } |
| 153 | 158 | |
| 154 | 159 | static void draw_circle_line(bitmap_ind16 &bitmap, int x, int y, int l, int color) |
| r245395 | r245396 | |
| 170 | 175 | } |
| 171 | 176 | } |
| 172 | 177 | |
| 173 | | static void warpspeed_draw_circle(bitmap_ind16 &bitmap, INT16 cx, INT16 cy, UINT16 radius, UINT8 color ) |
| 178 | static void draw_circle(bitmap_ind16 &bitmap, INT16 cx, INT16 cy, UINT16 radius, UINT8 color ) |
| 174 | 179 | { |
| 175 | 180 | /* Bresenham's circle algorithm */ |
| 176 | 181 | |
| r245395 | r245396 | |
| 210 | 215 | { |
| 211 | 216 | continue; |
| 212 | 217 | } |
| 213 | | warpspeed_draw_circle(bitmap, midx + 128 + 16, midy + 128 + 16, radius, (m_regs[i*8 + 6] & 0x07) + 2); |
| 218 | draw_circle(bitmap, midx + 128 + 16, midy + 128 + 16, radius, (m_regs[i*8 + 6] & 0x07) + 2); |
| 214 | 219 | } |
| 215 | 220 | } |
| 216 | 221 | |
| 217 | | UINT32 warpspeed_state::screen_update_warpspeed(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 222 | UINT32 warpspeed_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 218 | 223 | { |
| 219 | 224 | m_starfield_tilemap->draw(screen, bitmap, cliprect, 0, 0); |
| 220 | 225 | draw_circles(bitmap); |
| r245395 | r245396 | |
| 224 | 229 | |
| 225 | 230 | static ADDRESS_MAP_START( warpspeed_map, AS_PROGRAM, 8, warpspeed_state ) |
| 226 | 231 | AM_RANGE(0x0000, 0x0dff) AM_ROM |
| 227 | | AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(warpspeed_vidram_w ) AM_SHARE("videoram") |
| 232 | AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(vidram_w ) AM_SHARE("videoram") |
| 228 | 233 | AM_RANGE(0x1c00, 0x1cff) AM_RAM AM_SHARE("workram") |
| 229 | 234 | ADDRESS_MAP_END |
| 230 | 235 | |
| r245395 | r245396 | |
| 234 | 239 | AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") |
| 235 | 240 | AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW") |
| 236 | 241 | AM_RANGE(0x03, 0x03) AM_READ_PORT("IN2") |
| 237 | | AM_RANGE(0x00, 0x27) AM_WRITE(warpspeed_hardware_w ) |
| 242 | AM_RANGE(0x00, 0x27) AM_WRITE(hardware_w ) |
| 238 | 243 | ADDRESS_MAP_END |
| 239 | 244 | |
| 240 | 245 | static INPUT_PORTS_START( warpspeed ) |
| r245395 | r245396 | |
| 278 | 283 | PORT_DIPUNUSED( 0x80, 0x00 ) |
| 279 | 284 | INPUT_PORTS_END |
| 280 | 285 | |
| 281 | | static const gfx_layout warpspeed_charlayout = |
| 286 | static const gfx_layout charlayout = |
| 282 | 287 | { |
| 283 | 288 | 8,8, |
| 284 | 289 | RGN_FRAC(1,1), |
| r245395 | r245396 | |
| 290 | 295 | }; |
| 291 | 296 | |
| 292 | 297 | static GFXDECODE_START( warpspeed ) |
| 293 | | GFXDECODE_ENTRY( "gfx1", 0, warpspeed_charlayout, 0, 1 ) |
| 294 | | GFXDECODE_ENTRY( "gfx2", 0, warpspeed_charlayout, 0, 1 ) |
| 298 | GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) |
| 299 | GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0, 1 ) |
| 295 | 300 | GFXDECODE_END |
| 296 | 301 | |
| 297 | 302 | PALETTE_INIT_MEMBER(warpspeed_state, warpspeed) |
| r245395 | r245396 | |
| 322 | 327 | MCFG_SCREEN_SIZE((32)*8, (32)*8) |
| 323 | 328 | MCFG_SCREEN_VISIBLE_AREA(4*8, 32*8-1, 8*8, 32*8-1) |
| 324 | 329 | MCFG_SCREEN_PALETTE("palette") |
| 325 | | MCFG_SCREEN_UPDATE_DRIVER(warpspeed_state, screen_update_warpspeed) |
| 330 | MCFG_SCREEN_UPDATE_DRIVER(warpspeed_state, screen_update) |
| 326 | 331 | |
| 327 | 332 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", warpspeed) |
| 328 | 333 | MCFG_PALETTE_ADD("palette", 2+8) |
| r245395 | r245396 | |
| 364 | 369 | |
| 365 | 370 | ROM_END |
| 366 | 371 | |
| 367 | | DRIVER_INIT_MEMBER(warpspeed_state,warpspeed) |
| 368 | | { |
| 369 | | } |
| 370 | 372 | |
| 371 | | GAME( 1979?, warpsped, 0, warpspeed, warpspeed, warpspeed_state, warpspeed, ROT0, "Meadows Games, Inc.", "Warp Speed (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_SOUND ) // year not shown, 1979 is according to date stamps on PCB chips. |
| 373 | GAME( 1979?, warpsped, 0, warpspeed, warpspeed, driver_device, 0, ROT0, "Meadows Games, Inc.", "Warp Speed (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // year not shown, 1979 is according to date stamps on PCB chips. |
trunk/src/mame/drivers/wiz.c
| r245395 | r245396 | |
| 94 | 94 | original (weird), or some strange form of protection. |
| 95 | 95 | - Is wiz protection emulation complete? |
| 96 | 96 | - Wiz: the supplier of the screenshot says there still may be some wrong |
| 97 | | colors. Just before the break on Level 2 there is a cresent moon, |
| 97 | colors. Just before the break on Level 2 there is a crescent moon, |
| 98 | 98 | the background should probably be black. |
| 99 | 99 | |
| 100 | 100 | |
| r245395 | r245396 | |
| 177 | 177 | #include "emu.h" |
| 178 | 178 | #include "cpu/z80/z80.h" |
| 179 | 179 | #include "sound/ay8910.h" |
| 180 | | #include "sound/discrete.h" |
| 181 | 180 | #include "includes/wiz.h" |
| 182 | 181 | |
| 183 | 182 | |
| r245395 | r245396 | |
| 1147 | 1146 | } |
| 1148 | 1147 | |
| 1149 | 1148 | |
| 1150 | | GAME( 1983, stinger, 0, stinger, stinger, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS ) |
| 1151 | | GAME( 1983, stinger2, stinger, stinger, stinger2, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger (prototype?)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS ) |
| 1152 | | GAME( 1984, scion, 0, scion, scion, driver_device, 0, ROT0, "Seibu Denshi", "Scion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS ) |
| 1153 | | GAME( 1984, scionc, scion, scion, scion, driver_device, 0, ROT0, "Seibu Denshi (Cinematronics license)", "Scion (Cinematronics)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS ) |
| 1154 | | GAME( 1984, kungfut, 0, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 1)", 0 ) |
| 1155 | | GAME( 1984, kungfuta, kungfut, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 2)", 0 ) /* board was a bootleg but set might still be original */ |
| 1156 | | GAME( 1985, wiz, 0, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu", "Wiz", 0 ) |
| 1157 | | GAME( 1985, wizt, wiz, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 1)", 0 ) |
| 1158 | | GAME( 1985, wizta, wiz, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 2)", 0 ) |
| 1149 | GAME( 1983, stinger, 0, stinger, stinger, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) |
| 1150 | GAME( 1983, stinger2, stinger, stinger, stinger2, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger (prototype?)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) |
| 1151 | GAME( 1984, scion, 0, scion, scion, driver_device, 0, ROT0, "Seibu Denshi", "Scion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) |
| 1152 | GAME( 1984, scionc, scion, scion, scion, driver_device, 0, ROT0, "Seibu Denshi (Cinematronics license)", "Scion (Cinematronics)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) |
| 1153 | GAME( 1984, kungfut, 0, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 1)", GAME_SUPPORTS_SAVE ) |
| 1154 | GAME( 1984, kungfuta, kungfut, kungfut, kungfut, driver_device, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 2)", GAME_SUPPORTS_SAVE ) /* board was a bootleg but set might still be original */ |
| 1155 | GAME( 1985, wiz, 0, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu", "Wiz", GAME_SUPPORTS_SAVE ) |
| 1156 | GAME( 1985, wizt, wiz, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 1)", GAME_SUPPORTS_SAVE ) |
| 1157 | GAME( 1985, wizta, wiz, wiz, wiz, driver_device, 0, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 2)", GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/bigstrkb.h
| r245395 | r245396 | |
| 3 | 3 | public: |
| 4 | 4 | bigstrkb_state(const machine_config &mconfig, device_type type, const char *tag) |
| 5 | 5 | : driver_device(mconfig, type, tag), |
| 6 | m_maincpu(*this, "maincpu"), |
| 7 | m_gfxdecode(*this, "gfxdecode"), |
| 8 | m_palette(*this, "palette"), |
| 6 | 9 | m_videoram2(*this, "videoram2"), |
| 7 | 10 | m_videoram3(*this, "videoram3"), |
| 8 | 11 | m_videoram(*this, "videoram"), |
| 9 | 12 | m_spriteram(*this, "spriteram"), |
| 10 | 13 | m_vidreg1(*this, "vidreg1"), |
| 11 | | m_vidreg2(*this, "vidreg2"), |
| 12 | | m_maincpu(*this, "maincpu"), |
| 13 | | m_gfxdecode(*this, "gfxdecode"), |
| 14 | | m_palette(*this, "palette") { } |
| 14 | m_vidreg2(*this, "vidreg2") { } |
| 15 | 15 | |
| 16 | | tilemap_t *m_tilemap; |
| 17 | | tilemap_t *m_tilemap2; |
| 18 | | tilemap_t *m_tilemap3; |
| 16 | required_device<cpu_device> m_maincpu; |
| 17 | required_device<gfxdecode_device> m_gfxdecode; |
| 18 | required_device<palette_device> m_palette; |
| 19 | 19 | |
| 20 | 20 | required_shared_ptr<UINT16> m_videoram2; |
| 21 | 21 | required_shared_ptr<UINT16> m_videoram3; |
| 22 | 22 | required_shared_ptr<UINT16> m_videoram; |
| 23 | 23 | required_shared_ptr<UINT16> m_spriteram; |
| 24 | | |
| 25 | 24 | required_shared_ptr<UINT16> m_vidreg1; |
| 26 | 25 | required_shared_ptr<UINT16> m_vidreg2; |
| 27 | 26 | |
| 28 | | DECLARE_WRITE16_MEMBER(bsb_videoram_w); |
| 29 | | DECLARE_WRITE16_MEMBER(bsb_videoram2_w); |
| 30 | | DECLARE_WRITE16_MEMBER(bsb_videoram3_w); |
| 31 | | TILEMAP_MAPPER_MEMBER(bsb_bg_scan); |
| 32 | | TILE_GET_INFO_MEMBER(get_bsb_tile_info); |
| 33 | | TILE_GET_INFO_MEMBER(get_bsb_tile2_info); |
| 34 | | TILE_GET_INFO_MEMBER(get_bsb_tile3_info); |
| 27 | tilemap_t *m_tilemap; |
| 28 | tilemap_t *m_tilemap2; |
| 29 | tilemap_t *m_tilemap3; |
| 30 | |
| 31 | DECLARE_WRITE16_MEMBER(videoram_w); |
| 32 | DECLARE_WRITE16_MEMBER(videoram2_w); |
| 33 | DECLARE_WRITE16_MEMBER(videoram3_w); |
| 34 | |
| 35 | TILEMAP_MAPPER_MEMBER(bg_scan); |
| 36 | TILE_GET_INFO_MEMBER(get_tile_info); |
| 37 | TILE_GET_INFO_MEMBER(get_tile2_info); |
| 38 | TILE_GET_INFO_MEMBER(get_tile3_info); |
| 39 | |
| 35 | 40 | virtual void video_start(); |
| 36 | | UINT32 screen_update_bigstrkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 41 | |
| 42 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 37 | 43 | void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); |
| 38 | | required_device<cpu_device> m_maincpu; |
| 39 | | required_device<gfxdecode_device> m_gfxdecode; |
| 40 | | required_device<palette_device> m_palette; |
| 41 | 44 | }; |
trunk/src/mame/video/bigstrkb.c
| r245395 | r245396 | |
| 47 | 47 | |
| 48 | 48 | /* Tilemaps */ |
| 49 | 49 | |
| 50 | | TILEMAP_MAPPER_MEMBER(bigstrkb_state::bsb_bg_scan) |
| 50 | TILEMAP_MAPPER_MEMBER(bigstrkb_state::bg_scan) |
| 51 | 51 | { |
| 52 | 52 | int offset; |
| 53 | 53 | |
| r245395 | r245396 | |
| 58 | 58 | return offset; |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | | TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile_info) |
| 61 | TILE_GET_INFO_MEMBER(bigstrkb_state::get_tile_info) |
| 62 | 62 | { |
| 63 | 63 | int tileno,col; |
| 64 | 64 | |
| r245395 | r245396 | |
| 68 | 68 | SET_TILE_INFO_MEMBER(0,tileno,col>>12,0); |
| 69 | 69 | } |
| 70 | 70 | |
| 71 | | WRITE16_MEMBER(bigstrkb_state::bsb_videoram_w) |
| 71 | WRITE16_MEMBER(bigstrkb_state::videoram_w) |
| 72 | 72 | { |
| 73 | 73 | m_videoram[offset] = data; |
| 74 | 74 | m_tilemap->mark_tile_dirty(offset); |
| 75 | 75 | } |
| 76 | 76 | |
| 77 | | TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile2_info) |
| 77 | TILE_GET_INFO_MEMBER(bigstrkb_state::get_tile2_info) |
| 78 | 78 | { |
| 79 | 79 | int tileno,col; |
| 80 | 80 | |
| r245395 | r245396 | |
| 84 | 84 | SET_TILE_INFO_MEMBER(1,tileno,col>>12,0); |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | | WRITE16_MEMBER(bigstrkb_state::bsb_videoram2_w) |
| 87 | WRITE16_MEMBER(bigstrkb_state::videoram2_w) |
| 88 | 88 | { |
| 89 | 89 | m_videoram2[offset] = data; |
| 90 | 90 | m_tilemap2->mark_tile_dirty(offset); |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | |
| 94 | | TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile3_info) |
| 94 | TILE_GET_INFO_MEMBER(bigstrkb_state::get_tile3_info) |
| 95 | 95 | { |
| 96 | 96 | int tileno,col; |
| 97 | 97 | |
| r245395 | r245396 | |
| 101 | 101 | SET_TILE_INFO_MEMBER(1,tileno+0x2000,(col>>12)+(0x100/16),0); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | | WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w) |
| 104 | WRITE16_MEMBER(bigstrkb_state::videoram3_w) |
| 105 | 105 | { |
| 106 | 106 | m_videoram3[offset] = data; |
| 107 | 107 | m_tilemap3->mark_tile_dirty(offset); |
| r245395 | r245396 | |
| 111 | 111 | |
| 112 | 112 | void bigstrkb_state::video_start() |
| 113 | 113 | { |
| 114 | | m_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32); |
| 115 | | m_tilemap2 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile2_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64); |
| 116 | | m_tilemap3 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile3_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64); |
| 114 | m_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32); |
| 115 | m_tilemap2 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_tile2_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bg_scan),this), 16, 16,128,64); |
| 116 | m_tilemap3 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(bigstrkb_state::get_tile3_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bg_scan),this), 16, 16,128,64); |
| 117 | 117 | |
| 118 | 118 | m_tilemap->set_transparent_pen(15); |
| 119 | 119 | //m_tilemap2->set_transparent_pen(15); |
| 120 | 120 | m_tilemap3->set_transparent_pen(15); |
| 121 | 121 | } |
| 122 | 122 | |
| 123 | | UINT32 bigstrkb_state::screen_update_bigstrkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 123 | UINT32 bigstrkb_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 124 | 124 | { |
| 125 | 125 | // bitmap.fill(m_palette->black_pen(), cliprect); |
| 126 | 126 | |
| r245395 | r245396 | |
| 136 | 136 | draw_sprites(bitmap,cliprect); |
| 137 | 137 | m_tilemap->draw(screen, bitmap, cliprect, 0,0); |
| 138 | 138 | |
| 139 | | // popmessage ("Regs %08x %08x %08x %08x",bsb_vidreg2[0],bsb_vidreg2[1],bsb_vidreg2[2],bsb_vidreg2[3]); |
| 139 | // popmessage ("Regs %08x %08x %08x %08x",m_vidreg2[0],m_vidreg2[1],m_vidreg2[2],m_vidreg2[3]); |
| 140 | 140 | return 0; |
| 141 | 141 | } |