trunk/src/mame/drivers/adp.c
r241588 | r241589 | |
193 | 193 | DECLARE_PALETTE_INIT(fstation); |
194 | 194 | DECLARE_WRITE_LINE_MEMBER(duart_irq_handler); |
195 | 195 | //INTERRUPT_GEN_MEMBER(adp_int); |
| 196 | void skattva_nvram_init(nvram_device &nvram, void *base, size_t size); |
196 | 197 | }; |
197 | 198 | |
| 199 | void adp_state::skattva_nvram_init(nvram_device &nvram, void *base, size_t size) |
| 200 | { |
| 201 | /* |
| 202 | 00F6FA: 4EB9 0001 A4B2 jsr $1a4b2.l |
| 203 | 00F700: 0CB8 2400 0018 E450 cmpi.l #$24000018, $e450.w |
| 204 | 00F708: 6606 bne $f710 |
| 205 | 00F70A: 4EB9 0001 D7F4 jsr $1d7f4.l ; initializes the HD63484 |
| 206 | 00F710: 11FC 0010 E8AD move.b #$10, $e8ad.w |
| 207 | */ |
| 208 | UINT16 *ram = (UINT16 *)base; |
| 209 | ram[0x2450 >> 1] = 0x2400; |
| 210 | ram[0x2452 >> 1] = 0x0018; |
| 211 | ram[0x0000 >> 1] = 0x3141; |
| 212 | ram[0x0002 >> 1] = 0x5926; |
| 213 | } |
198 | 214 | |
199 | 215 | |
| 216 | |
200 | 217 | /*************************************************************************** |
201 | 218 | |
202 | 219 | 68681 DUART <-> Microtouch touch screen controller communication |
r241588 | r241589 | |
277 | 294 | AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("nvram") |
278 | 295 | ADDRESS_MAP_END |
279 | 296 | |
| 297 | static ADDRESS_MAP_START( skattva_mem, AS_PROGRAM, 16, adp_state ) |
| 298 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 299 | AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc",msm6242_device, read, write, 0x00ff) |
| 300 | AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("h63484", h63484_device, status_r, address_w) |
| 301 | AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("h63484", h63484_device, data_r, data_w) |
| 302 | AM_RANGE(0x800100, 0x800101) AM_READ_PORT("IN0") |
| 303 | AM_RANGE(0x800140, 0x800143) AM_DEVREADWRITE8("aysnd", ay8910_device, data_r, address_data_w, 0x00ff) //18b too |
| 304 | AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8("duart68681", mc68681_device, read, write, 0xff ) |
| 305 | AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("nvram") |
| 306 | ADDRESS_MAP_END |
| 307 | |
280 | 308 | static ADDRESS_MAP_START( quickjac_mem, AS_PROGRAM, 16, adp_state ) |
281 | 309 | AM_RANGE(0x000000, 0x01ffff) AM_ROM |
282 | 310 | AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc",msm6242_device, read, write, 0x00ff) |
r241588 | r241589 | |
313 | 341 | |
314 | 342 | static ADDRESS_MAP_START( fstation_mem, AS_PROGRAM, 16, adp_state ) |
315 | 343 | AM_RANGE(0x000000, 0x0fffff) AM_ROM |
316 | | //400000-40001f? |
317 | 344 | AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("h63484", h63484_device, status_r, address_w) |
318 | 345 | AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("h63484", h63484_device, data_r, data_w) |
319 | 346 | AM_RANGE(0x800100, 0x800101) AM_READWRITE(input_r, input_w) |
r241588 | r241589 | |
400 | 427 | PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) |
401 | 428 | INPUT_PORTS_END |
402 | 429 | |
| 430 | static INPUT_PORTS_START( skattva ) |
| 431 | PORT_START("PA") |
| 432 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 433 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_HBLANK("screen") |
| 434 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") |
| 435 | PORT_BIT( 0x9e, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 436 | |
| 437 | PORT_START("IN0") |
| 438 | PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) |
| 439 | PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) |
| 440 | PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) |
| 441 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 442 | PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 443 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 444 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 445 | PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_START1 ) |
| 446 | PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 447 | |
| 448 | PORT_START("DSW1") |
| 449 | PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 450 | INPUT_PORTS_END |
| 451 | |
403 | 452 | static INPUT_PORTS_START( fstation ) |
404 | 453 | PORT_START("PA") |
405 | 454 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
r241588 | r241589 | |
527 | 576 | MCFG_CPU_PROGRAM_MAP(skattv_mem) |
528 | 577 | MACHINE_CONFIG_END |
529 | 578 | |
| 579 | static MACHINE_CONFIG_DERIVED( skattva, quickjac ) |
| 580 | MCFG_CPU_MODIFY("maincpu") |
| 581 | MCFG_CPU_PROGRAM_MAP(skattva_mem) |
| 582 | |
| 583 | MCFG_NVRAM_REPLACE_CUSTOM_DRIVER("nvram", adp_state, skattva_nvram_init) |
| 584 | MACHINE_CONFIG_END |
| 585 | |
530 | 586 | static MACHINE_CONFIG_DERIVED( backgamn, skattv ) |
531 | 587 | MCFG_CPU_MODIFY("maincpu") |
532 | 588 | MCFG_CPU_PROGRAM_MAP(backgamn_mem) |
r241588 | r241589 | |
664 | 720 | GAME( 1990, backgamn, 0, backgamn, skattv, driver_device, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING ) |
665 | 721 | GAME( 1993, quickjac, 0, quickjac, quickjac, driver_device, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING ) |
666 | 722 | GAME( 1994, skattv, 0, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING ) |
667 | | GAME( 1995, skattva, skattv, skattv, skattv, driver_device, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING ) |
| 723 | GAME( 1995, skattva, skattv, skattva, skattva, driver_device, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING ) |
668 | 724 | GAME( 1997, fashiong, 0, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING ) |
669 | 725 | GAME( 1997, fashiong2, fashiong, fashiong, skattv, driver_device, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING ) |
670 | 726 | GAME( 1999, funlddlx, 0, funland, skattv, driver_device, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING ) |