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 | }; |