00000000: AA 00 30 BE 37 01 10 00 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 20 00 AE 30 00 20 2E |********. ..0. .|
00000040: 42 41 20 24 30 38 30 B0 40 00 20 2E 4F D3 50 00 |BA $080.@. .O.P.|
00000050: 20 2E 45 C3 60 00 AE 70 00 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 80 00 43 52 4C 46 20 2E 44 45 20 24 44 |IT...CRLF .DE $D|
00000090: 35 33 34 20 3B 4F 55 54 50 55 54 20 43 52 4C C6 |534 ;OUTPUT CRL.|
000000A0: 90 00 AE 00 01 AE 10 01 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: 20 01 20 4A 53 52 20 4F 50 4E 55 53 45 42 20 3B | . JSR OPNUSEB ;|
000000E0: 20 AA 30 01 20 42 4E 45 20 45 52 D2 40 01 AE 50 | .0. BNE ER.@..P|
000000F0: 01 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 60 01 20 4A 53 52 20 4F 50 4E 55 53 45 42 |1.`. JSR OPNUSEB|
00000120: 20 3B 20 AA 70 01 20 42 4E 45 20 45 52 D2 80 01 | ; .p. BNE ER...|
00000130: AE 90 01 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 00 02 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: 10 02 20 42 4E 45 20 45 52 D2 20 02 AE 30 02 20 |.. BNE ER. ..0. |
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 40 02 20 4A 53 52 20 53 45 4E |";SA;.@. JSR SEN|
000001B0: 44 43 4D 44 31 35 20 3B 20 AA 50 02 20 42 4E 45 |DCMD15 ; .P. BNE|
000001C0: 20 45 52 D2 60 02 AE 70 02 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 80 |ECTOR ON SCREE..|
000001F0: 02 20 4C 44 41 20 23 31 B5 90 02 20 53 54 41 20 |. LDA #1... STA |
00000200: 52 4F D7 00 03 4C 50 4E 58 52 4F 57 20 4C 44 41 |RO...LPNXROW LDA|
00000210: 20 23 31 B6 10 03 20 53 54 41 20 43 4F CC 20 03 | #1... STA CO. .|
00000220: 20 4A 53 52 20 43 52 4C C6 30 03 4C 50 4E 58 43 | JSR CRL.0.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 40 03 20 4A 53 52 |AL FILE #.@. 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 50 03 20 42 4E 45 20 45 |ROM IEE.P. BNE E|
00000270: 52 52 20 3B 42 52 2E 20 49 46 20 45 52 52 4F D2 |RR ;BR. IF ERRO.|
00000280: 60 03 20 4A 53 52 20 54 42 59 54 20 3B 50 55 54 |`. JSR TBYT ;PUT|
00000290: 20 4F 4E 20 53 43 52 45 45 CE 70 03 20 44 45 43 | ON SCREE.p. DEC|
000002A0: 20 43 4F CC 80 03 20 42 4E 45 20 4C 50 4E 58 43 | CO... 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 90 03 20 44 45 43 20 52 |INE DON... DEC R|
000002D0: 4F D7 00 04 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 10 04 AE 20 04 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 30 04 20 4A 53 52 |NT#15,"I1.0. JSR|
00000320: 20 53 45 4E 44 43 4D 44 31 B5 40 04 20 4C 44 59 | SENDCMD1.@. LDY|
00000330: 20 23 31 20 3B 43 4C 4F 53 45 20 4C 46 20 23 B1 | #1 ;CLOSE LF #.|
00000340: 50 04 20 4A 53 52 20 43 4C 4F 53 45 20 3B 20 AA |P. JSR CLOSE ; .|
00000350: 60 04 20 4C 44 59 20 23 31 35 20 3B 43 4C 4F 53 |`. LDY #15 ;CLOS|
00000360: 45 20 4C 46 20 23 31 B5 70 04 20 4A 53 52 20 43 |E LF #1.p. JSR C|
00000370: 4C 4F 53 45 20 3B 20 AA 80 04 20 4C 44 41 20 23 |LOSE ; ... LDA #|
00000380: 30 30 20 3B 30 30 3D 20 4F CB 90 04 53 54 4F 50 |00 ;00= O...STOP|
00000390: 20 42 52 CB 00 05 20 4E 4F D0 10 05 20 4E 4F D0 | BR... NO... NO.|
000003A0: 20 05 20 4A 4D 50 20 53 45 43 54 4F D2 30 05 AE | . JMP SECTO.0..|
000003B0: 40 05 45 52 52 20 53 41 20 28 49 4E 49 43 4D 44 |@.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 50 05 20 4A 53 52 20 53 45 |15,"I1.P. JSR SE|
000003E0: 4E 44 43 4D 44 31 35 20 3B 20 AA 60 05 20 4C 44 |NDCMD15 ; .`. LD|
000003F0: 59 20 23 31 20 3B 43 4C 4F 53 45 20 4C 46 20 23 |Y #1 ;CLOSE LF #|
00000400: B1 70 05 20 4A 53 52 20 43 4C 4F 53 45 20 3B 20 |.p. JSR CLOSE ; |
00000410: AA 80 05 20 4C 44 59 20 23 31 35 20 3B 43 4C 4F |... LDY #15 ;CLO|
00000420: 53 45 20 4C 46 20 23 31 B5 90 05 20 4A 53 52 20 |SE LF #1... JSR |
00000430: 43 4C 4F 53 45 20 3B 20 AA 00 06 20 4C 44 41 20 |CLOSE ; ... LDA |
00000440: 23 24 45 45 20 3B 45 45 3D 20 45 52 52 4F D2 10 |#$EE ;EE= ERRO..|
00000450: 06 20 42 4E 45 20 53 54 4F D0 20 06 AE 30 06 3B |. BNE STO. ..0.;|
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 40 06 |OMMAND CHANNE.@.|
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 50 |--------------.P|
000004A0: 06 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 60 06 20 2E 42 59 20 |LOGICAL .`. .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 70 06 20 2E 42 59 20 31 35 |CE (FA.p. .BY 15|
000004E0: 20 3B 43 48 41 4E 4E 45 4C 20 28 53 41 A9 80 06 | ;CHANNEL (SA...|
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 90 06 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 00 |FILENAME LENGT..|
00000520: 07 AE 10 07 AE 20 07 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 30 07 3B 2D |CESS CHANNE.0.;-|
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 40 07 44 41 42 4C 4B 20 2E 42 59 20 31 |--.@.DABLK .BY 1|
00000580: 20 3B 4C 4F 47 49 43 41 4C 20 A3 50 07 20 2E 42 | ;LOGICAL .P. .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 60 07 20 2E 42 59 20 |VICE (FA.`. .BY |
000005B0: 33 20 3B 43 48 41 4E 4E 45 4C 20 28 53 41 A9 70 |3 ;CHANNEL (SA.p|
000005C0: 07 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 80 07 20 2E 42 |ENAME ADDR... .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 90 07 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 00 08 AE 10 08 AE 20 08 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: 30 08 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |0.;-------------|
00000650: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000660: 2D 2D 2D 2D AD 40 08 52 44 43 4D 44 20 2E 42 59 |----.@.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 50 | ;SA=3, DRIVE=.P|
00000690: 08 AE 60 08 AE 70 08 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 80 08 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |...;------------|
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 90 08 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 00 09 AE 10 09 AE 20 09 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 30 09 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | .0.;-----------|
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 40 09 49 4E 49 43 4D |--------.@.INICM|
00000770: 44 20 2E 42 59 20 27 49 31 27 20 B0 50 09 AE 60 |D .BY 'I1' .P..`|
00000780: 09 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 70 09 43 4F 4C 20 2E 44 53 |COUNTE.p.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 80 09 AE 90 09 45 4E 44 53 45 43 54 4F 52 |E......ENDSECTOR|
000007C0: 20 2E 45 CE 43 | .E.C |
..0.7...;********** SECTOR DISPLAY PROGR
AM 4.0 *********. ..0. .BA $080.@. .OSP.
.EC`..P.TBYT .DE $D722 ;PRINT BYTE AS 2
HEX DIGITS..CRLF .DE $D534 ;OUTPUT CRLF
........SECTOR SA (DABLK BLKPNT) ;OPEN 1
,8,3,"#. . JSR OPNUSEB ; .0. BNE ERR@..P
. SA (CMDBLK BLKPNT) ;OPEN 15,8,1.`. JSR
OPNUSEB ; .P. BNE ERR..... SA (RDCMD BL
KPNT) ;PRINT#15,"U1";3;D;T;S.. JSR SENDC
MD15 ; ... BNE ERR ..0. SA (BPCMD BLKPNT
) ;PRINT#15,"B-P";SA;.@. JSR SENDCMD15 ;
.P. BNE ERR`..P.;NOW READ AND DISPLAY S
ECTOR ON SCREEN.. LDA #1... STA ROW..LPN
XROW LDA #1... STA COL . JSR CRLF0.LPNXC
OL LDY #1 ;LOGICAL FILE #.@. JSR GET ;GE
T BYTE FROM IEEEP. BNE ERR ;BR. IF ERROR
`. JSR TBYT ;PUT ON SCREENP. DEC COL.. B
NE LPNXCOL ;LOOP UNTIL LINE DONE.. DEC R
OW.. BNE LPNXROW ;LOOP FOR NEXT ROW... .
SA (INICMD BLKPNT) ;PRINT#15,"I1.0. JSR
SENDCMD1.@. LDY #1 ;CLOSE LF #.P. JSR C
LOSE ; .`. LDY #15 ;CLOSE LF #1.P. JSR C
LOSE ; ... LDA #00 ;00= OK..STOP BRK.. N
OP.. NOP . JMP SECTOR0..@.ERR SA (INICMD
BLKPNT) ;PRINT#15,"I1.P. JSR SENDCMD15
; .`. LDY #1 ;CLOSE LF #.P. JSR CLOSE ;
... LDY #15 ;CLOSE LF #1... JSR CLOSE ;
... LDA #$EE ;EE= ERROR.. BNE STOP ..0.;
OPEN BLOCK FOR COMMAND CHANNEL@.;-------
----------------------.P.CMDBLK .BY 15 ;
LOGICAL .`. .BY 8 ;PHYSICAL DEVICE (FA.P
. .BY 15 ;CHANNEL (SA... .SI 0 ;FILENAME
ADDRS.. .BY 0 ;FILENAME LENGTH...... .;
OPEN BLOCK FOR DIRECT ACCESS CHANNEL0.;-
----------------------------------.@.DAB
LK .BY 1 ;LOGICAL .P. .BY 8 ;PHYSICAL DE
VICE (FA.`. .BY 3 ;CHANNEL (SA.P. .SI DA
NAM ;FILENAME ADDRS.. .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
..`..P.;COMMAND STRING TO SET BUFFER POI
NTER TO ...;----------------------------
------------...BPCMD .BY 'B-P,3,1' 0 ;SA
=3, POINTER=....... .;COMMAND STRING TO
INITIALIZE DRIVE .0.;-------------------
----------------.@.INICMD .BY 'I1' .P..`
.ROW .DS 1 ;ROW COUNTERP.COL .DS 1 ;COLU
MN COUNTER.....ENDSECTOR .ENC
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL