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 33 2E 30 20 2A |AY PROGRAM 3.0 *|
00000030: 2A 2A 2A 2A 2A 2A 2A 2A AA 10 10 AE 20 10 20 2E |********.... . .|
00000040: 62 61 20 24 30 38 30 B0 30 10 20 2E 6F F3 40 10 |ba $080.0. .o.@.|
00000050: 20 2E 65 E3 50 10 54 42 59 54 20 2E 44 45 20 24 | .e.P.TBYT .DE $|
00000060: 45 37 37 35 20 3B 50 52 49 4E 54 20 42 59 54 45 |E775 ;PRINT BYTE|
00000070: 20 41 53 20 32 20 48 45 58 20 44 49 47 49 54 D3 | AS 2 HEX DIGIT.|
00000080: 60 10 43 52 4C 46 20 2E 44 45 20 24 46 44 43 44 |`.CRLF .DE $FDCD|
00000090: 20 3B 4F 55 54 50 55 54 20 43 52 4C C6 70 10 AE | ;OUTPUT CRL.p..|
000000A0: 80 10 AE 90 10 53 45 43 54 4F 52 20 53 41 20 28 |.....SECTOR SA (|
000000B0: 44 41 42 4C 4B 20 42 4C 4B 50 4E 54 29 20 3B 4F |DABLK BLKPNT) ;O|
000000C0: 50 45 4E 20 31 2C 38 2C 33 2C 22 23 A2 00 11 20 |PEN 1,8,3,"#... |
000000D0: 4A 53 52 20 4F 50 4E 55 53 45 42 20 3B 20 AA 10 |JSR OPNUSEB ; ..|
000000E0: 11 20 42 4E 45 20 45 52 D2 20 11 AE 30 11 20 53 |. BNE ER. ..0. S|
000000F0: 41 20 28 43 4D 44 42 4C 4B 20 42 4C 4B 50 4E 54 |A (CMDBLK BLKPNT|
00000100: 29 20 3B 4F 50 45 4E 20 31 35 2C 38 2C 31 B5 40 |) ;OPEN 15,8,1.@|
00000110: 11 20 4A 53 52 20 4F 50 4E 55 53 45 42 20 3B 20 |. JSR OPNUSEB ; |
00000120: AA 50 11 20 42 4E 45 20 45 52 D2 60 11 AE 70 11 |.P. BNE ER.`..p.|
00000130: 20 53 41 20 28 52 44 43 4D 44 20 42 4C 4B 50 4E | SA (RDCMD BLKPN|
00000140: 54 29 20 3B 50 52 49 4E 54 23 31 35 2C 22 55 31 |T) ;PRINT#15,"U1|
00000150: 22 3B 33 3B 44 3B 54 3B D3 80 11 20 4A 53 52 20 |";3;D;T;... JSR |
00000160: 53 45 4E 44 43 4D 44 31 35 20 3B 20 AA 90 11 20 |SENDCMD15 ; ... |
00000170: 42 4E 45 20 45 52 D2 00 12 AE 10 12 20 53 41 20 |BNE ER...... SA |
00000180: 28 42 50 43 4D 44 20 42 4C 4B 50 4E 54 29 20 3B |(BPCMD BLKPNT) ;|
00000190: 50 52 49 4E 54 23 31 35 2C 22 42 2D 50 22 3B 53 |PRINT#15,"B-P";S|
000001A0: 41 3B B1 20 12 20 4A 53 52 20 53 45 4E 44 43 4D |A;. . JSR SENDCM|
000001B0: 44 31 35 20 3B 20 AA 30 12 20 42 4E 45 20 45 52 |D15 ; .0. BNE ER|
000001C0: D2 40 12 AE 50 12 3B 4E 4F 57 20 52 45 41 44 20 |.@..P.;NOW READ |
000001D0: 41 4E 44 20 44 49 53 50 4C 41 59 20 53 45 43 54 |AND DISPLAY SECT|
000001E0: 4F 52 20 4F 4E 20 53 43 52 45 45 CE 60 12 20 4C |OR ON SCREE.`. L|
000001F0: 44 41 20 23 31 B5 70 12 20 53 54 41 20 52 4F D7 |DA #1.p. STA RO.|
00000200: 80 12 4C 50 4E 58 52 4F 57 20 4C 44 41 20 23 31 |..LPNXROW LDA #1|
00000210: B6 90 12 20 53 54 41 20 43 4F CC 00 13 20 4A 53 |... STA CO... JS|
00000220: 52 20 43 52 4C C6 10 13 4C 50 4E 58 43 4F 4C 20 |R CRL...LPNXCOL |
00000230: 4C 44 59 20 23 31 20 3B 4C 4F 47 49 43 41 4C 20 |LDY #1 ;LOGICAL |
00000240: 46 49 4C 45 20 23 B1 20 13 20 4A 53 52 20 47 45 |FILE #. . JSR GE|
00000250: 54 20 3B 47 45 54 20 42 59 54 45 20 46 52 4F 4D |T ;GET BYTE FROM|
00000260: 20 49 45 45 C5 30 13 20 42 4E 45 20 45 52 52 20 | IEE.0. BNE ERR |
00000270: 3B 42 52 2E 20 49 46 20 45 52 52 4F D2 40 13 20 |;BR. IF ERRO.@. |
00000280: 4A 53 52 20 54 42 59 54 20 3B 50 55 54 20 4F 4E |JSR TBYT ;PUT ON|
00000290: 20 53 43 52 45 45 CE 50 13 20 44 45 43 20 43 4F | SCREE.P. DEC CO|
000002A0: CC 60 13 20 42 4E 45 20 4C 50 4E 58 43 4F 4C 20 |.`. BNE LPNXCOL |
000002B0: 3B 4C 4F 4F 50 20 55 4E 54 49 4C 20 4C 49 4E 45 |;LOOP UNTIL LINE|
000002C0: 20 44 4F 4E C5 70 13 20 44 45 43 20 52 4F D7 80 | DON.p. DEC RO..|
000002D0: 13 20 42 4E 45 20 4C 50 4E 58 52 4F 57 20 3B 4C |. BNE LPNXROW ;L|
000002E0: 4F 4F 50 20 46 4F 52 20 4E 45 58 54 20 52 4F D7 |OOP FOR NEXT RO.|
000002F0: 90 13 AE 00 14 20 53 41 20 28 49 4E 49 43 4D 44 |..... SA (INICMD|
00000300: 20 42 4C 4B 50 4E 54 29 20 3B 50 52 49 4E 54 23 | BLKPNT) ;PRINT#|
00000310: 31 35 2C 22 49 31 A2 10 14 20 4A 53 52 20 53 45 |15,"I1... JSR SE|
00000320: 4E 44 43 4D 44 31 B5 20 14 20 4C 44 59 20 23 31 |NDCMD1. . LDY #1|
00000330: 20 3B 43 4C 4F 53 45 20 4C 46 20 23 B1 30 14 20 | ;CLOSE LF #.0. |
00000340: 4A 53 52 20 43 4C 4F 53 45 20 3B 20 AA 40 14 20 |JSR CLOSE ; .@. |
00000350: 4C 44 59 20 23 31 35 20 3B 43 4C 4F 53 45 20 4C |LDY #15 ;CLOSE L|
00000360: 46 20 23 31 B5 50 14 20 4A 53 52 20 43 4C 4F 53 |F #1.P. JSR CLOS|
00000370: 45 20 3B 20 AA 60 14 20 4C 44 41 20 23 30 30 20 |E ; .`. LDA #00 |
00000380: 3B 30 30 3D 20 4F CB 70 14 53 54 4F 50 20 42 52 |;00= O.p.STOP BR|
00000390: CB 80 14 20 4E 4F D0 90 14 20 4E 4F D0 00 15 20 |... NO... NO... |
000003A0: 4A 4D 50 20 53 45 43 54 4F D2 10 15 AE 20 15 45 |JMP SECTO.... .E|
000003B0: 52 52 20 53 41 20 28 49 4E 49 43 4D 44 20 42 4C |RR SA (INICMD BL|
000003C0: 4B 50 4E 54 29 20 3B 50 52 49 4E 54 23 31 35 2C |KPNT) ;PRINT#15,|
000003D0: 22 49 31 A2 30 15 20 4A 53 52 20 53 45 4E 44 43 |"I1.0. JSR SENDC|
000003E0: 4D 44 31 35 20 3B 20 AA 40 15 20 4C 44 59 20 23 |MD15 ; .@. LDY #|
000003F0: 31 20 3B 43 4C 4F 53 45 20 4C 46 20 23 B1 50 15 |1 ;CLOSE LF #.P.|
00000400: 20 4A 53 52 20 43 4C 4F 53 45 20 3B 20 AA 60 15 | JSR CLOSE ; .`.|
00000410: 20 4C 44 59 20 23 31 35 20 3B 43 4C 4F 53 45 20 | LDY #15 ;CLOSE |
00000420: 4C 46 20 23 31 B5 70 15 20 4A 53 52 20 43 4C 4F |LF #1.p. JSR CLO|
00000430: 53 45 20 3B 20 AA 80 15 20 4C 44 41 20 23 24 45 |SE ; ... LDA #$E|
00000440: 45 20 3B 45 45 3D 20 45 52 52 4F D2 90 15 20 42 |E ;EE= ERRO... B|
00000450: 4E 45 20 53 54 4F D0 00 16 AE 10 16 3B 4F 50 45 |NE STO......;OPE|
00000460: 4E 20 42 4C 4F 43 4B 20 46 4F 52 20 43 4F 4D 4D |N BLOCK FOR COMM|
00000470: 41 4E 44 20 43 48 41 4E 4E 45 CC 20 16 3B 2D 2D |AND CHANNE. .;--|
00000480: 2D 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 AD 30 16 43 4D |-----------.0.CM|
000004A0: 44 42 4C 4B 20 2E 42 59 20 31 35 20 3B 4C 4F 47 |DBLK .BY 15 ;LOG|
000004B0: 49 43 41 4C 20 A3 40 16 20 2E 42 59 20 38 20 3B |ICAL .@. .BY 8 ;|
000004C0: 50 48 59 53 49 43 41 4C 20 44 45 56 49 43 45 20 |PHYSICAL DEVICE |
000004D0: 28 46 41 A9 50 16 20 2E 42 59 20 31 35 20 3B 43 |(FA.P. .BY 15 ;C|
000004E0: 48 41 4E 4E 45 4C 20 28 53 41 A9 60 16 20 2E 53 |HANNEL (SA.`. .S|
000004F0: 49 20 30 20 3B 46 49 4C 45 4E 41 4D 45 20 41 44 |I 0 ;FILENAME AD|
00000500: 44 52 D3 70 16 20 2E 42 59 20 30 20 3B 46 49 4C |DR.p. .BY 0 ;FIL|
00000510: 45 4E 41 4D 45 20 4C 45 4E 47 54 C8 80 16 AE 90 |ENAME LENGT.....|
00000520: 16 AE 00 17 3B 4F 50 45 4E 20 42 4C 4F 43 4B 20 |....;OPEN BLOCK |
00000530: 46 4F 52 20 44 49 52 45 43 54 20 41 43 43 45 53 |FOR DIRECT ACCES|
00000540: 53 20 43 48 41 4E 4E 45 CC 10 17 3B 2D 2D 2D 2D |S 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 AD |---------------.|
00000570: 20 17 44 41 42 4C 4B 20 2E 42 59 20 31 20 3B 4C | .DABLK .BY 1 ;L|
00000580: 4F 47 49 43 41 4C 20 A3 30 17 20 2E 42 59 20 38 |OGICAL .0. .BY 8|
00000590: 20 3B 50 48 59 53 49 43 41 4C 20 44 45 56 49 43 | ;PHYSICAL DEVIC|
000005A0: 45 20 28 46 41 A9 40 17 20 2E 42 59 20 33 20 3B |E (FA.@. .BY 3 ;|
000005B0: 43 48 41 4E 4E 45 4C 20 28 53 41 A9 50 17 20 2E |CHANNEL (SA.P. .|
000005C0: 53 49 20 44 41 4E 41 4D 20 3B 46 49 4C 45 4E 41 |SI DANAM ;FILENA|
000005D0: 4D 45 20 41 44 44 52 D3 60 17 20 2E 42 59 20 31 |ME ADDR.`. .BY 1|
000005E0: 20 3B 46 49 4C 45 4E 41 4D 45 20 4C 45 4E 47 54 | ;FILENAME LENGT|
000005F0: C8 70 17 44 41 4E 41 4D 20 2E 42 59 20 27 23 27 |.p.DANAM .BY '#'|
00000600: 20 3B 4E 41 4D 45 20 3D 20 23 20 46 4F 52 20 44 | ;NAME = # FOR D|
00000610: 2D C1 80 17 AE 90 17 AE 00 18 3B 43 4F 4D 4D 41 |-.........;COMMA|
00000620: 4E 44 20 53 54 52 49 4E 47 20 54 4F 20 52 45 41 |ND STRING TO REA|
00000630: 44 20 53 45 43 54 4F 52 20 31 38 2C B1 10 18 3B |D SECTOR 18,...;|
00000640: 2D 2D 2D 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 AD 20 18 52 44 43 4D 44 20 2E 42 59 20 27 55 |-. .RDCMD .BY 'U|
00000670: 31 20 33 20 31 20 31 38 20 31 27 20 30 20 3B 53 |1 3 1 18 1' 0 ;S|
00000680: 41 3D 33 2C 20 44 52 49 56 45 3D B1 30 18 AE 40 |A=3, DRIVE=.0..@|
00000690: 18 AE 50 18 3B 43 4F 4D 4D 41 4E 44 20 53 54 52 |..P.;COMMAND STR|
000006A0: 49 4E 47 20 54 4F 20 53 45 54 20 42 55 46 46 45 |ING TO SET BUFFE|
000006B0: 52 20 50 4F 49 4E 54 45 52 20 54 4F 20 B1 60 18 |R POINTER TO .`.|
000006C0: 3B 2D 2D 2D 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 AD 70 18 42 50 43 4D |---------.p.BPCM|
000006F0: 44 20 2E 42 59 20 27 42 2D 50 2C 33 2C 31 27 20 |D .BY 'B-P,3,1' |
00000700: 30 20 3B 53 41 3D 33 2C 20 50 4F 49 4E 54 45 52 |0 ;SA=3, POINTER|
00000710: 3D B1 80 18 AE 90 18 AE 00 19 3B 43 4F 4D 4D 41 |=.........;COMMA|
00000720: 4E 44 20 53 54 52 49 4E 47 20 54 4F 20 49 4E 49 |ND STRING TO INI|
00000730: 54 49 41 4C 49 5A 45 20 44 52 49 56 45 20 B1 10 |TIALIZE DRIVE ..|
00000740: 19 3B 2D 2D 2D 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 AD 20 19 49 4E 49 43 4D 44 20 2E |-----. .INICMD .|
00000770: 42 59 20 27 49 31 27 20 B0 30 19 AE 40 19 AE 50 |BY 'I1' .0..@..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 3.0 *********.... . .BA $080.0. .O.@.
.E.P.TBYT .DE $E775 ;PRINT BYTE AS 2 HE
X DIGITS`.CRLF .DE $FDCD ;OUTPUT CRLFP..
.....SECTOR SA (DABLK BLKPNT) ;OPEN 1,8,
3,"#... JSR OPNUSEB ; ... BNE ERR ..0. S
A (CMDBLK BLKPNT) ;OPEN 15,8,1.@. JSR OP
NUSEB ; .P. BNE ERR`..P. SA (RDCMD BLKPN
T) ;PRINT#15,"U1";3;D;T;S.. JSR SENDCMD1
5 ; ... BNE ERR..... SA (BPCMD BLKPNT) ;
PRINT#15,"B-P";SA;. . JSR SENDCMD15 ; .0
. BNE ERR@..P.;NOW READ AND DISPLAY SECT
OR ON SCREEN`. LDA #1.P. STA ROW..LPNXRO
W LDA #1... STA COL.. JSR CRLF..LPNXCOL
LDY #1 ;LOGICAL FILE #. . JSR GET ;GET B
YTE FROM IEEE0. BNE ERR ;BR. IF ERROR@.
JSR TBYT ;PUT ON SCREENP. DEC COL`. BNE
LPNXCOL ;LOOP UNTIL LINE DONEP. DEC ROW.
. BNE LPNXROW ;LOOP FOR NEXT ROW..... SA
(INICMD BLKPNT) ;PRINT#15,"I1... JSR SE
NDCMD1. . LDY #1 ;CLOSE LF #.0. JSR CLOS
E ; .@. LDY #15 ;CLOSE LF #1.P. JSR CLOS
E ; .`. LDA #00 ;00= OKP.STOP BRK.. NOP.
. NOP.. JMP SECTOR... .ERR SA (INICMD BL
KPNT) ;PRINT#15,"I1.0. JSR SENDCMD15 ; .
@. LDY #1 ;CLOSE LF #.P. JSR CLOSE ; .`.
LDY #15 ;CLOSE LF #1.P. JSR CLOSE ; ...
LDA #$EE ;EE= ERROR.. BNE STOP.....;OPE
N BLOCK FOR COMMAND CHANNEL .;----------
-------------------.0.CMDBLK .BY 15 ;LOG
ICAL .@. .BY 8 ;PHYSICAL DEVICE (FA.P. .
BY 15 ;CHANNEL (SA.`. .SI 0 ;FILENAME AD
DRSP. .BY 0 ;FILENAME LENGTH........;OPE
N BLOCK FOR DIRECT ACCESS CHANNEL..;----
-------------------------------. .DABLK
.BY 1 ;LOGICAL .0. .BY 8 ;PHYSICAL DEVIC
E (FA.@. .BY 3 ;CHANNEL (SA.P. .SI DANAM
;FILENAME ADDRS`. .BY 1 ;FILENAME LENGT
HP.DANAM .BY '#' ;NAME = # FOR D-A......
..;COMMAND STRING TO READ SECTOR 18,...;
---------------------------------. .RDCM
D .BY 'U1 3 1 18 1' 0 ;SA=3, DRIVE=.0..@
..P.;COMMAND STRING TO SET BUFFER POINTE
R TO .`.;-------------------------------
---------.P.BPCMD .BY 'B-P,3,1' 0 ;SA=3,
POINTER=.........;COMMAND STRING TO INI
TIALIZE DRIVE ...;----------------------
-------------. .INICMD .BY 'I1' .0..@..P
.ROW .DS 1 ;ROW COUNTER`.COL .DS 1 ;COLU
MN COUNTERP....ENDSECTOR .EN1
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL