trunk/src/mame/video/sei_crtc.c
| r17859 | r17860 | |
| 20 | 20 | single boards, most if not all of them are shared video chips in the aforementioned games. |
| 21 | 21 | |
| 22 | 22 | TODO: |
| 23 | - Needs a full device rewrite |
| 23 | 24 | - Dynamic Resolution Change (xx10 register?) |
| 24 | 25 | - Dynamic Paging register probably incorrect,needs further investigation; |
| 25 | 26 | - Merge the aforementioned games and clean-up the code in these drivers; |
| r17859 | r17860 | |
| 99 | 100 | /************************************ |
| 100 | 101 | * 0x24 - Screen 1 (FG) scroll x |
| 101 | 102 | ************************************/ |
| 102 | | #define SEIBU_CRTC_SC1_SX (seibucrtc_vregs[0x0024/2]) |
| 103 | #define SEIBU_CRTC_SC1_SX (seibucrtc_vregs[0x0028/2]) |
| 103 | 104 | |
| 104 | 105 | /************************************ |
| 105 | 106 | * 0x26 - Screen 1 (FG) scroll y |
| 106 | 107 | ************************************/ |
| 107 | | #define SEIBU_CRTC_SC1_SY (seibucrtc_vregs[0x0026/2]) |
| 108 | #define SEIBU_CRTC_SC1_SY (seibucrtc_vregs[0x002a/2]) |
| 108 | 109 | |
| 109 | 110 | /************************************ |
| 110 | 111 | * 0x28 - Screen 2 (MD) scroll x |
| 111 | 112 | ************************************/ |
| 112 | | #define SEIBU_CRTC_SC2_SX (seibucrtc_vregs[0x0028/2]) |
| 113 | #define SEIBU_CRTC_SC2_SX (seibucrtc_vregs[0x0024/2]) |
| 113 | 114 | |
| 114 | 115 | /************************************ |
| 115 | 116 | * 0x2a - Screen 2 (MD) scroll y |
| 116 | 117 | ************************************/ |
| 117 | | #define SEIBU_CRTC_SC2_SY (seibucrtc_vregs[0x002a/2]) |
| 118 | #define SEIBU_CRTC_SC2_SY (seibucrtc_vregs[0x0026/2]) |
| 118 | 119 | |
| 119 | 120 | /************************************ |
| 120 | 121 | * 0x2c - Fix screen scroll x (global) |
trunk/src/mame/drivers/legionna.c
| r17859 | r17860 | |
| 1061 | 1061 | /* video hardware */ |
| 1062 | 1062 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1063 | 1063 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1064 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1065 | | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 1064 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1065 | MCFG_SCREEN_SIZE(36*8, 36*8) |
| 1066 | 1066 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) |
| 1067 | 1067 | MCFG_SCREEN_UPDATE_STATIC(legionna) |
| 1068 | 1068 | |
| r17859 | r17860 | |
| 1091 | 1091 | /* video hardware */ |
| 1092 | 1092 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1093 | 1093 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1094 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1095 | | MCFG_SCREEN_SIZE(32*8, 32*8) |
| 1094 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1095 | MCFG_SCREEN_SIZE(36*8, 36*8) |
| 1096 | 1096 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) |
| 1097 | 1097 | MCFG_SCREEN_UPDATE_STATIC(legionna) |
| 1098 | 1098 | |
| r17859 | r17860 | |
| 1120 | 1120 | /* video hardware */ |
| 1121 | 1121 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1122 | 1122 | MCFG_SCREEN_REFRESH_RATE(61) |
| 1123 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1124 | | MCFG_SCREEN_SIZE(40*8, 32*8) |
| 1123 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1124 | MCFG_SCREEN_SIZE(42*8, 36*8) |
| 1125 | 1125 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1) |
| 1126 | 1126 | MCFG_SCREEN_UPDATE_STATIC(godzilla) |
| 1127 | 1127 | |
| r17859 | r17860 | |
| 1148 | 1148 | |
| 1149 | 1149 | /* video hardware */ |
| 1150 | 1150 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1151 | | MCFG_SCREEN_SIZE(40*8, 32*8) |
| 1151 | MCFG_SCREEN_SIZE(42*8, 36*8) |
| 1152 | 1152 | MCFG_SCREEN_REFRESH_RATE(61) |
| 1153 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1153 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1154 | 1154 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1) |
| 1155 | 1155 | MCFG_SCREEN_UPDATE_STATIC(godzilla) |
| 1156 | 1156 | |
| r17859 | r17860 | |
| 1178 | 1178 | /* video hardware */ |
| 1179 | 1179 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1180 | 1180 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1181 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1182 | | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 1181 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1182 | MCFG_SCREEN_SIZE(64*8, 36*8) |
| 1183 | 1183 | MCFG_SCREEN_VISIBLE_AREA(2*8, 42*8-1, 2*8, 30*8-1) |
| 1184 | 1184 | MCFG_SCREEN_UPDATE_STATIC(grainbow) |
| 1185 | 1185 | |
| r17859 | r17860 | |
| 1208 | 1208 | /* video hardware */ |
| 1209 | 1209 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1210 | 1210 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1211 | | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1212 | | MCFG_SCREEN_SIZE(40*8, 32*8) |
| 1211 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1212 | MCFG_SCREEN_SIZE(42*8, 36*8) |
| 1213 | 1213 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1) |
| 1214 | 1214 | MCFG_SCREEN_UPDATE_STATIC(grainbow) |
| 1215 | 1215 | |
| r17859 | r17860 | |
| 1247 | 1247 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1248 | 1248 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1249 | 1249 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 1250 | | MCFG_SCREEN_SIZE(40*8, 32*8) |
| 1250 | MCFG_SCREEN_SIZE(42*8, 36*8) |
| 1251 | 1251 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1) |
| 1252 | 1252 | MCFG_SCREEN_UPDATE_STATIC(grainbow) |
| 1253 | 1253 | |
trunk/src/mame/drivers/sengokmj.c
| r17859 | r17860 | |
| 28 | 28 | M6295 |
| 29 | 29 | OSC: 14.31818MHz |
| 30 | 30 | 16.000MHz |
| 31 | | Chips: SEI0100 |
| 31 | Chips: SEI0100 (YM3931, main/sub cpu interface) |
| 32 | 32 | SEI0160 |
| 33 | | SEI0200 |
| 33 | SEI0200 (tilemap chip) |
| 34 | 34 | SEI0210 |
| 35 | | SEI0220 |
| 35 | SEI0220 (sprite chip) |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | MAH1-1-1.915 samples |
| r17859 | r17860 | |
| 78 | 78 | /* Multiplexer device for the mahjong panel */ |
| 79 | 79 | READ16_MEMBER(sengokmj_state::mahjong_panel_r) |
| 80 | 80 | { |
| 81 | | switch(m_sengokumj_mux_data) |
| 81 | const char *const mpnames[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4", "UNUSED" }; |
| 82 | int i; |
| 83 | UINT16 res = 0xffff; |
| 84 | |
| 85 | for(i=0;i<5;i++) |
| 82 | 86 | { |
| 83 | | case 0x0100: return ioport("KEY0")->read(); |
| 84 | | case 0x0200: return ioport("KEY1")->read(); |
| 85 | | case 0x0400: return ioport("KEY2")->read(); |
| 86 | | case 0x0800: return ioport("KEY3")->read(); |
| 87 | | case 0x1000: return ioport("KEY4")->read(); |
| 88 | | case 0x2000: return ioport("UNUSED")->read(); |
| 87 | if(m_sengokumj_mux_data & 1 << i) |
| 88 | res = ioport(mpnames[i])->read(); |
| 89 | 89 | } |
| 90 | 90 | |
| 91 | | return 0xffff; |
| 91 | return res; |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | 94 | WRITE16_MEMBER(sengokmj_state::mahjong_panel_w) |
| 95 | 95 | { |
| 96 | | m_sengokumj_mux_data = data; |
| 96 | m_sengokumj_mux_data = (data & 0x3f00) >> 8; |
| 97 | |
| 98 | if(data & 0xc0ff) |
| 99 | logerror("Write to mux %04x\n",data); |
| 97 | 100 | } |
| 98 | 101 | |
| 99 | 102 | WRITE16_MEMBER(sengokmj_state::sengokmj_out_w) |
| 100 | 103 | { |
| 101 | 104 | /* ---- ---- ---x ---- J.P. Signal (?)*/ |
| 102 | | /* ---- ---- ---- -x-- Coin counter (done AFTER that you press start)*/ |
| 105 | /* ---- ---- ---- -x-- Coin counter (done AFTER you press start)*/ |
| 103 | 106 | /* ---- ---- ---- --x- Cash enable (lockout)*/ |
| 104 | 107 | /* ---- ---- ---- ---x Hopper 10 */ |
| 105 | 108 | coin_lockout_w(machine(), 0,~data & 2); |