trunk/src/mess/drivers/c128.c
| r24557 | r24558 | |
| 1498 | 1498 | //------------------------------------------------- |
| 1499 | 1499 | |
| 1500 | 1500 | static MACHINE_CONFIG_DERIVED( c128dcr, ntsc ) |
| 1501 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) |
| 1502 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, c128dcr_iec_devices, "c1571") // TODO c1571cr |
| 1503 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) |
| 1504 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) |
| 1505 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) |
| 1506 | | MCFG_CBM_IEC_BUS_ADD() |
| 1501 | MCFG_CBM_IEC_ADD("c1571") // TODO c1571cr |
| 1507 | 1502 | MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w)) |
| 1508 | 1503 | MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w)) |
| 1509 | 1504 | MACHINE_CONFIG_END |
| r24557 | r24558 | |
| 1514 | 1509 | //------------------------------------------------- |
| 1515 | 1510 | |
| 1516 | 1511 | static MACHINE_CONFIG_DERIVED( c128d81, ntsc ) |
| 1517 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) |
| 1518 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, c128d81_iec_devices, "c1563") |
| 1519 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) |
| 1520 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) |
| 1521 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) |
| 1512 | MCFG_CBM_IEC_SLOT_ADD("iec", c128d81_iec_devices, "c1563") |
| 1522 | 1513 | MCFG_CBM_IEC_BUS_ADD() |
| 1523 | 1514 | MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w)) |
| 1524 | 1515 | MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w)) |
| r24557 | r24558 | |
| 1621 | 1612 | //------------------------------------------------- |
| 1622 | 1613 | |
| 1623 | 1614 | static MACHINE_CONFIG_DERIVED( c128dcrp, pal ) |
| 1624 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) |
| 1625 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, c128dcr_iec_devices, "c1571") // TODO c1571cr |
| 1626 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) |
| 1627 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) |
| 1628 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) |
| 1629 | | MCFG_CBM_IEC_BUS_ADD() |
| 1615 | MCFG_CBM_IEC_ADD("c1571") // TODO c1571cr |
| 1630 | 1616 | MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w)) |
| 1631 | 1617 | MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w)) |
| 1632 | 1618 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/c64.c
| r24557 | r24558 | |
| 1130 | 1130 | MCFG_M6510_PORT_PULLS(0x07, 0xc0) |
| 1131 | 1131 | |
| 1132 | 1132 | // devices |
| 1133 | | MCFG_DEVICE_REMOVE("iec8") |
| 1134 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, sx1541_iec_devices, "sx1541") |
| 1133 | MCFG_DEVICE_REMOVE("iec") |
| 1134 | MCFG_CBM_IEC_SLOT_ADD("iec", sx1541_iec_devices, "sx1541") |
| 1135 | 1135 | MACHINE_CONFIG_END |
| 1136 | 1136 | |
| 1137 | 1137 | |
| r24557 | r24558 | |
| 1143 | 1143 | MCFG_FRAGMENT_ADD(ntsc_sx) |
| 1144 | 1144 | |
| 1145 | 1145 | // devices |
| 1146 | | MCFG_DEVICE_REMOVE("iec9") |
| 1147 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, sx1541_iec_devices, "sx1541") |
| 1146 | //MCFG_CBM_IEC_SLOT_ADD("iec", sx1541_iec_devices, "sx1541") |
| 1148 | 1147 | MACHINE_CONFIG_END |
| 1149 | 1148 | |
| 1150 | 1149 | |
| r24557 | r24558 | |
| 1234 | 1233 | MCFG_M6510_PORT_PULLS(0x07, 0xc0) |
| 1235 | 1234 | |
| 1236 | 1235 | // devices |
| 1237 | | MCFG_DEVICE_REMOVE("iec8") |
| 1238 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, sx1541_iec_devices, "sx1541") |
| 1236 | MCFG_DEVICE_REMOVE("iec") |
| 1237 | MCFG_CBM_IEC_SLOT_ADD("iec", sx1541_iec_devices, "sx1541") |
| 1239 | 1238 | MACHINE_CONFIG_END |
| 1240 | 1239 | |
| 1241 | 1240 | |
trunk/src/mess/machine/c1581.c
| r24557 | r24558 | |
| 145 | 145 | //data |= !m_floppy->ready_r() << 1; |
| 146 | 146 | |
| 147 | 147 | // device number |
| 148 | | data |= (m_address - 8) << 3; |
| 148 | data |= (m_address->read() & 0x03) << 3; |
| 149 | 149 | |
| 150 | 150 | // disk change |
| 151 | 151 | data |= m_floppy->dskchg_r() << 7; |
| r24557 | r24558 | |
| 282 | 282 | MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c1581_device, cia_pb_r), WRITE8(c1581_device, cia_pb_w), NULL) |
| 283 | 283 | |
| 284 | 284 | MCFG_WD1772x_ADD(WD1772_TAG, XTAL_16MHz/2) |
| 285 | MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", c1581_floppies, "35dd", c1581_device::floppy_formats) |
| 285 | 286 | |
| 286 | | MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", c1581_floppies, "35dd", c1581_device::floppy_formats) |
| 287 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 287 | 288 | MACHINE_CONFIG_END |
| 288 | 289 | |
| 289 | 290 | |
| r24557 | r24558 | |
| 298 | 299 | } |
| 299 | 300 | |
| 300 | 301 | |
| 302 | //------------------------------------------------- |
| 303 | // INPUT_PORTS( c1581 ) |
| 304 | //------------------------------------------------- |
| 301 | 305 | |
| 306 | static INPUT_PORTS_START( c1581 ) |
| 307 | PORT_START("ADDRESS") |
| 308 | PORT_DIPNAME( 0x03, 0x00, "Device Address" ) |
| 309 | PORT_DIPSETTING( 0x00, "8" ) |
| 310 | PORT_DIPSETTING( 0x01, "9" ) |
| 311 | PORT_DIPSETTING( 0x02, "10" ) |
| 312 | PORT_DIPSETTING( 0x03, "11" ) |
| 313 | INPUT_PORTS_END |
| 314 | |
| 315 | |
| 316 | //------------------------------------------------- |
| 317 | // input_ports - device-specific input ports |
| 318 | //------------------------------------------------- |
| 319 | |
| 320 | ioport_constructor c1581_device::device_input_ports() const |
| 321 | { |
| 322 | return INPUT_PORTS_NAME( c1581 ); |
| 323 | } |
| 324 | |
| 325 | |
| 326 | |
| 302 | 327 | //************************************************************************** |
| 303 | 328 | // LIVE DEVICE |
| 304 | 329 | //************************************************************************** |
| r24557 | r24558 | |
| 314 | 339 | m_cia(*this, M8520_TAG), |
| 315 | 340 | m_fdc(*this, WD1772_TAG), |
| 316 | 341 | m_floppy(*this, WD1772_TAG":0:35dd"), |
| 342 | m_address(*this, "ADDRESS"), |
| 317 | 343 | m_data_out(0), |
| 318 | 344 | m_atn_ack(0), |
| 319 | 345 | m_fast_ser_dir(0), |
| r24557 | r24558 | |
| 330 | 356 | m_cia(*this, M8520_TAG), |
| 331 | 357 | m_fdc(*this, WD1772_TAG), |
| 332 | 358 | m_floppy(*this, WD1772_TAG":0:35dd"), |
| 359 | m_address(*this, "ADDRESS"), |
| 333 | 360 | m_data_out(0), |
| 334 | 361 | m_atn_ack(0), |
| 335 | 362 | m_fast_ser_dir(0), |
trunk/src/mess/machine/c1581.h
| r24557 | r24558 | |
| 12 | 12 | #ifndef __C1581__ |
| 13 | 13 | #define __C1581__ |
| 14 | 14 | |
| 15 | | |
| 16 | 15 | #include "emu.h" |
| 17 | 16 | #include "cpu/m6502/m6502.h" |
| 18 | 17 | #include "formats/d81_dsk.h" |
| 19 | 18 | #include "machine/cbmiec.h" |
| 19 | #include "machine/cbmipt.h" |
| 20 | 20 | #include "machine/mos6526.h" |
| 21 | 21 | #include "machine/wd_fdc.h" |
| 22 | 22 | |
| r24557 | r24558 | |
| 53 | 53 | // optional information overrides |
| 54 | 54 | virtual const rom_entry *device_rom_region() const; |
| 55 | 55 | virtual machine_config_constructor device_mconfig_additions() const; |
| 56 | virtual ioport_constructor device_input_ports() const; |
| 56 | 57 | |
| 57 | 58 | // not really public |
| 58 | 59 | DECLARE_WRITE_LINE_MEMBER( cnt_w ); |
| r24557 | r24558 | |
| 81 | 82 | required_device<mos6526_device> m_cia; |
| 82 | 83 | required_device<wd1772_t> m_fdc; |
| 83 | 84 | required_device<floppy_image_device> m_floppy; |
| 85 | required_ioport m_address; |
| 84 | 86 | |
| 85 | 87 | int m_data_out; // serial data out |
| 86 | 88 | int m_atn_ack; // attention acknowledge |
trunk/src/mess/machine/cbmiec.c
| r24557 | r24558 | |
| 262 | 262 | |
| 263 | 263 | |
| 264 | 264 | //------------------------------------------------- |
| 265 | | // static_set_slot - |
| 266 | | //------------------------------------------------- |
| 267 | | |
| 268 | | void cbm_iec_slot_device::static_set_slot(device_t &device, int address) |
| 269 | | { |
| 270 | | cbm_iec_slot_device &cbm_iec_card = dynamic_cast<cbm_iec_slot_device &>(device); |
| 271 | | cbm_iec_card.m_address = address; |
| 272 | | } |
| 273 | | |
| 274 | | |
| 275 | | //------------------------------------------------- |
| 276 | 265 | // device_start - device-specific startup |
| 277 | 266 | //------------------------------------------------- |
| 278 | 267 | |
| r24557 | r24558 | |
| 280 | 269 | { |
| 281 | 270 | m_bus = machine().device<cbm_iec_device>(CBM_IEC_TAG); |
| 282 | 271 | device_cbm_iec_interface *dev = dynamic_cast<device_cbm_iec_interface *>(get_card_device()); |
| 283 | | if (dev) m_bus->add_device(get_card_device(), m_address); |
| 272 | if (dev) m_bus->add_device(get_card_device()); |
| 284 | 273 | } |
| 285 | 274 | |
| 286 | 275 | |
| r24557 | r24558 | |
| 450 | 439 | reset_w(1); |
| 451 | 440 | } |
| 452 | 441 | |
| 442 | |
| 453 | 443 | //------------------------------------------------- |
| 454 | 444 | // device_stop - device-specific stop |
| 455 | 445 | //------------------------------------------------- |
| r24557 | r24558 | |
| 464 | 454 | // add_device - |
| 465 | 455 | //------------------------------------------------- |
| 466 | 456 | |
| 467 | | void cbm_iec_device::add_device(device_t *target, int address) |
| 457 | void cbm_iec_device::add_device(device_t *target) |
| 468 | 458 | { |
| 469 | 459 | daisy_entry *entry = auto_alloc(machine(), daisy_entry(target)); |
| 470 | 460 | |
| 471 | 461 | entry->m_interface->m_bus = this; |
| 472 | | entry->m_interface->m_address = address; |
| 473 | 462 | |
| 474 | 463 | m_device_list.append(*entry); |
| 475 | 464 | } |
| 476 | 465 | |
| 466 | |
| 477 | 467 | //------------------------------------------------- |
| 478 | 468 | // daisy_entry - constructor |
| 479 | 469 | //------------------------------------------------- |
trunk/src/mess/machine/cbmiec.h
| r24557 | r24558 | |
| 48 | 48 | downcast<cbm_iec_device *>(device)->set_reset_callback(DEVCB2_##_write); |
| 49 | 49 | |
| 50 | 50 | |
| 51 | | #define MCFG_CBM_IEC_SLOT_ADD(_tag, _num, _slot_intf, _def_slot) \ |
| 51 | #define MCFG_CBM_IEC_SLOT_ADD(_tag, _slot_intf, _def_slot) \ |
| 52 | 52 | MCFG_DEVICE_ADD(_tag, CBM_IEC_SLOT, 0) \ |
| 53 | | MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \ |
| 54 | | cbm_iec_slot_device::static_set_slot(*device, _num); |
| 53 | MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) |
| 55 | 54 | |
| 56 | 55 | |
| 57 | 56 | |
| r24557 | r24558 | |
| 75 | 74 | template<class _write> void set_data_callback(_write wr) { m_write_data.set_callback(wr); } |
| 76 | 75 | template<class _write> void set_reset_callback(_write wr) { m_write_reset.set_callback(wr); } |
| 77 | 76 | |
| 78 | | void add_device(device_t *target, int address); |
| 77 | void add_device(device_t *target); |
| 79 | 78 | |
| 80 | 79 | // reads for both host and peripherals |
| 81 | 80 | DECLARE_READ_LINE_MEMBER( srq_r ); |
| r24557 | r24558 | |
| 155 | 154 | // device-level overrides |
| 156 | 155 | virtual void device_start(); |
| 157 | 156 | |
| 158 | | // inline configuration |
| 159 | | static void static_set_slot(device_t &device, int address); |
| 160 | | |
| 161 | 157 | private: |
| 162 | 158 | // configuration |
| 163 | | int m_address; |
| 164 | 159 | cbm_iec_device *m_bus; |
| 165 | 160 | }; |
| 166 | 161 | |
| r24557 | r24558 | |
| 187 | 182 | virtual void cbm_iec_reset(int state) { }; |
| 188 | 183 | |
| 189 | 184 | cbm_iec_device *m_bus; |
| 190 | | int m_address; |
| 191 | 185 | }; |
| 192 | 186 | |
| 193 | 187 | |
trunk/src/mess/machine/cbmipt.h
| r24557 | r24558 | |
| 110 | 110 | |
| 111 | 111 | |
| 112 | 112 | #define MCFG_CBM_IEC_ADD(_default_drive) \ |
| 113 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL) \ |
| 114 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, cbm_iec_devices, _default_drive) \ |
| 115 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL) \ |
| 116 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL) \ |
| 117 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL) \ |
| 113 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, _default_drive) \ |
| 118 | 114 | MCFG_CBM_IEC_BUS_ADD() |
| 119 | 115 | |
| 120 | 116 | |
trunk/src/mess/machine/c1541.c
| r24557 | r24558 | |
| 504 | 504 | data |= !m_bus->clk_r() << 2; |
| 505 | 505 | |
| 506 | 506 | // serial bus address |
| 507 | | data |= (m_address - 8) << 5; |
| 507 | data |= (m_address->read() & 0x03) << 5; |
| 508 | 508 | |
| 509 | 509 | // attention in |
| 510 | 510 | data |= !m_bus->atn_r() << 7; |
| r24557 | r24558 | |
| 833 | 833 | |
| 834 | 834 | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface) |
| 835 | 835 | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 836 | |
| 837 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 836 | 838 | MACHINE_CONFIG_END |
| 837 | 839 | |
| 838 | 840 | |
| r24557 | r24558 | |
| 914 | 916 | } |
| 915 | 917 | |
| 916 | 918 | |
| 919 | //------------------------------------------------- |
| 920 | // INPUT_PORTS( c1541 ) |
| 921 | //------------------------------------------------- |
| 917 | 922 | |
| 923 | static INPUT_PORTS_START( c1541 ) |
| 924 | PORT_START("ADDRESS") |
| 925 | PORT_DIPNAME( 0x03, 0x00, "Device Address" ) |
| 926 | PORT_DIPSETTING( 0x00, "8" ) |
| 927 | PORT_DIPSETTING( 0x01, "9" ) |
| 928 | PORT_DIPSETTING( 0x02, "10" ) |
| 929 | PORT_DIPSETTING( 0x03, "11" ) |
| 930 | INPUT_PORTS_END |
| 931 | |
| 932 | |
| 933 | //------------------------------------------------- |
| 934 | // input_ports - device-specific input ports |
| 935 | //------------------------------------------------- |
| 936 | |
| 937 | ioport_constructor base_c1541_device::device_input_ports() const |
| 938 | { |
| 939 | return INPUT_PORTS_NAME( c1541 ); |
| 940 | } |
| 941 | |
| 942 | |
| 943 | |
| 918 | 944 | //************************************************************************** |
| 919 | 945 | // INLINE HELPERS |
| 920 | 946 | //************************************************************************** |
| r24557 | r24558 | |
| 949 | 975 | m_via1(*this, M6522_1_TAG), |
| 950 | 976 | m_ga(*this, C64H156_TAG), |
| 951 | 977 | m_image(*this, FLOPPY_0), |
| 978 | m_address(*this, "ADDRESS"), |
| 952 | 979 | m_data_out(1), |
| 953 | 980 | m_via0_irq(CLEAR_LINE), |
| 954 | 981 | m_via1_irq(CLEAR_LINE), |
trunk/src/mess/machine/c1541.h
| r24557 | r24558 | |
| 12 | 12 | #ifndef __C1541__ |
| 13 | 13 | #define __C1541__ |
| 14 | 14 | |
| 15 | | |
| 16 | 15 | #include "emu.h" |
| 17 | 16 | #include "cpu/m6502/m6502.h" |
| 18 | 17 | #include "imagedev/flopdrv.h" |
| r24557 | r24558 | |
| 23 | 22 | #include "machine/6821pia.h" |
| 24 | 23 | #include "machine/c64/bn1541.h" |
| 25 | 24 | #include "machine/cbmiec.h" |
| 25 | #include "machine/cbmipt.h" |
| 26 | 26 | #include "machine/ctronics.h" |
| 27 | 27 | |
| 28 | 28 | |
| r24557 | r24558 | |
| 81 | 81 | // optional information overrides |
| 82 | 82 | virtual const rom_entry *device_rom_region() const; |
| 83 | 83 | virtual machine_config_constructor device_mconfig_additions() const; |
| 84 | virtual ioport_constructor device_input_ports() const; |
| 84 | 85 | |
| 85 | 86 | protected: |
| 86 | 87 | // device-level overrides |
| r24557 | r24558 | |
| 102 | 103 | required_device<via6522_device> m_via1; |
| 103 | 104 | required_device<c64h156_device> m_ga; |
| 104 | 105 | required_device<legacy_floppy_image_device> m_image; |
| 106 | required_ioport m_address; |
| 105 | 107 | |
| 106 | 108 | // IEC bus |
| 107 | 109 | int m_data_out; // serial data out |
trunk/src/mess/machine/c1571.c
| r24557 | r24558 | |
| 315 | 315 | data |= !m_bus->clk_r() << 2; |
| 316 | 316 | |
| 317 | 317 | // serial bus address |
| 318 | | data |= (m_address - 8) << 5; |
| 318 | data |= (m_address->read() & 0x03) << 5; |
| 319 | 319 | |
| 320 | 320 | // attention in |
| 321 | 321 | data |= !m_bus->atn_r() << 7; |
| r24557 | r24558 | |
| 749 | 749 | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1570_floppy_interface) |
| 750 | 750 | //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1570_floppies, "525ssdd", 0, c1571_device::floppy_formats) |
| 751 | 751 | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 752 | |
| 753 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 752 | 754 | MACHINE_CONFIG_END |
| 753 | 755 | |
| 754 | 756 | |
| r24557 | r24558 | |
| 771 | 773 | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface) |
| 772 | 774 | //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1571_floppies, "525dd", 0, c1571_device::floppy_formats) |
| 773 | 775 | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 776 | |
| 777 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 774 | 778 | MACHINE_CONFIG_END |
| 775 | 779 | |
| 776 | 780 | |
| r24557 | r24558 | |
| 793 | 797 | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface) |
| 794 | 798 | //MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", c1571_floppies, "525dd", 0, c1571_device::floppy_formats) |
| 795 | 799 | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 800 | |
| 801 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 796 | 802 | MACHINE_CONFIG_END |
| 797 | 803 | |
| 798 | 804 | |
| r24557 | r24558 | |
| 818 | 824 | |
| 819 | 825 | MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, M6502_TAG, isabus_intf) |
| 820 | 826 | MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", mini_chief_isa8_cards, NULL/*"wd1002a_wx1"*/, false) |
| 827 | |
| 828 | MCFG_CBM_IEC_SLOT_ADD("iec", cbm_iec_devices, NULL) |
| 821 | 829 | MACHINE_CONFIG_END |
| 822 | 830 | |
| 823 | 831 | |
| r24557 | r24558 | |
| 846 | 854 | } |
| 847 | 855 | |
| 848 | 856 | |
| 857 | //------------------------------------------------- |
| 858 | // INPUT_PORTS( c1571 ) |
| 859 | //------------------------------------------------- |
| 849 | 860 | |
| 861 | static INPUT_PORTS_START( c1571 ) |
| 862 | PORT_START("ADDRESS") |
| 863 | PORT_DIPNAME( 0x03, 0x00, "Device Address" ) |
| 864 | PORT_DIPSETTING( 0x00, "8" ) |
| 865 | PORT_DIPSETTING( 0x01, "9" ) |
| 866 | PORT_DIPSETTING( 0x02, "10" ) |
| 867 | PORT_DIPSETTING( 0x03, "11" ) |
| 868 | INPUT_PORTS_END |
| 869 | |
| 870 | |
| 871 | //------------------------------------------------- |
| 872 | // input_ports - device-specific input ports |
| 873 | //------------------------------------------------- |
| 874 | |
| 875 | ioport_constructor c1571_device::device_input_ports() const |
| 876 | { |
| 877 | return INPUT_PORTS_NAME( c1571 ); |
| 878 | } |
| 879 | |
| 880 | |
| 881 | |
| 850 | 882 | //************************************************************************** |
| 851 | 883 | // LIVE DEVICE |
| 852 | 884 | //************************************************************************** |
| r24557 | r24558 | |
| 866 | 898 | m_fdc(*this, WD1770_TAG), |
| 867 | 899 | m_ga(*this, C64H156_TAG), |
| 868 | 900 | m_image(*this, FLOPPY_0), |
| 901 | m_address(*this, "ADDRESS"), |
| 869 | 902 | m_1_2mhz(0), |
| 870 | 903 | m_data_out(1), |
| 871 | 904 | m_ser_dir(0), |
| r24557 | r24558 | |
| 889 | 922 | m_fdc(*this, WD1770_TAG), |
| 890 | 923 | m_ga(*this, C64H156_TAG), |
| 891 | 924 | m_image(*this, FLOPPY_0), |
| 925 | m_address(*this, "ADDRESS"), |
| 892 | 926 | m_1_2mhz(0), |
| 893 | 927 | m_data_out(1), |
| 894 | 928 | m_ser_dir(0), |
trunk/src/mess/machine/c1571.h
| r24557 | r24558 | |
| 21 | 21 | #include "machine/6522via.h" |
| 22 | 22 | #include "machine/c64/bn1541.h" |
| 23 | 23 | #include "machine/cbmiec.h" |
| 24 | #include "machine/cbmipt.h" |
| 24 | 25 | #include "machine/isa.h" |
| 25 | 26 | #include "machine/mos6526.h" |
| 26 | 27 | #include "machine/wd_fdc.h" |
| r24557 | r24558 | |
| 61 | 62 | // optional information overrides |
| 62 | 63 | virtual const rom_entry *device_rom_region() const; |
| 63 | 64 | virtual machine_config_constructor device_mconfig_additions() const; |
| 65 | virtual ioport_constructor device_input_ports() const; |
| 64 | 66 | |
| 65 | 67 | DECLARE_WRITE_LINE_MEMBER( via0_irq_w ); |
| 66 | 68 | DECLARE_READ8_MEMBER( via0_pa_r ); |
| r24557 | r24558 | |
| 112 | 114 | required_device<c64h156_device> m_ga; |
| 113 | 115 | required_device<legacy_floppy_image_device> m_image; |
| 114 | 116 | //required_device<floppy_image_device> m_floppy; |
| 117 | required_ioport m_address; |
| 115 | 118 | |
| 116 | 119 | // signals |
| 117 | 120 | int m_1_2mhz; // clock speed |