trunk/src/mame/drivers/pooyan.c
| r243816 | r243817 | |
| 24 | 24 | * |
| 25 | 25 | *************************************/ |
| 26 | 26 | |
| 27 | | INTERRUPT_GEN_MEMBER(pooyan_state::pooyan_interrupt) |
| 27 | INTERRUPT_GEN_MEMBER(pooyan_state::interrupt) |
| 28 | 28 | { |
| 29 | 29 | if (m_irq_enable) |
| 30 | 30 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); |
| r243816 | r243817 | |
| 47 | 47 | |
| 48 | 48 | static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pooyan_state ) |
| 49 | 49 | AM_RANGE(0x0000, 0x7fff) AM_ROM |
| 50 | | AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pooyan_colorram_w) AM_SHARE("colorram") |
| 51 | | AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pooyan_videoram_w) AM_SHARE("videoram") |
| 50 | AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram") |
| 51 | AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") |
| 52 | 52 | AM_RANGE(0x8800, 0x8fff) AM_RAM |
| 53 | 53 | AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0b00) AM_RAM AM_SHARE("spriteram") |
| 54 | 54 | AM_RANGE(0x9400, 0x94ff) AM_MIRROR(0x0b00) AM_RAM AM_SHARE("spriteram2") |
| r243816 | r243817 | |
| 62 | 62 | AM_RANGE(0xa180, 0xa180) AM_MIRROR(0x5e78) AM_WRITE(irq_enable_w) |
| 63 | 63 | AM_RANGE(0xa181, 0xa181) AM_MIRROR(0x5e78) AM_DEVWRITE("timeplt_audio", timeplt_audio_device, sh_irqtrigger_w) |
| 64 | 64 | AM_RANGE(0xa183, 0xa183) AM_MIRROR(0x5e78) AM_WRITENOP // ??? |
| 65 | | AM_RANGE(0xa187, 0xa187) AM_MIRROR(0x5e78) AM_WRITE(pooyan_flipscreen_w) |
| 65 | AM_RANGE(0xa187, 0xa187) AM_MIRROR(0x5e78) AM_WRITE(flipscreen_w) |
| 66 | 66 | ADDRESS_MAP_END |
| 67 | 67 | |
| 68 | 68 | |
| r243816 | r243817 | |
| 187 | 187 | /* basic machine hardware */ |
| 188 | 188 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) |
| 189 | 189 | MCFG_CPU_PROGRAM_MAP(main_map) |
| 190 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", pooyan_state, pooyan_interrupt) |
| 190 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pooyan_state, interrupt) |
| 191 | 191 | |
| 192 | 192 | |
| 193 | 193 | /* video hardware */ |
| r243816 | r243817 | |
| 195 | 195 | MCFG_SCREEN_REFRESH_RATE(60) |
| 196 | 196 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 197 | 197 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 198 | | MCFG_SCREEN_UPDATE_DRIVER(pooyan_state, screen_update_pooyan) |
| 198 | MCFG_SCREEN_UPDATE_DRIVER(pooyan_state, screen_update) |
| 199 | 199 | MCFG_SCREEN_PALETTE("palette") |
| 200 | 200 | |
| 201 | 201 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", pooyan) |
trunk/src/mame/drivers/pturn.c
| r243816 | r243817 | |
| 84 | 84 | public: |
| 85 | 85 | pturn_state(const machine_config &mconfig, device_type type, const char *tag) |
| 86 | 86 | : driver_device(mconfig, type, tag), |
| 87 | | m_videoram(*this, "videoram"), |
| 88 | | m_spriteram(*this, "spriteram"), |
| 89 | 87 | m_maincpu(*this, "maincpu"), |
| 90 | 88 | m_gfxdecode(*this, "gfxdecode"), |
| 91 | | m_palette(*this, "palette") { } |
| 89 | m_palette(*this, "palette"), |
| 90 | m_videoram(*this, "videoram"), |
| 91 | m_spriteram(*this, "spriteram") { } |
| 92 | 92 | |
| 93 | required_device<cpu_device> m_maincpu; |
| 94 | required_device<gfxdecode_device> m_gfxdecode; |
| 95 | required_device<palette_device> m_palette; |
| 96 | |
| 93 | 97 | required_shared_ptr<UINT8> m_videoram; |
| 98 | required_shared_ptr<UINT8> m_spriteram; |
| 99 | |
| 94 | 100 | tilemap_t *m_fgmap; |
| 95 | 101 | tilemap_t *m_bgmap; |
| 96 | 102 | int m_bgbank; |
| r243816 | r243817 | |
| 100 | 106 | int m_bgcolor; |
| 101 | 107 | int m_nmi_main; |
| 102 | 108 | int m_nmi_sub; |
| 103 | | required_shared_ptr<UINT8> m_spriteram; |
| 104 | | DECLARE_WRITE8_MEMBER(pturn_videoram_w); |
| 109 | |
| 110 | DECLARE_WRITE8_MEMBER(videoram_w); |
| 105 | 111 | DECLARE_WRITE8_MEMBER(nmi_main_enable_w); |
| 106 | 112 | DECLARE_WRITE8_MEMBER(nmi_sub_enable_w); |
| 107 | | DECLARE_WRITE8_MEMBER(sound_w); |
| 108 | 113 | DECLARE_WRITE8_MEMBER(bgcolor_w); |
| 109 | 114 | DECLARE_WRITE8_MEMBER(bg_scrollx_w); |
| 110 | 115 | DECLARE_WRITE8_MEMBER(fgpalette_w); |
| r243816 | r243817 | |
| 112 | 117 | DECLARE_WRITE8_MEMBER(fgbank_w); |
| 113 | 118 | DECLARE_WRITE8_MEMBER(bgbank_w); |
| 114 | 119 | DECLARE_WRITE8_MEMBER(flip_w); |
| 115 | | DECLARE_READ8_MEMBER(pturn_custom_r); |
| 116 | | DECLARE_READ8_MEMBER(pturn_protection_r); |
| 117 | | DECLARE_READ8_MEMBER(pturn_protection2_r); |
| 120 | DECLARE_READ8_MEMBER(custom_r); |
| 121 | DECLARE_READ8_MEMBER(protection_r); |
| 122 | DECLARE_READ8_MEMBER(protection2_r); |
| 123 | |
| 124 | TILE_GET_INFO_MEMBER(get_tile_info); |
| 125 | TILE_GET_INFO_MEMBER(get_bg_tile_info); |
| 126 | |
| 118 | 127 | DECLARE_DRIVER_INIT(pturn); |
| 119 | | TILE_GET_INFO_MEMBER(get_pturn_tile_info); |
| 120 | | TILE_GET_INFO_MEMBER(get_pturn_bg_tile_info); |
| 128 | virtual void machine_start(); |
| 121 | 129 | virtual void machine_reset(); |
| 122 | 130 | virtual void video_start(); |
| 123 | | UINT32 screen_update_pturn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 124 | | INTERRUPT_GEN_MEMBER(pturn_sub_intgen); |
| 125 | | INTERRUPT_GEN_MEMBER(pturn_main_intgen); |
| 126 | | required_device<cpu_device> m_maincpu; |
| 127 | | required_device<gfxdecode_device> m_gfxdecode; |
| 128 | | required_device<palette_device> m_palette; |
| 131 | |
| 132 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 133 | |
| 134 | INTERRUPT_GEN_MEMBER(sub_intgen); |
| 135 | INTERRUPT_GEN_MEMBER(main_intgen); |
| 129 | 136 | }; |
| 130 | 137 | |
| 131 | 138 | |
| r243816 | r243817 | |
| 139 | 146 | 0xa0, 0xb0, 0xe0, 0xf0 |
| 140 | 147 | }; |
| 141 | 148 | |
| 142 | | TILE_GET_INFO_MEMBER(pturn_state::get_pturn_tile_info) |
| 149 | TILE_GET_INFO_MEMBER(pturn_state::get_tile_info) |
| 143 | 150 | { |
| 144 | | UINT8 *videoram = m_videoram; |
| 145 | | int tileno; |
| 146 | | tileno = videoram[tile_index]; |
| 151 | int tileno = m_videoram[tile_index]; |
| 147 | 152 | |
| 148 | 153 | tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(m_fgbank<<8); |
| 149 | 154 | |
| r243816 | r243817 | |
| 152 | 157 | |
| 153 | 158 | |
| 154 | 159 | |
| 155 | | TILE_GET_INFO_MEMBER(pturn_state::get_pturn_bg_tile_info) |
| 160 | TILE_GET_INFO_MEMBER(pturn_state::get_bg_tile_info) |
| 156 | 161 | { |
| 157 | | int tileno,palno; |
| 158 | | tileno = memregion("user1")->base()[tile_index]; |
| 159 | | palno=m_bgpalette; |
| 162 | int tileno = memregion("user1")->base()[tile_index]; |
| 163 | int palno=m_bgpalette; |
| 160 | 164 | if(palno==1) |
| 161 | 165 | { |
| 162 | 166 | palno=25; |
| r243816 | r243817 | |
| 166 | 170 | |
| 167 | 171 | void pturn_state::video_start() |
| 168 | 172 | { |
| 169 | | m_fgmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32); |
| 173 | m_fgmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pturn_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32); |
| 170 | 174 | m_fgmap->set_transparent_pen(0); |
| 171 | | m_bgmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_bg_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32*8); |
| 175 | m_bgmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pturn_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32*8); |
| 172 | 176 | m_bgmap->set_transparent_pen(0); |
| 177 | |
| 178 | save_item(NAME(m_bgbank)); |
| 179 | save_item(NAME(m_fgbank)); |
| 180 | save_item(NAME(m_bgpalette)); |
| 181 | save_item(NAME(m_fgpalette)); |
| 182 | save_item(NAME(m_bgcolor)); |
| 173 | 183 | } |
| 174 | 184 | |
| 175 | | UINT32 pturn_state::screen_update_pturn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 185 | UINT32 pturn_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 176 | 186 | { |
| 177 | | UINT8 *spriteram = m_spriteram; |
| 178 | | int offs; |
| 179 | | int sx, sy; |
| 180 | | int flipx, flipy; |
| 181 | | |
| 182 | 187 | bitmap.fill(m_bgcolor, cliprect); |
| 183 | 188 | m_bgmap->draw(screen, bitmap, cliprect, 0,0); |
| 184 | | for ( offs = 0x80-4 ; offs >=0 ; offs -= 4) |
| 189 | for (int offs = 0x80-4 ; offs >=0 ; offs -= 4) |
| 185 | 190 | { |
| 186 | | sy=256-spriteram[offs]-16 ; |
| 187 | | sx=spriteram[offs+3]-16 ; |
| 191 | int sy=256-m_spriteram[offs]-16 ; |
| 192 | int sx=m_spriteram[offs+3]-16 ; |
| 188 | 193 | |
| 189 | | flipx=spriteram[offs+1]&0x40; |
| 190 | | flipy=spriteram[offs+1]&0x80; |
| 194 | int flipx=m_spriteram[offs+1]&0x40; |
| 195 | int flipy=m_spriteram[offs+1]&0x80; |
| 191 | 196 | |
| 192 | 197 | |
| 193 | 198 | if (flip_screen_x()) |
| r243816 | r243817 | |
| 205 | 210 | if(sx|sy) |
| 206 | 211 | { |
| 207 | 212 | m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, |
| 208 | | spriteram[offs+1] & 0x3f , |
| 209 | | (spriteram[offs+2] & 0x1f), |
| 213 | m_spriteram[offs+1] & 0x3f , |
| 214 | (m_spriteram[offs+2] & 0x1f), |
| 210 | 215 | flipx, flipy, |
| 211 | 216 | sx,sy,0); |
| 212 | 217 | } |
| r243816 | r243817 | |
| 216 | 221 | } |
| 217 | 222 | |
| 218 | 223 | #ifdef UNUSED_FUNCTION |
| 219 | | READ8_MEMBER(pturn_state::pturn_protection_r) |
| 224 | READ8_MEMBER(pturn_state::protection_r) |
| 220 | 225 | { |
| 221 | 226 | return 0x66; |
| 222 | 227 | } |
| 223 | 228 | |
| 224 | | READ8_MEMBER(pturn_state::pturn_protection2_r) |
| 229 | READ8_MEMBER(pturn_state::protection2_r) |
| 225 | 230 | { |
| 226 | 231 | return 0xfe; |
| 227 | 232 | } |
| 228 | 233 | #endif |
| 229 | 234 | |
| 230 | | WRITE8_MEMBER(pturn_state::pturn_videoram_w) |
| 235 | WRITE8_MEMBER(pturn_state::videoram_w) |
| 231 | 236 | { |
| 232 | | UINT8 *videoram = m_videoram; |
| 233 | | videoram[offset]=data; |
| 237 | m_videoram[offset]=data; |
| 234 | 238 | m_fgmap->mark_tile_dirty(offset); |
| 235 | 239 | } |
| 236 | 240 | |
| r243816 | r243817 | |
| 245 | 249 | m_nmi_sub = data; |
| 246 | 250 | } |
| 247 | 251 | |
| 248 | | WRITE8_MEMBER(pturn_state::sound_w) |
| 249 | | { |
| 250 | | soundlatch_byte_w(space,0,data); |
| 251 | | } |
| 252 | | |
| 253 | | |
| 254 | 252 | WRITE8_MEMBER(pturn_state::bgcolor_w) |
| 255 | 253 | { |
| 256 | 254 | m_bgcolor=data; |
| r243816 | r243817 | |
| 292 | 290 | } |
| 293 | 291 | |
| 294 | 292 | |
| 295 | | READ8_MEMBER(pturn_state::pturn_custom_r) |
| 293 | READ8_MEMBER(pturn_state::custom_r) |
| 296 | 294 | { |
| 297 | 295 | int addr = (int)offset + 0xc800; |
| 298 | 296 | |
| r243816 | r243817 | |
| 321 | 319 | static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pturn_state ) |
| 322 | 320 | AM_RANGE(0x0000, 0x7fff) AM_ROM |
| 323 | 321 | AM_RANGE(0xc000, 0xc7ff) AM_RAM |
| 324 | | AM_RANGE(0xc800, 0xcfff) AM_WRITENOP AM_READ(pturn_custom_r) |
| 322 | AM_RANGE(0xc800, 0xcfff) AM_WRITENOP AM_READ(custom_r) |
| 325 | 323 | |
| 326 | 324 | AM_RANGE(0xdfe0, 0xdfe0) AM_NOP |
| 327 | 325 | |
| 328 | | AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_SHARE("videoram") |
| 326 | AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") |
| 329 | 327 | AM_RANGE(0xe400, 0xe400) AM_WRITE(fgpalette_w) |
| 330 | | AM_RANGE(0xe800, 0xe800) AM_WRITE(sound_w) |
| 328 | AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_byte_w) |
| 331 | 329 | |
| 332 | 330 | AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE("spriteram") |
| 333 | 331 | |
| r243816 | r243817 | |
| 467 | 465 | PORT_DIPSETTING( 0x80, DEF_STR( Japanese ) ) |
| 468 | 466 | INPUT_PORTS_END |
| 469 | 467 | |
| 470 | | INTERRUPT_GEN_MEMBER(pturn_state::pturn_sub_intgen) |
| 468 | INTERRUPT_GEN_MEMBER(pturn_state::sub_intgen) |
| 471 | 469 | { |
| 472 | 470 | if(m_nmi_sub) |
| 473 | 471 | { |
| r243816 | r243817 | |
| 475 | 473 | } |
| 476 | 474 | } |
| 477 | 475 | |
| 478 | | INTERRUPT_GEN_MEMBER(pturn_state::pturn_main_intgen) |
| 476 | INTERRUPT_GEN_MEMBER(pturn_state::main_intgen) |
| 479 | 477 | { |
| 480 | 478 | if (m_nmi_main) |
| 481 | 479 | { |
| r243816 | r243817 | |
| 483 | 481 | } |
| 484 | 482 | } |
| 485 | 483 | |
| 484 | void pturn_state::machine_start() |
| 485 | { |
| 486 | save_item(NAME(m_nmi_main)); |
| 487 | save_item(NAME(m_nmi_sub)); |
| 488 | } |
| 489 | |
| 486 | 490 | void pturn_state::machine_reset() |
| 487 | 491 | { |
| 488 | 492 | address_space &space = m_maincpu->space(AS_PROGRAM); |
| r243816 | r243817 | |
| 492 | 496 | static MACHINE_CONFIG_START( pturn, pturn_state ) |
| 493 | 497 | MCFG_CPU_ADD("maincpu", Z80, 12000000/3) |
| 494 | 498 | MCFG_CPU_PROGRAM_MAP(main_map) |
| 495 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", pturn_state, pturn_main_intgen) |
| 499 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pturn_state, main_intgen) |
| 496 | 500 | |
| 497 | 501 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/3) |
| 498 | 502 | MCFG_CPU_PROGRAM_MAP(sub_map) |
| 499 | | MCFG_CPU_PERIODIC_INT_DRIVER(pturn_state, pturn_sub_intgen, 3*60) |
| 503 | MCFG_CPU_PERIODIC_INT_DRIVER(pturn_state, sub_intgen, 3*60) |
| 500 | 504 | |
| 501 | 505 | |
| 502 | 506 | MCFG_SCREEN_ADD("screen", RASTER) |
| r243816 | r243817 | |
| 504 | 508 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 505 | 509 | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 506 | 510 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 507 | | MCFG_SCREEN_UPDATE_DRIVER(pturn_state, screen_update_pturn) |
| 511 | MCFG_SCREEN_UPDATE_DRIVER(pturn_state, screen_update) |
| 508 | 512 | MCFG_SCREEN_PALETTE("palette") |
| 509 | 513 | |
| 510 | 514 | MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 0x100) |
| r243816 | r243817 | |
| 561 | 565 | DRIVER_INIT_MEMBER(pturn_state,pturn) |
| 562 | 566 | { |
| 563 | 567 | /* |
| 564 | | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc0dd, 0xc0dd, read8_delegate(FUNC(pturn_state::pturn_protection_r), this)); |
| 565 | | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc0db, 0xc0db, read8_delegate(FUNC(pturn_state::pturn_protection2_r), this)); |
| 568 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc0dd, 0xc0dd, read8_delegate(FUNC(pturn_state::protection_r), this)); |
| 569 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc0db, 0xc0db, read8_delegate(FUNC(pturn_state::protection2_r), this)); |
| 566 | 570 | */ |
| 567 | 571 | } |
| 568 | 572 | |
| 569 | | GAME( 1984, pturn, 0, pturn, pturn, pturn_state, pturn, ROT90, "Jaleco", "Parallel Turn", GAME_IMPERFECT_COLORS ) |
| 573 | GAME( 1984, pturn, 0, pturn, pturn, pturn_state, pturn, ROT90, "Jaleco", "Parallel Turn", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/pooyan.h
| r243816 | r243817 | |
| 3 | 3 | public: |
| 4 | 4 | pooyan_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_colorram(*this, "colorram"), |
| 7 | 10 | m_videoram(*this, "videoram"), |
| 8 | 11 | m_spriteram(*this, "spriteram"), |
| 9 | | m_spriteram2(*this, "spriteram2"), |
| 10 | | m_maincpu(*this, "maincpu"), |
| 11 | | m_gfxdecode(*this, "gfxdecode"), |
| 12 | | m_palette(*this, "palette") { } |
| 12 | m_spriteram2(*this, "spriteram2") { } |
| 13 | 13 | |
| 14 | /* devices */ |
| 15 | required_device<cpu_device> m_maincpu; |
| 16 | required_device<gfxdecode_device> m_gfxdecode; |
| 17 | required_device<palette_device> m_palette; |
| 18 | |
| 14 | 19 | /* memory pointers */ |
| 15 | 20 | required_shared_ptr<UINT8> m_colorram; |
| 16 | 21 | required_shared_ptr<UINT8> m_videoram; |
| r243816 | r243817 | |
| 21 | 26 | tilemap_t *m_bg_tilemap; |
| 22 | 27 | |
| 23 | 28 | /* misc */ |
| 24 | | UINT8 m_irq_toggle; |
| 25 | 29 | UINT8 m_irq_enable; |
| 26 | 30 | |
| 27 | | /* devices */ |
| 28 | | required_device<cpu_device> m_maincpu; |
| 29 | | required_device<gfxdecode_device> m_gfxdecode; |
| 30 | | required_device<palette_device> m_palette; |
| 31 | | |
| 32 | 31 | DECLARE_WRITE8_MEMBER(irq_enable_w); |
| 33 | | DECLARE_WRITE8_MEMBER(pooyan_videoram_w); |
| 34 | | DECLARE_WRITE8_MEMBER(pooyan_colorram_w); |
| 35 | | DECLARE_WRITE8_MEMBER(pooyan_flipscreen_w); |
| 32 | DECLARE_WRITE8_MEMBER(videoram_w); |
| 33 | DECLARE_WRITE8_MEMBER(colorram_w); |
| 34 | DECLARE_WRITE8_MEMBER(flipscreen_w); |
| 35 | |
| 36 | 36 | TILE_GET_INFO_MEMBER(get_bg_tile_info); |
| 37 | |
| 37 | 38 | virtual void machine_start(); |
| 38 | 39 | virtual void machine_reset(); |
| 39 | 40 | virtual void video_start(); |
| 40 | 41 | DECLARE_PALETTE_INIT(pooyan); |
| 41 | | UINT32 screen_update_pooyan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 42 | | INTERRUPT_GEN_MEMBER(pooyan_interrupt); |
| 42 | |
| 43 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 43 | 44 | void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); |
| 45 | |
| 46 | INTERRUPT_GEN_MEMBER(interrupt); |
| 44 | 47 | }; |