53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
Name acc;
|
|
PartNo 00;
|
|
Date 2026-10-11;
|
|
Revision 01;
|
|
Designer Joppe Blondel;
|
|
Company unknown;
|
|
Assembly unknown;
|
|
Location unknown;
|
|
Device g22v10;
|
|
|
|
/* Constants */
|
|
ar = 'b'0;
|
|
sp = 'b'0;
|
|
|
|
/* Pin assignments */
|
|
/* inputs */
|
|
PIN 1 = CLK;
|
|
PIN 2 = A1;
|
|
PIN 3 = A2;
|
|
PIN 4 = IOSELN;
|
|
PIN 5 = RDN;
|
|
PIN 6 = A0;
|
|
PIN 7 = COMP;
|
|
PIN 8 = WRN;
|
|
/* outputs */
|
|
PIN 14 = D0;
|
|
PIN 15 = SNWEN;
|
|
PIN 16 = AYBDIR;
|
|
PIN 17 = AYBC1;
|
|
PIN 22 = COUT;
|
|
|
|
/* Read reg0 */
|
|
/* places comparator output on D0 when reading addr0 */
|
|
D0 = COMP;
|
|
D0.OE = !IOSELN & !RDN & WRN & !A0 & !A1 & !A2;
|
|
|
|
/* Write reg0 */
|
|
/* writes D0 to casette output port */
|
|
/* during a write COUT.D=D0 otherwise COUT.D = COUT */
|
|
COUT.D = (!IOSELN & RDN & !WRN & !A0 & !A1 & !A2 & D0) #
|
|
((IOSELN # !RDN # WRN # A0 # A1 # A2) & COUT);
|
|
COUT.ar = ar;
|
|
COUT.sp = sp;
|
|
|
|
/* Write to SN76489 at addr 1 */
|
|
SNWEN = !(!IOSELN & RDN & !WRN & A0 & !A1 & !A2);
|
|
|
|
/* AY-3-8910 access at addr 2 (data) addr 3 (adress) */
|
|
AYDATAREAD = !IOSELN & !RDN & WRN & !A0 & A1 & !A2;
|
|
AYDATAWRITE = !IOSELN & RDN & !WRN & !A0 & A1 & !A2;
|
|
AYADDRWRITE = !IOSELN & RDN & !WRN & A0 & A1 & !A2;
|
|
AYBDIR = AYDATAWRITE # AYADDRWRITE;
|
|
AYBC1 = AYDATAREAD # AYADDRWRITE; |