trunk/src/mess/drivers/pc.c
| r22752 | r22753 | |
| 194 | 194 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) |
| 195 | 195 | AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r, pc_page_w) |
| 196 | 196 | AM_RANGE(0x00a0, 0x00a0) AM_WRITE(pc_nmi_enable_w ) |
| 197 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("joy", pc_joy_device, joy_port_r, joy_port_w) |
| 197 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w) |
| 198 | 198 | AM_RANGE(0x0240, 0x0257) AM_READWRITE(pc_rtc_r, pc_rtc_w) |
| 199 | 199 | AM_RANGE(0x0278, 0x027b) AM_DEVREADWRITE_LEGACY("lpt_2", pc_lpt_r, pc_lpt_w) |
| 200 | 200 | AM_RANGE(0x02e8, 0x02ef) AM_DEVREADWRITE("ins8250_3", ins8250_device, ins8250_r, ins8250_w) |
| r22752 | r22753 | |
| 220 | 220 | AM_RANGE(0x0070, 0x007f) AM_RAM // needed for Poisk-2 |
| 221 | 221 | AM_RANGE(0x0080, 0x0087) AM_READWRITE8(pc_page_r, pc_page_w, 0xffff) |
| 222 | 222 | AM_RANGE(0x00a0, 0x00a1) AM_WRITE8(pc_nmi_enable_w, 0x00ff ) |
| 223 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 223 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 224 | 224 | AM_RANGE(0x0240, 0x0257) AM_READWRITE8(pc_rtc_r, pc_rtc_w, 0xffff) |
| 225 | 225 | AM_RANGE(0x0278, 0x027b) AM_DEVREADWRITE8_LEGACY("lpt_2", pc_lpt_r, pc_lpt_w, 0xffff) |
| 226 | 226 | AM_RANGE(0x02e8, 0x02ef) AM_DEVREADWRITE8("ins8250_3", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| r22752 | r22753 | |
| 274 | 274 | AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ins8250_0", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 275 | 275 | ADDRESS_MAP_END |
| 276 | 276 | |
| 277 | static ADDRESS_MAP_START(asst128_io, AS_IO, 16, pc_state) |
| 278 | ADDRESS_MAP_UNMAP_HIGH |
| 279 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 280 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 281 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 282 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| 283 | AM_RANGE(0x0080, 0x0087) AM_READWRITE8(pc_page_r, pc_page_w, 0xffff) |
| 284 | AM_RANGE(0x00a0, 0x00a1) AM_WRITE8( pc_nmi_enable_w, 0x00ff ) |
| 285 | // AM_RANGE(0x0200, 0x0207) AM_READWRITE8_LEGACY(pc_JOY_r, pc_JOY_w, 0xffff) |
| 286 | AM_RANGE(0x0240, 0x0257) AM_READWRITE8(pc_rtc_r, pc_rtc_w, 0xffff) |
| 287 | // AM_RANGE(0x02e8, 0x02ef) AM_DEVREADWRITE8("ins8250_3", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 288 | AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE8("ins8250_1", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 289 | AM_RANGE(0x0340, 0x0357) AM_NOP /* anonymous bios should not recogniced realtimeclock */ |
| 290 | AM_RANGE(0x0378, 0x037f) AM_DEVREADWRITE8_LEGACY("lpt_0", pc_lpt_r, pc_lpt_w, 0xffff) |
| 291 | // AM_RANGE(0x03e8, 0x03ef) AM_DEVREADWRITE8("ins8250_2", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 292 | AM_RANGE(0x03f2, 0x03f3) AM_WRITE8(asst128_fdc_dor_w, 0xffff) |
| 293 | AM_RANGE(0x03f4, 0x03f5) AM_DEVICE8("fdc:upd765", upd765a_device, map, 0xffff) |
| 294 | AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ins8250_0", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 295 | ADDRESS_MAP_END |
| 277 | 296 | |
| 278 | 297 | static ADDRESS_MAP_START( ibm5550_map, AS_PROGRAM, 16, pc_state ) |
| 279 | 298 | ADDRESS_MAP_UNMAP_HIGH |
| r22752 | r22753 | |
| 295 | 314 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| 296 | 315 | AM_RANGE(0x0080, 0x0087) AM_READWRITE8(pc_page_r, pc_page_w, 0xffff) |
| 297 | 316 | AM_RANGE(0x00a0, 0x00a1) AM_READWRITE8(unk_r, pc_nmi_enable_w, 0x00ff ) |
| 298 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 317 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 299 | 318 | AM_RANGE(0x0240, 0x0257) AM_READWRITE8(pc_rtc_r, pc_rtc_w, 0xffff) |
| 300 | 319 | AM_RANGE(0x0278, 0x027b) AM_DEVREADWRITE8_LEGACY("lpt_2", pc_lpt_r, pc_lpt_w, 0xffff) |
| 301 | 320 | AM_RANGE(0x02e8, 0x02ef) AM_DEVREADWRITE8("ins8250_3", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| r22752 | r22753 | |
| 326 | 345 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE_LEGACY("pit8253", pit8253_r, pit8253_w) |
| 327 | 346 | AM_RANGE(0x0060, 0x0063) AM_READWRITE(europc_pio_r, europc_pio_w) |
| 328 | 347 | AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r, pc_page_w) |
| 329 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("joy", pc_joy_device, joy_port_r, joy_port_w) |
| 348 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w) |
| 330 | 349 | AM_RANGE(0x0250, 0x025f) AM_READWRITE(europc_jim_r, europc_jim_w) |
| 331 | 350 | AM_RANGE(0x0278, 0x027b) AM_DEVREADWRITE_LEGACY("lpt_2", pc_lpt_r, pc_lpt_w) |
| 332 | 351 | AM_RANGE(0x02e0, 0x02e0) AM_READ(europc_jim2_r) |
| r22752 | r22753 | |
| 361 | 380 | AM_RANGE(0x0060, 0x0063) AM_READWRITE(tandy1000_pio_r, tandy1000_pio_w) |
| 362 | 381 | AM_RANGE(0x0080, 0x0087) AM_READWRITE(pc_page_r, pc_page_w) |
| 363 | 382 | AM_RANGE(0x00c0, 0x00c0) AM_DEVWRITE("sn76496", ncr7496_device, write) |
| 364 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("joy", pc_joy_device, joy_port_r, joy_port_w) |
| 383 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w) |
| 365 | 384 | AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE("ins8250_1", ins8250_device, ins8250_r, ins8250_w) |
| 366 | 385 | AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_t1t_p37x_r, pc_t1t_p37x_w) |
| 367 | 386 | AM_RANGE(0x03bc, 0x03be) AM_DEVREADWRITE_LEGACY("lpt_0", pc_lpt_r, pc_lpt_w) |
| r22752 | r22753 | |
| 391 | 410 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8(tandy1000_pio_r, tandy1000_pio_w, 0xffff) |
| 392 | 411 | AM_RANGE(0x0080, 0x0087) AM_READWRITE8(pc_page_r, pc_page_w, 0xffff) |
| 393 | 412 | AM_RANGE(0x00c0, 0x00c1) AM_DEVWRITE8("sn76496", ncr7496_device, write, 0xffff) |
| 394 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 413 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 395 | 414 | AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE8("ins8250_1", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 396 | 415 | AM_RANGE(0x0378, 0x037f) AM_READWRITE8(pc_t1t_p37x_r, pc_t1t_p37x_w, 0xffff) |
| 397 | 416 | AM_RANGE(0x03bc, 0x03bf) AM_DEVREADWRITE8_LEGACY("lpt_0", pc_lpt_r, pc_lpt_w, 0xffff) |
| r22752 | r22753 | |
| 423 | 442 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8(tandy1000_pio_r, tandy1000_pio_w, 0xffff) |
| 424 | 443 | AM_RANGE(0x0080, 0x0087) AM_READWRITE8(pc_page_r, pc_page_w, 0xffff) |
| 425 | 444 | AM_RANGE(0x00c0, 0x00c1) AM_DEVWRITE8("sn76496", ncr7496_device, write, 0xffff) |
| 426 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 445 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff) |
| 427 | 446 | AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE8("ins8250_1", ins8250_device, ins8250_r, ins8250_w, 0xffff) |
| 428 | 447 | AM_RANGE(0x0378, 0x037f) AM_READWRITE8(pc_t1t_p37x_r, pc_t1t_p37x_w, 0xffff) |
| 429 | 448 | AM_RANGE(0x03bc, 0x03bf) AM_DEVREADWRITE8_LEGACY("lpt_0", pc_lpt_r, pc_lpt_w, 0xffff) |
| r22752 | r22753 | |
| 455 | 474 | AM_RANGE(0x00c0, 0x00c0) AM_DEVWRITE("sn76496", sn76496_device, write) |
| 456 | 475 | AM_RANGE(0x00f2, 0x00f2) AM_WRITE(pcjr_fdc_dor_w) |
| 457 | 476 | AM_RANGE(0x00f4, 0x00f5) AM_DEVICE("upd765", upd765a_device, map) |
| 458 | | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("joy", pc_joy_device, joy_port_r, joy_port_w) |
| 477 | AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w) |
| 459 | 478 | AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE("ins8250_1", ins8250_device, ins8250_r, ins8250_w) |
| 460 | 479 | AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_t1t_p37x_r, pc_t1t_p37x_w) |
| 461 | 480 | AM_RANGE(0x03bc, 0x03be) AM_DEVREADWRITE_LEGACY("lpt_0", pc_lpt_r, pc_lpt_w) |
| r22752 | r22753 | |
| 994 | 1013 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 995 | 1014 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 996 | 1015 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 997 | | MCFG_PC_JOY_ADD("joy") |
| 1016 | MCFG_PC_JOY_ADD("pc_joy") |
| 998 | 1017 | |
| 999 | 1018 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1000 | 1019 | |
| r22752 | r22753 | |
| 1060 | 1079 | MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL, NULL ) |
| 1061 | 1080 | MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL, NULL ) |
| 1062 | 1081 | MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL, NULL ) |
| 1063 | | MCFG_PC_JOY_ADD("joy") |
| 1082 | MCFG_PC_JOY_ADD("pc_joy") |
| 1064 | 1083 | |
| 1065 | 1084 | /* video hardware */ |
| 1066 | 1085 | MCFG_FRAGMENT_ADD( pcvideo_aga ) |
| r22752 | r22753 | |
| 1127 | 1146 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1128 | 1147 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1129 | 1148 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1130 | | MCFG_PC_JOY_ADD("joy") |
| 1149 | MCFG_PC_JOY_ADD("pc_joy") |
| 1131 | 1150 | |
| 1132 | 1151 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1133 | 1152 | |
| r22752 | r22753 | |
| 1181 | 1200 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1182 | 1201 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1183 | 1202 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1184 | | MCFG_PC_JOY_ADD("joy") |
| 1203 | MCFG_PC_JOY_ADD("pc_joy") |
| 1185 | 1204 | |
| 1186 | 1205 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1187 | 1206 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "35dd", 0, pc_state::floppy_formats) |
| r22752 | r22753 | |
| 1230 | 1249 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1231 | 1250 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1232 | 1251 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1233 | | MCFG_PC_JOY_ADD("joy") |
| 1252 | MCFG_PC_JOY_ADD("pc_joy") |
| 1234 | 1253 | |
| 1235 | 1254 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1236 | 1255 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "35dd", 0, pc_state::floppy_formats) |
| r22752 | r22753 | |
| 1299 | 1318 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1300 | 1319 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1301 | 1320 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1302 | | MCFG_PC_JOY_ADD("joy") |
| 1321 | MCFG_PC_JOY_ADD("pc_joy") |
| 1303 | 1322 | |
| 1304 | 1323 | /* cassette */ |
| 1305 | 1324 | MCFG_CASSETTE_ADD( "cassette", ibm5150_cassette_interface ) |
| r22752 | r22753 | |
| 1499 | 1518 | MCFG_RAM_DEFAULT_SIZE("640K") |
| 1500 | 1519 | MACHINE_CONFIG_END |
| 1501 | 1520 | |
| 1521 | static MACHINE_CONFIG_DERIVED( asst128, iskr1031 ) |
| 1522 | MCFG_CPU_REPLACE("maincpu", I8086, 4772720) |
| 1523 | MCFG_CPU_PROGRAM_MAP(iskr1031_map) |
| 1524 | MCFG_CPU_IO_MAP(asst128_io) |
| 1525 | MACHINE_CONFIG_END |
| 1502 | 1526 | |
| 1503 | 1527 | static MACHINE_CONFIG_START( iskr3104, pc_state ) |
| 1504 | 1528 | /* basic machine hardware */ |
| r22752 | r22753 | |
| 1542 | 1566 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1543 | 1567 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1544 | 1568 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1545 | | MCFG_PC_JOY_ADD("joy") |
| 1569 | MCFG_PC_JOY_ADD("pc_joy") |
| 1546 | 1570 | |
| 1547 | 1571 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1548 | 1572 | |
| r22752 | r22753 | |
| 1598 | 1622 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1599 | 1623 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1600 | 1624 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1601 | | MCFG_PC_JOY_ADD("joy") |
| 1625 | MCFG_PC_JOY_ADD("pc_joy") |
| 1602 | 1626 | |
| 1603 | 1627 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1604 | 1628 | |
| r22752 | r22753 | |
| 1653 | 1677 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1654 | 1678 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1655 | 1679 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1656 | | MCFG_PC_JOY_ADD("joy") |
| 1680 | MCFG_PC_JOY_ADD("pc_joy") |
| 1657 | 1681 | |
| 1658 | 1682 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1659 | 1683 | |
| r22752 | r22753 | |
| 1708 | 1732 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1709 | 1733 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1710 | 1734 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1711 | | MCFG_PC_JOY_ADD("joy") |
| 1735 | MCFG_PC_JOY_ADD("pc_joy") |
| 1712 | 1736 | |
| 1713 | 1737 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1714 | 1738 | |
| r22752 | r22753 | |
| 1763 | 1787 | MCFG_PC_LPT_ADD("lpt_0", pc_lpt_config) |
| 1764 | 1788 | MCFG_PC_LPT_ADD("lpt_1", pc_lpt_config) |
| 1765 | 1789 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1766 | | MCFG_PC_JOY_ADD("joy") |
| 1790 | MCFG_PC_JOY_ADD("pc_joy") |
| 1767 | 1791 | |
| 1768 | 1792 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1769 | 1793 | |
| r22752 | r22753 | |
| 2366 | 2390 | COMP( 1989, iskr1031, ibm5150, 0, iskr1031, pccga, pc_state, pccga, "Schetmash", "Iskra 1031", GAME_NOT_WORKING) |
| 2367 | 2391 | COMP( 1989, iskr1030m, ibm5150, 0, iskr1031, pccga, pc_state, pccga, "Schetmash", "Iskra 1030M", GAME_NOT_WORKING) |
| 2368 | 2392 | COMP( 1992, iskr3104, ibm5150, 0, iskr3104, pcega, pc_state, pccga, "Schetmash", "Iskra 3104", GAME_NOT_WORKING) |
| 2369 | | COMP( 198?, asst128, ibm5150, 0, iskr1031, pccga, pc_state, pccga, "Schetmash", "Assistent 128", GAME_NOT_WORKING) |
| 2393 | COMP( 198?, asst128, ibm5150, 0, asst128, pccga, pc_state, pccga, "Schetmash", "Assistent 128", GAME_NOT_WORKING) |
| 2370 | 2394 | COMP( 1987, ec1840, ibm5150, 0, iskr1031, pccga, pc_state, pccga, "<unknown>", "EC-1840", GAME_NOT_WORKING) |
| 2371 | 2395 | COMP( 1987, ec1841, ibm5150, 0, ec1841, pccga, pc_state, pccga, "<unknown>", "EC-1841", GAME_NOT_WORKING) |
| 2372 | 2396 | COMP( 1989, ec1845, ibm5150, 0, iskr1031, pccga, pc_state, pccga, "<unknown>", "EC-1845", GAME_NOT_WORKING) |
trunk/src/mess/machine/isa_sblaster.c
| r22752 | r22753 | |
| 107 | 107 | MCFG_SOUND_ADD("sbdacr", DAC, 0) |
| 108 | 108 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) |
| 109 | 109 | |
| 110 | | MCFG_PC_JOY_ADD("joy") |
| 110 | MCFG_PC_JOY_ADD("pc_joy") |
| 111 | 111 | MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin", NULL) |
| 112 | 112 | MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout", NULL) |
| 113 | 113 | MACHINE_CONFIG_END |
| r22752 | r22753 | |
| 125 | 125 | MCFG_SOUND_ADD("sbdacr", DAC, 0) |
| 126 | 126 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) |
| 127 | 127 | |
| 128 | | MCFG_PC_JOY_ADD("joy") |
| 128 | MCFG_PC_JOY_ADD("pc_joy") |
| 129 | 129 | MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin", NULL) |
| 130 | 130 | MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout", NULL) |
| 131 | 131 | MACHINE_CONFIG_END |
| r22752 | r22753 | |
| 143 | 143 | MCFG_SOUND_ADD("sbdacr", DAC, 0) |
| 144 | 144 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) |
| 145 | 145 | |
| 146 | | MCFG_PC_JOY_ADD("joy") |
| 146 | MCFG_PC_JOY_ADD("pc_joy") |
| 147 | 147 | MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin", NULL) |
| 148 | 148 | MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout", NULL) |
| 149 | 149 | MACHINE_CONFIG_END |
| r22752 | r22753 | |
| 1122 | 1122 | device_serial_interface(mconfig, *this), |
| 1123 | 1123 | m_dacl(*this, "sbdacl"), |
| 1124 | 1124 | m_dacr(*this, "sbdacr"), |
| 1125 | | m_joy(*this, "joy"), |
| 1125 | m_joy(*this, "pc_joy"), |
| 1126 | 1126 | m_mdout(*this, "mdout") |
| 1127 | 1127 | { |
| 1128 | 1128 | } |
| r22752 | r22753 | |
| 1164 | 1164 | |
| 1165 | 1165 | void sb8_device::device_start() |
| 1166 | 1166 | { |
| 1167 | | m_isa->install_device( 0x0200, 0x0207, 0, 0, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("joy"))); |
| 1167 | m_isa->install_device( 0x0200, 0x0207, 0, 0, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("pc_joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("pc_joy"))); |
| 1168 | 1168 | m_isa->install_device( 0x0226, 0x0227, 0, 0, read8_delegate(FUNC(sb_device::dsp_reset_r), this), write8_delegate(FUNC(sb_device::dsp_reset_w), this)); |
| 1169 | 1169 | m_isa->install_device( 0x022a, 0x022b, 0, 0, read8_delegate(FUNC(sb_device::dsp_data_r), this), write8_delegate(FUNC(sb_device::dsp_data_w), this) ); |
| 1170 | 1170 | m_isa->install_device( 0x022c, 0x022d, 0, 0, read8_delegate(FUNC(sb_device::dsp_wbuf_status_r), this), write8_delegate(FUNC(sb_device::dsp_cmd_w), this) ); |
| r22752 | r22753 | |
| 1222 | 1222 | |
| 1223 | 1223 | void sb16_device::device_start() |
| 1224 | 1224 | { |
| 1225 | | m_isa->install_device( 0x0200, 0x0207, 0, 0, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("joy"))); |
| 1225 | m_isa->install_device( 0x0200, 0x0207, 0, 0, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("pc_joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("pc_joy"))); |
| 1226 | 1226 | m_isa->install_device( 0x0224, 0x0225, 0, 0, read8_delegate(FUNC(sb16_device::mixer_r), this), write8_delegate(FUNC(sb16_device::mixer_w), this)); |
| 1227 | 1227 | m_isa->install_device( 0x0226, 0x0227, 0, 0, read8_delegate(FUNC(sb_device::dsp_reset_r), this), write8_delegate(FUNC(sb_device::dsp_reset_w), this)); |
| 1228 | 1228 | m_isa->install_device( 0x022a, 0x022b, 0, 0, read8_delegate(FUNC(sb_device::dsp_data_r), this), write8_delegate(FUNC(sb_device::dsp_data_w), this) ); |
trunk/src/mess/machine/pc_joy.c
| r22752 | r22753 | |
| 6 | 6 | * |
| 7 | 7 | *************************************************************************/ |
| 8 | 8 | |
| 9 | | #include "emu.h" |
| 10 | 9 | #include "pc_joy.h" |
| 11 | 10 | |
| 11 | const device_type PC_JOY = &device_creator<pc_joy_device>; |
| 12 | |
| 13 | pc_joy_device::pc_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 14 | device_t(mconfig, PC_JOY, "PC joystick port", tag, owner, clock, "pc_joy", __FILE__), |
| 15 | device_slot_interface(mconfig, *this) |
| 16 | { |
| 17 | } |
| 18 | |
| 12 | 19 | READ8_MEMBER ( pc_joy_device::joy_port_r ) |
| 13 | 20 | { |
| 14 | | UINT8 data = 0xf; |
| 15 | | int delta; |
| 16 | | attotime new_time = machine().time(); |
| 17 | | delta = ((new_time - m_stime) * 256 * 1000).seconds; |
| 21 | int delta = ((machine().time() - m_stime) * 256 * 1000).seconds; |
| 18 | 22 | |
| 19 | | data = m_btn->read() ^ 0xf0; |
| 23 | if(!m_dev) |
| 24 | return 0xf0; |
| 20 | 25 | |
| 21 | | /* timer overflow? Nope, otherwise some HWs can't verify the port properly */ |
| 22 | | //if ((new_time - JOY_time) > attotime::from_msec(10)) |
| 23 | | //{ |
| 24 | | //} |
| 25 | | //else |
| 26 | return (m_dev->btn() << 4) | (m_dev->y2(delta) << 3) | (m_dev->x2(delta) << 2) | (m_dev->y1(delta) << 1) | m_dev->x1(delta); |
| 27 | } |
| 26 | 28 | |
| 27 | | if (m_x1->read() < delta) data &= ~0x01; |
| 28 | | if (m_y1->read() < delta) data &= ~0x02; |
| 29 | | if (m_x2->read() < delta) data &= ~0x04; |
| 30 | | if (m_y2->read() < delta) data &= ~0x08; |
| 31 | | return data; |
| 29 | WRITE8_MEMBER ( pc_joy_device::joy_port_w ) |
| 30 | { |
| 31 | m_stime = machine().time(); |
| 32 | m_dev->port_write(); |
| 32 | 33 | } |
| 33 | 34 | |
| 35 | void pc_joy_device::device_config_complete() |
| 36 | { |
| 37 | m_dev = dynamic_cast<device_pc_joy_interface *>(get_card_device()); |
| 38 | } |
| 34 | 39 | |
| 40 | device_pc_joy_interface::device_pc_joy_interface(const machine_config &mconfig, device_t &device) : |
| 41 | device_slot_card_interface(mconfig, device) |
| 42 | { |
| 43 | } |
| 35 | 44 | |
| 36 | | WRITE8_MEMBER ( pc_joy_device::joy_port_w ) |
| 45 | device_pc_joy_interface::~device_pc_joy_interface() |
| 37 | 46 | { |
| 38 | | m_stime = machine().time(); |
| 39 | 47 | } |
| 40 | 48 | |
| 41 | 49 | static INPUT_PORTS_START( pc_joystick ) |
| 42 | 50 | PORT_START("btn") |
| 43 | | PORT_BIT ( 0xf, 0xf, IPT_UNUSED ) |
| 44 | | PORT_BIT( 0x0010, 0x0000, IPT_BUTTON1) PORT_NAME("Joystick 1 Button 1") |
| 45 | | PORT_BIT( 0x0020, 0x0000, IPT_BUTTON2) PORT_NAME("Joystick 1 Button 2") |
| 46 | | PORT_BIT( 0x0040, 0x0000, IPT_BUTTON1) PORT_NAME("Joystick 2 Button 1") PORT_CODE(JOYCODE_BUTTON1) PORT_PLAYER(2) |
| 47 | | PORT_BIT( 0x0080, 0x0000, IPT_BUTTON2) PORT_NAME("Joystick 2 Button 2") PORT_CODE(JOYCODE_BUTTON2) PORT_PLAYER(2) |
| 51 | PORT_BIT( 0x1, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Joystick 1 Button 1") |
| 52 | PORT_BIT( 0x2, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Joystick 1 Button 2") |
| 53 | PORT_BIT( 0x4, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Joystick 2 Button 1") PORT_CODE(JOYCODE_BUTTON1) PORT_PLAYER(2) |
| 54 | PORT_BIT( 0x8, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Joystick 2 Button 2") PORT_CODE(JOYCODE_BUTTON2) PORT_PLAYER(2) |
| 48 | 55 | |
| 49 | 56 | PORT_START("x1") |
| 50 | 57 | PORT_BIT(0xff,0x80,IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) |
| r22752 | r22753 | |
| 59 | 66 | PORT_BIT(0xff,0x80,IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) |
| 60 | 67 | INPUT_PORTS_END |
| 61 | 68 | |
| 62 | | const device_type PC_JOY = &device_creator<pc_joy_device>; |
| 69 | ioport_constructor pc_basic_joy_device::device_input_ports() const |
| 70 | { |
| 71 | return INPUT_PORTS_NAME( pc_joystick ); |
| 72 | } |
| 63 | 73 | |
| 64 | | pc_joy_device::pc_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 65 | | : device_t(mconfig, PC_JOY, "PC joystick", tag, owner, clock), |
| 74 | const device_type PC_BASIC_JOY = &device_creator<pc_basic_joy_device>; |
| 75 | |
| 76 | pc_basic_joy_device::pc_basic_joy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 77 | device_t(mconfig, PC_BASIC_JOY, "PC basic joystick", tag, owner, clock, "basic_joy", __FILE__), |
| 78 | device_pc_joy_interface(mconfig, *this), |
| 66 | 79 | m_btn(*this, "btn"), |
| 67 | 80 | m_x1(*this, "x1"), |
| 68 | 81 | m_y1(*this, "y1"), |
| r22752 | r22753 | |
| 71 | 84 | { |
| 72 | 85 | } |
| 73 | 86 | |
| 74 | | ioport_constructor pc_joy_device::device_input_ports() const |
| 75 | | { |
| 76 | | return INPUT_PORTS_NAME( pc_joystick ); |
| 77 | | } |
| 87 | SLOT_INTERFACE_START(pc_joysticks) |
| 88 | SLOT_INTERFACE("basic_joy", PC_BASIC_JOY) |
| 89 | SLOT_INTERFACE_END |