trunk/src/mame/drivers/namcos23.c
| r18746 | r18747 | |
| 2558 | 2558 | AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(p3d_r, p3d_w) |
| 2559 | 2559 | AM_RANGE(0x02000000, 0x0200000f) AM_READWRITE16(s23_c417_r, s23_c417_w, 0xffffffff) |
| 2560 | 2560 | AM_RANGE(0x04400000, 0x0440ffff) AM_RAM AM_SHARE("shared_ram") // Communication RAM (C416) |
| 2561 | | |
| 2562 | 2561 | AM_RANGE(0x04c3ff00, 0x04c3ff0f) AM_WRITE16(s23_mcuen_w, 0xffffffff) |
| 2563 | | |
| 2564 | 2562 | AM_RANGE(0x06080000, 0x0608000f) AM_RAM AM_SHARE("czattr") |
| 2565 | 2563 | AM_RANGE(0x06080200, 0x060803ff) AM_RAM // PCZ Convert RAM (C406) (should be banked) |
| 2566 | | |
| 2567 | | AM_RANGE(0x06108000, 0x061087ff) AM_RAM // Gamma RAM (C404) |
| 2564 | AM_RANGE(0x06108000, 0x061087ff) AM_RAM // Gamma RAM (C404) |
| 2568 | 2565 | AM_RANGE(0x06110000, 0x0613ffff) AM_RAM_WRITE(namcos23_paletteram_w) AM_SHARE("paletteram") // Palette RAM (C404) |
| 2569 | 2566 | AM_RANGE(0x06400000, 0x0641dfff) AM_RAM_WRITE(s23_txtchar_w) AM_SHARE("charram") // Text CGRAM (C361) |
| 2570 | 2567 | AM_RANGE(0x0641e000, 0x0641ffff) AM_RAM_WRITE(namcos23_textram_w) AM_SHARE("textram") // Text VRAM (C361) |
| 2571 | 2568 | AM_RANGE(0x06420000, 0x0642000f) AM_READWRITE16(s23_c361_r, s23_c361_w, 0xffffffff) // C361 |
| 2572 | | |
| 2573 | 2569 | AM_RANGE(0x08000000, 0x087fffff) AM_ROM AM_REGION("data", 0) // data ROMs |
| 2574 | | |
| 2575 | 2570 | AM_RANGE(0x0c000000, 0x0c00ffff) AM_RAM AM_SHARE("nvram") // Backup RAM |
| 2576 | | |
| 2577 | 2571 | AM_RANGE(0x0d000000, 0x0d00000f) AM_READWRITE16(s23_ctl_r, s23_ctl_w, 0xffffffff) // write for LEDs at d000000, watchdog at d000004 |
| 2578 | | |
| 2579 | 2572 | AM_RANGE(0x0e000000, 0x0e007fff) AM_RAM // C405 RAM - what is this? |
| 2580 | | |
| 2581 | 2573 | AM_RANGE(0x0f000000, 0x0f000003) AM_READ(s23_unk_status_r) |
| 2582 | | |
| 2583 | 2574 | AM_RANGE(0x0f200000, 0x0f203fff) AM_RAM // C422 RAM |
| 2584 | 2575 | AM_RANGE(0x0f300000, 0x0f30000f) AM_READWRITE16(s23_c422_r, s23_c422_w, 0xffffffff) // C422 registers |
| 2585 | | |
| 2586 | 2576 | AM_RANGE(0x0fc00000, 0x0fffffff) AM_WRITENOP AM_ROM AM_REGION("user1", 0) |
| 2587 | 2577 | ADDRESS_MAP_END |
| 2588 | 2578 | |
| r18746 | r18747 | |
| 2857 | 2847 | PORT_SERVICE_DIPLOC(0x80, IP_ACTIVE_LOW, "DIP:1" ) |
| 2858 | 2848 | INPUT_PORTS_END |
| 2859 | 2849 | |
| 2860 | | static INPUT_PORTS_START( finlflng ) |
| 2850 | static INPUT_PORTS_START( finfurl ) |
| 2861 | 2851 | PORT_INCLUDE( gorgon ) |
| 2862 | 2852 | |
| 2863 | 2853 | PORT_MODIFY("IN0") |
| r18746 | r18747 | |
| 3077 | 3067 | static ADDRESS_MAP_START( s23h8iomap, AS_IO, 8, namcos23_state ) |
| 3078 | 3068 | AM_RANGE(H8_PORT_6, H8_PORT_6) AM_READWRITE(s23_mcu_p6_r, s23_mcu_p6_w ) |
| 3079 | 3069 | AM_RANGE(H8_PORT_8, H8_PORT_8) AM_READ(s23_mcu_p8_r ) AM_WRITENOP |
| 3080 | | AM_RANGE(H8_PORT_9, H8_PORT_9) AM_NOP // read on Gorgon, purpose unknown |
| 3081 | 3070 | AM_RANGE(H8_PORT_A, H8_PORT_A) AM_READWRITE(s23_mcu_pa_r, s23_mcu_pa_w ) |
| 3082 | 3071 | AM_RANGE(H8_PORT_B, H8_PORT_B) AM_READWRITE(s23_mcu_portB_r, s23_mcu_portB_w ) |
| 3083 | 3072 | AM_RANGE(H8_SERIAL_0, H8_SERIAL_0) AM_READWRITE(s23_mcu_iob_r, s23_mcu_iob_w ) |
| r18746 | r18747 | |
| 3156 | 3145 | { |
| 3157 | 3146 | UINT16 xpos = ioport("LIGHTX")->read(); |
| 3158 | 3147 | UINT16 ypos = ioport("LIGHTY")->read(); |
| 3148 | // ypos is not completely understood yet, there should be a difference between case 1/4 and 2/5 |
| 3159 | 3149 | |
| 3160 | 3150 | switch(offset) |
| 3161 | 3151 | { |
| r18746 | r18747 | |
| 3243 | 3233 | (!strcmp(machine().system().name, "rapidrvr")) || |
| 3244 | 3234 | (!strcmp(machine().system().name, "rapidrvr2")) || |
| 3245 | 3235 | (!strcmp(machine().system().name, "rapidrvrp")) || |
| 3246 | | (!strcmp(machine().system().name, "finlflng")) || |
| 3236 | (!strcmp(machine().system().name, "finfurl")) || |
| 3247 | 3237 | (!strcmp(machine().system().name, "gunwars")) || |
| 3248 | 3238 | (!strcmp(machine().system().name, "downhill")) || |
| 3249 | 3239 | (!strcmp(machine().system().name, "finfurl2")) || |
| r18746 | r18747 | |
| 3652 | 3642 | ROM_LOAD( "rd1ccrh.11f", 0x000000, 0x200000, CRC(fafffb86) SHA1(15b0ba0252b99d0cac29fcb374fb895643f528fe) ) |
| 3653 | 3643 | ROM_END |
| 3654 | 3644 | |
| 3655 | | ROM_START( finlflng ) |
| 3645 | ROM_START( finfurl ) |
| 3656 | 3646 | ROM_REGION32_BE( 0x400000, "user1", 0 ) /* 4 megs for main R4650 code */ |
| 3657 | 3647 | ROM_LOAD16_BYTE( "ff2vera.ic2", 0x000000, 0x200000, CRC(e10f9dfa) SHA1(6f6989cd722fec5e3ed3ad1bb4866c5831041ae1) ) |
| 3658 | 3648 | ROM_LOAD16_BYTE( "ff2vera.ic1", 0x000001, 0x200000, CRC(5a90ffbf) SHA1(e22dc0ae2d3c3b3a521369fe3f63412ae2ae0a12) ) |
| r18746 | r18747 | |
| 4466 | 4456 | GAME( 1997, rapidrvr, 0, gorgon, gorgon, namcos23_state, ss23, ROT0, "Namco", "Rapid River (RD3 Ver. C)", GAME_FLAGS ) // 97/11/27, USA |
| 4467 | 4457 | GAME( 1997, rapidrvr2, rapidrvr, gorgon, gorgon, namcos23_state, ss23, ROT0, "Namco", "Rapid River (RD2 Ver. C)", GAME_FLAGS ) // 97/11/27, Europe |
| 4468 | 4458 | GAME( 1997, rapidrvrp, rapidrvr, gorgon, rapidrvrp, namcos23_state, ss23, ROT0, "Namco", "Rapid River (prototype)", GAME_FLAGS ) // 97/11/10, USA |
| 4469 | | GAME( 1997, finlflng, 0, gorgon, finlflng, namcos23_state, ss23, ROT0, "Namco", "Final Furlong (FF2 Ver. A)", GAME_FLAGS ) |
| 4459 | GAME( 1997, finfurl, 0, gorgon, finfurl, namcos23_state, ss23, ROT0, "Namco", "Final Furlong (FF2 Ver. A)", GAME_FLAGS ) |
| 4470 | 4460 | GAME( 1997, downhill, 0, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Downhill Bikers (DH3 Ver. A)", GAME_FLAGS ) |
| 4471 | 4461 | GAME( 1997, motoxgo, 0, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Motocross Go! (MG3 Ver. A)", GAME_FLAGS ) |
| 4472 | 4462 | GAME( 1997, motoxgoa, motoxgo, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Motocross Go! (MG2 Ver. A)", GAME_FLAGS ) |