_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

DEMO.SRC

FILE INFORMATION

FILENAME(S): DEMO.SRC

FILE TYPE(S): SEQ

FILE SIZE: 1K

FIRST SEEN: 2025-11-30 21:23:13

APPEARS ON: 1 disk(s)

FILE HASH

11bec9d1a0a233d7b1adecc9c842bfd6a89ef2ee4b874064dbdd40826004d65e

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C64 HULP 18 1 DEMO.SRC SEQ DuncanTwain 29 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

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 43 39 20 3B 53 45 54  20 55 50 20 54 48 45 20  |FC9 ;SET UP THE |
00000110: 49 2F 4F 20 43 48 41 4E  4E 45 4C 0D 43 4C 52 43  |I/O CHANNEL.CLRC|
00000120: 48 20 3D 24 46 46 43 43  20 3B 52 45 53 54 4F 52  |H =$FFCC ;RESTOR|
00000130: 45 20 49 2F 4F 0D 3B 0D  3B 20 5A 45 52 4F 20 50  |E I/O.;.; ZERO P|
00000140: 41 47 45 20 53 54 55 46  46 0D 3B 0D 49 4E 44 45  |AGE STUFF.;.INDE|
00000150: 58 31 20 3D 24 32 32 20  3B 50 4F 49 4E 54 45 52  |X1 =$22 ;POINTER|
00000160: 20 54 4F 20 53 54 52 49  4E 47 20 42 55 46 46 45  | TO STRING BUFFE|
00000170: 52 0D 56 41 52 54 41 42  20 3D 24 32 44 20 3B 50  |R.VARTAB =$2D ;P|
00000180: 4F 49 4E 54 45 52 20 54  4F 20 56 41 52 49 41 42  |OINTER TO VARIAB|
00000190: 4C 45 20 54 41 42 4C 45  0D 53 54 41 54 55 53 20  |LE TABLE.STATUS |
000001A0: 3D 24 39 30 20 3B 49 2F  4F 20 53 54 41 54 55 53  |=$90 ;I/O STATUS|
000001B0: 20 42 59 54 45 0D 4C 41  20 3D 24 42 38 20 3B 4C  | BYTE.LA =$B8 ;L|
000001C0: 4F 47 49 43 41 4C 20 41  44 44 52 45 53 53 0D 46  |OGICAL ADDRESS.F|
000001D0: 4E 4C 45 4E 20 3D 24 42  37 20 3B 55 53 45 52 20  |NLEN =$B7 ;USER |
000001E0: 44 41 54 41 20 4C 45 4E  47 54 48 0D 3B 0D 3B 20  |DATA LENGTH.;.; |
000001F0: 53 45 54 20 55 50 20 56  41 52 49 41 42 4C 45 53  |SET UP VARIABLES|
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 44 0D                                 |..END.          |
; 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 =$FFC9 ;SET UP THE I/O CHAN
NEL.CLRCH =$FFCC ;RESTORE I/O.;.; ZERO P
AGE STUFF.;.INDEX1 =$22 ;POINTER TO STRI
NG BUFFER.VARTAB =$2D ;POINTER TO VARIAB
LE TABLE.STATUS =$90 ;I/O STATUS BYTE.LA
 =$B8 ;LOGICAL ADDRESS.FNLEN =$B7 ;USER 
DATA LENGTH.;.; SET UP VARIABLES.;.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
..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL