00000000: AA 00 30 BE 37 01 00 10 3B 2A 2A 2A 2A 2A 2A 2A |..0.7...;*******|
00000010: 2A 2A 2A 20 53 45 43 54 4F 52 20 44 49 53 50 4C |*** SECTOR DISPL|
00000020: 41 59 20 50 52 4F 47 52 41 4D 20 34 2E 30 20 2A |AY PROGRAM 4.0 *|
00000030: 2A 2A 2A 2A 2A 2A 2A 2A AA 10 10 AE 20 10 20 2E |********.... . .|
00000040: 42 41 20 24 30 38 30 B0 30 10 20 2E 4F D3 40 10 |BA $080.0. .O.@.|
00000050: 20 2E 45 C3 50 10 AE 60 10 54 42 59 54 20 2E 44 | .E.P..`.TBYT .D|
00000060: 45 20 24 44 37 32 32 20 3B 50 52 49 4E 54 20 42 |E $D722 ;PRINT B|
00000070: 59 54 45 20 41 53 20 32 20 48 45 58 20 44 49 47 |YTE AS 2 HEX DIG|
00000080: 49 54 D3 70 10 43 52 4C 46 20 2E 44 45 20 24 44 |IT.p.CRLF .DE $D|
00000090: 35 33 34 20 3B 4F 55 54 50 55 54 20 43 52 4C C6 |534 ;OUTPUT CRL.|
000000A0: 80 10 AE 90 10 AE 00 11 53 45 43 54 4F 52 20 53 |........SECTOR S|
000000B0: 41 20 28 44 41 42 4C 4B 20 42 4C 4B 50 4E 54 29 |A (DABLK BLKPNT)|
000000C0: 20 3B 4F 50 45 4E 20 31 2C 38 2C 33 2C 22 23 A2 | ;OPEN 1,8,3,"#.|
000000D0: 10 11 20 4A 53 52 20 4F 50 4E 55 53 45 42 20 3B |.. JSR OPNUSEB ;|
000000E0: 20 AA 20 11 20 42 4E 45 20 45 52 D2 30 11 AE 40 | . . BNE ER.0..@|
000000F0: 11 20 53 41 20 28 43 4D 44 42 4C 4B 20 42 4C 4B |. SA (CMDBLK BLK|
00000100: 50 4E 54 29 20 3B 4F 50 45 4E 20 31 35 2C 38 2C |PNT) ;OPEN 15,8,|
00000110: 31 B5 50 11 20 4A 53 52 20 4F 50 4E 55 53 45 42 |1.P. JSR OPNUSEB|
00000120: 20 3B 20 AA 60 11 20 42 4E 45 20 45 52 D2 70 11 | ; .`. BNE ER.p.|
00000130: AE 80 11 20 53 41 20 28 52 44 43 4D 44 20 42 4C |... SA (RDCMD BL|
00000140: 4B 50 4E 54 29 20 3B 50 52 49 4E 54 23 31 35 2C |KPNT) ;PRINT#15,|
00000150: 22 55 31 22 3B 33 3B 44 3B 54 3B D3 90 11 20 4A |"U1";3;D;T;... J|
00000160: 53 52 20 53 45 4E 44 43 4D 44 31 35 20 3B 20 AA |SR SENDCMD15 ; .|
00000170: 00 12 20 42 4E 45 20 45 52 D2 10 12 AE 20 12 20 |.. BNE ER.... . |
00000180: 53 41 20 28 42 50 43 4D 44 20 42 4C 4B 50 4E 54 |SA (BPCMD BLKPNT|
00000190: 29 20 3B 50 52 49 4E 54 23 31 35 2C 22 42 2D 50 |) ;PRINT#15,"B-P|
000001A0: 22 3B 53 41 3B B1 30 12 20 4A 53 52 20 53 45 4E |";SA;.0. JSR SEN|
000001B0: 44 43 4D 44 31 35 20 3B 20 AA 40 12 20 42 4E 45 |DCMD15 ; .@. BNE|
000001C0: 20 45 52 D2 50 12 AE 60 12 3B 4E 4F 57 20 52 45 | ER.P..`.;NOW RE|
000001D0: 41 44 20 41 4E 44 20 44 49 53 50 4C 41 59 20 53 |AD AND DISPLAY S|
000001E0: 45 43 54 4F 52 20 4F 4E 20 53 43 52 45 45 CE 70 |ECTOR ON SCREE.p|
000001F0: 12 20 4C 44 41 20 23 31 B5 80 12 20 53 54 41 20 |. LDA #1... STA |
00000200: 52 4F D7 90 12 4C 50 4E 58 52 4F 57 20 4C 44 41 |RO...LPNXROW LDA|
00000210: 20 23 31 B6 00 13 20 53 54 41 20 43 4F CC 10 13 | #1... STA CO...|
00000220: 20 4A 53 52 20 43 52 4C C6 20 13 4C 50 4E 58 43 | JSR CRL. .LPNXC|
00000230: 4F 4C 20 4C 44 59 20 23 31 20 3B 4C 4F 47 49 43 |OL LDY #1 ;LOGIC|
00000240: 41 4C 20 46 49 4C 45 20 23 B1 30 13 20 4A 53 52 |AL FILE #.0. JSR|
00000250: 20 47 45 54 20 3B 47 45 54 20 42 59 54 45 20 46 | GET ;GET BYTE F|
00000260: 52 4F 4D 20 49 45 45 C5 40 13 20 42 4E 45 20 45 |ROM IEE.@. BNE E|
00000270: 52 52 20 3B 42 52 2E 20 49 46 20 45 52 52 4F D2 |RR ;BR. IF ERRO.|
00000280: 50 13 20 4A 53 52 20 54 42 59 54 20 3B 50 55 54 |P. JSR TBYT ;PUT|
00000290: 20 4F 4E 20 53 43 52 45 45 CE 60 13 20 44 45 43 | ON SCREE.`. DEC|
000002A0: 20 43 4F CC 70 13 20 42 4E 45 20 4C 50 4E 58 43 | CO.p. BNE LPNXC|
000002B0: 4F 4C 20 3B 4C 4F 4F 50 20 55 4E 54 49 4C 20 4C |OL ;LOOP UNTIL L|
000002C0: 49 4E 45 20 44 4F 4E C5 80 13 20 44 45 43 20 52 |INE DON... DEC R|
000002D0: 4F D7 90 13 20 42 4E 45 20 4C 50 4E 58 52 4F 57 |O... BNE LPNXROW|
000002E0: 20 3B 4C 4F 4F 50 20 46 4F 52 20 4E 45 58 54 20 | ;LOOP FOR NEXT |
000002F0: 52 4F D7 00 14 AE 10 14 20 53 41 20 28 49 4E 49 |RO...... SA (INI|
00000300: 43 4D 44 20 42 4C 4B 50 4E 54 29 20 3B 50 52 49 |CMD BLKPNT) ;PRI|
00000310: 4E 54 23 31 35 2C 22 49 31 A2 20 14 20 4A 53 52 |NT#15,"I1. . JSR|
00000320: 20 53 45 4E 44 43 4D 44 31 B5 30 14 20 4C 44 59 | SENDCMD1.0. LDY|
00000330: 20 23 31 20 3B 43 4C 4F 53 45 20 4C 46 20 23 B1 | #1 ;CLOSE LF #.|
00000340: 40 14 20 4A 53 52 20 43 4C 4F 53 45 20 3B 20 AA |@. JSR CLOSE ; .|
00000350: 50 14 20 4C 44 59 20 23 31 35 20 3B 43 4C 4F 53 |P. LDY #15 ;CLOS|
00000360: 45 20 4C 46 20 23 31 B5 60 14 20 4A 53 52 20 43 |E LF #1.`. JSR C|
00000370: 4C 4F 53 45 20 3B 20 AA 70 14 20 4C 44 41 20 23 |LOSE ; .p. LDA #|
00000380: 30 30 20 3B 30 30 3D 20 4F CB 80 14 53 54 4F 50 |00 ;00= O...STOP|
00000390: 20 42 52 CB 90 14 20 4E 4F D0 00 15 20 4E 4F D0 | BR... NO... NO.|
000003A0: 10 15 20 4A 4D 50 20 53 45 43 54 4F D2 20 15 AE |.. JMP SECTO. ..|
000003B0: 30 15 45 52 52 20 53 41 20 28 49 4E 49 43 4D 44 |0.ERR SA (INICMD|
000003C0: 20 42 4C 4B 50 4E 54 29 20 3B 50 52 49 4E 54 23 | BLKPNT) ;PRINT#|
000003D0: 31 35 2C 22 49 31 A2 40 15 20 4A 53 52 20 53 45 |15,"I1.@. JSR SE|
000003E0: 4E 44 43 4D 44 31 35 20 3B 20 AA 50 15 20 4C 44 |NDCMD15 ; .P. LD|
000003F0: 59 20 23 31 20 3B 43 4C 4F 53 45 20 4C 46 20 23 |Y #1 ;CLOSE LF #|
00000400: B1 60 15 20 4A 53 52 20 43 4C 4F 53 45 20 3B 20 |.`. JSR CLOSE ; |
00000410: AA 70 15 20 4C 44 59 20 23 31 35 20 3B 43 4C 4F |.p. LDY #15 ;CLO|
00000420: 53 45 20 4C 46 20 23 31 B5 80 15 20 4A 53 52 20 |SE LF #1... JSR |
00000430: 43 4C 4F 53 45 20 3B 20 AA 90 15 20 4C 44 41 20 |CLOSE ; ... LDA |
00000440: 23 24 45 45 20 3B 45 45 3D 20 45 52 52 4F D2 00 |#$EE ;EE= ERRO..|
00000450: 16 20 42 4E 45 20 53 54 4F D0 10 16 AE 20 16 3B |. BNE STO.... .;|
00000460: 4F 50 45 4E 20 42 4C 4F 43 4B 20 46 4F 52 20 43 |OPEN BLOCK FOR C|
00000470: 4F 4D 4D 41 4E 44 20 43 48 41 4E 4E 45 CC 30 16 |OMMAND CHANNE.0.|
00000480: 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |;---------------|
00000490: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D AD 40 |--------------.@|
000004A0: 16 43 4D 44 42 4C 4B 20 2E 42 59 20 31 35 20 3B |.CMDBLK .BY 15 ;|
000004B0: 4C 4F 47 49 43 41 4C 20 A3 50 16 20 2E 42 59 20 |LOGICAL .P. .BY |
000004C0: 38 20 3B 50 48 59 53 49 43 41 4C 20 44 45 56 49 |8 ;PHYSICAL DEVI|
000004D0: 43 45 20 28 46 41 A9 60 16 20 2E 42 59 20 31 35 |CE (FA.`. .BY 15|
000004E0: 20 3B 43 48 41 4E 4E 45 4C 20 28 53 41 A9 70 16 | ;CHANNEL (SA.p.|
000004F0: 20 2E 53 49 20 30 20 3B 46 49 4C 45 4E 41 4D 45 | .SI 0 ;FILENAME|
00000500: 20 41 44 44 52 D3 80 16 20 2E 42 59 20 30 20 3B | ADDR... .BY 0 ;|
00000510: 46 49 4C 45 4E 41 4D 45 20 4C 45 4E 47 54 C8 90 |FILENAME LENGT..|
00000520: 16 AE 00 17 AE 10 17 3B 4F 50 45 4E 20 42 4C 4F |.......;OPEN BLO|
00000530: 43 4B 20 46 4F 52 20 44 49 52 45 43 54 20 41 43 |CK FOR DIRECT AC|
00000540: 43 45 53 53 20 43 48 41 4E 4E 45 CC 20 17 3B 2D |CESS CHANNE. .;-|
00000550: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000560: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000570: 2D 2D AD 30 17 44 41 42 4C 4B 20 2E 42 59 20 31 |--.0.DABLK .BY 1|
00000580: 20 3B 4C 4F 47 49 43 41 4C 20 A3 40 17 20 2E 42 | ;LOGICAL .@. .B|
00000590: 59 20 38 20 3B 50 48 59 53 49 43 41 4C 20 44 45 |Y 8 ;PHYSICAL DE|
000005A0: 56 49 43 45 20 28 46 41 A9 50 17 20 2E 42 59 20 |VICE (FA.P. .BY |
000005B0: 33 20 3B 43 48 41 4E 4E 45 4C 20 28 53 41 A9 60 |3 ;CHANNEL (SA.`|
000005C0: 17 20 2E 53 49 20 44 41 4E 41 4D 20 3B 46 49 4C |. .SI DANAM ;FIL|
000005D0: 45 4E 41 4D 45 20 41 44 44 52 D3 70 17 20 2E 42 |ENAME ADDR.p. .B|
000005E0: 59 20 31 20 3B 46 49 4C 45 4E 41 4D 45 20 4C 45 |Y 1 ;FILENAME LE|
000005F0: 4E 47 54 C8 80 17 44 41 4E 41 4D 20 2E 42 59 20 |NGT...DANAM .BY |
00000600: 27 23 27 20 3B 4E 41 4D 45 20 3D 20 23 20 46 4F |'#' ;NAME = # FO|
00000610: 52 20 44 2D C1 90 17 AE 00 18 AE 10 18 3B 43 4F |R D-.........;CO|
00000620: 4D 4D 41 4E 44 20 53 54 52 49 4E 47 20 54 4F 20 |MMAND STRING TO |
00000630: 52 45 41 44 20 53 45 43 54 4F 52 20 31 38 2C B1 |READ SECTOR 18,.|
00000640: 20 18 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | .;-------------|
00000650: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000660: 2D 2D 2D 2D AD 30 18 52 44 43 4D 44 20 2E 42 59 |----.0.RDCMD .BY|
00000670: 20 27 55 31 20 33 20 31 20 31 38 20 31 27 20 30 | 'U1 3 1 18 1' 0|
00000680: 20 3B 53 41 3D 33 2C 20 44 52 49 56 45 3D B1 40 | ;SA=3, DRIVE=.@|
00000690: 18 AE 50 18 AE 60 18 3B 43 4F 4D 4D 41 4E 44 20 |..P..`.;COMMAND |
000006A0: 53 54 52 49 4E 47 20 54 4F 20 53 45 54 20 42 55 |STRING TO SET BU|
000006B0: 46 46 45 52 20 50 4F 49 4E 54 45 52 20 54 4F 20 |FFER POINTER TO |
000006C0: B1 70 18 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.p.;------------|
000006D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000006E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D AD 80 18 42 |------------...B|
000006F0: 50 43 4D 44 20 2E 42 59 20 27 42 2D 50 2C 33 2C |PCMD .BY 'B-P,3,|
00000700: 31 27 20 30 20 3B 53 41 3D 33 2C 20 50 4F 49 4E |1' 0 ;SA=3, POIN|
00000710: 54 45 52 3D B1 90 18 AE 00 19 AE 10 19 3B 43 4F |TER=.........;CO|
00000720: 4D 4D 41 4E 44 20 53 54 52 49 4E 47 20 54 4F 20 |MMAND STRING TO |
00000730: 49 4E 49 54 49 41 4C 49 5A 45 20 44 52 49 56 45 |INITIALIZE DRIVE|
00000740: 20 B1 20 19 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | . .;-----------|
00000750: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000760: 2D 2D 2D 2D 2D 2D 2D 2D AD 30 19 49 4E 49 43 4D |--------.0.INICM|
00000770: 44 20 2E 42 59 20 27 49 31 27 20 B0 40 19 AE 50 |D .BY 'I1' .@..P|
00000780: 19 52 4F 57 20 2E 44 53 20 31 20 3B 52 4F 57 20 |.ROW .DS 1 ;ROW |
00000790: 43 4F 55 4E 54 45 D2 60 19 43 4F 4C 20 2E 44 53 |COUNTE.`.COL .DS|
000007A0: 20 31 20 3B 43 4F 4C 55 4D 4E 20 43 4F 55 4E 54 | 1 ;COLUMN COUNT|
000007B0: 45 D2 70 19 AE 80 19 45 4E 44 53 45 43 54 4F 52 |E.p....ENDSECTOR|
000007C0: 20 2E 45 CE 31 | .E.1 |
..0.7...;********** SECTOR DISPLAY PROGR
AM 4.0 *********.... . .BA $080.0. .OS@.
.ECP..`.TBYT .DE $D722 ;PRINT BYTE AS 2
HEX DIGITSP.CRLF .DE $D534 ;OUTPUT CRLF
........SECTOR SA (DABLK BLKPNT) ;OPEN 1
,8,3,"#... JSR OPNUSEB ; . . BNE ERR0..@
. SA (CMDBLK BLKPNT) ;OPEN 15,8,1.P. JSR
OPNUSEB ; .`. BNE ERRP.... SA (RDCMD BL
KPNT) ;PRINT#15,"U1";3;D;T;S.. JSR SENDC
MD15 ; ... BNE ERR... . SA (BPCMD BLKPNT
) ;PRINT#15,"B-P";SA;.0. JSR SENDCMD15 ;
.@. BNE ERRP..`.;NOW READ AND DISPLAY S
ECTOR ON SCREENP. LDA #1... STA ROW..LPN
XROW LDA #1... STA COL.. JSR CRLF .LPNXC
OL LDY #1 ;LOGICAL FILE #.0. JSR GET ;GE
T BYTE FROM IEEE@. BNE ERR ;BR. IF ERROR
P. JSR TBYT ;PUT ON SCREEN`. DEC COLP. B
NE LPNXCOL ;LOOP UNTIL LINE DONE.. DEC R
OW.. BNE LPNXROW ;LOOP FOR NEXT ROW.....
SA (INICMD BLKPNT) ;PRINT#15,"I1. . JSR
SENDCMD1.0. LDY #1 ;CLOSE LF #.@. JSR C
LOSE ; .P. LDY #15 ;CLOSE LF #1.`. JSR C
LOSE ; .P. LDA #00 ;00= OK..STOP BRK.. N
OP.. NOP.. JMP SECTOR ..0.ERR SA (INICMD
BLKPNT) ;PRINT#15,"I1.@. JSR SENDCMD15
; .P. LDY #1 ;CLOSE LF #.`. JSR CLOSE ;
.P. LDY #15 ;CLOSE LF #1... JSR CLOSE ;
... LDA #$EE ;EE= ERROR.. BNE STOP... .;
OPEN BLOCK FOR COMMAND CHANNEL0.;-------
----------------------.@.CMDBLK .BY 15 ;
LOGICAL .P. .BY 8 ;PHYSICAL DEVICE (FA.`
. .BY 15 ;CHANNEL (SA.P. .SI 0 ;FILENAME
ADDRS.. .BY 0 ;FILENAME LENGTH........;
OPEN BLOCK FOR DIRECT ACCESS CHANNEL .;-
----------------------------------.0.DAB
LK .BY 1 ;LOGICAL .@. .BY 8 ;PHYSICAL DE
VICE (FA.P. .BY 3 ;CHANNEL (SA.`. .SI DA
NAM ;FILENAME ADDRSP. .BY 1 ;FILENAME LE
NGTH..DANAM .BY '#' ;NAME = # FOR D-A...
.....;COMMAND STRING TO READ SECTOR 18,.
.;---------------------------------.0.R
DCMD .BY 'U1 3 1 18 1' 0 ;SA=3, DRIVE=.@
..P..`.;COMMAND STRING TO SET BUFFER POI
NTER TO .P.;----------------------------
------------...BPCMD .BY 'B-P,3,1' 0 ;SA
=3, POINTER=.........;COMMAND STRING TO
INITIALIZE DRIVE . .;-------------------
----------------.0.INICMD .BY 'I1' .@..P
.ROW .DS 1 ;ROW COUNTER`.COL .DS 1 ;COLU
MN COUNTERP....ENDSECTOR .EN1
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL