_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL