trunk/src/mame/drivers/fresh.c
| r20767 | r20768 | |
| 17 | 17 | |
| 18 | 18 | */ |
| 19 | 19 | |
| 20 | // notes : is the reel scrolling (division of the screen) done with raster interrupts? |
| 21 | |
| 20 | 22 | #include "emu.h" |
| 21 | 23 | #include "cpu/m68000/m68000.h" |
| 22 | 24 | |
| r20767 | r20768 | |
| 59 | 61 | DECLARE_WRITE16_MEMBER(fresh_paletteram_1_w); |
| 60 | 62 | DECLARE_WRITE16_MEMBER(fresh_paletteram_2_w); |
| 61 | 63 | |
| 64 | UINT16 m_d30000_value; |
| 65 | |
| 66 | DECLARE_WRITE16_MEMBER( d30000_write ) |
| 67 | { |
| 68 | m_d30000_value = data; |
| 69 | } |
| 70 | |
| 71 | DECLARE_WRITE16_MEMBER( c71000_write ) |
| 72 | { |
| 73 | logerror("c74000_write (scroll 0) %04x (m_d30000_value = %04x)\n", data, m_d30000_value); |
| 74 | } |
| 75 | DECLARE_WRITE16_MEMBER( c74000_write ) |
| 76 | { |
| 77 | logerror("c74000_write (scroll 1) %04x (m_d30000_value = %04x)\n", data, m_d30000_value); |
| 78 | } |
| 79 | DECLARE_WRITE16_MEMBER( c75000_write ) |
| 80 | { |
| 81 | logerror("c75000_write (scroll 2) %04x (m_d30000_value = %04x)\n", data, m_d30000_value); |
| 82 | } |
| 83 | DECLARE_WRITE16_MEMBER( c76000_write ) |
| 84 | { |
| 85 | logerror("c76000_write (scroll 3) %04x (m_d30000_value = %04x)\n", data, m_d30000_value); |
| 86 | } |
| 62 | 87 | void update_palette(int offset); |
| 63 | 88 | |
| 64 | 89 | DECLARE_READ16_MEMBER( unk_r ) |
| r20767 | r20768 | |
| 170 | 195 | AM_RANGE(0xC20000, 0xC2ffff) AM_RAM_WRITE( fresh_bg_videoram_w ) AM_SHARE( "bg_videoram" ) |
| 171 | 196 | AM_RANGE(0xC30000, 0xC3ffff) AM_RAM_WRITE( fresh_attr_videoram_w ) AM_SHARE( "attr_videoram" ) |
| 172 | 197 | |
| 198 | // AM_RANGE(0xC70000, 0xC70001) AM_RAM |
| 199 | // AM_RANGE(0xC70002, 0xC70003) AM_RAM |
| 200 | AM_RANGE(0xC71000, 0xC71001) AM_WRITE(c71000_write) |
| 201 | // AM_RANGE(0xC72000, 0xC72001) AM_RAM |
| 202 | // AM_RANGE(0xC72002, 0xC72003) AM_RAM |
| 203 | // AM_RANGE(0xC73000, 0xC73001) AM_RAM |
| 204 | // AM_RANGE(0xC73002, 0xC73003) AM_RAM |
| 205 | AM_RANGE(0xC74000, 0xC74001) AM_WRITE(c74000_write) |
| 206 | AM_RANGE(0xC75000, 0xC75001) AM_WRITE(c75000_write) |
| 207 | AM_RANGE(0xC76000, 0xC76001) AM_WRITE(c76000_write) |
| 208 | // AM_RANGE(0xC77000, 0xC77001) AM_RAM |
| 209 | // AM_RANGE(0xC77002, 0xC77003) AM_RAM |
| 210 | |
| 173 | 211 | |
| 174 | 212 | // written together |
| 175 | 213 | AM_RANGE(0xC40000, 0xC417ff) AM_RAM_WRITE(fresh_paletteram_1_w) AM_SHARE( "paletteram_1" ) // 16-bit |
| 176 | 214 | AM_RANGE(0xC50000, 0xC517ff) AM_RAM_WRITE(fresh_paletteram_2_w) AM_SHARE( "paletteram_2" ) // 8-bit |
| 177 | 215 | |
| 178 | | AM_RANGE(0xD40000, 0xD40001) AM_READ_PORT("IN0") |
| 179 | | AM_RANGE(0xD70000, 0xD70001) AM_READ_PORT("IN1") |
| 216 | // AM_RANGE(0xD00000, 0xD00001) AM_RAM |
| 217 | // AM_RANGE(0xD10000, 0xD10001) AM_RAM |
| 218 | AM_RANGE(0xD30000, 0xD30001) AM_WRITE(d30000_write) |
| 219 | AM_RANGE(0xD40000, 0xD40001) AM_READ_PORT("IN0") //AM_WRITENOP // checks for 0x10 |
| 220 | // AM_RANGE(0xD40002, 0xD40003) AM_WRITENOP |
| 221 | AM_RANGE(0xD70000, 0xD70001) AM_READ_PORT("IN1") // checks for 0x10, dead loop if fail |
| 180 | 222 | |
| 181 | | AM_RANGE(0xE00000, 0xE00001) AM_READ_PORT("IN2") |
| 182 | | AM_RANGE(0xE20000, 0xE20001) AM_READ_PORT("IN3") |
| 183 | | AM_RANGE(0xE40000, 0xE40001) AM_READ_PORT("IN4") |
| 184 | | AM_RANGE(0xE60000, 0xE60001) AM_READ_PORT("IN5") |
| 223 | AM_RANGE(0xE00000, 0xE00001) AM_READ_PORT("DSW0") //AM_WRITENOP |
| 224 | AM_RANGE(0xE20000, 0xE20001) AM_READ_PORT("DSW1") //AM_WRITENOP |
| 225 | AM_RANGE(0xE40000, 0xE40001) AM_READ_PORT("DSW2") |
| 226 | AM_RANGE(0xE60000, 0xE60001) AM_READ_PORT("DSW3") |
| 185 | 227 | AM_RANGE(0xE80000, 0xE80001) AM_READ_PORT("IN6") |
| 186 | | AM_RANGE(0xEE0000, 0xEE0001) AM_READ_PORT("IN7") |
| 228 | AM_RANGE(0xEA0000, 0xEA0001) AM_READ_PORT("IN7") |
| 229 | AM_RANGE(0xEC0000, 0xEC0001) AM_READ_PORT("IN8") |
| 230 | AM_RANGE(0xEE0000, 0xEE0001) AM_READ_PORT("IN9") |
| 187 | 231 | |
| 188 | 232 | |
| 189 | 233 | AM_RANGE(0xF00000, 0xF0FFFF) AM_RAM |
| r20767 | r20768 | |
| 205 | 249 | PORT_DIPNAME( 0x0008, 0x0000, "IN-0:3" ) |
| 206 | 250 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 207 | 251 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 208 | | PORT_DIPNAME( 0x0010, 0x0010, "IN-0:4" ) |
| 252 | PORT_DIPNAME( 0x0010, 0x0010, "IN-0:4" ) // startup test |
| 209 | 253 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 210 | 254 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 211 | 255 | PORT_DIPNAME( 0x0020, 0x0000, "IN-0:5" ) |
| r20767 | r20768 | |
| 255 | 299 | PORT_DIPNAME( 0x0008, 0x0000, "IN-1:3" ) |
| 256 | 300 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 257 | 301 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 258 | | PORT_DIPNAME( 0x0010, 0x0010, "IN-1:4" ) |
| 302 | PORT_DIPNAME( 0x0010, 0x0010, "IN-1:4" ) // startup test |
| 259 | 303 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 260 | 304 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 261 | 305 | PORT_DIPNAME( 0x0020, 0x0000, "IN-1:5" ) |
| r20767 | r20768 | |
| 292 | 336 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 293 | 337 | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 294 | 338 | |
| 295 | | PORT_START("IN2") |
| 296 | | PORT_DIPNAME( 0x0001, 0x0000, "IN-2:0" ) |
| 339 | PORT_START("DSW0") |
| 340 | PORT_DIPNAME( 0x0001, 0x0000, "DSW-0:0" ) // SWITCH 1 in test mode |
| 297 | 341 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 298 | 342 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 299 | | PORT_DIPNAME( 0x0002, 0x0000, "IN-2:1" ) |
| 343 | PORT_DIPNAME( 0x0002, 0x0000, "DSW-0:1" ) |
| 300 | 344 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 301 | 345 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 302 | | PORT_DIPNAME( 0x0004, 0x0000, "IN-2:2" ) |
| 346 | PORT_DIPNAME( 0x0004, 0x0000, "DSW-0:2" ) |
| 303 | 347 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 304 | 348 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 305 | | PORT_DIPNAME( 0x0008, 0x0000, "IN-2:3" ) |
| 349 | PORT_DIPNAME( 0x0008, 0x0000, "DSW-0:3" ) |
| 306 | 350 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 307 | 351 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 308 | | PORT_DIPNAME( 0x0010, 0x0000, "IN-2:4" ) |
| 352 | PORT_DIPNAME( 0x0010, 0x0000, "DSW-0:4" ) |
| 309 | 353 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 310 | 354 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 311 | | PORT_DIPNAME( 0x0020, 0x0000, "IN-2:5" ) |
| 355 | PORT_DIPNAME( 0x0020, 0x0000, "DSW-0:5" ) |
| 312 | 356 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 313 | 357 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 314 | | PORT_DIPNAME( 0x0040, 0x0000, "IN-2:6" ) |
| 358 | PORT_DIPNAME( 0x0040, 0x0000, "DSW-0:6" ) |
| 315 | 359 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 316 | 360 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 317 | | PORT_DIPNAME( 0x0080, 0x0000, "IN-2:7" ) |
| 361 | PORT_DIPNAME( 0x0080, 0x0000, "DSW-0:7" ) |
| 318 | 362 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 319 | 363 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 320 | | PORT_DIPNAME( 0x0100, 0x0000, "IN-2:8" ) |
| 321 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 322 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 323 | | PORT_DIPNAME( 0x0200, 0x0000, "IN-2:9" ) |
| 324 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 325 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 326 | | PORT_DIPNAME( 0x0400, 0x0000, "IN-2:a" ) |
| 327 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 328 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 329 | | PORT_DIPNAME( 0x0800, 0x0000, "IN-2:b" ) |
| 330 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 331 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 332 | | PORT_DIPNAME( 0x1000, 0x0000, "IN-2:c" ) |
| 333 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 334 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 335 | | PORT_DIPNAME( 0x2000, 0x0000, "IN-2:d" ) |
| 336 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 337 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 338 | | PORT_DIPNAME( 0x4000, 0x0000, "IN-2:e" ) |
| 339 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 340 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 341 | | PORT_DIPNAME( 0x8000, 0x0000, "IN-2:f" ) |
| 342 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 343 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 344 | 364 | |
| 345 | | PORT_START("IN3") |
| 346 | | PORT_DIPNAME( 0x0001, 0x0000, "IN-3:0" ) |
| 365 | PORT_START("DSW1") |
| 366 | PORT_DIPNAME( 0x0001, 0x0000, "DSW-1:0" ) // SWITCH 2 in test mode |
| 347 | 367 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 348 | 368 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 349 | | PORT_DIPNAME( 0x0002, 0x0000, "IN-3:1" ) |
| 369 | PORT_DIPNAME( 0x0002, 0x0000, "DSW-1:1" ) |
| 350 | 370 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 351 | 371 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 352 | | PORT_DIPNAME( 0x0004, 0x0000, "IN-3:2" ) |
| 372 | PORT_DIPNAME( 0x0004, 0x0000, "DSW-1:2" ) |
| 353 | 373 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 354 | 374 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 355 | | PORT_DIPNAME( 0x0008, 0x0000, "IN-3:3" ) |
| 375 | PORT_DIPNAME( 0x0008, 0x0000, "DSW-1:3" ) |
| 356 | 376 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 357 | 377 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 358 | | PORT_DIPNAME( 0x0010, 0x0000, "IN-3:4" ) |
| 378 | PORT_DIPNAME( 0x0010, 0x0000, "DSW-1:4" ) |
| 359 | 379 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 360 | 380 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 361 | | PORT_DIPNAME( 0x0020, 0x0000, "IN-3:5" ) |
| 381 | PORT_DIPNAME( 0x0020, 0x0000, "DSW-1:5" ) |
| 362 | 382 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 363 | 383 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 364 | | PORT_DIPNAME( 0x0040, 0x0000, "IN-3:6" ) |
| 384 | PORT_DIPNAME( 0x0040, 0x0000, "DSW-1:6" ) |
| 365 | 385 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 366 | 386 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 367 | | PORT_DIPNAME( 0x0080, 0x0000, "IN-3:7" ) |
| 387 | PORT_DIPNAME( 0x0080, 0x0000, "DSW-1:7" ) |
| 368 | 388 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 369 | 389 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 370 | | PORT_DIPNAME( 0x0100, 0x0000, "IN-3:8" ) |
| 371 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 372 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 373 | | PORT_DIPNAME( 0x0200, 0x0000, "IN-3:9" ) |
| 374 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 375 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 376 | | PORT_DIPNAME( 0x0400, 0x0000, "IN-3:a" ) |
| 377 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 378 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 379 | | PORT_DIPNAME( 0x0800, 0x0000, "IN-3:b" ) |
| 380 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 381 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 382 | | PORT_DIPNAME( 0x1000, 0x0000, "IN-3:c" ) |
| 383 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 384 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 385 | | PORT_DIPNAME( 0x2000, 0x0000, "IN-3:d" ) |
| 386 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 387 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 388 | | PORT_DIPNAME( 0x4000, 0x0000, "IN-3:e" ) |
| 389 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 390 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 391 | | PORT_DIPNAME( 0x8000, 0x0000, "IN-3:f" ) |
| 392 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 393 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 394 | 390 | |
| 395 | | PORT_START("IN4") |
| 396 | | PORT_DIPNAME( 0x0001, 0x0000, "IN-4:0" ) |
| 391 | PORT_START("DSW2") |
| 392 | PORT_DIPNAME( 0x0001, 0x0000, "DSW-2:0" ) // SWITCH 3 in test mode |
| 397 | 393 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 398 | 394 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 399 | | PORT_DIPNAME( 0x0002, 0x0000, "IN-4:1" ) |
| 395 | PORT_DIPNAME( 0x0002, 0x0000, "DSW-2:1" ) |
| 400 | 396 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 401 | 397 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 402 | | PORT_DIPNAME( 0x0004, 0x0000, "IN-4:2" ) |
| 398 | PORT_DIPNAME( 0x0004, 0x0000, "DSW-2:2" ) |
| 403 | 399 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 404 | 400 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 405 | | PORT_DIPNAME( 0x0008, 0x0000, "IN-4:3" ) |
| 401 | PORT_DIPNAME( 0x0008, 0x0000, "DSW-2:3" ) |
| 406 | 402 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 407 | 403 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 408 | | PORT_DIPNAME( 0x0010, 0x0000, "IN-4:4" ) |
| 404 | PORT_DIPNAME( 0x0010, 0x0000, "DSW-2:4" ) |
| 409 | 405 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 410 | 406 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 411 | | PORT_DIPNAME( 0x0020, 0x0000, "IN-4:5" ) |
| 407 | PORT_DIPNAME( 0x0020, 0x0000, "DSW-2:5" ) |
| 412 | 408 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 413 | 409 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 414 | | PORT_DIPNAME( 0x0040, 0x0000, "IN-4:6 (off)" ) |
| 410 | PORT_DIPNAME( 0x0040, 0x0000, "DSW-2:6 (keep off)" ) |
| 415 | 411 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 416 | 412 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 417 | | PORT_DIPNAME( 0x0080, 0x0000, "IN-4:7" ) |
| 413 | PORT_DIPNAME( 0x0080, 0x0000, "DSW-2:7" ) |
| 418 | 414 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 419 | 415 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 420 | | PORT_DIPNAME( 0x0100, 0x0000, "IN-4:8" ) |
| 416 | |
| 417 | PORT_START("DSW3") |
| 418 | PORT_DIPNAME( 0x0001, 0x0000, "DSW-3:0" ) // SWITCH 4 in test mode |
| 421 | 419 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 422 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 423 | | PORT_DIPNAME( 0x0200, 0x0000, "IN-4:9" ) |
| 420 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 421 | PORT_DIPNAME( 0x0002, 0x0000, "DSW-3:1" ) |
| 424 | 422 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 425 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 426 | | PORT_DIPNAME( 0x0400, 0x0000, "IN-4:a" ) |
| 423 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 424 | PORT_DIPNAME( 0x0004, 0x0000, "DSW-3:2" ) |
| 427 | 425 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 428 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 429 | | PORT_DIPNAME( 0x0800, 0x0000, "IN-4:b" ) |
| 426 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 427 | PORT_DIPNAME( 0x0008, 0x0000, "DSW-3:3" ) |
| 430 | 428 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 431 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 432 | | PORT_DIPNAME( 0x1000, 0x0000, "IN-4:c" ) |
| 429 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 430 | PORT_DIPNAME( 0x0010, 0x0000, "DSW-3:4" ) |
| 433 | 431 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 434 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 435 | | PORT_DIPNAME( 0x2000, 0x0000, "IN-4:d" ) |
| 432 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 433 | PORT_DIPNAME( 0x0020, 0x0000, "DSW-3:5" ) |
| 436 | 434 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 437 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 438 | | PORT_DIPNAME( 0x4000, 0x0000, "IN-4:e" ) |
| 435 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 436 | PORT_DIPNAME( 0x0040, 0x0000, "DSW-3:6" ) |
| 439 | 437 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 440 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 441 | | PORT_DIPNAME( 0x8000, 0x0000, "IN-4:f" ) |
| 438 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 439 | PORT_DIPNAME( 0x0080, 0x0000, "DSW-3:7" ) |
| 442 | 440 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 443 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 441 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 444 | 442 | |
| 445 | | PORT_START("IN5") |
| 446 | | PORT_DIPNAME( 0x0001, 0x0001, "IN-5:0" ) |
| 443 | PORT_START("IN6") |
| 444 | PORT_DIPNAME( 0x0001, 0x0001, "IN-6:0" ) |
| 447 | 445 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 448 | 446 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 449 | | PORT_DIPNAME( 0x0002, 0x0002, "IN-5:1" ) |
| 447 | PORT_DIPNAME( 0x0002, 0x0002, "IN-6:1" ) |
| 450 | 448 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 451 | 449 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 452 | | PORT_DIPNAME( 0x0004, 0x0004, "IN-5:2" ) |
| 450 | PORT_DIPNAME( 0x0004, 0x0004, "IN-6:2" ) |
| 453 | 451 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 454 | 452 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 455 | | PORT_DIPNAME( 0x0008, 0x0008, "IN-5:3" ) |
| 453 | PORT_DIPNAME( 0x0008, 0x0008, "IN-6:3" ) |
| 456 | 454 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 457 | 455 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 458 | | PORT_DIPNAME( 0x0010, 0x0010, "IN-5:4" ) |
| 456 | PORT_DIPNAME( 0x0010, 0x0010, "IN-6:4" ) // KEYOUT |
| 459 | 457 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 460 | 458 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 461 | | PORT_DIPNAME( 0x0020, 0x0020, "IN-5:5" ) |
| 459 | PORT_DIPNAME( 0x0020, 0x0020, "IN-6:5" ) // PAYOUT |
| 462 | 460 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 463 | 461 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 464 | | PORT_DIPNAME( 0x0040, 0x0040, "IN-5:6" ) |
| 462 | PORT_DIPNAME( 0x0040, 0x0040, "IN-6:6 (dip info)" ) // TEST |
| 465 | 463 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 466 | 464 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 467 | | PORT_DIPNAME( 0x0080, 0x0080, "IN-5:7" ) |
| 465 | PORT_DIPNAME( 0x0080, 0x0080, "IN-6:7 (info)" ) // BOOK |
| 468 | 466 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 469 | 467 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 470 | | PORT_DIPNAME( 0x0100, 0x0100, "IN-5:8" ) |
| 468 | |
| 469 | PORT_START("IN7") |
| 470 | PORT_DIPNAME( 0x0001, 0x0001, "IN-7:0" ) |
| 471 | 471 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 472 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 473 | | PORT_DIPNAME( 0x0200, 0x0200, "IN-5:9" ) |
| 472 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 473 | PORT_DIPNAME( 0x0002, 0x0002, "IN-7:1" ) |
| 474 | 474 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 475 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 476 | | PORT_DIPNAME( 0x0400, 0x0400, "IN-5:a" ) |
| 475 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 476 | PORT_DIPNAME( 0x0004, 0x0004, "IN-7:2 (red)" ) // RED |
| 477 | 477 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 478 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 479 | | PORT_DIPNAME( 0x0800, 0x0800, "IN-5:b" ) |
| 478 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 479 | PORT_DIPNAME( 0x0008, 0x0008, "IN-7:3 (double)" ) // DOUBLE |
| 480 | 480 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 481 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 482 | | PORT_DIPNAME( 0x1000, 0x1000, "IN-5:c" ) |
| 481 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 482 | PORT_DIPNAME( 0x0010, 0x0010, "IN-7:4 (take)" ) // TAKE |
| 483 | 483 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 484 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 485 | | PORT_DIPNAME( 0x2000, 0x2000, "IN-5:d" ) |
| 484 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 485 | PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) |
| 486 | PORT_DIPNAME( 0x0040, 0x0040, "IN-7:6 (blue)" ) // BLUE |
| 486 | 487 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 487 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 488 | | PORT_DIPNAME( 0x4000, 0x4000, "IN-5:e" ) |
| 489 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 490 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 491 | | PORT_DIPNAME( 0x8000, 0x8000, "IN-5:f" ) |
| 492 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 493 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 488 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 489 | PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) |
| 494 | 490 | |
| 495 | | PORT_START("IN6") |
| 496 | | PORT_DIPNAME( 0x0001, 0x0001, "IN-6:0" ) |
| 491 | PORT_START("IN8") |
| 492 | PORT_DIPNAME( 0x0001, 0x0001, "IN-8:0" ) |
| 497 | 493 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 498 | 494 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 499 | | PORT_DIPNAME( 0x0002, 0x0002, "IN-6:1" ) |
| 495 | PORT_DIPNAME( 0x0002, 0x0002, "IN-8:1" ) |
| 500 | 496 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 501 | 497 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 502 | | PORT_DIPNAME( 0x0004, 0x0004, "IN-6:2" ) |
| 498 | PORT_DIPNAME( 0x0004, 0x0004, "IN-8:2" ) |
| 503 | 499 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 504 | 500 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 505 | | PORT_DIPNAME( 0x0008, 0x0008, "IN-6:3" ) |
| 501 | PORT_DIPNAME( 0x0008, 0x0008, "IN-8:3" ) |
| 506 | 502 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 507 | 503 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 508 | | PORT_DIPNAME( 0x0010, 0x0010, "IN-6:4" ) |
| 504 | PORT_DIPNAME( 0x0010, 0x0010, "IN-8:4" ) |
| 509 | 505 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 510 | 506 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 511 | | PORT_DIPNAME( 0x0020, 0x0020, "IN-6:5" ) |
| 507 | PORT_DIPNAME( 0x0020, 0x0020, "IN-8:5" ) |
| 512 | 508 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 513 | 509 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 514 | | PORT_DIPNAME( 0x0040, 0x0040, "IN-6:6" ) |
| 510 | PORT_DIPNAME( 0x0040, 0x0040, "IN-8:6" ) |
| 515 | 511 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 516 | 512 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 517 | | PORT_DIPNAME( 0x0080, 0x0080, "IN-6:7" ) |
| 513 | PORT_DIPNAME( 0x0080, 0x0080, "IN-8:7" ) |
| 518 | 514 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 519 | 515 | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 520 | | PORT_DIPNAME( 0x0100, 0x0100, "IN-6:8" ) |
| 516 | PORT_DIPNAME( 0x0100, 0x0100, "IN-8:8" ) |
| 521 | 517 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 522 | 518 | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 523 | | PORT_DIPNAME( 0x0200, 0x0200, "IN-6:9" ) |
| 519 | PORT_DIPNAME( 0x0200, 0x0200, "IN-8:9" ) |
| 524 | 520 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 525 | 521 | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 526 | | PORT_DIPNAME( 0x0400, 0x0400, "IN-6:a" ) |
| 522 | PORT_DIPNAME( 0x0400, 0x0400, "IN-8:a" ) |
| 527 | 523 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 528 | 524 | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 529 | | PORT_DIPNAME( 0x0800, 0x0800, "IN-6:b" ) |
| 525 | PORT_DIPNAME( 0x0800, 0x0800, "IN-8:b" ) |
| 530 | 526 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 531 | 527 | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 532 | | PORT_DIPNAME( 0x1000, 0x1000, "IN-6:c" ) |
| 528 | PORT_DIPNAME( 0x1000, 0x1000, "IN-8:c" ) |
| 533 | 529 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 534 | 530 | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 535 | | PORT_DIPNAME( 0x2000, 0x2000, "IN-6:d" ) |
| 531 | PORT_DIPNAME( 0x2000, 0x2000, "IN-8:d" ) |
| 536 | 532 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 537 | 533 | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 538 | | PORT_DIPNAME( 0x4000, 0x4000, "IN-6:e" ) |
| 534 | PORT_DIPNAME( 0x4000, 0x4000, "IN-8:e" ) |
| 539 | 535 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 540 | 536 | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 541 | | PORT_DIPNAME( 0x8000, 0x8000, "IN-6:f" ) |
| 537 | PORT_DIPNAME( 0x8000, 0x8000, "IN-8:f" ) |
| 542 | 538 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 543 | 539 | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 544 | 540 | |
| 545 | | PORT_START("IN7") |
| 546 | | PORT_DIPNAME( 0x0001, 0x0001, "IN-7:0" ) |
| 541 | PORT_START("IN9") |
| 542 | PORT_DIPNAME( 0x0001, 0x0001, "IN-9:0 (reset)" ) |
| 547 | 543 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 548 | 544 | PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) |
| 549 | | PORT_DIPNAME( 0x0002, 0x0002, "IN-7:1" ) |
| 545 | PORT_DIPNAME( 0x0002, 0x0002, "IN-9:1" ) |
| 550 | 546 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 551 | 547 | PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) |
| 552 | | PORT_DIPNAME( 0x0004, 0x0004, "IN-7:2" ) |
| 548 | PORT_DIPNAME( 0x0004, 0x0004, "IN-9:2" ) |
| 553 | 549 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 554 | 550 | PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) |
| 555 | | PORT_DIPNAME( 0x0008, 0x0008, "IN-7:3" ) |
| 551 | PORT_DIPNAME( 0x0008, 0x0008, "IN-9:3" ) |
| 556 | 552 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 557 | 553 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 558 | | PORT_DIPNAME( 0x0010, 0x0010, "IN-7:4" ) |
| 554 | PORT_DIPNAME( 0x0010, 0x0010, "IN-9:4" ) |
| 559 | 555 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 560 | 556 | PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) |
| 561 | | PORT_DIPNAME( 0x0020, 0x0020, "IN-7:5" ) |
| 557 | PORT_DIPNAME( 0x0020, 0x0020, "IN-9:5" ) |
| 562 | 558 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 563 | 559 | PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) |
| 564 | | PORT_DIPNAME( 0x0040, 0x0040, "IN-7:6" ) |
| 560 | PORT_DIPNAME( 0x0040, 0x0040, "IN-9:6 (keyin)" ) // KEY-IN |
| 565 | 561 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 566 | 562 | PORT_DIPSETTING( 0x0040, DEF_STR( On ) ) |
| 567 | | PORT_DIPNAME( 0x0080, 0x0080, "IN-7:7" ) |
| 568 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 569 | | PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) |
| 570 | | PORT_DIPNAME( 0x0100, 0x0100, "IN-7:8" ) |
| 571 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 572 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 573 | | PORT_DIPNAME( 0x0200, 0x0200, "IN-7:9" ) |
| 574 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 575 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 576 | | PORT_DIPNAME( 0x0400, 0x0400, "IN-7:a" ) |
| 577 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 578 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 579 | | PORT_DIPNAME( 0x0800, 0x0800, "IN-7:b" ) |
| 580 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 581 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 582 | | PORT_DIPNAME( 0x1000, 0x1000, "IN-7:c" ) |
| 583 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 584 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 585 | | PORT_DIPNAME( 0x2000, 0x2000, "IN-7:d" ) |
| 586 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 587 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 588 | | PORT_DIPNAME( 0x4000, 0x4000, "IN-7:e" ) |
| 589 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 590 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 591 | | PORT_DIPNAME( 0x8000, 0x8000, "IN-7:f" ) |
| 592 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 593 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 563 | PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN |
| 564 | |
| 594 | 565 | INPUT_PORTS_END |
| 595 | 566 | |
| 596 | 567 | static const gfx_layout tiles8x8_layout = |
| r20767 | r20768 | |
| 616 | 587 | int scanline = param; |
| 617 | 588 | |
| 618 | 589 | if(scanline == 0) |
| 590 | { |
| 591 | logerror("new frame\n"); |
| 619 | 592 | machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE); |
| 620 | 593 | |
| 594 | } |
| 595 | |
| 596 | // if(scanline == 32) |
| 597 | // machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE); |
| 598 | |
| 621 | 599 | if(scanline == 64) |
| 622 | 600 | machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE); |
| 623 | 601 | |
| 624 | | if(scanline == 128) // vbl? |
| 602 | // if(scanline == 96) |
| 603 | // machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE); |
| 604 | |
| 605 | |
| 606 | if(scanline == 200) // vbl? |
| 625 | 607 | machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE); |
| 626 | 608 | |
| 627 | 609 | } |