trunk/src/mame/drivers/s4.c
| r32528 | r32529 | |
| 115 | 115 | |
| 116 | 116 | static INPUT_PORTS_START( s4 ) |
| 117 | 117 | PORT_START("X0") |
| 118 | | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 118 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 119 | 119 | |
| 120 | 120 | PORT_START("X1") |
| 121 | 121 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) |
| r32528 | r32529 | |
| 194 | 194 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Manual/Auto") PORT_CODE(KEYCODE_6_PAD) |
| 195 | 195 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Enter") PORT_CODE(KEYCODE_9_PAD) |
| 196 | 196 | |
| 197 | | PORT_START("DSW0") |
| 198 | | PORT_DIPNAME( 0x01, 0x01, "SW01" ) |
| 199 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 200 | | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 201 | | PORT_DIPNAME( 0x02, 0x02, "SW02" ) |
| 202 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 203 | | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 204 | | PORT_DIPNAME( 0x04, 0x04, "SW03" ) |
| 205 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 206 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 207 | | PORT_DIPNAME( 0x08, 0x08, "SW04" ) |
| 208 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 209 | | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 210 | | PORT_DIPNAME( 0x10, 0x10, "SW05" ) |
| 211 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 212 | | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 213 | | PORT_DIPNAME( 0x20, 0x20, "SW06" ) |
| 214 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 215 | | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 216 | | PORT_DIPNAME( 0x40, 0x40, "SW07" ) |
| 217 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 218 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 219 | | PORT_DIPNAME( 0x80, 0x80, "SW08" ) |
| 220 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 221 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 197 | PORT_START("DS1") |
| 198 | PORT_DIPNAME( 0xf0, 0xf0, "Data units" ) |
| 199 | PORT_DIPSETTING( 0xf0, "0" ) |
| 200 | PORT_DIPSETTING( 0x70, "1" ) |
| 201 | PORT_DIPSETTING( 0xb0, "2" ) |
| 202 | PORT_DIPSETTING( 0x30, "3" ) |
| 203 | PORT_DIPSETTING( 0xd0, "4" ) |
| 204 | PORT_DIPSETTING( 0x50, "5" ) |
| 205 | PORT_DIPSETTING( 0x90, "6" ) |
| 206 | PORT_DIPSETTING( 0x10, "7" ) |
| 207 | PORT_DIPSETTING( 0xe0, "8" ) |
| 208 | PORT_DIPSETTING( 0x60, "9" ) |
| 209 | PORT_DIPNAME( 0x0f, 0x0f, "Data tens" ) |
| 210 | PORT_DIPSETTING( 0x0f, "0" ) |
| 211 | PORT_DIPSETTING( 0x07, "1" ) |
| 212 | PORT_DIPSETTING( 0x0b, "2" ) |
| 213 | PORT_DIPSETTING( 0x03, "3" ) |
| 214 | PORT_DIPSETTING( 0x0d, "4" ) |
| 215 | PORT_DIPSETTING( 0x05, "5" ) |
| 216 | PORT_DIPSETTING( 0x09, "6" ) |
| 217 | PORT_DIPSETTING( 0x01, "7" ) |
| 218 | PORT_DIPSETTING( 0x0e, "8" ) |
| 219 | PORT_DIPSETTING( 0x06, "9" ) |
| 222 | 220 | |
| 223 | | PORT_START("DSW1") |
| 224 | | PORT_DIPNAME( 0x01, 0x01, "SW11" ) |
| 225 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 226 | | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 227 | | PORT_DIPNAME( 0x02, 0x02, "SW12" ) |
| 228 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 229 | | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 230 | | PORT_DIPNAME( 0x04, 0x04, "SW13" ) |
| 231 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 232 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 233 | | PORT_DIPNAME( 0x08, 0x08, "SW14" ) |
| 234 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 235 | | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 236 | | PORT_DIPNAME( 0x10, 0x10, "SW15" ) |
| 237 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 238 | | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 239 | | PORT_DIPNAME( 0x20, 0x20, "SW16" ) |
| 240 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 241 | | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 242 | | PORT_DIPNAME( 0x40, 0x40, "SW17" ) |
| 243 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 244 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 245 | | PORT_DIPNAME( 0x80, 0x80, "SW18" ) |
| 246 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 247 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 221 | PORT_START("DS2") |
| 222 | PORT_DIPNAME( 0xff, 0xff, "Function" ) |
| 223 | PORT_DIPSETTING( 0xff, "0" ) |
| 224 | PORT_DIPSETTING( 0x7f, "1" ) |
| 225 | PORT_DIPSETTING( 0xbf, "2" ) |
| 226 | PORT_DIPSETTING( 0x3f, "3" ) |
| 227 | PORT_DIPSETTING( 0xdf, "4" ) |
| 228 | PORT_DIPSETTING( 0x5f, "5" ) |
| 229 | PORT_DIPSETTING( 0x9f, "6" ) |
| 230 | PORT_DIPSETTING( 0x1f, "7" ) |
| 231 | PORT_DIPSETTING( 0xef, "8" ) |
| 232 | PORT_DIPSETTING( 0x6f, "9" ) |
| 233 | PORT_DIPSETTING( 0xaf, "10" ) |
| 234 | PORT_DIPSETTING( 0x2f, "11" ) |
| 235 | PORT_DIPSETTING( 0xcf, "12" ) |
| 236 | PORT_DIPSETTING( 0x4f, "13" ) |
| 237 | PORT_DIPSETTING( 0x8f, "14" ) |
| 238 | PORT_DIPSETTING( 0x0f, "15" ) |
| 239 | PORT_DIPSETTING( 0xf7, "16" ) |
| 240 | PORT_DIPSETTING( 0x77, "17" ) |
| 241 | PORT_DIPSETTING( 0xb7, "18" ) |
| 242 | PORT_DIPSETTING( 0x37, "19" ) |
| 243 | PORT_DIPSETTING( 0xd7, "20" ) |
| 244 | PORT_DIPSETTING( 0x57, "21" ) |
| 245 | PORT_DIPSETTING( 0x97, "22" ) |
| 246 | PORT_DIPSETTING( 0x17, "23" ) |
| 247 | PORT_DIPSETTING( 0xe7, "24" ) |
| 248 | PORT_DIPSETTING( 0x67, "25" ) |
| 249 | PORT_DIPSETTING( 0xa7, "26" ) |
| 250 | PORT_DIPSETTING( 0x27, "27" ) |
| 251 | PORT_DIPSETTING( 0xc7, "28" ) |
| 252 | PORT_DIPSETTING( 0x47, "29" ) |
| 253 | PORT_DIPSETTING( 0x87, "30" ) |
| 254 | PORT_DIPSETTING( 0x07, "31" ) |
| 248 | 255 | INPUT_PORTS_END |
| 249 | 256 | |
| 250 | 257 | MACHINE_RESET_MEMBER( s4_state, s4 ) |
| r32528 | r32529 | |
| 351 | 358 | switch (m_strobe) |
| 352 | 359 | { |
| 353 | 360 | case 0: |
| 354 | | return ioport("DSW0")->read() & 15; |
| 361 | return ioport("DS2")->read(); |
| 355 | 362 | case 1: |
| 356 | | return ioport("DSW0")->read() << 4; |
| 363 | return ioport("DS2")->read() << 4; |
| 357 | 364 | case 2: |
| 358 | | return ioport("DSW1")->read() & 15; |
| 365 | return ioport("DS1")->read(); |
| 359 | 366 | case 3: |
| 360 | | return ioport("DSW1")->read() << 4; |
| 367 | return ioport("DS1")->read() << 4; |
| 361 | 368 | } |
| 362 | 369 | } |
| 363 | 370 | return 0xff; |
| r32528 | r32529 | |
| 386 | 393 | { |
| 387 | 394 | char kbdrow[8]; |
| 388 | 395 | sprintf(kbdrow,"X%X",m_kbdrow); |
| 389 | | return ~ioport(kbdrow)->read(); |
| 396 | return ioport(kbdrow)->read() ^ 0xff; |
| 390 | 397 | } |
| 391 | 398 | |
| 392 | 399 | WRITE8_MEMBER( s4_state::switch_w ) |
trunk/src/mame/drivers/s3.c
| r32528 | r32529 | |
| 122 | 122 | |
| 123 | 123 | static INPUT_PORTS_START( s3 ) |
| 124 | 124 | PORT_START("X0") |
| 125 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 125 | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 126 | 126 | |
| 127 | 127 | PORT_START("X1") |
| 128 | 128 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_TILT ) // 3 touches before it tilts |
| r32528 | r32529 | |
| 201 | 201 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Manual/Auto") PORT_CODE(KEYCODE_6_PAD) |
| 202 | 202 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Enter") PORT_CODE(KEYCODE_9_PAD) |
| 203 | 203 | |
| 204 | | PORT_START("DSW0") |
| 205 | | PORT_DIPNAME( 0x01, 0x01, "SW01" ) |
| 206 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 207 | | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 208 | | PORT_DIPNAME( 0x02, 0x02, "SW02" ) |
| 209 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 210 | | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 211 | | PORT_DIPNAME( 0x04, 0x04, "SW03" ) |
| 212 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 213 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 214 | | PORT_DIPNAME( 0x08, 0x08, "SW04" ) |
| 215 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 216 | | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 217 | | PORT_DIPNAME( 0x10, 0x10, "SW05" ) |
| 218 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 219 | | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 220 | | PORT_DIPNAME( 0x20, 0x20, "SW06" ) |
| 221 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 222 | | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 223 | | PORT_DIPNAME( 0x40, 0x40, "SW07" ) |
| 224 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 225 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 226 | | PORT_DIPNAME( 0x80, 0x80, "SW08" ) |
| 227 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 228 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 204 | PORT_START("DS1") |
| 205 | PORT_DIPNAME( 0xf0, 0xf0, "Data units" ) |
| 206 | PORT_DIPSETTING( 0xf0, "0" ) |
| 207 | PORT_DIPSETTING( 0x70, "1" ) |
| 208 | PORT_DIPSETTING( 0xb0, "2" ) |
| 209 | PORT_DIPSETTING( 0x30, "3" ) |
| 210 | PORT_DIPSETTING( 0xd0, "4" ) |
| 211 | PORT_DIPSETTING( 0x50, "5" ) |
| 212 | PORT_DIPSETTING( 0x90, "6" ) |
| 213 | PORT_DIPSETTING( 0x10, "7" ) |
| 214 | PORT_DIPSETTING( 0xe0, "8" ) |
| 215 | PORT_DIPSETTING( 0x60, "9" ) |
| 216 | PORT_DIPNAME( 0x0f, 0x0f, "Data tens" ) |
| 217 | PORT_DIPSETTING( 0x0f, "0" ) |
| 218 | PORT_DIPSETTING( 0x07, "1" ) |
| 219 | PORT_DIPSETTING( 0x0b, "2" ) |
| 220 | PORT_DIPSETTING( 0x03, "3" ) |
| 221 | PORT_DIPSETTING( 0x0d, "4" ) |
| 222 | PORT_DIPSETTING( 0x05, "5" ) |
| 223 | PORT_DIPSETTING( 0x09, "6" ) |
| 224 | PORT_DIPSETTING( 0x01, "7" ) |
| 225 | PORT_DIPSETTING( 0x0e, "8" ) |
| 226 | PORT_DIPSETTING( 0x06, "9" ) |
| 229 | 227 | |
| 230 | | PORT_START("DSW1") |
| 231 | | PORT_DIPNAME( 0x01, 0x01, "SW11" ) |
| 232 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 233 | | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 234 | | PORT_DIPNAME( 0x02, 0x02, "SW12" ) |
| 235 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 236 | | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 237 | | PORT_DIPNAME( 0x04, 0x04, "SW13" ) |
| 238 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 239 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 240 | | PORT_DIPNAME( 0x08, 0x08, "SW14" ) |
| 241 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 242 | | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 243 | | PORT_DIPNAME( 0x10, 0x10, "SW15" ) |
| 244 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 245 | | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 246 | | PORT_DIPNAME( 0x20, 0x20, "SW16" ) |
| 247 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 248 | | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 249 | | PORT_DIPNAME( 0x40, 0x40, "SW17" ) |
| 250 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 251 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 252 | | PORT_DIPNAME( 0x80, 0x80, "SW18" ) |
| 253 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 254 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 228 | PORT_START("DS2") |
| 229 | PORT_DIPNAME( 0xff, 0xff, "Function" ) |
| 230 | PORT_DIPSETTING( 0xff, "0" ) |
| 231 | PORT_DIPSETTING( 0x7f, "1" ) |
| 232 | PORT_DIPSETTING( 0xbf, "2" ) |
| 233 | PORT_DIPSETTING( 0x3f, "3" ) |
| 234 | PORT_DIPSETTING( 0xdf, "4" ) |
| 235 | PORT_DIPSETTING( 0x5f, "5" ) |
| 236 | PORT_DIPSETTING( 0x9f, "6" ) |
| 237 | PORT_DIPSETTING( 0x1f, "7" ) |
| 238 | PORT_DIPSETTING( 0xef, "8" ) |
| 239 | PORT_DIPSETTING( 0x6f, "9" ) |
| 240 | PORT_DIPSETTING( 0xaf, "10" ) |
| 241 | PORT_DIPSETTING( 0x2f, "11" ) |
| 242 | PORT_DIPSETTING( 0xcf, "12" ) |
| 243 | PORT_DIPSETTING( 0x4f, "13" ) |
| 244 | PORT_DIPSETTING( 0x8f, "14" ) |
| 245 | PORT_DIPSETTING( 0x0f, "15" ) |
| 246 | PORT_DIPSETTING( 0xf7, "16" ) |
| 247 | PORT_DIPSETTING( 0x77, "17" ) |
| 248 | PORT_DIPSETTING( 0xb7, "18" ) |
| 249 | PORT_DIPSETTING( 0x37, "19" ) |
| 250 | PORT_DIPSETTING( 0xd7, "20" ) |
| 251 | PORT_DIPSETTING( 0x57, "21" ) |
| 252 | PORT_DIPSETTING( 0x97, "22" ) |
| 253 | PORT_DIPSETTING( 0x17, "23" ) |
| 254 | PORT_DIPSETTING( 0xe7, "24" ) |
| 255 | PORT_DIPSETTING( 0x67, "25" ) |
| 256 | PORT_DIPSETTING( 0xa7, "26" ) |
| 257 | PORT_DIPSETTING( 0x27, "27" ) |
| 258 | PORT_DIPSETTING( 0xc7, "28" ) |
| 259 | PORT_DIPSETTING( 0x47, "29" ) |
| 260 | PORT_DIPSETTING( 0x87, "30" ) |
| 261 | PORT_DIPSETTING( 0x07, "31" ) |
| 255 | 262 | INPUT_PORTS_END |
| 256 | 263 | |
| 257 | 264 | MACHINE_RESET_MEMBER( s3_state, s3 ) |
| r32528 | r32529 | |
| 358 | 365 | switch (m_strobe) |
| 359 | 366 | { |
| 360 | 367 | case 0: |
| 361 | | return ioport("DSW0")->read() & 15; |
| 368 | return ioport("DS2")->read(); |
| 362 | 369 | case 1: |
| 363 | | return ioport("DSW0")->read() << 4; |
| 370 | return ioport("DS2")->read() << 4; |
| 364 | 371 | case 2: |
| 365 | | return ioport("DSW1")->read() & 15; |
| 372 | return ioport("DS1")->read(); |
| 366 | 373 | case 3: |
| 367 | | return ioport("DSW1")->read() << 4; |
| 374 | return ioport("DS1")->read() << 4; |
| 368 | 375 | } |
| 369 | 376 | } |
| 370 | 377 | return 0xff; |