MA-IEEELIB  470C
FILE INFORMATION
FILENAME(S): MA-IEEELIB  470C
FILE TYPE(S): PRG
FILE SIZE: 4.9K
FIRST SEEN: 2025-11-30 21:24:01
APPEARS ON: 1 disk(s)
FILE HASH
a21cba0348ae32ecfa97546954de3bd8ad5720d77189a9893a8850a3b7b89f4d
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| C64 HULP 29 2 | MA-IEEELIB  470C | PRG | DuncanTwain | 7 | 2 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: AA 00 30 20 44 AA 10 00 3B 20 20 2A 2A 2A 2A 2A |..0 D...; *****| 00000010: 2A 2A 2A 2A 2A 20 49 45 45 45 20 34 38 38 20 4C |***** IEEE 488 L| 00000020: 49 42 2E 34 20 2A 2A 2A 2A 2A 2A 2A 2A 2A AA 20 |IB.4 *********. | 00000030: 00 AE 30 00 AE 40 00 3B 41 4C 4C 20 4D 4F 44 55 |..0..@.;ALL MODU| 00000040: 4C 45 53 3A 20 20 52 28 41 29 20 3D 20 42 59 54 |LES: R(A) = BYT| 00000050: 45 20 49 4E 50 55 54 20 4F 52 20 4F 55 54 50 55 |E INPUT OR OUTPU| 00000060: D4 50 00 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.P.;------------| 00000070: 20 20 52 28 59 29 20 3D 20 4C 4F 47 49 43 41 4C | R(Y) = LOGICAL| 00000080: 20 46 49 4C 45 20 A3 60 00 3B 20 20 20 20 20 20 | FILE .`.; | 00000090: 20 20 20 20 20 20 20 20 52 28 58 29 20 3D 20 30 | R(X) = 0| 000000A0: 20 49 46 20 4F 4B 2C 20 3C 3E 20 30 20 54 48 45 | IF OK, <> 0 THE| 000000B0: 4E 20 45 52 52 4F D2 70 00 AE 80 00 AE 90 00 AE |N ERRO.p........| 000000C0: 00 01 3B 56 41 52 49 41 42 4C 45 20 44 45 46 49 |..;VARIABLE DEFI| 000000D0: 4E 49 54 49 4F 4E 53 BA 10 01 3B 2D 2D 2D 2D 2D |NITIONS...;-----| 000000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D AD |---------------.| 000000F0: 20 01 AE 30 01 4C 41 20 2E 44 45 20 24 44 32 20 | ..0.LA .DE $D2 | 00000100: 3B 4C 4F 47 49 43 41 4C 20 41 44 44 52 45 53 D3 |;LOGICAL ADDRES.| 00000110: 40 01 46 41 20 2E 44 45 20 24 44 34 20 3B 46 49 |@.FA .DE $D4 ;FI| 00000120: 52 53 54 20 41 44 44 52 45 53 53 20 28 44 45 56 |RST ADDRESS (DEV| 00000130: 49 43 45 A9 50 01 53 41 20 2E 44 45 20 24 44 33 |ICE.P.SA .DE $D3| 00000140: 20 3B 53 45 43 4F 4E 44 41 52 59 20 41 44 44 52 | ;SECONDARY ADDR| 00000150: 45 53 53 20 28 43 48 4E 20 23 A9 60 01 4C 44 54 |ESS (CHN #.`.LDT| 00000160: 4E 44 20 2E 44 45 20 24 41 45 20 3B 23 20 4F 46 |ND .DE $AE ;# OF| 00000170: 20 46 49 4C 45 53 20 4F 50 45 CE 70 01 AE 80 01 | FILES OPE.p....| 00000180: 46 4E 41 44 52 20 2E 44 45 20 24 44 41 20 3B 46 |FNADR .DE $DA ;F| 00000190: 49 4C 45 20 4E 41 4D 45 20 41 44 44 52 45 53 D3 |ILE NAME ADDRES.| 000001A0: 90 01 46 4E 4C 45 4E 20 2E 44 45 20 24 44 31 20 |..FNLEN .DE $D1 | 000001B0: 3B 46 49 4C 45 20 4E 41 4D 45 20 4C 45 4E 47 54 |;FILE NAME LENGT| 000001C0: C8 00 02 AE 10 02 53 54 41 54 55 53 20 2E 44 45 |......STATUS .DE| 000001D0: 20 24 39 36 20 3B 49 45 45 45 20 53 54 41 54 55 | $96 ;IEEE STATU| 000001E0: 53 20 42 59 54 C5 20 02 42 53 4F 55 52 20 2E 44 |S BYT. .BSOUR .D| 000001F0: 45 20 24 41 35 20 3B 53 41 56 45 20 41 52 45 C1 |E $A5 ;SAVE ARE.| 00000200: 30 02 AE 40 02 AE 50 02 3B 53 55 42 52 4F 55 54 |0..@..P.;SUBROUT| 00000210: 49 4E 45 53 20 55 53 45 44 BA 60 02 3B 2D 2D 2D |INES USED.`.;---| 00000220: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D AD 70 02 |-------------.p.| 00000230: AE 80 02 46 49 4E 44 4C 54 20 2E 44 45 20 24 46 |...FINDLT .DE $F| 00000240: 32 43 31 20 3B 46 49 4E 44 20 45 4E 54 52 59 20 |2C1 ;FIND ENTRY | 00000250: 49 4E 20 4C 4F 47 49 43 41 4C 20 54 41 42 4C C5 |IN LOGICAL TABL.| 00000260: 90 02 53 45 54 55 50 4C 54 20 2E 44 45 20 24 46 |..SETUPLT .DE $F| 00000270: 32 43 44 20 3B 53 45 54 20 55 50 20 4C 41 2C 46 |2CD ;SET UP LA,F| 00000280: 41 2C 53 41 20 46 52 4F 4D 20 54 41 42 4C C5 00 |A,SA FROM TABL..| 00000290: 03 52 45 4D 4F 56 4C 54 20 2E 44 45 20 24 46 33 |.REMOVLT .DE $F3| 000002A0: 31 39 20 3B 52 45 4D 4F 56 45 20 46 52 4F 4D 20 |19 ;REMOVE FROM | 000002B0: 54 41 42 4C C5 10 03 AE 20 03 4F 50 45 4E 49 20 |TABL.... .OPENI | 000002C0: 2E 44 45 20 24 46 35 37 41 20 3B 50 55 54 20 49 |.DE $F57A ;PUT I| 000002D0: 4E 20 54 41 42 4C 45 20 41 4E 44 20 44 4F 20 4F |N TABLE AND DO O| 000002E0: 50 45 CE 30 03 43 4C 4F 53 45 49 20 2E 44 45 20 |PE.0.CLOSEI .DE | 000002F0: 24 46 37 32 46 20 3B 43 4C 4F 53 45 20 43 48 41 |$F72F ;CLOSE CHA| 00000300: 4E 4E 45 CC 40 03 AE 50 03 4C 49 53 54 4E 20 2E |NNE.@..P.LISTN .| 00000310: 44 45 20 24 46 30 44 35 20 3B 43 4F 4D 4D 41 4E |DE $F0D5 ;COMMAN| 00000320: 44 20 54 4F 20 4C 49 53 54 45 CE 60 03 55 4E 4C |D TO LISTE.`.UNL| 00000330: 49 53 4E 20 2E 44 45 20 24 46 31 42 39 20 3B 43 |ISN .DE $F1B9 ;C| 00000340: 4F 4D 4D 41 4E 44 20 54 4F 20 55 4E 4C 49 53 54 |OMMAND TO UNLIST| 00000350: 45 CE 70 03 AE 80 03 54 41 4C 4B 20 2E 44 45 20 |E.p....TALK .DE | 00000360: 24 46 30 44 32 20 3B 43 4F 4D 4D 41 4E 44 20 54 |$F0D2 ;COMMAND T| 00000370: 4F 20 54 41 4C CB 90 03 55 4E 54 41 4C 4B 20 2E |O TAL...UNTALK .| 00000380: 44 45 20 24 46 31 41 45 20 3B 43 4F 4D 4D 41 4E |DE $F1AE ;COMMAN| 00000390: 44 20 54 4F 20 55 4E 54 41 4C CB 00 04 AE 10 04 |D TO UNTAL......| 000003A0: 53 45 43 4E 44 20 2E 44 45 20 24 46 31 34 33 20 |SECND .DE $F143 | 000003B0: 3B 53 45 4E 44 20 53 45 43 4F 4E 44 41 52 59 20 |;SEND SECONDARY | 000003C0: 41 44 44 52 D3 20 04 AE 30 04 43 49 4F 55 54 20 |ADDR. ..0.CIOUT | 000003D0: 2E 44 45 20 24 46 31 39 45 20 3B 4F 55 54 50 55 |.DE $F19E ;OUTPU| 000003E0: 54 20 54 4F 20 49 45 45 C5 40 04 41 43 50 54 52 |T TO IEE.@.ACPTR| 000003F0: 20 2E 44 45 20 24 46 31 43 30 20 3B 49 4E 50 55 | .DE $F1C0 ;INPU| 00000400: 54 20 46 52 4F 4D 20 49 45 45 C5 50 04 AE 60 04 |T FROM IEE.P..`.| 00000410: AE 70 04 AE 80 04 42 4C 4B 50 4E 54 20 2E 44 45 |.p....BLKPNT .DE| 00000420: 20 24 31 31 20 3B 50 4F 49 4E 54 45 52 20 54 4F | $11 ;POINTER TO| 00000430: 20 42 4C 4F 43 CB 90 04 AE 00 05 3B 49 45 45 45 | BLOC......;IEEE| 00000440: 20 4F 50 45 4E 3A 20 20 4F 50 4E 55 53 45 42 20 | OPEN: OPNUSEB | 00000450: 3D 20 55 53 45 20 4F 50 45 4E 20 42 4C 4F 43 4B |= USE OPEN BLOCK| 00000460: 20 50 4F 49 4E 54 45 44 20 54 4F 20 42 59 20 42 | POINTED TO BY B| 00000470: 4C 4B 50 4E D4 10 05 3B 2D 2D 2D 2D 2D 2D 2D 2D |LKPN...;--------| 00000480: 2D AD 20 05 3B 20 20 20 20 20 20 20 20 20 20 20 |-. .; | 00000490: 20 4F 50 45 4E 20 20 20 20 3D 20 55 53 45 20 4C | OPEN = USE L| 000004A0: 41 2C 20 46 41 2C 20 53 41 2C 20 46 4E 41 44 52 |A, FA, SA, FNADR| 000004B0: 2C 20 46 4E 4C 45 CE 30 05 AE 40 05 4F 50 4E 55 |, FNLE.0..@.OPNU| 000004C0: 53 45 42 20 4C 44 59 20 23 30 30 20 3B 46 49 52 |SEB LDY #00 ;FIR| 000004D0: 53 54 20 53 45 54 20 55 50 20 46 52 4F 4D 20 42 |ST SET UP FROM B| 000004E0: 4C 4F 43 CB 50 05 20 4C 44 41 20 28 42 4C 4B 50 |LOC.P. LDA (BLKP| 000004F0: 4E 54 29 2C D9 60 05 20 53 54 41 20 2A 4C C1 70 |NT),.`. STA *L.p| 00000500: 05 20 49 4E D9 80 05 20 4C 44 41 20 28 42 4C 4B |. IN... LDA (BLK| 00000510: 50 4E 54 29 2C D9 90 05 20 53 54 41 20 2A 46 C1 |PNT),... STA *F.| 00000520: 00 06 20 49 4E D9 10 06 20 4C 44 41 20 28 42 4C |.. IN... LDA (BL| 00000530: 4B 50 4E 54 29 2C D9 20 06 20 4F 52 41 20 23 24 |KPNT),. . ORA #$| 00000540: 36 B0 30 06 20 53 54 41 20 2A 53 C1 40 06 20 49 |6.0. STA *S.@. I| 00000550: 4E D9 50 06 20 4C 44 41 20 28 42 4C 4B 50 4E 54 |N.P. LDA (BLKPNT| 00000560: 29 2C D9 60 06 20 53 54 41 20 2A 46 4E 41 44 D2 |),.`. STA *FNAD.| 00000570: 70 06 20 49 4E D9 80 06 20 4C 44 41 20 28 42 4C |p. IN... LDA (BL| 00000580: 4B 50 4E 54 29 2C D9 90 06 20 53 54 41 20 2A 46 |KPNT),... STA *F| 00000590: 4E 41 44 52 2B B1 00 07 20 49 4E D9 10 07 20 4C |NADR+... IN... L| 000005A0: 44 41 20 28 42 4C 4B 50 4E 54 29 2C D9 20 07 20 |DA (BLKPNT),. . | 000005B0: 53 54 41 20 2A 46 4E 4C 45 CE 30 07 AE 40 07 4F |STA *FNLE.0..@.O| 000005C0: 50 45 4E 20 4C 44 41 20 2A 4C C1 50 07 20 4A 53 |PEN LDA *L.P. JS| 000005D0: 52 20 46 49 4E 44 4C 54 20 3B 46 49 4E 44 20 49 |R FINDLT ;FIND I| 000005E0: 46 20 49 4E 20 4C 4F 47 49 43 41 4C 20 54 41 42 |F IN LOGICAL TAB| 000005F0: 4C C5 60 07 20 42 45 51 20 4F 50 4E 45 52 52 20 |L.`. BEQ OPNERR | 00000600: 3B 42 52 2E 20 49 46 20 41 4C 52 45 41 44 59 20 |;BR. IF ALREADY | 00000610: 49 4E 20 54 48 45 52 C5 70 07 20 4C 44 58 20 2A |IN THER.p. LDX *| 00000620: 4C 44 54 4E 44 20 3B 43 48 45 43 4B 20 49 46 20 |LDTND ;CHECK IF | 00000630: 4D 41 58 2E 20 4F 46 20 31 30 20 4F 50 45 CE 80 |MAX. OF 10 OPE..| 00000640: 07 20 43 50 58 20 23 31 30 20 3B 31 30 20 4D 41 |. CPX #10 ;10 MA| 00000650: 58 AE 90 07 20 42 43 53 20 4F 50 4E 45 52 52 20 |X... BCS OPNERR | 00000660: 3B 42 52 2E 20 4F 4E 20 54 4F 4F 20 4D 41 4E 59 |;BR. ON TOO MANY| 00000670: 20 4F 50 45 CE 00 08 20 49 4E 43 20 2A 4C 44 54 | OPE... INC *LDT| 00000680: 4E 44 20 3B 49 4E 43 2E 20 41 53 20 54 4F 4F 20 |ND ;INC. AS TOO | 00000690: 4D 41 4E 59 20 4F 50 45 CE 10 08 20 4C 44 41 20 |MANY OPE... LDA | 000006A0: 23 30 B0 20 08 20 53 54 41 20 2A 53 54 41 54 55 |#0. . STA *STATU| 000006B0: 53 20 3B 43 4C 45 41 52 20 53 54 41 54 55 D3 30 |S ;CLEAR STATU.0| 000006C0: 08 20 4A 53 52 20 4F 50 45 4E 49 20 3B 50 55 54 |. JSR OPENI ;PUT| 000006D0: 20 49 4E 20 54 41 42 4C 45 20 41 4E 44 20 4F 50 | IN TABLE AND OP| 000006E0: 45 CE 40 08 20 4C 44 58 20 2A 53 54 41 54 55 D3 |E.@. LDX *STATU.| 000006F0: 50 08 20 52 54 D3 60 08 4F 50 4E 45 52 52 20 4C |P. RT.`.OPNERR L| 00000700: 44 58 20 23 24 46 C6 70 08 20 52 54 D3 80 08 AE |DX #$F.p. RT....| 00000710: 90 08 AE 00 09 3B 43 4C 4F 53 45 20 4C 4F 47 49 |.....;CLOSE LOGI| 00000720: 43 41 4C 20 43 48 41 4E 4E 45 4C BA 10 09 3B 2D |CAL CHANNEL...;-| 00000730: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000740: 2D 2D 2D 2D AD 20 09 AE 30 09 43 4C 4F 53 45 20 |----. ..0.CLOSE | 00000750: 54 59 C1 40 09 20 4A 53 52 20 46 49 4E 44 4C 54 |TY.@. JSR FINDLT| 00000760: 20 3B 46 49 4E 44 20 49 46 20 49 4E 20 54 41 42 | ;FIND IF IN TAB| 00000770: 4C C5 50 09 20 42 4E 45 20 43 4C 4F 45 52 52 20 |L.P. BNE CLOERR | 00000780: 3B 42 52 2E 20 49 46 20 4E 4F 54 20 49 4E 20 54 |;BR. IF NOT IN T| 00000790: 48 45 52 C5 60 09 20 4C 44 41 20 23 30 B0 70 09 |HER.`. LDA #0.p.| 000007A0: 20 53 54 41 20 2A 53 54 41 54 55 D3 80 09 20 54 | STA *STATU... T| 000007B0: 58 C1 90 09 20 50 48 C1 00 10 20 4A 53 52 20 43 |X... PH... JSR C| 000007C0: 4C 4F 53 45 49 20 3B 43 4C 4F 53 45 20 43 48 41 |LOSEI ;CLOSE CHA| 000007D0: 4E 4E 45 CC 10 10 20 50 4C C1 20 10 20 54 41 D8 |NNE... PL. . TA.| 000007E0: 30 10 20 4A 53 52 20 52 45 4D 4F 56 4C 54 20 3B |0. JSR REMOVLT ;| 000007F0: 52 45 4D 4F 56 45 20 46 52 4F 4D 20 54 41 42 4C |REMOVE FROM TABL| 00000800: C5 40 10 20 4C 44 58 20 2A 53 54 41 54 55 D3 50 |.@. LDX *STATU.P| 00000810: 10 20 52 54 D3 60 10 43 4C 4F 45 52 52 20 4C 44 |. RT.`.CLOERR LD| 00000820: 58 20 23 24 46 C6 70 10 20 52 54 D3 80 10 AE 90 |X #$F.p. RT.....| 00000830: 10 AE 00 11 3B 50 55 54 20 42 59 54 45 20 54 4F |....;PUT BYTE TO| 00000840: 20 49 45 45 45 20 44 45 56 49 43 45 20 5B 20 42 | IEEE DEVICE [ B| 00000850: 59 54 45 20 49 4E 20 52 28 41 29 2C 20 43 48 4E |YTE IN R(A), CHN| 00000860: 23 20 49 4E 20 52 28 59 29 20 5D BA 10 11 3B 2D |# IN R(Y) ]...;-| 00000870: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000880: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000890: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000008A0: 2D 2D 2D 2D 2D AD 20 11 AE 30 11 50 55 54 20 53 |-----. ..0.PUT S| 000008B0: 54 41 20 2A 42 53 4F 55 52 20 3B 53 41 56 45 20 |TA *BSOUR ;SAVE | 000008C0: 52 28 41 A9 40 11 20 54 59 C1 50 11 20 4A 53 52 |R(A.@. TY.P. JSR| 000008D0: 20 53 45 54 55 50 20 3B 53 45 54 55 50 20 46 52 | SETUP ;SETUP FR| 000008E0: 4F 4D 20 54 41 42 4C C5 60 11 20 42 4E 45 20 50 |OM TABL.`. BNE P| 000008F0: 55 54 45 52 52 20 3B 42 52 2E 20 49 46 20 4E 4F |UTERR ;BR. IF NO| 00000900: 54 20 49 4E 20 54 41 42 4C C5 70 11 20 53 54 58 |T IN TABL.p. STX| 00000910: 20 2A 53 54 41 54 55 53 20 3B 43 4C 45 41 52 20 | *STATUS ;CLEAR | 00000920: 53 54 41 54 55 D3 80 11 20 4A 53 52 20 4C 49 53 |STATU... JSR LIS| 00000930: 54 4E 20 3B 49 45 45 45 20 43 4D 44 20 54 4F 20 |TN ;IEEE CMD TO | 00000940: 4C 49 53 54 45 CE 90 11 20 4C 44 41 20 2A 53 41 |LISTE... LDA *SA| 00000950: 20 3B 53 45 4E 44 20 53 45 43 4F 4E 44 41 52 59 | ;SEND SECONDARY| 00000960: 20 41 44 44 52 D3 00 12 20 4A 53 52 20 53 45 43 | ADDR... JSR SEC| 00000970: 4E 44 20 3B 20 AA 10 12 20 4C 44 41 20 2A 42 53 |ND ; ... LDA *BS| 00000980: 4F 55 52 20 3B 52 45 53 54 4F 52 45 20 52 28 41 |OUR ;RESTORE R(A| 00000990: A9 20 12 20 4A 53 52 20 43 49 4F 55 54 20 3B 49 |. . JSR CIOUT ;I| 000009A0: 45 45 45 20 4F 55 54 50 55 D4 30 12 20 4A 53 52 |EEE OUTPU.0. JSR| 000009B0: 20 55 4E 4C 49 53 4E 20 3B 49 45 45 45 20 43 4D | UNLISN ;IEEE CM| 000009C0: 44 20 54 4F 20 4C 49 53 54 45 CE 40 12 20 4C 44 |D TO LISTE.@. LD| 000009D0: 58 20 2A 53 54 41 54 55 D3 50 12 50 55 54 45 52 |X *STATU.P.PUTER| 000009E0: 52 20 52 54 D3 60 12 AE 70 12 AE 80 12 3B 47 45 |R RT.`..p....;GE| 000009F0: 54 20 42 59 54 45 20 46 52 4F 4D 20 49 45 45 45 |T BYTE FROM IEEE| 00000A00: 20 44 45 56 49 43 45 20 5B 20 42 59 54 45 20 49 | DEVICE [ BYTE I| 00000A10: 4E 20 52 28 41 29 2C 20 43 48 4E 23 20 49 4E 20 |N R(A), CHN# IN | 00000A20: 52 28 59 29 20 DD 90 12 3B 2D 2D 2D 2D 2D 2D 2D |R(Y) ...;-------| 00000A30: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000A40: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000A50: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000A60: 2D AD 00 13 AE 10 13 47 45 54 20 54 59 C1 20 13 |-......GET TY. .| 00000A70: 20 4A 53 52 20 53 45 54 55 50 20 3B 53 45 54 55 | JSR SETUP ;SETU| 00000A80: 50 20 46 52 4F 4D 20 54 41 42 4C C5 30 13 20 42 |P FROM TABL.0. B| 00000A90: 4E 45 20 47 45 54 45 52 52 20 3B 42 52 2E 20 49 |NE GETERR ;BR. I| 00000AA0: 46 20 4E 4F 54 20 49 4E 20 54 48 45 52 C5 40 13 |F NOT IN THER.@.| 00000AB0: 20 53 54 58 20 2A 53 54 41 54 55 D3 50 13 20 4A | STX *STATU.P. J| 00000AC0: 53 52 20 54 41 4C 4B 20 3B 43 4D 44 20 44 45 56 |SR TALK ;CMD DEV| 00000AD0: 49 43 45 20 54 4F 20 54 41 4C CB 60 13 20 4C 44 |ICE TO TAL.`. LD| 00000AE0: 41 20 2A 53 41 20 3B 53 45 4E 20 54 4F 20 4E 4F |A *SA ;SEN TO NO| 00000AF0: 54 20 4C 49 53 54 45 CE 40 14 40 55 4E 54 41 4C |T LISTE.@.@UNTAL| 00000B00: 4B 20 2E 44 45 20 24 46 31 37 46 20 3B 43 4F 4D |K .DE $F17F ;COM| 00000B10: 4D 41 4E 44 20 44 45 56 49 43 45 20 54 4F 20 4E |MAND DEVICE TO N| 00000B20: 4F 54 20 54 41 4C CB 50 14 89 60 14 40 49 45 45 |OT TAL.P..`.@IEE| 00000B30: 45 50 55 54 20 2E 44 45 20 24 46 31 36 46 20 3B |EPUT .DE $F16F ;| 00000B40: 4F 55 54 50 55 54 20 52 28 41 29 20 54 4F 20 49 |OUTPUT R(A) TO I| 00000B50: 45 45 C5 70 14 40 49 45 45 45 47 45 54 20 2E 44 |EE.p.@IEEEGET .D| 00000B60: 45 20 24 46 31 38 43 20 3B 49 4E 50 55 54 20 46 |E $F18C ;INPUT F| 00000B70: 52 4F 4D 20 49 45 45 45 20 54 4F 20 52 28 41 A9 |ROM IEEE TO R(A.| 00000B80: 80 14 40 49 45 45 45 42 55 46 20 2E 44 45 20 24 |..@IEEEBUF .DE $| 00000B90: 46 30 45 45 20 3B 49 45 45 45 20 4F 55 50 55 54 |F0EE ;IEEE OUPUT| 00000BA0: 20 42 55 46 46 45 52 45 44 20 56 49 41 20 43 48 | BUFFERED VIA CH| 00000BB0: 41 52 2E 20 49 4E 20 40 42 55 46 46 43 48 D2 90 |AR. IN @BUFFCH..| 00000BC0: 14 89 00 15 40 52 45 4C 53 41 54 54 4E 20 2E 44 |....@RELSATTN .D| 00000BD0: 45 20 24 46 31 32 44 20 3B 52 45 4C 45 41 53 45 |E $F12D ;RELEASE| 00000BE0: 20 49 45 45 45 20 41 54 54 45 4E 54 49 4F CE 10 | IEEE ATTENTIO..| 00000BF0: 15 89 20 15 89 30 15 89 40 15 3B 20 4F 50 45 52 |.. ..0..@.; OPER| 00000C00: 41 54 49 4E 47 20 53 59 53 54 45 4D 20 56 41 52 |ATING SYSTEM VAR| 00000C10: 49 41 42 4C 45 D3 50 15 3B 20 2D 2D 2D 2D 2D 2D |IABLE.P.; ------| 00000C20: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000C30: 2D 2D 2D 2D AD 60 15 89 70 15 3B 20 20 20 20 20 |----.`..p.; | 00000C40: 4E 4F 54 45 3A 20 54 48 45 20 4F 2E 53 2E 20 55 |NOTE: THE O.S. U| 00000C50: 53 45 53 20 24 30 30 39 30 2D 24 30 30 46 46 2C |SES $0090-$00FF,| 00000C60: 20 42 41 53 49 43 20 41 4C 4C AE 80 15 89 90 15 | BASIC ALL......| 00000C70: 40 46 41 20 2E 44 45 20 24 44 34 20 3B 49 45 45 |@FA .DE $D4 ;IEE| 00000C80: 45 20 46 49 52 53 54 20 41 44 44 52 45 53 53 20 |E FIRST ADDRESS | 00000C90: 28 44 45 56 49 43 45 A9 00 16 40 53 41 20 2E 44 |(DEVICE...@SA .D| 00000CA0: 45 20 24 44 33 20 3B 49 45 45 45 20 53 45 43 4F |E $D3 ;IEEE SECO| 00000CB0: 4E 44 41 52 59 20 41 44 44 52 45 53 53 20 28 43 |NDARY ADDRESS (C| 00000CC0: 48 41 4E 4E 45 4C A9 10 16 40 53 54 41 54 55 53 |HANNEL...@STATUS| 00000CD0: 20 2E 44 45 20 24 39 36 20 3B 53 54 41 54 55 45 | .DE $96 ;STATUE| 00000CE0: 20 42 59 54 C5 20 16 20 3B 30 31 3D 20 20 20 20 | BYT. . ;01= | 00000CF0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000D00: 20 20 20 20 20 20 20 20 20 20 20 20 30 38 3D 20 | 08= | 00000D10: 4C 4F 4E 47 20 42 4C 4F 43 4B 20 45 52 52 4F D2 |LONG BLOCK ERRO.| 00000D20: 30 16 20 3B 30 32 3D 20 54 49 4D 45 4F 55 54 20 |0. ;02= TIMEOUT | 00000D30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000D40: 20 20 20 20 20 20 20 31 30 3D A0 40 16 20 3B 30 | 10=.@. ;0| 00000D50: 34 3D 20 53 48 4F 52 54 20 42 4C 4F 43 4B 20 45 |4= SHORT BLOCK E| 00000D60: 52 52 4F 52 20 20 20 20 20 20 20 20 20 20 20 20 |RROR | 00000D70: 20 20 34 30 3D 20 45 4F C9 50 16 89 60 16 40 46 | 40= EO.P..`.@F| 00000D80: 4E 4C 45 4E 20 2E 44 45 20 24 44 31 20 3B 46 49 |NLEN .DE $D1 ;FI| 00000D90: 4C 45 20 4E 41 4D 45 20 4C 45 4E 47 54 C8 70 16 |LE NAME LENGT.p.| 00000DA0: 40 46 4E 41 44 52 20 2E 44 45 20 24 44 41 20 3B |@FNADR .DE $DA ;| 00000DB0: 46 49 4C 45 20 4E 41 4D 45 20 41 44 44 52 45 53 |FILE NAME ADDRES| 00000DC0: D3 80 16 40 53 41 4C 20 2E 44 45 20 24 43 37 20 |...@SAL .DE $C7 | 00000DD0: 3B 49 45 45 45 20 53 54 41 52 54 20 41 44 44 52 |;IEEE START ADDR| 00000DE0: 45 53 D3 90 16 40 45 41 4C 20 2E 44 45 20 24 43 |ES...@EAL .DE $C| 00000DF0: 39 20 3B 49 45 45 45 20 45 4E 44 20 41 44 44 52 |9 ;IEEE END ADDR| 00000E00: 45 53 D3 00 17 89 10 17 40 42 55 46 46 43 48 52 |ES......@BUFFCHR| 00000E10: 20 2E 44 45 20 24 41 35 20 3B 42 55 46 46 45 52 | .DE $A5 ;BUFFER| 00000E20: 20 46 4F 52 20 49 45 45 45 20 4F 55 54 50 55 D4 | FOR IEEE OUTPU.| 00000E30: 20 17 40 46 41 54 20 2E 44 45 20 24 30 32 35 42 | .@FAT .DE $025B| 00000E40: 20 3B 53 41 56 45 20 4C 4F 43 2E 20 46 4F 52 20 | ;SAVE LOC. FOR | 00000E50: 46 C1 30 17 40 54 42 55 46 31 20 2E 44 45 20 24 |F.0.@TBUF1 .DE $| 00000E60: 30 32 37 41 20 3B 54 41 50 45 20 42 55 46 46 45 |027A ;TAPE BUFFE| 00000E70: 52 20 23 B1 40 17 40 54 42 55 46 32 20 2E 44 45 |R #.@.@TBUF2 .DE| 00000E80: 20 24 30 33 33 41 20 3B 54 41 50 45 20 42 55 46 | $033A ;TAPE BUF| 00000E90: 46 45 52 20 23 B2 50 17 89 60 17 89 70 17 89 80 |FER #.P..`..p...| 00000EA0: 17 3B 20 53 43 52 45 45 4E 20 56 41 52 49 41 42 |.; SCREEN VARIAB| 00000EB0: 4C 45 53 BA 90 17 3B 20 2D 2D 2D 2D 2D 2D 2D 2D |LES...; --------| 00000EC0: 2D 2D 2D 2D 2D 2D 2D 2D AD 00 18 89 10 18 40 4E |--------......@N| 00000ED0: 44 58 20 2E 44 45 20 24 39 45 20 3B 23 20 4F 46 |DX .DE $9E ;# OF| 00000EE0: 20 43 48 41 52 2E 20 49 4E 20 4B 45 59 42 4F 41 | CHAR. IN KEYBOA| 00000EF0: 52 44 20 49 4E 50 55 54 20 42 55 46 46 45 D2 20 |RD INPUT BUFFE. | 00000F00: 18 40 4B 45 59 44 20 2E 44 45 20 24 30 32 36 46 |.@KEYD .DE $026F| 00000F10: 20 3B 4B 45 59 42 4F 41 52 44 20 49 4E 50 55 54 | ;KEYBOARD INPUT| 00000F20: 20 42 55 46 46 45 D2 30 18 40 43 48 52 2F 4C 49 | BUFFE.0.@CHR/LI| 00000F30: 4E 45 20 2E 44 45 20 24 44 35 20 3B 43 55 52 52 |NE .DE $D5 ;CURR| 00000F40: 45 4E 54 20 4C 49 4E 45 20 4C 45 4E 47 54 48 20 |ENT LINE LENGTH | 00000F50: 34 30 20 3D 24 33 37 2C 20 38 30 20 3D 24 34 C6 |40 =$37, 80 =$4.| 00000F60: 40 18 40 4B 45 59 43 48 52 20 2E 44 45 20 24 39 |@.@KEYCHR .DE $9| 00000F70: 37 20 3B 4B 45 59 20 44 45 50 52 45 53 53 45 44 |7 ;KEY DEPRESSED| 00000F80: 2C 20 3D 24 46 46 20 49 46 20 4E 4F 20 4B 45 D9 |, =$FF IF NO KE.| 00000F90: 50 18 89 60 18 89 70 18 89 80 18 3B 20 56 45 43 |P..`..p....; VEC| 00000FA0: 54 4F 52 53 BA 90 18 3B 20 2D 2D 2D 2D 2D 2D 2D |TORS...; -------| 00000FB0: AD 00 19 89 10 19 40 49 52 51 56 45 43 20 2E 44 |......@IRQVEC .D| 00000FC0: 45 20 24 39 30 20 3B 49 52 51 20 56 45 43 54 4F |E $90 ;IRQ VECTO| 00000FD0: D2 20 19 40 42 52 4B 56 45 43 20 2E 44 45 20 24 |. .@BRKVEC .DE $| 00000FE0: 39 32 20 3B 42 52 45 41 4B 20 56 45 43 54 4F D2 |92 ;BREAK VECTO.| 00000FF0: 30 19 40 4E 4D 49 56 45 43 20 2E 44 45 20 24 39 |0.@NMIVEC .DE $9| 00001000: 34 20 3B 4E 4D 49 20 56 45 43 54 4F D2 40 19 89 |4 ;NMI VECTO.@..| 00001010: 50 19 89 60 19 89 70 19 89 80 19 3B 20 50 45 54 |P..`..p....; PET| 00001020: 20 49 2F 4F BA 90 19 3B 20 2D 2D 2D 2D 2D 2D 2D | I/O...; -------| 00001030: AD 00 20 89 10 20 3B 36 35 32 30 20 28 43 48 49 |.. .. ;6520 (CHI| 00001040: 50 20 43 37 29 20 3D 20 24 45 38 31 78 20 3D 20 |P C7) = $E81x = | 00001050: 4B 45 59 42 4F 41 52 44 20 53 43 41 CE 20 20 89 |KEYBOARD SCA. .| 00001060: 30 20 40 44 52 41 2F 44 44 52 41 20 2E 44 45 20 |0 @DRA/DDRA .DE | 00001070: 24 45 38 31 B0 40 20 40 43 52 41 20 2E 44 45 20 |$E81.@ @CRA .DE | 00001080: 24 45 38 31 B1 50 20 40 44 52 42 2F 44 44 52 42 |$E81.P @DRB/DDRB| 00001090: 20 2E 44 45 20 24 45 38 31 B2 60 20 40 43 52 42 | .DE $E81.` @CRB| 000010A0: 20 2E 44 45 20 24 45 38 31 B3 70 20 89 80 20 89 | .DE $E81.p .. .| 000010B0: 90 20 3B 36 35 32 30 20 28 43 48 49 50 20 43 36 |. ;6520 (CHIP C6| 000010C0: 29 20 3D 20 45 38 32 78 20 3D 20 49 45 45 45 20 |) = E82x = IEEE | 000010D0: 34 38 38 20 49 4E 54 45 52 46 41 43 C5 00 21 89 |488 INTERFAC..!.| 000010E0: 10 21 89 20 21 89 30 21 89 40 21 89 50 21 3B 36 |.!. !.0!.@!.P!;6| 000010F0: 35 32 32 20 28 43 48 49 50 20 43 35 29 20 3D 20 |522 (CHIP C5) = | 00001100: 45 38 34 78 20 3D 20 55 53 45 52 20 50 4F 52 D4 |E84x = USER POR.| 00001110: 60 21 89 70 21 40 44 52 42 20 2E 44 45 20 24 45 |`!.p!@DRB .DE $E| 00001120: 38 34 30 20 3B 44 41 54 41 20 52 45 47 2E 20 C2 |840 ;DATA REG. .| 00001130: 80 21 40 44 52 41 20 2E 44 45 20 24 45 38 34 31 |.!@DRA .DE $E841| 00001140: 20 3B 44 41 54 41 20 52 45 47 2E 20 41 20 57 49 | ;DATA REG. A WI| 00001150: 54 48 20 48 41 4E 44 53 48 41 4B C5 90 21 40 44 |TH HANDSHAK..!@D| 00001160: 44 52 42 20 2E 44 45 20 24 45 38 34 32 20 3B 44 |DRB .DE $E842 ;D| 00001170: 49 52 45 43 54 49 4F 4E 20 52 45 47 2E 20 C2 00 |IRECTION REG. ..| 00001180: 22 40 44 44 52 41 20 2E 44 45 20 24 45 38 34 33 |"@DDRA .DE $E843| 00001190: 20 3B 44 49 52 45 43 54 49 4F 4E 20 52 45 47 2E | ;DIRECTION REG.| 000011A0: 20 C1 10 22 40 54 31 4C 5F 4C 57 4C 52 43 20 2E | .."@T1L_LWLRC .| 000011B0: 44 45 20 24 45 38 34 34 20 3B 54 49 4D 4D 45 52 |DE $E844 ;TIMMER| 000011C0: 20 23 31 20 57 52 49 54 45 20 4C 41 54 43 48 20 | #1 WRITE LATCH | 000011D0: 52 45 41 44 20 43 4F 55 4E 54 45 D2 20 22 40 54 |READ COUNTE. "@T| 000011E0: 31 43 5F 48 20 2E 44 45 20 24 45 38 34 35 20 3B |1C_H .DE $E845 ;| 000011F0: 54 49 4D 4D 45 52 20 23 B1 30 22 40 54 31 4C 5F |TIMMER #.0"@T1L_| 00001200: 4C 20 2E 44 45 20 24 45 38 34 36 20 3B 20 AA 40 |L .DE $E846 ; .@| 00001210: 22 40 54 31 4C 5F 48 20 2E 44 45 20 24 45 38 34 |"@T1L_H .DE $E84| 00001220: 37 20 3B 20 AA 50 22 40 54 32 4C 5F 4C 57 4C 52 |7 ; .P"@T2L_LWLR| 00001230: 43 20 2E 44 45 20 24 45 38 34 38 20 3B 54 49 4D |C .DE $E848 ;TIM| 00001240: 4D 45 52 20 23 32 20 57 52 49 54 45 20 4C 41 54 |MER #2 WRITE LAT| 00001250: 43 48 20 52 45 41 44 20 43 4F 55 4E 54 45 D2 60 |CH READ COUNTE.`| 00001260: 22 40 54 32 43 5F 4C 57 4C 52 43 20 2E 44 45 20 |"@T2C_LWLRC .DE | 00001270: 24 45 38 34 38 20 3B 20 AA 70 22 40 54 32 43 5F |$E848 ; .p"@T2C_| 00001280: 48 20 2E 44 45 20 24 45 38 34 39 20 3B 20 AA 80 |H .DE $E849 ; ..| 00001290: 22 40 53 52 20 2E 44 45 20 24 45 38 34 41 20 3B |"@SR .DE $E84A ;| 000012A0: 53 48 49 46 54 20 52 45 47 49 53 54 45 D2 90 22 |SHIFT REGISTE.."| 000012B0: 40 41 43 52 20 2E 44 45 20 24 45 38 34 42 20 3B |@ACR .DE $E84B ;| 000012C0: 41 55 58 49 4C 4C 41 52 59 20 43 4F 4E 54 52 4F |AUXILLARY CONTRO| 000012D0: 4C 20 52 45 47 49 53 54 45 D2 00 23 40 50 43 52 |L REGISTE..#@PCR| 000012E0: 20 2E 44 45 20 24 45 38 34 43 20 3B 50 45 52 49 | .DE $E84C ;PERI| 000012F0: 50 48 45 52 41 4C 20 43 4F 4E 54 52 4F 4C 20 52 |PHERAL CONTROL R| 00001300: 45 47 49 53 54 45 D2 10 23 40 49 46 52 20 2E 44 |EGISTE..#@IFR .D| 00001310: 45 20 24 45 38 34 44 20 3B 49 4E 54 45 52 52 55 |E $E84D ;INTERRU| 00001320: 50 54 20 46 4C 41 47 20 52 45 47 49 53 54 45 D2 |PT FLAG REGISTE.| 00001330: 20 23 40 49 45 52 20 2E 44 45 20 24 45 38 34 45 | #@IER .DE $E84E| 00001340: 20 3B 49 4E 54 45 52 52 55 50 54 20 45 4E 41 42 | ;INTERRUPT ENAB| 00001350: 4C 45 20 52 45 47 49 53 54 45 D2 30 23 40 44 52 |LE REGISTE.0#@DR| 00001360: 41 4E 48 20 2E 44 45 20 24 45 38 34 46 20 3B 44 |ANH .DE $E84F ;D| 00001370: 41 54 41 20 52 45 47 49 53 54 45 52 20 41 20 42 |ATA REGISTER A B| 00001380: 55 54 20 4E 4F 20 48 41 4E 44 53 48 41 4B C5 40 |UT NO HANDSHAK.@| 00001390: 23 89 50 23 89 60 23 89 70 23 89 AA |#.P#.`#.p#.. |
..0 D...; ********** IEEE 488 LIB.4 ***
******. ..0..@.;ALL MODULES: R(A) = BYT
E INPUT OR OUTPUTP.;------------ R(Y) =
LOGICAL FILE .`.; R(X) = 0
IF OK, <> 0 THEN ERRORP..........;VARIA
BLE DEFINITIONS...;--------------------.
..0.LA .DE $D2 ;LOGICAL ADDRESS@.FA .DE
$D4 ;FIRST ADDRESS (DEVICE.P.SA .DE $D3
;SECONDARY ADDRESS (CHN #.`.LDTND .DE $
AE ;# OF FILES OPENP....FNADR .DE $DA ;F
ILE NAME ADDRESS..FNLEN .DE $D1 ;FILE NA
ME LENGTH.....STATUS .DE $96 ;IEEE STATU
S BYTE .BSOUR .DE $A5 ;SAVE AREA0..@..P.
;SUBROUTINES USED.`.;----------------.P.
...FINDLT .DE $F2C1 ;FIND ENTRY IN LOGIC
AL TABLE..SETUPLT .DE $F2CD ;SET UP LA,F
A,SA FROM TABLE..REMOVLT .DE $F319 ;REMO
VE FROM TABLE... .OPENI .DE $F57A ;PUT I
N TABLE AND DO OPEN0.CLOSEI .DE $F72F ;C
LOSE CHANNEL@..P.LISTN .DE $F0D5 ;COMMAN
D TO LISTEN`.UNLISN .DE $F1B9 ;COMMAND T
O UNLISTENP....TALK .DE $F0D2 ;COMMAND T
O TALK..UNTALK .DE $F1AE ;COMMAND TO UNT
ALK.....SECND .DE $F143 ;SEND SECONDARY
ADDRS ..0.CIOUT .DE $F19E ;OUTPUT TO IEE
E@.ACPTR .DE $F1C0 ;INPUT FROM IEEEP..`.
.P....BLKPNT .DE $11 ;POINTER TO BLOCK..
...;IEEE OPEN: OPNUSEB = USE OPEN BLOCK
POINTED TO BY BLKPNT..;---------. .;
OPEN = USE LA, FA, SA, FNADR
, FNLEN0..@.OPNUSEB LDY #00 ;FIRST SET U
P FROM BLOCKP. LDA (BLKPNT),Y`. STA *LAP
. INY.. LDA (BLKPNT),Y.. STA *FA.. INY..
LDA (BLKPNT),Y . ORA #$6.0. STA *SA@. I
NYP. LDA (BLKPNT),Y`. STA *FNADRP. INY..
LDA (BLKPNT),Y.. STA *FNADR+... INY.. L
DA (BLKPNT),Y . STA *FNLEN0..@.OPEN LDA
*LAP. JSR FINDLT ;FIND IF IN LOGICAL TAB
LE`. BEQ OPNERR ;BR. IF ALREADY IN THERE
P. LDX *LDTND ;CHECK IF MAX. OF 10 OPEN.
. CPX #10 ;10 MAX... BCS OPNERR ;BR. ON
TOO MANY OPEN.. INC *LDTND ;INC. AS TOO
MANY OPEN.. LDA #0. . STA *STATUS ;CLEAR
STATUS0. JSR OPENI ;PUT IN TABLE AND OP
EN@. LDX *STATUSP. RTS`.OPNERR LDX #$FFP
. RTS........;CLOSE LOGICAL CHANNEL...;-
--------------------. ..0.CLOSE TYA@. JS
R FINDLT ;FIND IF IN TABLEP. BNE CLOERR
;BR. IF NOT IN THERE`. LDA #0.P. STA *ST
ATUS.. TXA.. PHA.. JSR CLOSEI ;CLOSE CHA
NNEL.. PLA . TAX0. JSR REMOVLT ;REMOVE F
ROM TABLE@. LDX *STATUSP. RTS`.CLOERR LD
X #$FFP. RTS........;PUT BYTE TO IEEE DE
VICE [ BYTE IN R(A), CHN# IN R(Y) ]...;-
----------------------------------------
-------------. ..0.PUT STA *BSOUR ;SAVE
R(A.@. TYAP. JSR SETUP ;SETUP FROM TABLE
`. BNE PUTERR ;BR. IF NOT IN TABLEP. STX
*STATUS ;CLEAR STATUS.. JSR LISTN ;IEEE
CMD TO LISTEN.. LDA *SA ;SEND SECONDARY
ADDRS.. JSR SECND ; ... LDA *BSOUR ;RES
TORE R(A. . JSR CIOUT ;IEEE OUTPUT0. JSR
UNLISN ;IEEE CMD TO LISTEN@. LDX *STATU
SP.PUTERR RTS`..P....;GET BYTE FROM IEEE
DEVICE [ BYTE IN R(A), CHN# IN R(Y) ...
;---------------------------------------
-----------------......GET TYA . JSR SET
UP ;SETUP FROM TABLE0. BNE GETERR ;BR. I
F NOT IN THERE@. STX *STATUSP. JSR TALK
;CMD DEVICE TO TALK`. LDA *SA ;SEN TO NO
T LISTEN@.@UNTALK .DE $F17F ;COMMAND DEV
ICE TO NOT TALKP..`.@IEEEPUT .DE $F16F ;
OUTPUT R(A) TO IEEEP.@IEEEGET .DE $F18C
;INPUT FROM IEEE TO R(A...@IEEEBUF .DE $
F0EE ;IEEE OUPUT BUFFERED VIA CHAR. IN @
BUFFCHR.....@RELSATTN .DE $F12D ;RELEASE
IEEE ATTENTION... ..0..@.; OPERATING SY
STEM VARIABLESP.; ----------------------
----.`..P.; NOTE: THE O.S. USES $009
0-$00FF, BASIC ALL......@FA .DE $D4 ;IEE
E FIRST ADDRESS (DEVICE...@SA .DE $D3 ;I
EEE SECONDARY ADDRESS (CHANNEL...@STATUS
.DE $96 ;STATUE BYTE . ;01=
08= LONG BLOCK ERROR
0. ;02= TIMEOUT 1
0= @. ;04= SHORT BLOCK ERROR
40= EOIP..`.@FNLEN .DE $D1 ;FILE NAME
LENGTHP.@FNADR .DE $DA ;FILE NAME ADDRES
S..@SAL .DE $C7 ;IEEE START ADDRESS..@EA
L .DE $C9 ;IEEE END ADDRESS.....@BUFFCHR
.DE $A5 ;BUFFER FOR IEEE OUTPUT .@FAT .
DE $025B ;SAVE LOC. FOR FA0.@TBUF1 .DE $
027A ;TAPE BUFFER #.@.@TBUF2 .DE $033A ;
TAPE BUFFER #.P..`..P....; SCREEN VARIAB
LES...; ----------------......@NDX .DE $
9E ;# OF CHAR. IN KEYBOARD INPUT BUFFER
.@KEYD .DE $026F ;KEYBOARD INPUT BUFFER0
.@CHR/LINE .DE $D5 ;CURRENT LINE LENGTH
40 =$37, 80 =$4F@.@KEYCHR .DE $97 ;KEY D
EPRESSED, =$FF IF NO KEYP..`..P....; VEC
TORS...; -------......@IRQVEC .DE $90 ;I
RQ VECTOR .@BRKVEC .DE $92 ;BREAK VECTOR
0.@NMIVEC .DE $94 ;NMI VECTOR@..P..`..P.
...; PET I/O...; -------.. .. ;6520 (CHI
P C7) = $E81X = KEYBOARD SCAN .0 @DRA/D
DRA .DE $E81.@ @CRA .DE $E81.P @DRB/DDRB
.DE $E81.` @CRB .DE $E81.P .. .. ;6520
(CHIP C6) = E82X = IEEE 488 INTERFACE.!.
.!. !.0!.@!.P!;6522 (CHIP C5) = E84X = U
SER PORT`!.P!@DRB .DE $E840 ;DATA REG. B
.!@DRA .DE $E841 ;DATA REG. A WITH HANDS
HAKE.!@DDRB .DE $E842 ;DIRECTION REG. B.
"@DDRA .DE $E843 ;DIRECTION REG. A."@T1L
_LWLRC .DE $E844 ;TIMMER #1 WRITE LATCH
READ COUNTER "@T1C_H .DE $E845 ;TIMMER #
.0"@T1L_L .DE $E846 ; .@"@T1L_H .DE $E84
7 ; .P"@T2L_LWLRC .DE $E848 ;TIMMER #2 W
RITE LATCH READ COUNTER`"@T2C_LWLRC .DE
$E848 ; .P"@T2C_H .DE $E849 ; .."@SR .DE
$E84A ;SHIFT REGISTER."@ACR .DE $E84B ;
AUXILLARY CONTROL REGISTER.#@PCR .DE $E8
4C ;PERIPHERAL CONTROL REGISTER.#@IFR .D
E $E84D ;INTERRUPT FLAG REGISTER #@IER .
DE $E84E ;INTERRUPT ENABLE REGISTER0#@DR
ANH .DE $E84F ;DATA REGISTER A BUT NO HA
NDSHAKE@#.P#.`#.P#..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL