Home » CEEFAX disks » telesoftware10.adl » 04-11-88/RFSHEAD

04-11-88/RFSHEAD

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware10.adl
Filename: 04-11-88/RFSHEAD
Read OK:
File size: 0442 bytes
Load address: 0800
Exec address: 8023
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
   10REM: RFSHEAD
   20MODE7
   30HIMEM=&3C00
   40diff=&8000-HIMEM
   50H%=HIMEM
   60romnumber=&F4
   70phrom=&F5
   80rompoint=&F6
   90FOR pass = 0 TO 2 STEP 2
  100P%=HIMEM
  110[OPT pass
  120BRK
  130BRK
  140BRK
  150JMP service+diff
  160OPT FNequb(&82)
  170OPT FNequb((copyright+diff) MOD 256)
  180BRK
  190OPT FNequs("RFS")
  200.copyright
  210BRK
  220OPT FNequs("(C) Gordon Horsington 1986")
  230BRK
  240.service
  250PHA
  260CMP #13
  270BNE fourteen
  280TYA
  290EOR #&F
  300CMP romnumber
  310BCC out
  320LDA #(lastbyte+diff) MOD 256
  330STA rompoint
  340LDA #(lastbyte+diff) DIV 256
  350STA rompoint+1
  360LDA romnumber
  370EOR #&F
  380STA phrom
  390.exit
  400PLA
  410LDA #0
  420RTS
  430.fourteen
  440CMP #14
  450BNE out
  460LDA phrom
  470EOR #&F
  480CMP romnumber
  490BNE out
  500LDY #0
  510LDA (rompoint),Y
  520TAY
  530INC rompoint
  540BNE exit
  550INC rompoint+1
  560JMP exit+diff
  570.out
  580PLA
  590RTS
  600.lastbyte
  610]
  620NEXT
  630O%=lastbyte
  640CHAIN"RFSGEN"
  650DEFFNequb(byte)
  660?P%=byte
  670P%=P%+1
  680=pass
  690DEFFNequw(word)
  700?P%=word MOD 256
  710P%?1=word DIV 256
  720P%=P%+2
  730=pass
  740DEFFNequd(double)
  750!P%=double
  760P%=P%+4
  770=pass
  780DEFFNequs(string$)
  790$P%=string$
  800P%=P%+LEN(string$)
  810=pass

�: RFSHEAD
�7
�=&3C00
(diff=&8000-�
2H%=�
<romnumber=&F4
F
phrom=&F5
Prompoint=&F6
Z� pass = 0 � 2 � 2
dP%=�
n
[OPT pass
xBRK
�BRK
�BRK
�JMP service+diff
�OPT �equb(&82)
�%OPT �equb((copyright+diff) � 256)
�BRK
�OPT �equs("RFS")
�.copyright
�BRK
�+OPT �equs("(C) Gordon Horsington 1986")
�BRK
�.service
�PHA
CMP #13
BNE fourteen
TYA
"	� #&F
,CMP romnumber
6BCC out
@LDA #(lastbyte+diff) � 256
JSTA rompoint
TLDA #(lastbyte+diff) � 256
^STA rompoint+1
hLDA romnumber
r	� #&F
|
STA phrom
�	.exit
�PLA
�
LDA #0
�RTS
�
.fourteen
�CMP #14
�BNE out
�
LDA phrom
�	� #&F
�CMP romnumber
�BNE out
�
LDY #0
�LDA (rompoint),Y
TAY
INC rompoint
BNE exit
&INC rompoint+1
0JMP exit+diff
:.out
DPLA
NRTS
X
.lastbyte
b]
l�
vO%=lastbyte
�
�"RFSGEN"
�ݤequb(byte)
�?P%=byte
�P%=P%+1
�	=pass
�ݤequw(word)
�?P%=word � 256
�P%?1=word � 256
�P%=P%+2
�	=pass
�ݤequd(double)
�!P%=double
�P%=P%+4
	=pass
ݤequs(string$)
$P%=string$
 P%=P%+�(string$)
*	=pass
�
00000000  0d 00 0a 0e f4 3a 20 52  46 53 48 45 41 44 0d 00  |.....: RFSHEAD..|
00000010  14 06 eb 37 0d 00 1e 0b  d3 3d 26 33 43 30 30 0d  |...7.....=&3C00.|
00000020  00 28 10 64 69 66 66 3d  26 38 30 30 30 2d 93 0d  |.(.diff=&8000-..|
00000030  00 32 08 48 25 3d 93 0d  00 3c 11 72 6f 6d 6e 75  |.2.H%=...<.romnu|
00000040  6d 62 65 72 3d 26 46 34  0d 00 46 0d 70 68 72 6f  |mber=&F4..F.phro|
00000050  6d 3d 26 46 35 0d 00 50  10 72 6f 6d 70 6f 69 6e  |m=&F5..P.rompoin|
00000060  74 3d 26 46 36 0d 00 5a  16 e3 20 70 61 73 73 20  |t=&F6..Z.. pass |
00000070  3d 20 30 20 b8 20 32 20  88 20 32 0d 00 64 08 50  |= 0 . 2 . 2..d.P|
00000080  25 3d 93 0d 00 6e 0d 5b  4f 50 54 20 70 61 73 73  |%=...n.[OPT pass|
00000090  0d 00 78 07 42 52 4b 0d  00 82 07 42 52 4b 0d 00  |..x.BRK....BRK..|
000000a0  8c 07 42 52 4b 0d 00 96  14 4a 4d 50 20 73 65 72  |..BRK....JMP ser|
000000b0  76 69 63 65 2b 64 69 66  66 0d 00 a0 12 4f 50 54  |vice+diff....OPT|
000000c0  20 a4 65 71 75 62 28 26  38 32 29 0d 00 aa 25 4f  | .equb(&82)...%O|
000000d0  50 54 20 a4 65 71 75 62  28 28 63 6f 70 79 72 69  |PT .equb((copyri|
000000e0  67 68 74 2b 64 69 66 66  29 20 83 20 32 35 36 29  |ght+diff) . 256)|
000000f0  0d 00 b4 07 42 52 4b 0d  00 be 14 4f 50 54 20 a4  |....BRK....OPT .|
00000100  65 71 75 73 28 22 52 46  53 22 29 0d 00 c8 0e 2e  |equs("RFS").....|
00000110  63 6f 70 79 72 69 67 68  74 0d 00 d2 07 42 52 4b  |copyright....BRK|
00000120  0d 00 dc 2b 4f 50 54 20  a4 65 71 75 73 28 22 28  |...+OPT .equs("(|
00000130  43 29 20 47 6f 72 64 6f  6e 20 48 6f 72 73 69 6e  |C) Gordon Horsin|
00000140  67 74 6f 6e 20 31 39 38  36 22 29 0d 00 e6 07 42  |gton 1986")....B|
00000150  52 4b 0d 00 f0 0c 2e 73  65 72 76 69 63 65 0d 00  |RK.....service..|
00000160  fa 07 50 48 41 0d 01 04  0b 43 4d 50 20 23 31 33  |..PHA....CMP #13|
00000170  0d 01 0e 10 42 4e 45 20  66 6f 75 72 74 65 65 6e  |....BNE fourteen|
00000180  0d 01 18 07 54 59 41 0d  01 22 09 82 20 23 26 46  |....TYA..".. #&F|
00000190  0d 01 2c 11 43 4d 50 20  72 6f 6d 6e 75 6d 62 65  |..,.CMP romnumbe|
000001a0  72 0d 01 36 0b 42 43 43  20 6f 75 74 0d 01 40 1e  |r..6.BCC out..@.|
000001b0  4c 44 41 20 23 28 6c 61  73 74 62 79 74 65 2b 64  |LDA #(lastbyte+d|
000001c0  69 66 66 29 20 83 20 32  35 36 0d 01 4a 10 53 54  |iff) . 256..J.ST|
000001d0  41 20 72 6f 6d 70 6f 69  6e 74 0d 01 54 1e 4c 44  |A rompoint..T.LD|
000001e0  41 20 23 28 6c 61 73 74  62 79 74 65 2b 64 69 66  |A #(lastbyte+dif|
000001f0  66 29 20 81 20 32 35 36  0d 01 5e 12 53 54 41 20  |f) . 256..^.STA |
00000200  72 6f 6d 70 6f 69 6e 74  2b 31 0d 01 68 11 4c 44  |rompoint+1..h.LD|
00000210  41 20 72 6f 6d 6e 75 6d  62 65 72 0d 01 72 09 82  |A romnumber..r..|
00000220  20 23 26 46 0d 01 7c 0d  53 54 41 20 70 68 72 6f  | #&F..|.STA phro|
00000230  6d 0d 01 86 09 2e 65 78  69 74 0d 01 90 07 50 4c  |m.....exit....PL|
00000240  41 0d 01 9a 0a 4c 44 41  20 23 30 0d 01 a4 07 52  |A....LDA #0....R|
00000250  54 53 0d 01 ae 0d 2e 66  6f 75 72 74 65 65 6e 0d  |TS.....fourteen.|
00000260  01 b8 0b 43 4d 50 20 23  31 34 0d 01 c2 0b 42 4e  |...CMP #14....BN|
00000270  45 20 6f 75 74 0d 01 cc  0d 4c 44 41 20 70 68 72  |E out....LDA phr|
00000280  6f 6d 0d 01 d6 09 82 20  23 26 46 0d 01 e0 11 43  |om..... #&F....C|
00000290  4d 50 20 72 6f 6d 6e 75  6d 62 65 72 0d 01 ea 0b  |MP romnumber....|
000002a0  42 4e 45 20 6f 75 74 0d  01 f4 0a 4c 44 59 20 23  |BNE out....LDY #|
000002b0  30 0d 01 fe 14 4c 44 41  20 28 72 6f 6d 70 6f 69  |0....LDA (rompoi|
000002c0  6e 74 29 2c 59 0d 02 08  07 54 41 59 0d 02 12 10  |nt),Y....TAY....|
000002d0  49 4e 43 20 72 6f 6d 70  6f 69 6e 74 0d 02 1c 0c  |INC rompoint....|
000002e0  42 4e 45 20 65 78 69 74  0d 02 26 12 49 4e 43 20  |BNE exit..&.INC |
000002f0  72 6f 6d 70 6f 69 6e 74  2b 31 0d 02 30 11 4a 4d  |rompoint+1..0.JM|
00000300  50 20 65 78 69 74 2b 64  69 66 66 0d 02 3a 08 2e  |P exit+diff..:..|
00000310  6f 75 74 0d 02 44 07 50  4c 41 0d 02 4e 07 52 54  |out..D.PLA..N.RT|
00000320  53 0d 02 58 0d 2e 6c 61  73 74 62 79 74 65 0d 02  |S..X..lastbyte..|
00000330  62 05 5d 0d 02 6c 05 ed  0d 02 76 0f 4f 25 3d 6c  |b.]..l....v.O%=l|
00000340  61 73 74 62 79 74 65 0d  02 80 0d d7 22 52 46 53  |astbyte....."RFS|
00000350  47 45 4e 22 0d 02 8a 10  dd a4 65 71 75 62 28 62  |GEN"......equb(b|
00000360  79 74 65 29 0d 02 94 0c  3f 50 25 3d 62 79 74 65  |yte)....?P%=byte|
00000370  0d 02 9e 0b 50 25 3d 50  25 2b 31 0d 02 a8 09 3d  |....P%=P%+1....=|
00000380  70 61 73 73 0d 02 b2 10  dd a4 65 71 75 77 28 77  |pass......equw(w|
00000390  6f 72 64 29 0d 02 bc 12  3f 50 25 3d 77 6f 72 64  |ord)....?P%=word|
000003a0  20 83 20 32 35 36 0d 02  c6 13 50 25 3f 31 3d 77  | . 256....P%?1=w|
000003b0  6f 72 64 20 81 20 32 35  36 0d 02 d0 0b 50 25 3d  |ord . 256....P%=|
000003c0  50 25 2b 32 0d 02 da 09  3d 70 61 73 73 0d 02 e4  |P%+2....=pass...|
000003d0  12 dd a4 65 71 75 64 28  64 6f 75 62 6c 65 29 0d  |...equd(double).|
000003e0  02 ee 0e 21 50 25 3d 64  6f 75 62 6c 65 0d 02 f8  |...!P%=double...|
000003f0  0b 50 25 3d 50 25 2b 34  0d 03 02 09 3d 70 61 73  |.P%=P%+4....=pas|
00000400  73 0d 03 0c 13 dd a4 65  71 75 73 28 73 74 72 69  |s......equs(stri|
00000410  6e 67 24 29 0d 03 16 0f  24 50 25 3d 73 74 72 69  |ng$)....$P%=stri|
00000420  6e 67 24 0d 03 20 14 50  25 3d 50 25 2b a9 28 73  |ng$.. .P%=P%+.(s|
00000430  74 72 69 6e 67 24 29 0d  03 2a 09 3d 70 61 73 73  |tring$)..*.=pass|
00000440  0d ff                                             |..|
00000442
04-11-88/RFSHEAD.m0
04-11-88/RFSHEAD.m1
04-11-88/RFSHEAD.m2
04-11-88/RFSHEAD.m4
04-11-88/RFSHEAD.m5