trunk/src/emu/machine/6522via.h
| r26868 | r26869 | |
| 31 | 31 | #define MCFG_VIA6522_READPB_HANDLER(_devcb) \ |
| 32 | 32 | devcb = &via6522_device::set_readpb_handler(*device, DEVCB2_##_devcb); |
| 33 | 33 | |
| 34 | | #define MCFG_VIA6522_READCB2_HANDLER(_devcb) \ |
| 35 | | devcb = &via6522_device::set_readcb2_handler(*device, DEVCB2_##_devcb); |
| 36 | | |
| 37 | 34 | // TODO: CONVERT THESE TO WRITE LINE |
| 38 | 35 | #define MCFG_VIA6522_WRITEPA_HANDLER(_devcb) \ |
| 39 | 36 | devcb = &via6522_device::set_writepa_handler(*device, DEVCB2_##_devcb); |
| r26868 | r26869 | |
| 45 | 42 | #define MCFG_VIA6522_CA1_HANDLER(_devcb) \ |
| 46 | 43 | devcb = &via6522_device::set_ca1_handler(*device, DEVCB2_##_devcb); |
| 47 | 44 | |
| 48 | | #define MCFG_VIA6522_CB1_HANDLER(_devcb) \ |
| 49 | | devcb = &via6522_device::set_cb1_handler(*device, DEVCB2_##_devcb); |
| 50 | | |
| 51 | 45 | #define MCFG_VIA6522_CA2_HANDLER(_devcb) \ |
| 52 | 46 | devcb = &via6522_device::set_ca2_handler(*device, DEVCB2_##_devcb); |
| 53 | 47 | |
| 48 | #define MCFG_VIA6522_CB1_HANDLER(_devcb) \ |
| 49 | devcb = &via6522_device::set_cb1_handler(*device, DEVCB2_##_devcb); |
| 50 | |
| 54 | 51 | #define MCFG_VIA6522_CB2_HANDLER(_devcb) \ |
| 55 | 52 | devcb = &via6522_device::set_cb2_handler(*device, DEVCB2_##_devcb); |
| 56 | 53 | |
| r26868 | r26869 | |
| 74 | 71 | // TODO: REMOVE THESE |
| 75 | 72 | template<class _Object> static devcb2_base &set_readpa_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_in_a_handler.set_callback(object); } |
| 76 | 73 | template<class _Object> static devcb2_base &set_readpb_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_in_b_handler.set_callback(object); } |
| 77 | | template<class _Object> static devcb2_base &set_readcb2_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_in_cb2_handler.set_callback(object); } |
| 78 | 74 | |
| 79 | 75 | // TODO: CONVERT THESE TO WRITE LINE |
| 80 | 76 | template<class _Object> static devcb2_base &set_writepa_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_out_a_handler.set_callback(object); } |
| 81 | 77 | template<class _Object> static devcb2_base &set_writepb_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_out_b_handler.set_callback(object); } |
| 82 | 78 | |
| 83 | 79 | template<class _Object> static devcb2_base &set_ca1_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_ca1_handler.set_callback(object); } |
| 84 | | template<class _Object> static devcb2_base &set_cb1_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_cb1_handler.set_callback(object); } |
| 85 | 80 | template<class _Object> static devcb2_base &set_ca2_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_ca2_handler.set_callback(object); } |
| 81 | template<class _Object> static devcb2_base &set_cb1_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_cb1_handler.set_callback(object); } |
| 86 | 82 | template<class _Object> static devcb2_base &set_cb2_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_cb2_handler.set_callback(object); } |
| 87 | 83 | template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<via6522_device &>(device).m_irq_handler.set_callback(object); } |
| 88 | 84 | |
| r26868 | r26869 | |
| 155 | 151 | // TODO: REMOVE THESE |
| 156 | 152 | devcb2_read8 m_in_a_handler; |
| 157 | 153 | devcb2_read8 m_in_b_handler; |
| 158 | | devcb2_read_line m_in_cb2_handler; |
| 159 | 154 | |
| 160 | 155 | // TODO: CONVERT THESE TO WRITE LINE |
| 161 | 156 | devcb2_write8 m_out_a_handler; |
| 162 | 157 | devcb2_write8 m_out_b_handler; |
| 163 | 158 | |
| 164 | 159 | devcb2_write_line m_ca1_handler; |
| 165 | | devcb2_write_line m_cb1_handler; |
| 166 | 160 | devcb2_write_line m_ca2_handler; |
| 161 | devcb2_write_line m_cb1_handler; |
| 167 | 162 | devcb2_write_line m_cb2_handler; |
| 168 | 163 | devcb2_write_line m_irq_handler; |
| 169 | 164 | |
trunk/src/mess/drivers/mac.c
| r26868 | r26869 | |
| 966 | 966 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 1000000) |
| 967 | 967 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 968 | 968 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 969 | | #ifdef MAC_USE_EMULATED_KBD |
| 970 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_via_in_cb2)) |
| 971 | | #endif |
| 972 | 969 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 973 | 970 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 974 | 971 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_via_out_cb2)) |
| 975 | 972 | MCFG_VIA6522_IRQ_HANDLER(WRITELINE(mac_state,mac_via_irq)) |
| 976 | 973 | |
| 977 | | MCFG_MACKBD_ADD() |
| 974 | MCFG_DEVICE_ADD(MACKBD_TAG, MACKBD, 0) |
| 975 | #ifdef MAC_USE_EMULATED_KBD |
| 976 | MCFG_MACKBD_DATAOUT_HANDLER(DEVWRITELINE("via6522_0", via6522_device, write_cb2)) |
| 978 | 977 | MCFG_MACKBD_CLKOUT_HANDLER(WRITELINE(mac_state, mac_kbd_clk_in)) |
| 978 | #endif |
| 979 | 979 | |
| 980 | 980 | /* internal ram */ |
| 981 | 981 | MCFG_RAM_ADD(RAM_TAG) |
| r26868 | r26869 | |
| 1019 | 1019 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 1000000) |
| 1020 | 1020 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1021 | 1021 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1022 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1023 | 1022 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1024 | 1023 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1025 | 1024 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1030 | 1029 | MCFG_RAM_DEFAULT_SIZE("4M") |
| 1031 | 1030 | MCFG_RAM_EXTRA_OPTIONS("2M,2560K,4M") |
| 1032 | 1031 | |
| 1033 | | MCFG_MACKBD_REMOVE() |
| 1032 | MCFG_DEVICE_REMOVE(MACKBD_TAG) |
| 1034 | 1033 | |
| 1035 | 1034 | MCFG_MACPDS_BUS_ADD("sepds", "maincpu", macpds_intf) |
| 1036 | 1035 | MCFG_MACPDS_SLOT_ADD("sepds", "pds", mac_sepds_cards, NULL) |
| r26868 | r26869 | |
| 1044 | 1043 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 1000000) |
| 1045 | 1044 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1046 | 1045 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1047 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1048 | 1046 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1049 | 1047 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1050 | 1048 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1055 | 1053 | MCFG_RAM_DEFAULT_SIZE("4M") |
| 1056 | 1054 | MCFG_RAM_EXTRA_OPTIONS("2M,2560K,4M") |
| 1057 | 1055 | |
| 1058 | | MCFG_MACKBD_REMOVE() |
| 1056 | MCFG_DEVICE_REMOVE(MACKBD_TAG) |
| 1059 | 1057 | MACHINE_CONFIG_END |
| 1060 | 1058 | |
| 1061 | 1059 | static MACHINE_CONFIG_START( macprtb, mac_state ) |
| r26868 | r26869 | |
| 1099 | 1097 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360) |
| 1100 | 1098 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1101 | 1099 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1102 | | #ifdef MAC_USE_EMULATED_KBD |
| 1103 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_via_in_cb2)) |
| 1104 | | #endif |
| 1105 | 1100 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1106 | 1101 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1107 | 1102 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_via_out_cb2)) |
| r26868 | r26869 | |
| 1154 | 1149 | MCFG_DEVICE_ADD("via6522_0", VIA6522, C7M/10) |
| 1155 | 1150 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1156 | 1151 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1157 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1158 | 1152 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1159 | 1153 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1160 | 1154 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1217 | 1211 | MCFG_DEVICE_ADD("via6522_0", VIA6522, C7M/10) |
| 1218 | 1212 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1219 | 1213 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1220 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1221 | 1214 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1222 | 1215 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1223 | 1216 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1427 | 1420 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360) |
| 1428 | 1421 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1429 | 1422 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1430 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1431 | 1423 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1432 | 1424 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1433 | 1425 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1488 | 1480 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360) |
| 1489 | 1481 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1490 | 1482 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1491 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1492 | 1483 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1493 | 1484 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1494 | 1485 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1569 | 1560 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360) |
| 1570 | 1561 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1571 | 1562 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1572 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1573 | 1563 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1574 | 1564 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1575 | 1565 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1751 | 1741 | MCFG_DEVICE_ADD("via6522_0", VIA6522, 783360) |
| 1752 | 1742 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1753 | 1743 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1754 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1755 | 1744 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1756 | 1745 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1757 | 1746 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
| r26868 | r26869 | |
| 1809 | 1798 | MCFG_DEVICE_ADD("via6522_0", VIA6522, C7M/10) |
| 1810 | 1799 | MCFG_VIA6522_READPA_HANDLER(READ8(mac_state,mac_via_in_a)) |
| 1811 | 1800 | MCFG_VIA6522_READPB_HANDLER(READ8(mac_state,mac_via_in_b)) |
| 1812 | | MCFG_VIA6522_READCB2_HANDLER(READLINE(mac_state,mac_adb_via_in_cb2)) |
| 1813 | 1801 | MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(mac_state,mac_via_out_a)) |
| 1814 | 1802 | MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b)) |
| 1815 | 1803 | MCFG_VIA6522_CB2_HANDLER(WRITELINE(mac_state,mac_adb_via_out_cb2)) |
trunk/src/mess/machine/mackbd.h
| r26868 | r26869 | |
| 8 | 8 | |
| 9 | 9 | |
| 10 | 10 | //************************************************************************** |
| 11 | | // MACROS / CONSTANTS |
| 12 | | //************************************************************************** |
| 13 | | |
| 14 | | #define MACKBD_TAG "mackbd" |
| 15 | | |
| 16 | | //************************************************************************** |
| 17 | 11 | // INTERFACE CONFIGURATION MACROS |
| 18 | 12 | //************************************************************************** |
| 19 | 13 | |
| 20 | | #define MCFG_MACKBD_ADD() \ |
| 21 | | MCFG_DEVICE_ADD(MACKBD_TAG, MACKBD, 0) |
| 22 | | |
| 23 | | #define MCFG_MACKBD_REPLACE() \ |
| 24 | | MCFG_DEVICE_REPLACE(MACKBD_TAG, MACKBD, 0) |
| 25 | | |
| 26 | | #define MCFG_MACKBD_REMOVE() \ |
| 27 | | MCFG_DEVICE_REMOVE(MACKBD_TAG) |
| 28 | | |
| 29 | 14 | #define MCFG_MACKBD_CLKOUT_HANDLER(_devcb) \ |
| 30 | 15 | devcb = &mackbd_device::set_clkout_handler(*device, DEVCB2_##_devcb); |
| 31 | 16 | |
| 17 | #define MCFG_MACKBD_DATAOUT_HANDLER(_devcb) \ |
| 18 | devcb = &mackbd_device::set_dataout_handler(*device, DEVCB2_##_devcb); |
| 19 | |
| 32 | 20 | //************************************************************************** |
| 33 | 21 | // TYPE DEFINITIONS |
| 34 | 22 | //************************************************************************** |
| r26868 | r26869 | |
| 40 | 28 | public: |
| 41 | 29 | // static config helper |
| 42 | 30 | template<class _Object> static devcb2_base &set_clkout_handler(device_t &device, _Object object) { return downcast<mackbd_device &>(device).m_clkout_handler.set_callback(object); } |
| 31 | template<class _Object> static devcb2_base &set_dataout_handler(device_t &device, _Object object) { return downcast<mackbd_device &>(device).m_dataout_handler.set_callback(object); } |
| 43 | 32 | |
| 44 | 33 | // construction/destruction |
| 45 | 34 | mackbd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| r26868 | r26869 | |
| 52 | 41 | DECLARE_WRITE8_MEMBER(p2_w); |
| 53 | 42 | DECLARE_READ8_MEMBER(t1_r); |
| 54 | 43 | |
| 55 | | DECLARE_READ_LINE_MEMBER(data_r); |
| 56 | 44 | DECLARE_WRITE_LINE_MEMBER(data_w); |
| 57 | 45 | |
| 58 | 46 | protected: |
| r26868 | r26869 | |
| 69 | 57 | UINT8 p0, p1, p2, data_from_mac, data_to_mac; |
| 70 | 58 | |
| 71 | 59 | devcb2_write_line m_clkout_handler; |
| 60 | devcb2_write_line m_dataout_handler; |
| 72 | 61 | |
| 73 | 62 | void scan_kbd_col(int col); |
| 74 | 63 | }; |