trunk/src/mame/drivers/naomi.c
| r243168 | r243169 | |
| 2400 | 2400 | PORT_INCLUDE( naomi_mie ) |
| 2401 | 2401 | PORT_INCLUDE( naomi_debug ) |
| 2402 | 2402 | |
| 2403 | | PORT_START("P1") /* inputs are all there, it needs a mux write mechanism of some sort ... */ |
| 2404 | | PORT_DIPNAME( 0x0100, 0x0000, "SYSA" ) |
| 2405 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2406 | | PORT_DIPSETTING( 0x0100, DEF_STR( On ) ) |
| 2407 | | PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unknown ) ) |
| 2408 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2409 | | PORT_DIPSETTING( 0x0200, DEF_STR( On ) ) |
| 2410 | | PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unknown ) ) |
| 2411 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2412 | | PORT_DIPSETTING( 0x0400, DEF_STR( On ) ) |
| 2413 | | PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unknown ) ) |
| 2414 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2415 | | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 2416 | | PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unknown ) ) |
| 2417 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2418 | | PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) |
| 2419 | | PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) ) |
| 2420 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2421 | | PORT_DIPSETTING( 0x2000, DEF_STR( On ) ) |
| 2422 | | PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unknown ) ) |
| 2423 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2424 | | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 2425 | | PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) ) |
| 2426 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 2427 | | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 2403 | PORT_START("OUTPUT") |
| 2404 | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_OUTPUT) PORT_CHANGED_MEMBER(DEVICE_SELF, naomi_state,naomi_mp_w, NULL) |
| 2428 | 2405 | |
| 2429 | | PORT_START("KEY1") |
| 2430 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) //TODO: mahjong panel test & service buttons are presumably here |
| 2406 | PORT_START("P1") |
| 2407 | PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, naomi_state,naomi_mp_r, "KEY1\0KEY2\0KEY3\0KEY4\0KEY5") |
| 2408 | PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2431 | 2409 | |
| 2410 | PORT_START("KEY1") |
| 2411 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2412 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2413 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2414 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP ) |
| 2415 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2416 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2417 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2418 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE ) |
| 2432 | 2419 | PORT_START("KEY2") |
| 2433 | 2420 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2434 | 2421 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) |
| r243168 | r243169 | |
| 2440 | 2427 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_MAHJONG_A ) |
| 2441 | 2428 | PORT_START("KEY3") |
| 2442 | 2429 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2443 | | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 2430 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_MAHJONG_BET ) |
| 2444 | 2431 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) |
| 2445 | 2432 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_MAHJONG_N ) |
| 2446 | 2433 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_MAHJONG_J ) |
| r243168 | r243169 | |
| 2467 | 2454 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_MAHJONG_D ) |
| 2468 | 2455 | INPUT_PORTS_END |
| 2469 | 2456 | |
| 2457 | static INPUT_PORTS_START( suchie3 ) |
| 2458 | PORT_INCLUDE( naomi_mp ) |
| 2459 | PORT_MODIFY("P1") |
| 2460 | PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, naomi_state,naomi_mp_r, "KEY5\0KEY2\0KEY3\0KEY4\0KEY1") |
| 2461 | INPUT_PORTS_END |
| 2462 | |
| 2470 | 2463 | // Atomiswave - inputs are read as standard Dreamcast controllers. |
| 2471 | 2464 | // Controller bit patterns: |
| 2472 | 2465 | // |
| r243168 | r243169 | |
| 9055 | 9048 | |
| 9056 | 9049 | /* 841-xxxxx ("Licensed by Sega" Naomi cart games)*/ |
| 9057 | 9050 | /* 0001 */ GAME( 1999, pstone, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Power Stone (JPN, USA, EUR, ASI, AUS)", GAME_FLAGS ) |
| 9058 | | /* 0002 */ GAME( 1999, suchie3, naomi, naomim2, naomi_mp,naomi_state,naomi_mp,ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_FLAGS ) |
| 9051 | /* 0002 */ GAME( 1999, suchie3, naomi, naomim2, suchie3, naomi_state,naomi_mp,ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_FLAGS ) |
| 9059 | 9052 | /* 0003 */ GAME( 1999, doa2, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) |
| 9060 | 9053 | /* 0003 */ GAME( 2000, doa2m, doa2, naomim2, naomi, naomi_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 Millennium (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) |
| 9061 | 9054 | /* 0004 */ GAME( 1999, shangril, naomi, naomim2, naomi_mp,naomi_state,naomi_mp,ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) |
trunk/src/mame/machine/naomi.c
| r243168 | r243169 | |
| 192 | 192 | { |
| 193 | 193 | //m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this); // rev e bios |
| 194 | 194 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios |
| 195 | | jvsboard_type = JVSBD_DEFAULT; |
| 196 | 195 | actel_id = 0xffff; |
| 197 | 196 | |
| 198 | 197 | create_pic_from_retdat(); |
| r243168 | r243169 | |
| 201 | 200 | DRIVER_INIT_MEMBER(naomi_state,naomi2) |
| 202 | 201 | { |
| 203 | 202 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi2_biose_idle_skip_r),this)); // rev e bios |
| 204 | | jvsboard_type = JVSBD_DEFAULT; |
| 205 | 203 | actel_id = 0xffff; |
| 206 | 204 | |
| 207 | 205 | create_pic_from_retdat(); |
| 208 | 206 | } |
| 209 | 207 | |
| 208 | INPUT_CHANGED_MEMBER(naomi_state::naomi_mp_w) |
| 209 | { |
| 210 | m_mp_mux = newval; |
| 211 | } |
| 212 | CUSTOM_INPUT_MEMBER(naomi_state::naomi_mp_r) |
| 213 | { |
| 214 | const char *tagptr = (const char *)param; |
| 215 | UINT8 retval = 0; |
| 216 | |
| 217 | for (int i = 0x80; i >= 0x08; i >>= 1) |
| 218 | { |
| 219 | if (m_mp_mux & i) |
| 220 | retval |= ioport(tagptr)->read_safe(0); |
| 221 | tagptr += strlen(tagptr) + 1; |
| 222 | } |
| 223 | return retval; |
| 224 | } |
| 225 | |
| 210 | 226 | DRIVER_INIT_MEMBER(naomi_state,naomi_mp) |
| 211 | 227 | { |
| 212 | 228 | //m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this); // rev e bios |
| 213 | 229 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios |
| 214 | | jvsboard_type = JVSBD_MAHJONG; |
| 215 | 230 | actel_id = 0xffff; |
| 231 | m_mp_mux = 0; |
| 216 | 232 | |
| 217 | 233 | create_pic_from_retdat(); |
| 218 | 234 | } |
| r243168 | r243169 | |
| 221 | 237 | { |
| 222 | 238 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this)); // rev e bios |
| 223 | 239 | //m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios |
| 224 | | jvsboard_type = JVSBD_DEFAULT; |
| 225 | 240 | actel_id = 0xffff; |
| 226 | 241 | |
| 227 | 242 | create_pic_from_retdat(); |
| r243168 | r243169 | |
| 231 | 246 | { |
| 232 | 247 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2ad238, 0xc2ad23f, read64_delegate(FUNC(naomi_state::naomi_biose_idle_skip_r),this)); // rev e bios |
| 233 | 248 | //m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi_biosh_idle_skip_r),this)); // rev h bios |
| 234 | | jvsboard_type = JVSBD_MAHJONG; |
| 235 | 249 | actel_id = 0xffff; |
| 250 | m_mp_mux = 0; |
| 236 | 251 | |
| 237 | 252 | create_pic_from_retdat(); |
| 238 | 253 | } |