00000000: 3B 20 43 50 55 54 22 40 30 3A 42 4C 4F 43 4B 57 |; CPUT"@0:BLOCKW|
00000010: 52 49 54 45 2E 53 52 43 22 0D 3B 42 4C 4F 43 4B |RITE.SRC".;BLOCK|
00000020: 20 57 52 49 54 45 0D 3B 0D 3B 0D 3B 42 59 20 4B | WRITE.;.;.;BY K|
00000030: 45 49 54 48 20 50 45 54 45 52 53 4F 4E 0D 3B 0D |EITH PETERSON.;.|
00000040: 3B 41 20 4D 4F 44 49 46 49 43 41 54 49 4F 4E 20 |;A MODIFICATION |
00000050: 4F 46 20 42 4C 4F 43 4B 20 52 45 41 44 0D 3B 42 |OF BLOCK READ.;B|
00000060: 59 20 52 4F 42 45 52 54 20 4A 2E 20 46 41 49 52 |Y ROBERT J. FAIR|
00000070: 42 41 49 52 4E 0D 3B 0D 3B 43 42 4D 20 53 4F 46 |BAIRN.;.;CBM SOF|
00000080: 54 57 41 52 45 20 47 52 4F 55 50 3A 20 43 48 49 |TWARE GROUP: CHI|
00000090: 43 41 47 4F 0D 3B 0D 3B 20 43 4F 50 59 52 49 47 |CAGO.;.; COPYRIG|
000000A0: 48 54 20 31 39 38 31 20 43 42 4D 0D 3B 0D 3B 0D |HT 1981 CBM.;.;.|
000000B0: 2A 20 3D 24 30 32 38 30 0D 3B 0D 3B 20 43 42 4D |* =$0280.;.; CBM|
000000C0: 20 53 55 42 52 4F 55 54 49 4E 45 53 0D 3B 0D 43 | SUBROUTINES.;.C|
000000D0: 48 52 4F 55 54 20 3D 24 46 46 44 32 20 3B 47 45 |HROUT =$FFD2 ;GE|
000000E0: 54 20 41 20 42 59 54 45 20 46 52 4F 4D 20 43 48 |T A BYTE FROM CH|
000000F0: 41 4E 4E 45 4C 0D 43 48 4B 4F 55 54 20 3D 24 46 |ANNEL.CHKOUT =$F|
00000100: 46 FF FF FF FF FF FF ED FF EE EF FF FF FF FF FF |F...............|
00000110: D3 FF D1 FF FF FF FF FF FF FF FF FA FF FF FF FF |................|
00000120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF D0 FF |................|
00000130: FF FF D3 FF D0 FB FF FB FF FF FF FF FF D1 FF FF |................|
00000140: FF D4 FF FF FF FF EE FF FF FB FF FA D2 FF FF FF |................|
00000150: E3 FF FF FF FF FF FF FF FF FF D0 D2 FF FF FF FF |................|
00000160: FF FF D1 FF FF FF FF D2 FF D5 FF FF EE FF FF FF |................|
00000170: FF FA FF FF FF FF FF FF FF FF FF FF FF FF FF FF |................|
00000180: D0 D2 FF FF FF FF FF FF D1 FF FF FF FF D2 FF FF |................|
00000190: FF FF FF FF FF FF FF FF FA FF FF FF FF EE FF FF |................|
000001A0: FF FF FF FF FF FF D3 FF D1 FF FF FF FF FF EE FF |................|
000001B0: FF FF FF FF FF FA FF FF FF FF FF FF FF FF FF FF |................|
000001C0: D0 D4 D2 FF FF FF FF FF FF FF FF FF FF FF FA FF |................|
000001D0: FF FF FF DD FF FF FF FF FF FF FF EE FF FF FF FF |................|
000001E0: FF FF FF FF FF FF FF FF D4 FF FF FB FF FB FF FF |................|
000001F0: FF FF ED FF EE EF FF FF FF FF D2 FF 42 4C 45 53 |............BLES|
00000200: 0D 3B 0D 42 46 49 4E 50 54 20 4C 44 59 20 23 24 |.;.BFINPT LDY #$|
00000210: 32 20 3B 46 49 52 53 54 20 56 41 52 49 41 42 4C |2 ;FIRST VARIABL|
00000220: 45 20 4F 46 46 53 45 54 0D 20 4C 44 41 20 28 56 |E OFFSET. LDA (V|
00000230: 41 52 54 41 42 29 2C 59 20 3B 20 53 54 52 49 4E |ARTAB),Y ; STRIN|
00000240: 47 20 4C 45 4E 47 54 48 0D 20 53 54 41 20 46 4E |G LENGTH. STA FN|
00000250: 4C 45 4E 0D 20 49 4E 59 0D 20 4C 44 41 20 28 56 |LEN. INY. LDA (V|
00000260: 41 52 54 41 42 29 2C 59 20 3B 20 41 4E 44 20 4C |ARTAB),Y ; AND L|
00000270: 4F 43 41 54 49 4F 4E 0D 20 53 54 41 20 49 4E 44 |OCATION. STA IND|
00000280: 45 58 31 0D 20 49 4E 59 0D 20 4C 44 41 20 28 56 |EX1. INY. LDA (V|
00000290: 41 52 54 41 42 29 2C 59 0D 20 53 54 41 20 49 4E |ARTAB),Y. STA IN|
000002A0: 44 45 58 31 2B 31 0D 20 4C 44 58 20 4C 41 20 3B |DEX1+1. LDX LA ;|
000002B0: 53 45 54 20 55 50 20 54 48 45 20 49 2F 4F 20 43 |SET UP THE I/O C|
000002C0: 48 41 4E 4E 45 4C 0D 20 4A 53 52 20 43 48 4B 4F |HANNEL. JSR CHKO|
000002D0: 55 54 20 3B 54 45 4C 4C 20 44 45 56 49 43 45 20 |UT ;TELL DEVICE |
000002E0: 54 4F 20 4C 49 53 54 45 4E 0D 20 3B 0D 20 4C 44 |TO LISTEN. ;. LD|
000002F0: 59 20 23 30 0D 20 43 50 59 20 46 4E 4C 45 4E 20 |Y #0. CPY FNLEN |
00000300: 3B 41 52 45 20 57 45 20 44 4F 4E 45 20 59 45 54 |;ARE WE DONE YET|
00000310: 0D 20 42 45 51 20 45 4E 44 52 54 4E 0D 53 4E 44 |. BEQ ENDRTN.SND|
00000320: 43 48 52 20 4C 44 41 20 35 36 35 37 37 20 3B 20 |CHR LDA 56577 ; |
00000330: 52 53 32 33 32 20 43 54 53 0D 20 41 4E 44 20 23 |RS232 CTS. AND #|
00000340: 36 34 20 3B 20 49 53 20 49 54 3F 0D 20 42 45 51 |64 ; IS IT?. BEQ|
00000350: 20 53 4E 44 43 48 52 20 3B 20 4E 4F 0D 20 4C 44 | SNDCHR ; NO. LD|
00000360: 41 20 28 49 4E 44 45 58 31 29 2C 59 20 3B 20 59 |A (INDEX1),Y ; Y|
00000370: 45 53 2C 20 47 45 54 20 43 48 41 52 41 43 54 45 |ES, GET CHARACTE|
00000380: 52 0D 20 4A 53 52 20 43 48 52 4F 55 54 20 3B 20 |R. JSR CHROUT ; |
00000390: 53 45 4E 44 20 43 48 41 52 41 43 54 45 52 0D 20 |SEND CHARACTER. |
000003A0: 4C 44 41 20 53 54 41 54 55 53 0D 20 42 4E 45 20 |LDA STATUS. BNE |
000003B0: 45 4E 44 52 54 4E 0D 20 49 4E 59 20 3B 20 53 54 |ENDRTN. INY ; ST|
000003C0: 41 54 55 53 20 4F 4B 0D 20 43 50 59 20 46 4E 4C |ATUS OK. CPY FNL|
000003D0: 45 4E 20 3B 41 52 45 20 57 45 20 44 4F 4E 45 20 |EN ;ARE WE DONE |
000003E0: 59 45 54 0D 20 42 43 43 20 53 4E 44 43 48 52 0D |YET. BCC SNDCHR.|
000003F0: 45 4E 44 52 54 4E 20 4A 4D 50 20 43 4C 52 43 48 |ENDRTN JMP CLRCH|
00000400: 20 3B 43 4C 4F 53 45 20 54 48 45 20 4C 49 4E 45 | ;CLOSE THE LINE|
00000410: 0D 2E 45 4E FF FA |..EN.. |
; CPUT"@0:BLOCKWRITE.SRC".;BLOCK WRITE.;
.;.;BY KEITH PETERSON.;.;A MODIFICATION
OF BLOCK READ.;BY ROBERT J. FAIRBAIRN.;.
;CBM SOFTWARE GROUP: CHICAGO.;.; COPYRIG
HT 1981 CBM.;.;.* =$0280.;.; CBM SUBROUT
INES.;.CHROUT =$FFD2 ;GET A BYTE FROM CH
ANNEL.CHKOUT =$FF...............S.Q.....
......................P...S.P........Q..
.T..........R.............PR......Q....R
.U......................PR......Q....R..
......................S.Q...............
........PTR.............................
........T.................R.BLES.;.BFINP
T LDY #$2 ;FIRST VARIABLE OFFSET. LDA (V
ARTAB),Y ; STRING LENGTH. STA FNLEN. INY
. LDA (VARTAB),Y ; AND LOCATION. STA IND
EX1. INY. LDA (VARTAB),Y. STA INDEX1+1.
LDX LA ;SET UP THE I/O CHANNEL. JSR CHKO
UT ;TELL DEVICE TO LISTEN. ;. LDY #0. CP
Y FNLEN ;ARE WE DONE YET. BEQ ENDRTN.SND
CHR LDA 56577 ; RS232 CTS. AND #64 ; IS
IT?. BEQ SNDCHR ; NO. LDA (INDEX1),Y ; Y
ES, GET CHARACTER. JSR CHROUT ; SEND CHA
RACTER. LDA STATUS. BNE ENDRTN. INY ; ST
ATUS OK. CPY FNLEN ;ARE WE DONE YET. BCC
SNDCHR.ENDRTN JMP CLRCH ;CLOSE THE LINE
..EN..
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL