00000000: 2A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |*---------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000020: 2D 2D 2D 2D 2D 2D 0D 2A A0 72 4F 55 54 49 4E 45 |------.*.rOUTINE|
00000030: A0 54 4F A0 47 45 54 A0 45 52 52 4F 52 A0 4D 45 |.TO.GET.ERROR.ME|
00000040: 53 53 41 47 45 A0 46 52 4F 4D 0D 2A A0 43 55 52 |SSAGE.FROM.*.CUR|
00000050: 52 45 4E 54 A0 44 49 53 4B A0 44 52 49 56 45 A0 |RENT.DISK.DRIVE.|
00000060: 28 44 45 56 49 43 45 A0 23 A0 41 53 53 55 4D 45 |(DEVICE.#.ASSUME|
00000070: 44 0D 2A A0 54 4F A0 42 45 A0 49 4E A0 66 61 29 |D.*.TO.BE.IN.fa)|
00000080: A0 41 4E 44 A0 50 52 49 4E 54 A0 49 54 A0 54 4F |.AND.PRINT.IT.TO|
00000090: A0 53 43 52 45 45 4E 2E 0D 2A 2D 2D 2D 2D 2D 2D |.SCREEN..*------|
000000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D |---------------.|
000000C0: 0D 67 65 74 65 72 72 20 6A 73 72 20 63 6C 72 63 |.geterr jsr clrc|
000000D0: 68 6E 20 3B 73 45 54 A0 53 54 41 4E 44 41 52 44 |hn ;sET.STANDARD|
000000E0: A0 49 4E 2F 4F 55 54 A0 43 48 41 4E 4E 45 4C 53 |.IN/OUT.CHANNELS|
000000F0: 0D 20 6C 64 61 20 66 61 20 3B 24 62 61 0D 20 6A |. lda fa ;$ba. j|
00000100: 73 72 20 74 61 6C 6B 20 3B 63 4F 4D 4D 41 4E 44 |sr talk ;cOMMAND|
00000110: A0 44 45 56 49 43 45 A0 54 4F A0 54 41 4C 4B 0D |.DEVICE.TO.TALK.|
00000120: 20 6C 64 61 20 23 24 36 66 20 3B 63 48 41 4E 4E | lda #$6f ;cHANN|
00000130: 45 4C A0 31 35 0D 20 73 74 61 20 73 61 20 3B 24 |EL.15. sta sa ;$|
00000140: 62 39 0D 20 6A 73 72 20 74 6B 73 61 0D 20 6C 64 |b9. jsr tksa. ld|
00000150: 61 20 23 24 64 20 3B 73 45 54 A0 46 4F 52 A0 49 |a #$d ;sET.FOR.I|
00000160: 4E 49 54 49 41 4C A0 63 72 0D 65 72 72 6C 6F 6F |NITIAL.cr.errloo|
00000170: 70 20 6A 73 72 20 63 68 72 6F 75 74 0D 20 6A 73 |p jsr chrout. js|
00000180: 72 20 61 63 70 74 72 0D 20 63 6D 70 20 23 24 64 |r acptr. cmp #$d|
00000190: 0D 20 62 6E 65 20 65 72 72 6C 6F 6F 70 0D 20 6A |. bne errloop. j|
000001A0: 73 72 20 63 68 72 6F 75 74 20 3B 64 4F A0 63 72 |sr chrout ;dO.cr|
000001B0: 0D 20 6A 6D 70 20 75 6E 74 6C 6B 20 3B A0 41 4E |. jmp untlk ;.AN|
000001C0: 44 A0 45 58 49 54 0D |D.EXIT. |
*-------------------------------------.*
ROUTINE TO GET ERROR MESSAGE FROM.* CUR
RENT DISK DRIVE (DEVICE # ASSUMED.* TO B
E IN FA) AND PRINT IT TO SCREEN..*------
-------------------------------..GETERR
JSR CLRCHN ;SET STANDARD IN/OUT CHANNELS
. LDA FA ;$BA. JSR TALK ;COMMAND DEVICE
TO TALK. LDA #$6F ;CHANNEL 15. STA SA ;$
B9. JSR TKSA. LDA #$D ;SET FOR INITIAL C
R.ERRLOOP JSR CHROUT. JSR ACPTR. CMP #$D
. BNE ERRLOOP. JSR CHROUT ;DO CR. JMP UN
TLK ; AND EXIT.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL