diff options
Diffstat (limited to 'src/mame/includes/nb1413m3.h')
-rw-r--r-- | src/mame/includes/nb1413m3.h | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/src/mame/includes/nb1413m3.h b/src/mame/includes/nb1413m3.h new file mode 100644 index 00000000000..977482fe4a4 --- /dev/null +++ b/src/mame/includes/nb1413m3.h @@ -0,0 +1,263 @@ +/****************************************************************************** + + Machine Hardware for Nichibutsu Mahjong series. + + Driver by Takahiro Nogi <nogi@kt.rim.or.jp> 1999/11/05 - + +******************************************************************************/ + +enum { + NB1413M3_NONE = 0, + // unknown + NB1413M3_JOKERMJN, + NB1413M3_JANGOU, + NB1413M3_JNGOLADY, + NB1413M3_JNGNIGHT, + NB1413M3_MJKING, + NB1413M3_NIGHTGAL, + NB1413M3_NGALSUMR, + NB1413M3_ROYALNGT, + NB1413M3_RYLQUEEN, + NB1413M3_SWEETGAL, + NB1413M3_SEXYGAL, + // NB1411M1 + NB1413M3_PASTELG, + NB1413M3_THREEDS, + // NB1413M3 + NB1413M3_CRYSTALG, + NB1413M3_CRYSTAL2, + NB1413M3_NIGHTLOV, + NB1413M3_CITYLOVE, + NB1413M3_MCITYLOV, + NB1413M3_SECOLOVE, + NB1413M3_HOUSEMNQ, + NB1413M3_HOUSEMN2, + NB1413M3_LIVEGAL, + NB1413M3_BIJOKKOY, + NB1413M3_IEMOTO, + NB1413M3_IEMOTOM, + NB1413M3_RYUUHA, + NB1413M3_SEIHA, + NB1413M3_SEIHAM, + NB1413M3_HYHOO, + NB1413M3_HYHOO2, + NB1413M3_SWINGGAL, + NB1413M3_BIJOKKOG, + NB1413M3_OJOUSAN, + NB1413M3_OJOUSANM, + NB1413M3_KORINAI, + NB1413M3_KORINAIM, + NB1413M3_MJCAMERA, + NB1413M3_MJCAMERB, + NB1413M3_MMCAMERA, + NB1413M3_TAIWANMJ, + NB1413M3_TAIWANMB, + NB1413M3_OTONANO, + NB1413M3_ABUNAI, + NB1413M3_MJSIKAKU, + NB1413M3_MMSIKAKU, + NB1413M3_MSJIKEN, + NB1413M3_HANAMOMO, + NB1413M3_TELMAHJN, + NB1413M3_GIONBANA, + NB1413M3_MGION, + NB1413M3_OMOTESND, + NB1413M3_SCANDAL, + NB1413M3_SCANDALM, + NB1413M3_MGMEN89, + NB1413M3_OHPYEPEE, + NB1413M3_TOUGENK, + NB1413M3_MJFOCUS, + NB1413M3_MJFOCUSM, + NB1413M3_GALKOKU, + NB1413M3_MJNANPAS, + NB1413M3_BANANADR, + NB1413M3_GALKAIKA, + NB1413M3_MCONTEST, + NB1413M3_UCHUUAI, + NB1413M3_TOKIMBSJ, + NB1413M3_TOKYOGAL, + NB1413M3_TRIPLEW1, + NB1413M3_NTOPSTAR, + NB1413M3_MLADYHTR, + NB1413M3_PSTADIUM, + NB1413M3_TRIPLEW2, + NB1413M3_CLUB90S, + NB1413M3_LOVEHOUS, + NB1413M3_CHINMOKU, + NB1413M3_VANILLA, + NB1413M3_MJLSTORY, + NB1413M3_QMHAYAKU, + NB1413M3_MJGOTTUB, + NB1413M3_MAIKO, + NB1413M3_MMAIKO, + NB1413M3_HANAOJI, + NB1413M3_KAGUYA, + NB1413M3_KAGUYA2, + NB1413M3_APPAREL, + NB1413M3_AV2MJ1BB, + NB1413M3_AV2MJ2RG, + NB1413M3_FINALBNY, + NB1413M3_HYOUBAN, + NB1413M3_ORANGEC, + NB1413M3_ORANGECI, + NB1413M3_VIPCLUB, + NB1413M3_IDHIMITU, + NB1413M3_KANATUEN, + NB1413M3_KYUHITO, + NB1413M3_PAIRSNB, + NB1413M3_PAIRSTEN +}; + +#define NB1413M3_VCR_NOP 0x00 +#define NB1413M3_VCR_POWER 0x01 +#define NB1413M3_VCR_STOP 0x02 +#define NB1413M3_VCR_REWIND 0x04 +#define NB1413M3_VCR_PLAY 0x08 +#define NB1413M3_VCR_FFORWARD 0x10 +#define NB1413M3_VCR_PAUSE 0x20 + +#define NBMJCTRL_PORT1 \ + PORT_START /* (3) PORT 1-1 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_M ) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_I ) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_E ) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_A ) \ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT2 \ + PORT_START /* (4) PORT 1-2 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_N ) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_J ) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_F ) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_B ) \ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT3 \ + PORT_START /* (5) PORT 1-3 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_K ) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_G ) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_C ) \ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT4 \ + PORT_START /* (6) PORT 1-4 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_L ) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_H ) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_D ) \ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT5 \ + PORT_START /* (7) PORT 1-5 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Mahjong Small") PORT_CODE(KEYCODE_BACKSPACE) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Mahjong Big") PORT_CODE(KEYCODE_ENTER) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) \ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) \ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) \ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) \ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT6 \ + PORT_START /* (6) PORT 2-1 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2)\ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2)\ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2)\ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2)\ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2)\ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT7 \ + PORT_START /* (7) PORT 2-2 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2)\ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2)\ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2)\ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2)\ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2)\ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2)\ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT8 \ + PORT_START /* (8) PORT 2-3 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2)\ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2)\ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2)\ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2)\ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2)\ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT9 \ + PORT_START /* (9) PORT 2-4 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2)\ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2)\ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2)\ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2)\ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +#define NBMJCTRL_PORT10 \ + PORT_START /* (10) PORT 2-5 */ \ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Mahjong Small") \ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 Mahjong Big") \ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2)\ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2)\ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2)\ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2)\ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + +/*----------- defined in machine/nb1413m3.c -----------*/ + +MACHINE_RESET( nb1413m3 ); +WRITE8_HANDLER( nb1413m3_nmi_clock_w ); +INTERRUPT_GEN( nb1413m3_interrupt ); +NVRAM_HANDLER( nb1413m3 ); +READ8_HANDLER( nb1413m3_sndrom_r ); +WRITE8_HANDLER( nb1413m3_sndrombank1_w ); +WRITE8_HANDLER( nb1413m3_sndrombank2_w ); +READ8_HANDLER( nb1413m3_gfxrom_r ); +WRITE8_HANDLER( nb1413m3_gfxrombank_w ); +WRITE8_HANDLER( nb1413m3_gfxradr_l_w ); +WRITE8_HANDLER( nb1413m3_gfxradr_h_w ); +WRITE8_HANDLER( nb1413m3_inputportsel_w ); +READ8_HANDLER( nb1413m3_inputport0_r ); +READ8_HANDLER( nb1413m3_inputport1_r ); +READ8_HANDLER( nb1413m3_inputport2_r ); +READ8_HANDLER( nb1413m3_inputport3_r ); +READ8_HANDLER( nb1413m3_dipsw1_r ); +READ8_HANDLER( nb1413m3_dipsw2_r ); +READ8_HANDLER( nb1413m3_dipsw3_l_r ); +READ8_HANDLER( nb1413m3_dipsw3_h_r ); +WRITE8_HANDLER( nb1413m3_outcoin_w ); +WRITE8_HANDLER( nb1413m3_vcrctrl_w ); + +extern int nb1413m3_type; +extern int nb1413m3_sndromregion; +extern int nb1413m3_sndrombank1; +extern int nb1413m3_sndrombank2; +extern int nb1413m3_busyctr; +extern int nb1413m3_busyflag; +extern int nb1413m3_inputport; +extern UINT8 *nb1413m3_nvram; +extern size_t nb1413m3_nvram_size; |