Previous 199869 Revisions Next

r26893 Thursday 2nd January, 2014 at 13:54:31 UTC by smf
Started to remove via port read handlers, prematurely stopped because IEEE488 code derives the clock from the read handler being called [smf]
[src/mess/drivers]victor9k.c
[src/mess/includes]victor9k.h

trunk/src/mess/drivers/victor9k.c
r26892r26893
299299   }
300300}
301301
302WRITE_LINE_MEMBER(victor9k_state::vert_w)
303{
304   m_via2->write_pa7(state);
305   m_pic->ir7_w(state);
306}
307
302308static MC6845_INTERFACE( hd46505s_intf )
303309{
304310   false,
r26892r26893
309315   DEVCB_NULL,
310316   DEVCB_NULL,
311317   DEVCB_NULL,
312   DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir7_w),
318   DEVCB_DRIVER_LINE_MEMBER(victor9k_state, vert_w),
313319   NULL
314320};
315321
r26892r26893
442448   m_ieee488->dio_w(data);
443449}
444450
445READ8_MEMBER( victor9k_state::via1_pb_r )
451DECLARE_WRITE_LINE_MEMBER( victor9k_state::write_nfrd )
446452{
447   /*
453   m_via1->write_pb6(state);
454   m_via1->write_ca1(state);
455}
448456
449       bit     description
450
451       PB0     DAV
452       PB1     EOI
453       PB2     REN
454       PB3     ATN
455       PB4     IFC
456       PB5     SRQ
457       PB6     NRFD
458       PB7     NDAC
459
460   */
461
462   UINT8 data = 0;
463
464   // IEEE-488
465   data |= m_ieee488->dav_r();
466   data |= m_ieee488->eoi_r() << 1;
467   data |= m_ieee488->ren_r() << 2;
468   data |= m_ieee488->atn_r() << 3;
469   data |= m_ieee488->ifc_r() << 4;
470   data |= m_ieee488->srq_r() << 5;
471   data |= m_ieee488->nrfd_r() << 6;
472   data |= m_ieee488->ndac_r() << 7;
473
474   return data;
457DECLARE_WRITE_LINE_MEMBER( victor9k_state::write_ndac )
458{
459   m_via1->write_pb7(state);
460   m_via1->write_ca2(state);
475461}
476462
477463WRITE8_MEMBER( victor9k_state::via1_pb_w )
r26892r26893
513499   m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
514500}
515501
516
517READ8_MEMBER( victor9k_state::via2_pa_r )
518{
519   /*
520
521       bit     description
522
523       PA0
524       PA1
525       PA2     RIA
526       PA3     DSRA
527       PA4     RIB
528       PA5     DSRB
529       PA6     KBDATA
530       PA7     VERT
531
532   */
533
534   UINT8 data = 0;
535
536   // serial
537   data |= m_rs232a->ri_r() << 2;
538   data |= m_rs232a->dsr_r() << 3;
539   data |= m_rs232b->ri_r() << 4;
540   data |= m_rs232b->dsr_r() << 5;
541
542   // keyboard data
543   data |= m_kb->kbdata_r() << 6;
544
545   // vertical sync
546   data |= m_crtc->vsync_r() << 7;
547
548   return data;
549}
550
551502WRITE8_MEMBER( victor9k_state::via2_pa_w )
552503{
553504   /*
r26892r26893
593544   m_cont = data >> 5;
594545}
595546
596WRITE_LINE_MEMBER( victor9k_state::via2_irq_w )
597{
598   m_via2_irq = state;
599547
600   m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
548WRITE_LINE_MEMBER( victor9k_state::write_ria )
549{
550   m_upd7201->ria_w(state);
551   m_via2->write_pa2(state);
601552}
602553
603554
604READ8_MEMBER( victor9k_state::via3_pa_r )
555WRITE_LINE_MEMBER( victor9k_state::write_rib )
605556{
606   /*
607
608       bit     description
609
610       PA0     J5-16
611       PA1     J5-18
612       PA2     J5-20
613       PA3     J5-22
614       PA4     J5-24
615       PA5     J5-26
616       PA6     J5-28
617       PA7     J5-30
618
619   */
620
621   return 0;
557   m_upd7201->rib_w(state);
558   m_via2->write_pa4(state);
622559}
623560
624WRITE8_MEMBER( victor9k_state::via3_pa_w )
561
562WRITE_LINE_MEMBER( victor9k_state::via2_irq_w )
625563{
626   /*
564   m_via2_irq = state;
627565
628       bit     description
629
630       PA0     J5-16
631       PA1     J5-18
632       PA2     J5-20
633       PA3     J5-22
634       PA4     J5-24
635       PA5     J5-26
636       PA6     J5-28
637       PA7     J5-30
638
639   */
566   m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
640567}
641568
642READ8_MEMBER( victor9k_state::via3_pb_r )
643{
644   /*
645569
646       bit     description
570/*
571    bit    description
647572
648       PB0     J5-32
649       PB1     J5-34
650       PB2     J5-36
651       PB3     J5-38
652       PB4     J5-40
653       PB5     J5-42
654       PB6     J5-44
655       PB7     J5-46
573    PA0    J5-16
574    PA1    J5-18
575    PA2    J5-20
576    PA3    J5-22
577    PA4    J5-24
578    PA5    J5-26
579    PA6    J5-28
580    PA7    J5-30
581    PB0    J5-32
582    PB1    J5-34
583    PB2    J5-36
584    PB3    J5-38
585    PB4    J5-40
586    PB5    J5-42
587    PB6    J5-44
588    PB7    J5-46
589    CA1    J5-12
590    CB1    J5-48
591    CA2    J5-14
592    CB2    J5-50
593*/
656594
657   */
658
659   return 0;
660}
661
662595WRITE8_MEMBER( victor9k_state::via3_pb_w )
663596{
664   /*
665
666       bit     description
667
668       PB0     J5-32
669       PB1     J5-34
670       PB2     J5-36
671       PB3     J5-38
672       PB4     J5-40
673       PB5     J5-42
674       PB6     J5-44
675       PB7     J5-46
676
677   */
678
679597   // codec clock output
680598   m_ssda->rx_clk_w(BIT(data, 7));
681599   m_ssda->tx_clk_w(BIT(data, 7));
r26892r26893
743661}
744662
745663
746READ8_MEMBER( victor9k_state::via5_pa_r )
747{
748   /*
664/*
749665
750       bit     description
666   bit     description
751667
752       PA0     E0
753       PA1     E1
754       PA2     I1
755       PA3     E2
756       PA4     E4
757       PA5     E5
758       PA6     I7
759       PA7     E6
668   PA0     E0
669   PA1     E1
670   PA2     I1
671   PA3     E2
672   PA4     E4
673   PA5     E5
674   PA6     I7
675   PA7     E6
760676
761   */
677*/
762678
763   return 0;
764}
765
766679WRITE8_MEMBER( victor9k_state::via5_pb_w )
767680{
768681   /*
r26892r26893
945858   m_pic->ir6_w(state ? CLEAR_LINE : ASSERT_LINE);
946859}
947860
861WRITE_LINE_MEMBER( victor9k_state::kbdata_w )
862{
863   m_via2->write_cb2(state);
864   m_via2->write_pa6(state);
865}
948866
949867//-------------------------------------------------
950868//  SLOT_INTERFACE( victor9k_floppies )
r26892r26893
1068986
1069987   // devices
1070988   MCFG_IEEE488_BUS_ADD()
1071   MCFG_IEEE488_NRFD_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_ca1))
1072   MCFG_IEEE488_NDAC_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_ca2))
989   MCFG_IEEE488_DAV_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb0))
990   MCFG_IEEE488_EOI_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb1))
991   MCFG_IEEE488_REN_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb2))
992   MCFG_IEEE488_ATN_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb3))
993   MCFG_IEEE488_IFC_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb4))
994   MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(M6522_1_TAG, via6522_device, write_pb5))
995   MCFG_IEEE488_NRFD_CALLBACK(WRITELINE(victor9k_state, write_nfrd))
996   MCFG_IEEE488_NDAC_CALLBACK(WRITELINE(victor9k_state, write_ndac))
997
1073998   MCFG_PIC8259_ADD(I8259A_TAG, INPUTLINE(I8088_TAG, INPUT_LINE_IRQ0), VCC, NULL)
1074999   MCFG_PIT8253_ADD(I8253_TAG, pit_intf)
10751000   MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_30MHz/30, mpsc_intf)
r26892r26893
10771002
10781003   MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_30MHz/30)
10791004   MCFG_VIA6522_READPA_HANDLER(DEVREAD8(IEEE488_TAG, ieee488_device, dio_r))
1080   MCFG_VIA6522_READPB_HANDLER(READ8(victor9k_state, via1_pb_r))
10811005   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(victor9k_state, via1_pa_w))
10821006   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(victor9k_state, via1_pb_w))
10831007   MCFG_VIA6522_CB2_HANDLER(WRITELINE(victor9k_state, codec_vol_w))
10841008   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via1_irq_w))
10851009
10861010   MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, XTAL_30MHz/30)
1087   MCFG_VIA6522_READPA_HANDLER(READ8(victor9k_state, via2_pa_r))
10881011   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(victor9k_state, via2_pa_w))
10891012   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(victor9k_state, via2_pb_w))
10901013   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via2_irq_w))
10911014
10921015   MCFG_DEVICE_ADD(M6522_3_TAG, VIA6522, XTAL_30MHz/30)
1093   MCFG_VIA6522_READPA_HANDLER(READ8(victor9k_state, via3_pa_r))
1094   MCFG_VIA6522_READPB_HANDLER(READ8(victor9k_state, via3_pb_r))
1095   // CA1 J5-12
1096   // CB1 J5-48
1097   // CA2 J5-14
1098   // CB2 J5-50
1099   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(victor9k_state, via3_pa_w))
11001016   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(victor9k_state, via3_pb_w))
11011017   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via3_irq_w))
11021018
r26892r26893
11071023   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via4_irq_w))
11081024
11091025   MCFG_DEVICE_ADD(M6522_5_TAG, VIA6522, XTAL_30MHz/30)
1110   MCFG_VIA6522_READPA_HANDLER(READ8(victor9k_state, via5_pa_r))
1111   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(victor9k_state, via5_pb_w))
11121026   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via5_irq_w))
11131027
11141028   MCFG_DEVICE_ADD(M6522_6_TAG, VIA6522, XTAL_30MHz/30)
r26892r26893
11261040   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
11271041   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w))
11281042   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcda_w))
1129   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ria_w))
1043   MCFG_RS232_OUT_RI_HANDLER(WRITELINE(victor9k_state, write_ria))
11301044   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsa_w))
1045   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa3))
11311046
11321047   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
11331048   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxb_w))
11341049   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcdb_w))
1135   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rib_w))
1050   MCFG_RS232_OUT_RI_HANDLER(WRITELINE(victor9k_state, write_ria))
11361051   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w))
1052   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa5))
11371053
11381054   MCFG_DEVICE_ADD(VICTOR9K_KEYBOARD_TAG, VICTOR9K_KEYBOARD, 0)
11391055   MCFG_VICTOR9K_KBRDY_HANDLER(WRITELINE(victor9k_state, kbrdy_w))
1140   MCFG_VICTOR9K_KBDATA_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_cb2))
1056   MCFG_VICTOR9K_KBDATA_HANDLER(WRITELINE(victor9k_state, kbdata_w))
11411057
11421058   // internal ram
11431059   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/includes/victor9k.h
r26892r26893
6262         m_fdc_cpu(*this, I8048_TAG),
6363         m_ieee488(*this, IEEE488_TAG),
6464         m_pic(*this, I8259A_TAG),
65         m_upd7201(*this, UPD7201_TAG),
6566         m_ssda(*this, MC6852_TAG),
6667         m_via1(*this, M6522_1_TAG),
6768         m_via2(*this, M6522_2_TAG),
r26892r26893
99100   required_device<cpu_device> m_fdc_cpu;
100101   required_device<ieee488_device> m_ieee488;
101102   required_device<pic8259_device> m_pic;
103   required_device<upd7201_device> m_upd7201;
102104   required_device<mc6852_device> m_ssda;
103105   required_device<via6522_device> m_via1;
104106   required_device<via6522_device> m_via2;
r26892r26893
125127   DECLARE_WRITE8_MEMBER( da_w );
126128
127129   DECLARE_WRITE8_MEMBER( via1_pa_w );
128   DECLARE_READ8_MEMBER( via1_pb_r );
130   DECLARE_WRITE_LINE_MEMBER( write_nfrd );
131   DECLARE_WRITE_LINE_MEMBER( write_ndac );
129132   DECLARE_WRITE8_MEMBER( via1_pb_w );
130133   DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
131134   DECLARE_WRITE_LINE_MEMBER( codec_vol_w );
132135
133   DECLARE_READ8_MEMBER( via2_pa_r );
134136   DECLARE_WRITE8_MEMBER( via2_pa_w );
135137   DECLARE_WRITE8_MEMBER( via2_pb_w );
138   DECLARE_WRITE_LINE_MEMBER( write_ria );
139   DECLARE_WRITE_LINE_MEMBER( write_rib );
136140   DECLARE_WRITE_LINE_MEMBER( via2_irq_w );
137141
138   DECLARE_READ8_MEMBER( via3_pa_r );
139   DECLARE_READ8_MEMBER( via3_pb_r );
140   DECLARE_WRITE8_MEMBER( via3_pa_w );
141142   DECLARE_WRITE8_MEMBER( via3_pb_w );
142143   DECLARE_WRITE_LINE_MEMBER( via3_irq_w );
143144
r26892r26893
146147   DECLARE_WRITE_LINE_MEMBER( mode_w );
147148   DECLARE_WRITE_LINE_MEMBER( via4_irq_w );
148149
149   DECLARE_READ8_MEMBER( via5_pa_r );
150150   DECLARE_WRITE8_MEMBER( via5_pb_w );
151151   DECLARE_WRITE_LINE_MEMBER( via5_irq_w );
152152
r26892r26893
157157   DECLARE_WRITE_LINE_MEMBER( drw_w );
158158   DECLARE_WRITE_LINE_MEMBER( erase_w );
159159   DECLARE_WRITE_LINE_MEMBER( kbrdy_w );
160   DECLARE_WRITE_LINE_MEMBER( kbdata_w );
161   DECLARE_WRITE_LINE_MEMBER( vert_w );
160162   DECLARE_WRITE_LINE_MEMBER( via6_irq_w );
161163
162164   DECLARE_WRITE_LINE_MEMBER( ssda_irq_w );

Previous 199869 Revisions Next


© 1997-2024 The MAME Team