trunk/src/mame/drivers/niyanpai.c
| r245355 | r245356 | |
| 44 | 44 | #include "includes/niyanpai.h" |
| 45 | 45 | |
| 46 | 46 | |
| 47 | | void niyanpai_state::niyanpai_soundbank_w(int data) |
| 47 | WRITE16_MEMBER(niyanpai_state::sound_w) |
| 48 | 48 | { |
| 49 | | UINT8 *SNDROM = memregion("audiocpu")->base(); |
| 50 | | |
| 51 | | membank("bank1")->set_base(&SNDROM[0x08000 + (0x8000 * (data & 0x03))]); |
| 52 | | } |
| 53 | | |
| 54 | | READ8_MEMBER(niyanpai_state::niyanpai_sound_r) |
| 55 | | { |
| 56 | | return soundlatch_byte_r(space, 0); |
| 57 | | } |
| 58 | | |
| 59 | | WRITE16_MEMBER(niyanpai_state::niyanpai_sound_w) |
| 60 | | { |
| 61 | 49 | soundlatch_byte_w(space, 0, ((data >> 8) & 0xff)); |
| 62 | 50 | } |
| 63 | 51 | |
| 64 | | WRITE8_MEMBER(niyanpai_state::niyanpai_soundclr_w) |
| 52 | WRITE8_MEMBER(niyanpai_state::soundbank_w) |
| 65 | 53 | { |
| 66 | | soundlatch_clear_byte_w(space, 0, 0); |
| 54 | membank("soundbank")->set_entry(data & 0x03); |
| 67 | 55 | } |
| 68 | 56 | |
| 69 | | |
| 70 | | READ8_MEMBER(niyanpai_state::cpu_portd_r) |
| 57 | WRITE8_MEMBER(niyanpai_state::soundlatch_clear_w) |
| 71 | 58 | { |
| 72 | | return niyanpai_sound_r(space, 0); |
| 59 | if (!(data & 0x01)) soundlatch_clear_byte_w(space, 0, 0); |
| 73 | 60 | } |
| 74 | 61 | |
| 75 | | WRITE8_MEMBER(niyanpai_state::cpu_porta_w) |
| 76 | | { |
| 77 | | niyanpai_soundbank_w(data & 0x03); |
| 78 | | } |
| 79 | 62 | |
| 80 | | WRITE8_MEMBER(niyanpai_state::cpu_portb_w) |
| 81 | | { |
| 82 | | m_dac1->write_unsigned8(data); |
| 83 | | } |
| 84 | | |
| 85 | | WRITE8_MEMBER(niyanpai_state::cpu_portc_w) |
| 86 | | { |
| 87 | | m_dac2->write_unsigned8(data); |
| 88 | | } |
| 89 | | |
| 90 | | WRITE8_MEMBER(niyanpai_state::cpu_porte_w) |
| 91 | | { |
| 92 | | if (!(data & 0x01)) niyanpai_soundclr_w(space, 0, 0); |
| 93 | | } |
| 94 | | |
| 95 | | |
| 96 | | void niyanpai_state::machine_reset() |
| 97 | | { |
| 98 | | } |
| 99 | | |
| 100 | 63 | DRIVER_INIT_MEMBER(niyanpai_state,niyanpai) |
| 101 | 64 | { |
| 102 | 65 | UINT8 *SNDROM = memregion("audiocpu")->base(); |
| r245355 | r245356 | |
| 105 | 68 | SNDROM[0x0213] = 0x00; // DI -> NOP |
| 106 | 69 | |
| 107 | 70 | // initialize sound rom bank |
| 108 | | niyanpai_soundbank_w(0); |
| 71 | membank("soundbank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x8000); |
| 72 | membank("soundbank")->set_entry(0); |
| 109 | 73 | |
| 110 | 74 | // initialize out coin flag (musobana) |
| 111 | 75 | m_musobana_outcoin_flag = 1; |
| 112 | 76 | } |
| 113 | 77 | |
| 114 | 78 | |
| 115 | | READ16_MEMBER(niyanpai_state::niyanpai_dipsw_r) |
| 79 | READ16_MEMBER(niyanpai_state::dipsw_r) |
| 116 | 80 | { |
| 117 | 81 | UINT8 dipsw_a, dipsw_b; |
| 118 | 82 | |
| r245355 | r245356 | |
| 129 | 93 | return ((dipsw_a << 8) | dipsw_b); |
| 130 | 94 | } |
| 131 | 95 | |
| 96 | MACHINE_START_MEMBER(niyanpai_state, musobana) |
| 97 | { |
| 98 | save_item(NAME(m_motor_on)); |
| 99 | save_item(NAME(m_musobana_inputport)); |
| 100 | save_item(NAME(m_musobana_outcoin_flag)); |
| 101 | } |
| 102 | |
| 132 | 103 | READ16_MEMBER(niyanpai_state::musobana_inputport_0_r) |
| 133 | 104 | { |
| 134 | 105 | int portdata; |
| r245355 | r245356 | |
| 177 | 148 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 178 | 149 | AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram") |
| 179 | 150 | |
| 180 | | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 151 | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w) |
| 181 | 152 | AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram? |
| 182 | 153 | |
| 183 | 154 | AM_RANGE(0x0bf800, 0x0bffff) AM_RAM |
| 184 | 155 | |
| 185 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 156 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
| 186 | 157 | |
| 187 | 158 | AM_RANGE(0x200200, 0x200201) AM_WRITENOP // unknown |
| 188 | 159 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
| 189 | 160 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
| 190 | 161 | |
| 191 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
| 192 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
| 193 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 194 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
| 195 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
| 196 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 197 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
| 198 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
| 199 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 200 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 162 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 163 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 164 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
| 165 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 166 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 167 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
| 168 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 169 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 170 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 171 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
| 201 | 172 | |
| 202 | 173 | AM_RANGE(0x280200, 0x280201) AM_READ_PORT("P1_P2") |
| 203 | 174 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
| 204 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
| 205 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
| 206 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 175 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 176 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 177 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
| 207 | 178 | |
| 208 | 179 | AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers |
| 209 | 180 | ADDRESS_MAP_END |
| r245355 | r245356 | |
| 212 | 183 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 213 | 184 | AM_RANGE(0x040000, 0x040fff) AM_RAM |
| 214 | 185 | |
| 215 | | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 186 | AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(palette_r,palette_w) |
| 216 | 187 | AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM // palette work ram? |
| 217 | 188 | |
| 218 | 189 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
| 219 | 190 | AM_RANGE(0x0bf800, 0x0bffff) AM_RAM |
| 220 | 191 | |
| 221 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 192 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
| 222 | 193 | |
| 223 | 194 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
| 224 | 195 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
| 225 | 196 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
| 226 | 197 | |
| 227 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
| 228 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
| 229 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 198 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 199 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 200 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
| 230 | 201 | |
| 231 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
| 232 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
| 233 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 202 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 203 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 204 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
| 234 | 205 | |
| 235 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
| 236 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
| 237 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 238 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
| 239 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
| 240 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 206 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 207 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 208 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 209 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 210 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 211 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
| 241 | 212 | |
| 242 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 213 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
| 243 | 214 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
| 244 | 215 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
| 245 | 216 | |
| r245355 | r245356 | |
| 250 | 221 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 251 | 222 | AM_RANGE(0x040000, 0x040fff) AM_RAM |
| 252 | 223 | |
| 253 | | AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 224 | AM_RANGE(0x060000, 0x0608ff) AM_READWRITE(palette_r,palette_w) |
| 254 | 225 | AM_RANGE(0x060900, 0x0611ff) AM_RAM // palette work ram? |
| 255 | 226 | AM_RANGE(0x07f800, 0x07ffff) AM_RAM |
| 256 | 227 | |
| 257 | 228 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
| 258 | 229 | AM_RANGE(0x0bf000, 0x0bffff) AM_RAM |
| 259 | 230 | |
| 260 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 231 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
| 261 | 232 | |
| 262 | 233 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
| 263 | 234 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
| 264 | 235 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
| 265 | 236 | |
| 266 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
| 267 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
| 268 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 237 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 238 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 239 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
| 269 | 240 | |
| 270 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
| 271 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
| 272 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 241 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 242 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 243 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
| 273 | 244 | |
| 274 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
| 275 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
| 276 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 245 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 246 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 247 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 277 | 248 | |
| 278 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
| 279 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
| 280 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 249 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 250 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 251 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
| 281 | 252 | |
| 282 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 253 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
| 283 | 254 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
| 284 | 255 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
| 285 | 256 | |
| r245355 | r245356 | |
| 290 | 261 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 291 | 262 | AM_RANGE(0x0ff000, 0x0fffff) AM_RAM |
| 292 | 263 | |
| 293 | | AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w) |
| 264 | AM_RANGE(0x0e0000, 0x0e08ff) AM_READWRITE(palette_r,palette_w) |
| 294 | 265 | AM_RANGE(0x0e0900, 0x0e11ff) AM_RAM // palette work ram? |
| 295 | 266 | |
| 296 | 267 | AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram") |
| 297 | 268 | AM_RANGE(0x0c0000, 0x0cffff) AM_RAM |
| 298 | 269 | |
| 299 | | AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w) |
| 270 | AM_RANGE(0x200000, 0x200001) AM_WRITE(sound_w) |
| 300 | 271 | |
| 301 | 272 | AM_RANGE(0x200200, 0x200201) AM_WRITE(musobana_inputport_w) // inputport select |
| 302 | 273 | AM_RANGE(0x240000, 0x240009) AM_WRITENOP // unknown |
| 303 | 274 | AM_RANGE(0x240200, 0x2403ff) AM_WRITENOP // unknown |
| 304 | 275 | |
| 305 | | AM_RANGE(0x240400, 0x240403) AM_READ8(niyanpai_blitter_0_r, 0x00ff) |
| 306 | | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(niyanpai_blitter_0_w, 0x00ff) |
| 307 | | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(niyanpai_clut_0_w, 0x00ff) |
| 276 | AM_RANGE(0x240400, 0x240403) AM_READ8(blitter_0_r, 0x00ff) |
| 277 | AM_RANGE(0x240400, 0x24041f) AM_WRITE8(blitter_0_w, 0x00ff) |
| 278 | AM_RANGE(0x240420, 0x24043f) AM_WRITE8(clut_0_w, 0x00ff) |
| 308 | 279 | |
| 309 | | AM_RANGE(0x240600, 0x240603) AM_READ8(niyanpai_blitter_1_r, 0x00ff) |
| 310 | | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(niyanpai_blitter_1_w, 0x00ff) |
| 311 | | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(niyanpai_clut_1_w, 0x00ff) |
| 280 | AM_RANGE(0x240600, 0x240603) AM_READ8(blitter_1_r, 0x00ff) |
| 281 | AM_RANGE(0x240600, 0x24061f) AM_WRITE8(blitter_1_w, 0x00ff) |
| 282 | AM_RANGE(0x240620, 0x24063f) AM_WRITE8(clut_1_w, 0x00ff) |
| 312 | 283 | |
| 313 | | AM_RANGE(0x240800, 0x240803) AM_READ8(niyanpai_blitter_2_r, 0x00ff) |
| 314 | | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(niyanpai_blitter_2_w, 0x00ff) |
| 315 | | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(niyanpai_clut_2_w, 0x00ff) |
| 284 | AM_RANGE(0x240800, 0x240803) AM_READ8(blitter_2_r, 0x00ff) |
| 285 | AM_RANGE(0x240800, 0x24081f) AM_WRITE8(blitter_2_w, 0x00ff) |
| 286 | AM_RANGE(0x240820, 0x24083f) AM_WRITE8(clut_2_w, 0x00ff) |
| 316 | 287 | |
| 317 | | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(niyanpai_clutsel_0_w, 0x00ff) |
| 318 | | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(niyanpai_clutsel_1_w, 0x00ff) |
| 319 | | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(niyanpai_clutsel_2_w, 0x00ff) |
| 288 | AM_RANGE(0x240a00, 0x240a01) AM_WRITE8(clutsel_0_w, 0x00ff) |
| 289 | AM_RANGE(0x240c00, 0x240c01) AM_WRITE8(clutsel_1_w, 0x00ff) |
| 290 | AM_RANGE(0x240e00, 0x240e01) AM_WRITE8(clutsel_2_w, 0x00ff) |
| 320 | 291 | |
| 321 | | AM_RANGE(0x280000, 0x280001) AM_READ(niyanpai_dipsw_r) |
| 292 | AM_RANGE(0x280000, 0x280001) AM_READ(dipsw_r) |
| 322 | 293 | AM_RANGE(0x280200, 0x280201) AM_READ(musobana_inputport_0_r) |
| 323 | 294 | AM_RANGE(0x280400, 0x280401) AM_READ_PORT("SYSTEM") |
| 324 | 295 | |
| r245355 | r245356 | |
| 329 | 300 | static ADDRESS_MAP_START( niyanpai_sound_map, AS_PROGRAM, 8, niyanpai_state ) |
| 330 | 301 | AM_RANGE(0x0000, 0x77ff) AM_ROM |
| 331 | 302 | AM_RANGE(0x7800, 0x7fff) AM_RAM |
| 332 | | AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") |
| 303 | AM_RANGE(0x8000, 0xffff) AM_ROMBANK("soundbank") |
| 333 | 304 | ADDRESS_MAP_END |
| 334 | 305 | |
| 335 | 306 | static ADDRESS_MAP_START( niyanpai_sound_io_map, AS_IO, 8, niyanpai_state ) |
| r245355 | r245356 | |
| 755 | 726 | INPUT_PORTS_END |
| 756 | 727 | |
| 757 | 728 | |
| 758 | | INTERRUPT_GEN_MEMBER(niyanpai_state::niyanpai_interrupt) |
| 729 | INTERRUPT_GEN_MEMBER(niyanpai_state::interrupt) |
| 759 | 730 | { |
| 760 | 731 | m_tmp68301->external_interrupt_0(); |
| 761 | 732 | } |
| r245355 | r245356 | |
| 771 | 742 | /* basic machine hardware */ |
| 772 | 743 | MCFG_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */ |
| 773 | 744 | MCFG_CPU_PROGRAM_MAP(niyanpai_map) |
| 774 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, niyanpai_interrupt) |
| 745 | MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, interrupt) |
| 775 | 746 | MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("tmp68301",tmp68301_device,irq_callback) |
| 776 | 747 | |
| 777 | 748 | MCFG_DEVICE_ADD("tmp68301", TMP68301, 0) |
| r245355 | r245356 | |
| 781 | 752 | MCFG_CPU_CONFIG(daisy_chain_sound) |
| 782 | 753 | MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map) |
| 783 | 754 | MCFG_CPU_IO_MAP(niyanpai_sound_io_map) |
| 784 | | MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, cpu_portd_r)) |
| 785 | | MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, cpu_porta_w)) |
| 786 | | MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8(niyanpai_state, cpu_portb_w)) |
| 787 | | MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(niyanpai_state, cpu_portc_w)) |
| 788 | | MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, cpu_porte_w)) |
| 755 | MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, soundlatch_byte_r)) |
| 756 | MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, soundbank_w)) |
| 757 | MCFG_TMPZ84C011_PORTB_WRITE_CB(DEVWRITE8("dac1", dac_device, write_unsigned8)) |
| 758 | MCFG_TMPZ84C011_PORTC_WRITE_CB(DEVWRITE8("dac2", dac_device, write_unsigned8)) |
| 759 | MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, soundlatch_clear_w)) |
| 789 | 760 | MCFG_TMPZ84C011_ZC0_CB(DEVWRITELINE("audiocpu", tmpz84c011_device, trg3)) |
| 790 | 761 | |
| 791 | 762 | MCFG_NVRAM_ADD_0FILL("nvram") |
| r245355 | r245356 | |
| 796 | 767 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 797 | 768 | MCFG_SCREEN_SIZE(1024, 512) |
| 798 | 769 | MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1) |
| 799 | | MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update_niyanpai) |
| 770 | MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update) |
| 800 | 771 | MCFG_SCREEN_PALETTE("palette") |
| 801 | 772 | |
| 802 | 773 | MCFG_PALETTE_ADD("palette", 256*3) |
| r245355 | r245356 | |
| 819 | 790 | /* basic machine hardware */ |
| 820 | 791 | MCFG_CPU_MODIFY("maincpu") |
| 821 | 792 | MCFG_CPU_PROGRAM_MAP(musobana_map) |
| 793 | |
| 794 | MCFG_MACHINE_START_OVERRIDE(niyanpai_state, musobana) |
| 822 | 795 | MACHINE_CONFIG_END |
| 823 | 796 | |
| 824 | | static MACHINE_CONFIG_DERIVED( mhhonban, niyanpai ) |
| 797 | static MACHINE_CONFIG_DERIVED( mhhonban, musobana ) |
| 825 | 798 | |
| 826 | 799 | /* basic machine hardware */ |
| 827 | 800 | MCFG_CPU_MODIFY("maincpu") |
| 828 | 801 | MCFG_CPU_PROGRAM_MAP(mhhonban_map) |
| 829 | 802 | MACHINE_CONFIG_END |
| 830 | 803 | |
| 831 | | static MACHINE_CONFIG_DERIVED( zokumahj, niyanpai ) |
| 804 | static MACHINE_CONFIG_DERIVED( zokumahj, musobana ) |
| 832 | 805 | |
| 833 | 806 | /* basic machine hardware */ |
| 834 | 807 | MCFG_CPU_MODIFY("maincpu") |
| r245355 | r245356 | |
| 930 | 903 | ROM_END |
| 931 | 904 | |
| 932 | 905 | |
| 933 | | GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", 0 ) |
| 934 | | GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", 0 ) |
| 935 | | GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", 0 ) |
| 936 | | GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", 0 ) |
| 937 | | GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", 0 ) |
| 906 | GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", GAME_SUPPORTS_SAVE ) |
| 907 | GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", GAME_SUPPORTS_SAVE ) |
| 908 | GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", GAME_SUPPORTS_SAVE ) |
| 909 | GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", GAME_SUPPORTS_SAVE ) |
| 910 | GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE ) |
trunk/src/mame/includes/niyanpai.h
| r245355 | r245356 | |
| 19 | 19 | m_screen(*this, "screen"), |
| 20 | 20 | m_palette(*this, "palette") { } |
| 21 | 21 | |
| 22 | | int m_musobana_inputport; |
| 23 | | int m_musobana_outcoin_flag; |
| 22 | required_device<cpu_device> m_maincpu; |
| 23 | required_device<tmp68301_device> m_tmp68301; |
| 24 | required_device<dac_device> m_dac1; |
| 25 | required_device<dac_device> m_dac2; |
| 26 | required_device<screen_device> m_screen; |
| 27 | required_device<palette_device> m_palette; |
| 24 | 28 | |
| 29 | // common |
| 25 | 30 | int m_scrollx[VRAM_MAX]; |
| 26 | 31 | int m_scrolly[VRAM_MAX]; |
| 27 | 32 | int m_blitter_destx[VRAM_MAX]; |
| r245355 | r245356 | |
| 45 | 50 | UINT16 *m_palette_ptr; |
| 46 | 51 | UINT8 *m_clut[VRAM_MAX]; |
| 47 | 52 | int m_flipscreen_old[VRAM_MAX]; |
| 48 | | DECLARE_READ8_MEMBER(niyanpai_sound_r); |
| 49 | | DECLARE_WRITE16_MEMBER(niyanpai_sound_w); |
| 50 | | DECLARE_WRITE8_MEMBER(niyanpai_soundclr_w); |
| 51 | | |
| 52 | | DECLARE_READ8_MEMBER(cpu_portd_r); |
| 53 | | DECLARE_WRITE8_MEMBER(cpu_porta_w); |
| 54 | | DECLARE_WRITE8_MEMBER(cpu_portb_w); |
| 55 | | DECLARE_WRITE8_MEMBER(cpu_portc_w); |
| 56 | | DECLARE_WRITE8_MEMBER(cpu_porte_w); |
| 57 | | |
| 58 | | DECLARE_READ16_MEMBER(niyanpai_dipsw_r); |
| 53 | emu_timer *m_blitter_timer; |
| 54 | |
| 55 | // musobana and derived machine configs |
| 56 | int m_musobana_inputport; |
| 57 | int m_musobana_outcoin_flag; |
| 58 | UINT8 m_motor_on; |
| 59 | |
| 60 | // common |
| 61 | DECLARE_WRITE16_MEMBER(sound_w); |
| 62 | DECLARE_WRITE8_MEMBER(soundbank_w); |
| 63 | DECLARE_WRITE8_MEMBER(soundlatch_clear_w); |
| 64 | DECLARE_READ16_MEMBER(dipsw_r); |
| 65 | DECLARE_READ16_MEMBER(palette_r); |
| 66 | DECLARE_WRITE16_MEMBER(palette_w); |
| 67 | DECLARE_WRITE8_MEMBER(blitter_0_w); |
| 68 | DECLARE_WRITE8_MEMBER(blitter_1_w); |
| 69 | DECLARE_WRITE8_MEMBER(blitter_2_w); |
| 70 | DECLARE_READ8_MEMBER(blitter_0_r); |
| 71 | DECLARE_READ8_MEMBER(blitter_1_r); |
| 72 | DECLARE_READ8_MEMBER(blitter_2_r); |
| 73 | DECLARE_WRITE8_MEMBER(clut_0_w); |
| 74 | DECLARE_WRITE8_MEMBER(clut_1_w); |
| 75 | DECLARE_WRITE8_MEMBER(clut_2_w); |
| 76 | DECLARE_WRITE8_MEMBER(clutsel_0_w); |
| 77 | DECLARE_WRITE8_MEMBER(clutsel_1_w); |
| 78 | DECLARE_WRITE8_MEMBER(clutsel_2_w); |
| 79 | DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w); |
| 80 | |
| 81 | // musobana and derived machine configs |
| 59 | 82 | DECLARE_READ16_MEMBER(musobana_inputport_0_r); |
| 60 | 83 | DECLARE_WRITE16_MEMBER(musobana_inputport_w); |
| 61 | | DECLARE_READ16_MEMBER(niyanpai_palette_r); |
| 62 | | DECLARE_WRITE16_MEMBER(niyanpai_palette_w); |
| 63 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_0_w); |
| 64 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_1_w); |
| 65 | | DECLARE_WRITE8_MEMBER(niyanpai_blitter_2_w); |
| 66 | | DECLARE_READ8_MEMBER(niyanpai_blitter_0_r); |
| 67 | | DECLARE_READ8_MEMBER(niyanpai_blitter_1_r); |
| 68 | | DECLARE_READ8_MEMBER(niyanpai_blitter_2_r); |
| 69 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_0_w); |
| 70 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_1_w); |
| 71 | | DECLARE_WRITE8_MEMBER(niyanpai_clut_2_w); |
| 72 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_0_w); |
| 73 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_1_w); |
| 74 | | DECLARE_WRITE8_MEMBER(niyanpai_clutsel_2_w); |
| 84 | |
| 75 | 85 | DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r); |
| 86 | |
| 76 | 87 | DECLARE_DRIVER_INIT(niyanpai); |
| 77 | | DECLARE_WRITE16_MEMBER(tmp68301_parallel_port_w); |
| 78 | | UINT8 m_motor_on; |
| 79 | | virtual void machine_reset(); |
| 80 | 88 | virtual void video_start(); |
| 81 | | UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 82 | | INTERRUPT_GEN_MEMBER(niyanpai_interrupt); |
| 83 | | int niyanpai_blitter_r(int vram, int offset); |
| 84 | | void niyanpai_blitter_w(int vram, int offset, UINT8 data); |
| 85 | | void niyanpai_clutsel_w(int vram, UINT8 data); |
| 86 | | void niyanpai_clut_w(int vram, int offset, UINT8 data); |
| 87 | | void niyanpai_vramflip(int vram); |
| 89 | DECLARE_MACHINE_START(musobana); |
| 90 | |
| 91 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 92 | int blitter_r(int vram, int offset); |
| 93 | void blitter_w(int vram, int offset, UINT8 data); |
| 94 | void clutsel_w(int vram, UINT8 data); |
| 95 | void clut_w(int vram, int offset, UINT8 data); |
| 96 | void vramflip(int vram); |
| 88 | 97 | void update_pixel(int vram, int x, int y); |
| 89 | | void niyanpai_gfxdraw(int vram); |
| 90 | | void niyanpai_soundbank_w(int data); |
| 91 | | required_device<cpu_device> m_maincpu; |
| 92 | | required_device<tmp68301_device> m_tmp68301; |
| 93 | | required_device<dac_device> m_dac1; |
| 94 | | required_device<dac_device> m_dac2; |
| 95 | | required_device<screen_device> m_screen; |
| 96 | | required_device<palette_device> m_palette; |
| 98 | void gfxdraw(int vram); |
| 97 | 99 | |
| 100 | INTERRUPT_GEN_MEMBER(interrupt); |
| 101 | |
| 98 | 102 | protected: |
| 99 | 103 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 100 | 104 | }; |
trunk/src/mame/video/niyanpai.c
| r245355 | r245356 | |
| 13 | 13 | |
| 14 | 14 | |
| 15 | 15 | ******************************************************************************/ |
| 16 | | READ16_MEMBER(niyanpai_state::niyanpai_palette_r) |
| 16 | READ16_MEMBER(niyanpai_state::palette_r) |
| 17 | 17 | { |
| 18 | 18 | return m_palette_ptr[offset]; |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | | WRITE16_MEMBER(niyanpai_state::niyanpai_palette_w) |
| 21 | WRITE16_MEMBER(niyanpai_state::palette_w) |
| 22 | 22 | { |
| 23 | 23 | int r, g, b; |
| 24 | 24 | int offs_h, offs_l; |
| r245355 | r245356 | |
| 57 | 57 | |
| 58 | 58 | |
| 59 | 59 | ******************************************************************************/ |
| 60 | | int niyanpai_state::niyanpai_blitter_r(int vram, int offset) |
| 60 | int niyanpai_state::blitter_r(int vram, int offset) |
| 61 | 61 | { |
| 62 | 62 | int ret; |
| 63 | 63 | UINT8 *GFXROM = memregion("gfx1")->base(); |
| r245355 | r245356 | |
| 72 | 72 | return ret; |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | | void niyanpai_state::niyanpai_blitter_w(int vram, int offset, UINT8 data) |
| 75 | void niyanpai_state::blitter_w(int vram, int offset, UINT8 data) |
| 76 | 76 | { |
| 77 | 77 | switch (offset) |
| 78 | 78 | { |
| r245355 | r245356 | |
| 84 | 84 | // if (data & 0x20) popmessage("Unknown GFX Flag!! (0x20)"); |
| 85 | 85 | m_flipscreen[vram] = (data & 0x40) ? 0 : 1; |
| 86 | 86 | m_dispflag[vram] = (data & 0x80) ? 1 : 0; |
| 87 | | niyanpai_vramflip(vram); |
| 87 | vramflip(vram); |
| 88 | 88 | break; |
| 89 | 89 | case 0x01: m_scrollx[vram] = (m_scrollx[vram] & 0x0100) | data; break; |
| 90 | 90 | case 0x02: m_scrollx[vram] = (m_scrollx[vram] & 0x00ff) | ((data << 8) & 0x0100); break; |
| r245355 | r245356 | |
| 99 | 99 | case 0x0b: m_blitter_destx[vram] = (m_blitter_destx[vram] & 0x00ff) | (data << 8); break; |
| 100 | 100 | case 0x0c: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0xff00) | data; break; |
| 101 | 101 | case 0x0d: m_blitter_desty[vram] = (m_blitter_desty[vram] & 0x00ff) | (data << 8); |
| 102 | | niyanpai_gfxdraw(vram); |
| 102 | gfxdraw(vram); |
| 103 | 103 | break; |
| 104 | 104 | default: break; |
| 105 | 105 | } |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | | void niyanpai_state::niyanpai_clutsel_w(int vram, UINT8 data) |
| 108 | void niyanpai_state::clutsel_w(int vram, UINT8 data) |
| 109 | 109 | { |
| 110 | 110 | m_clutsel[vram] = data; |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | | void niyanpai_state::niyanpai_clut_w(int vram, int offset, UINT8 data) |
| 113 | void niyanpai_state::clut_w(int vram, int offset, UINT8 data) |
| 114 | 114 | { |
| 115 | 115 | m_clut[vram][((m_clutsel[vram] & 0xff) * 0x10) + (offset & 0x0f)] = data; |
| 116 | 116 | } |
| r245355 | r245356 | |
| 119 | 119 | |
| 120 | 120 | |
| 121 | 121 | ******************************************************************************/ |
| 122 | | void niyanpai_state::niyanpai_vramflip(int vram) |
| 122 | void niyanpai_state::vramflip(int vram) |
| 123 | 123 | { |
| 124 | 124 | int x, y; |
| 125 | 125 | UINT16 color1, color2; |
| r245355 | r245356 | |
| 172 | 172 | } |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | | void niyanpai_state::niyanpai_gfxdraw(int vram) |
| 175 | void niyanpai_state::gfxdraw(int vram) |
| 176 | 176 | { |
| 177 | 177 | UINT8 *GFX = memregion("gfx1")->base(); |
| 178 | 178 | int width = m_screen->width(); |
| r245355 | r245356 | |
| 324 | 324 | } |
| 325 | 325 | |
| 326 | 326 | m_nb19010_busyflag = 0; |
| 327 | | timer_set(attotime::from_nsec(1000 * m_nb19010_busyctr), TIMER_BLITTER); |
| 327 | m_blitter_timer->adjust(attotime::from_nsec(1000 * m_nb19010_busyctr)); |
| 328 | 328 | } |
| 329 | 329 | |
| 330 | 330 | /****************************************************************************** |
| 331 | 331 | |
| 332 | 332 | |
| 333 | 333 | ******************************************************************************/ |
| 334 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_0_w){ niyanpai_blitter_w(0, offset, data); } |
| 335 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_1_w){ niyanpai_blitter_w(1, offset, data); } |
| 336 | | WRITE8_MEMBER(niyanpai_state::niyanpai_blitter_2_w){ niyanpai_blitter_w(2, offset, data); } |
| 334 | WRITE8_MEMBER(niyanpai_state::blitter_0_w){ blitter_w(0, offset, data); } |
| 335 | WRITE8_MEMBER(niyanpai_state::blitter_1_w){ blitter_w(1, offset, data); } |
| 336 | WRITE8_MEMBER(niyanpai_state::blitter_2_w){ blitter_w(2, offset, data); } |
| 337 | 337 | |
| 338 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_0_r){ return niyanpai_blitter_r(0, offset); } |
| 339 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_1_r){ return niyanpai_blitter_r(1, offset); } |
| 340 | | READ8_MEMBER(niyanpai_state::niyanpai_blitter_2_r){ return niyanpai_blitter_r(2, offset); } |
| 338 | READ8_MEMBER(niyanpai_state::blitter_0_r){ return blitter_r(0, offset); } |
| 339 | READ8_MEMBER(niyanpai_state::blitter_1_r){ return blitter_r(1, offset); } |
| 340 | READ8_MEMBER(niyanpai_state::blitter_2_r){ return blitter_r(2, offset); } |
| 341 | 341 | |
| 342 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_0_w){ niyanpai_clut_w(0, offset, data); } |
| 343 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_1_w){ niyanpai_clut_w(1, offset, data); } |
| 344 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clut_2_w){ niyanpai_clut_w(2, offset, data); } |
| 342 | WRITE8_MEMBER(niyanpai_state::clut_0_w){ clut_w(0, offset, data); } |
| 343 | WRITE8_MEMBER(niyanpai_state::clut_1_w){ clut_w(1, offset, data); } |
| 344 | WRITE8_MEMBER(niyanpai_state::clut_2_w){ clut_w(2, offset, data); } |
| 345 | 345 | |
| 346 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_0_w){ niyanpai_clutsel_w(0, data); } |
| 347 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_1_w){ niyanpai_clutsel_w(1, data); } |
| 348 | | WRITE8_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(2, data); } |
| 346 | WRITE8_MEMBER(niyanpai_state::clutsel_0_w){ clutsel_w(0, data); } |
| 347 | WRITE8_MEMBER(niyanpai_state::clutsel_1_w){ clutsel_w(1, data); } |
| 348 | WRITE8_MEMBER(niyanpai_state::clutsel_2_w){ clutsel_w(2, data); } |
| 349 | 349 | |
| 350 | 350 | /****************************************************************************** |
| 351 | 351 | |
| r245355 | r245356 | |
| 370 | 370 | m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000); |
| 371 | 371 | m_clut[2] = auto_alloc_array(machine(), UINT8, 0x1000); |
| 372 | 372 | m_nb19010_busyflag = 1; |
| 373 | m_blitter_timer = timer_alloc(TIMER_BLITTER); |
| 374 | |
| 375 | save_item(NAME(m_scrollx)); |
| 376 | save_item(NAME(m_scrolly)); |
| 377 | save_item(NAME(m_blitter_destx)); |
| 378 | save_item(NAME(m_blitter_desty)); |
| 379 | save_item(NAME(m_blitter_sizex)); |
| 380 | save_item(NAME(m_blitter_sizey)); |
| 381 | save_item(NAME(m_blitter_src_addr)); |
| 382 | save_item(NAME(m_blitter_direction_x)); |
| 383 | save_item(NAME(m_blitter_direction_y)); |
| 384 | save_item(NAME(m_dispflag)); |
| 385 | save_item(NAME(m_flipscreen)); |
| 386 | save_item(NAME(m_clutmode)); |
| 387 | save_item(NAME(m_transparency)); |
| 388 | save_item(NAME(m_clutsel)); |
| 389 | save_item(NAME(m_screen_refresh)); |
| 390 | save_item(NAME(m_nb19010_busyctr)); |
| 391 | save_item(NAME(m_nb19010_busyflag)); |
| 392 | save_item(NAME(m_flipscreen_old)); |
| 393 | save_pointer(NAME(m_palette_ptr), 0x480); |
| 394 | save_pointer(NAME(m_videoram[0]), width * height); |
| 395 | save_pointer(NAME(m_videoram[1]), width * height); |
| 396 | save_pointer(NAME(m_videoram[2]), width * height); |
| 397 | save_pointer(NAME(m_videoworkram[0]), width * height); |
| 398 | save_pointer(NAME(m_videoworkram[1]), width * height); |
| 399 | save_pointer(NAME(m_videoworkram[2]), width * height); |
| 400 | save_pointer(NAME(m_clut[0]), 0x1000); |
| 401 | save_pointer(NAME(m_clut[1]), 0x1000); |
| 402 | save_pointer(NAME(m_clut[2]), 0x1000); |
| 403 | save_item(NAME(m_tmpbitmap[0])); |
| 404 | save_item(NAME(m_tmpbitmap[1])); |
| 405 | save_item(NAME(m_tmpbitmap[2])); |
| 373 | 406 | } |
| 374 | 407 | |
| 375 | 408 | /****************************************************************************** |
| 376 | 409 | |
| 377 | 410 | |
| 378 | 411 | ******************************************************************************/ |
| 379 | | UINT32 niyanpai_state::screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 412 | UINT32 niyanpai_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 380 | 413 | { |
| 381 | 414 | int i; |
| 382 | 415 | int x, y; |