Home » CEEFAX disks » telesoftware6.adl » 28-03-88/HELP

28-03-88/HELP

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 » telesoftware6.adl
Filename: 28-03-88/HELP
Read OK:
File size: 1A84 bytes
Load address: FFFF1900
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM"��
   20REM"���        HELP FILE
   30REM"���     �Mike Rawlings
   40REM"���        14-3-1987
   50REM"��
   60REM"��
   70REM"���  For BBCB / B+ / MASTER
   80REM"���    ELECTRON / COMPACT
   90REM"���     with or without
  100REM"���  6502 SECOND PROCESSOR
  110REM"��
  120REM"��
  130REM"���     *TYPE Hlp/Inf For
  140REM"���       Full details
  150REM"��
  160:
  170*FX180,56
  180VDU23,128,60,60,60,60,60,60,63,63,23,129,60,60,60,60,60,60,252,252,23,130,63,63,60,60,60,60,63,63,23,131,252,252,0,0,0,0,240,240,23,132,60,60,60,60,60,60,60,60,23,133,240,240,60,60,60,60,240,240,23,134,63,63,60,60,60,60,60,60
  190VDU23,135,192,192,240,240,60,60,60,60,23,136,63,63,3,3,3,3,3,3,23,137,252,252,192,192,192,192,192,192,23,138,15,15,60,60,60,60,60,60,23,139,240,240,60,60,60,60,60,60,23,140,60,60,60,60,60,60,0,0,23,141,60,60,60,60,63,63,0,0
  200VDU23,142,0,0,0,0,252,252,0,0,23,143,60,60,240,240,192,192,0,0,23,144,3,3,3,3,3,3,0,0,23,145,192,192,192,192,192,192,0,0,23,146,60,60,60,60,15,15,0,0,23,147,60,60,60,60,240,240,0,0,23,148,240,240,60,60,60,60,0,0:*TV255
  210MODE4:VDU19,0,4,0,0,0:@%=0:DIMlen(5),data 226,edit$(1):edit$(0)=" OVER ":edit$(1)="INSERT":DIMblock 18,file 7,file2 7:FORW=11TO15:$data="KEY"+STR$(W)+CHR$(123+W):X%=data:Y%=data DIV256:CALL&FFF7:NEXT
  220ONERROR PROCerror:IFx=42 GOTO290
  230CLS:VDU26:PRINTTAB(9,31)"(C) M.J.Rawlings 1987";:VDU28,0,30,39,0:PRINTTAB(9,4);:VDU128,129,32,130,131,32,132,32,32,130,133,32,130,131,32,132,32,132,32,32,130,131:PRINTTAB(9,5);
  240VDU140,140,32,141,142,32,141,142,32,140,32,32,140,32,32,140,32,141,142,32,141,142:PRINTTAB(6,9)"1 - Setup new data file"''SPC6"2 - Edit existing data file"''SPC6"3 - Assemble Rom image"''SPC6"4 - O/S Command"''SPC6"5 - Exit"''SPC6"?";
  250REPEAT:x=GET:IFx=42 UNTILx=42:GOTO290:ELSEUNTILx>48 ANDx<54:x=x-48:PRINTx:ONx GOTO260,260,280,290,300
  260PROCinput("Data"):IFx=1 PROCnewfile
  270PROCedit:GOTO230
  280PROCassemble:GOTO230
  290REPEAT:PRINT''"*"STRING$(38,CHR$32)"|"STRING$(39,CHR$8);:A%=0:X%=block:Y%=block DIV256:!block=data:block?2=38:block?3=32:block?4=127:CALL&FFF1:X%=data:Y%=data DIV256:CALL&FFF7:PRINT''"Press any key":x=GET:UNTILx<>42:GOTO230
  300END
  310DEFPROCedit:edit=1:command=0:handle=OPENIN$file:INPUT#handle,extent:CLOSE#handle
  320*FX14,6
  330handle=OPENIN$file:PROCosgbpb(3,command):CLOSE#handle:extent=extent-?data:VDU26:CLS:$block=STR$(command+1):len(5)=LEN$(data+1):PRINTTAB(12,3);:VDU130,131,32,134,135,32,132,32,136,137,32,138,139,32,130,133:PRINTTAB(12,4);
  340VDU141,142,32,141,143,32,140,32,144,145,32,146,147,32,140,148:COLOUR129:COLOUR0:PRINTTAB(1,7)SPC13TAB(1,8)" Command "SPC(3-LEN$block)$block" "TAB(26,7)SPC13TAB(26,8)" Bytes  left "TAB(1,9)SPC13TAB(26,9)SPC13
  350PRINTTAB(1,10)SPC1$(data+1)"|"SPC(11-len(5))TAB(1,11)SPC13TAB(26,11)SPC13TAB(0,14)SPC40:FORW=0TO4:len(W)=LEN$(data+12+W*41):PRINTTAB(0,15+W*2)$(data+12+W*41);:IFlen(W)=40:ELSEPRINT"|"SPC(39-len(W))
  360PRINTTAB(0,16+W*2)SPC40:NEXT:PRINTTAB(32,27)edit$(edit):PROCextent:COLOUR128:COLOUR1:PRINTTAB(1,27)"Press COPY for INSERT/OVER"TAB(9,29)"Press TAB to continue":*FX4,2
  370COLOUR129:COLOUR0
  380X1=0:temp=data+1
  390VDU31,2+X1,10
  400x=GET:IFx=9 GOTO530:ELSEIFx=134 PROCinsert:ELSEIFx=137 W=0:GOTO450:ELSEIFx=138 W=4:GOTO450:ELSEIFx=135 X1=X1+(X1>0):ELSEIFx=136 X1=X1-(X1<len(5) ANDX1<9):ELSEIFx=140 X1=0:ELSEIFx=141 X1=len(5)+(len(5)=10):ELSEIFx=127 GOTO420
  410IFx>96 ORx<47 GOTO390:ELSEGOTO430
  420IFx=127 AND(X1=len(5) ORX1=9):X1=X1+(X1>0 ANDlen(5)<>10):?(temp+X1)=13:GOTO440:ELSEIFx=127 ANDX1<>0 ?(data+X1)=13:X1=X1-1:$temp=$temp+$(temp+1+X1):GOTO440:ELSEIFx=127 GOTO390
  430IFedit=1 ANDlen(5)=10:ELSEIFedit=0 ANDlen(5)=X1:ELSEIFedit=1 $temp=LEFT$($temp,X1)+CHR$x+$(temp+X1):X1=X1-(X1<=len(5) AND len(5)<9):ELSE?(temp+X1)=x:X1=X1-(X1<len(5)-1)
  440len(5)=LEN$temp:PROCextent:PRINTTAB(2,10)$temp"|"SPC(10-len(5)):GOTO390
  450temp=data+12+W*41:IFlen(W)=40:ELSEIFlen(W)>X1:ELSEX1=len(W)
  460VDU31,X1,15+W*2:x=GET:IFx=9 GOTO530:ELSEIFx=134 PROCinsert:ELSEIFx=137 ANDW=4:GOTO380:ELSEIFx=137 W=W+1:GOTO450:ELSEIFx=138 ANDW=0:GOTO380:ELSEIFx=138 W=W-1:GOTO450
  470IFx=135 X1=X1+(X1>0):ELSEIFx=136 X1=X1-(X1<len(W) ANDX1<39):ELSEIFx=140 X1=0:ELSEIFx=141 X1=len(W)+(len(W)=40):ELSEIFx>128 ORx<32:ELSEGOTO490
  480GOTO460
  490IFx=127 AND(X1=len(W) ORX1=39):X1=X1+(X1>0 ANDlen(W)<>40):?(temp+X1)=13:GOTO510:ELSEIFx=127 ANDX1<>0 ?(temp-1+X1)=13:X1=X1-1:$temp=$temp+$(temp+1+X1):GOTO510:ELSEIFx=127 GOTO460
  500IFedit=1 ANDlen(W)=40:ELSEIFedit=0 ANDlen(W)=X1:ELSEIFedit=1 $temp=LEFT$($temp,X1)+CHR$x+$(temp+X1):X1=X1-(X1<=len(W) AND len(W)<39):ELSE?(temp+X1)=x:X1=X1-(X1<len(W)-1)
  510len(W)=LEN$temp:PROCextent:PRINTTAB(0,15+W*2)$temp;:IFlen(W)=40:ELSEPRINT"|"SPC(39-len(W))
  520GOTO460
  530extent=extent+?data:X%=file:Y%=file DIV256:A%=&C0:handle=USR(&FFCE)AND&FF:PRINT#handle,extent:PROCosgbpb(1,command):CLOSE#handle:*FX4,0
  540COLOUR128:COLOUR1:*FX13,6
  550PRINTTAB(0,27)SPC5"Press RETURN for next command"SPC5'"or enter number of command to be edited"'SPC3"or press ESCAPE to return to menu":INPUT" ? "x
  560IFx=0 command=(command+1)MOD150:ELSEIFx>150 ORx<1 VDU7:PRINTTAB(3,30)SPC37;:GOTO550:ELSEcommand=x-1
  570GOTO320
  580DEFPROCnewfile:VDU23,1,0;0;0;0;:extent=0:handle=OPENOUT$file:?data=0:data?1=13:FORW=0TO4:?(data+12+W*41)=13:NEXT:PRINT#handle,0:FORW=0TO149:PRINTTAB(17,27)W+1:PROCosgbpb(1,W):NEXT:CLOSE#handle:VDU23,1,1;0;0;0;:ENDPROC
  590DEFPROCosgbpb(x,y):A%=x:X%=block:Y%=block DIV256:?block=handle:!(block+1)=data:!(block+5)=217:!(block+9)=6+y*217:CALL&FFD1:ENDPROC
  600DEFPROCinput(x$)::PRINT''SPC6 x$" Filename ?"SPC8CHR$124;STRING$(8,CHR$8);:A%=0:X%=block:Y%=block DIV256:!block=file:block?2=7:block?3=33:block?4=127:CALL&FFF1:ENDPROC
  610DEFPROCextent:?data=0:IFlen(5)=0:ELSE?data=8:FORloop=0TO5:?data=?data+len(loop):IFlen(loop)=0:?data=?data-1:NEXT:ELSENEXT
  620$block=STR$(&3FFF-extent-?data-226):PRINTTAB(26,10)SPC(9-LEN$block)$block SPC4:ENDPROC
  630DEFPROCinsert:edit=(edit+1)MOD2:PRINTTAB(32,27)edit$(edit):ENDPROC
  640DEFPROCassemble:PROCinput("Help File"):offset=&8000-data:b1=data:b2=b1:FORopt=0TO2STEP2:P%=data:PROCequw(0):PROCequb(0):[OPTopt:JMPb1+offset:]:PROCequb(&83):PROCequb(b2-data):PROCequb(1):b3=P%:PROCequs("Help File : "+$file)
  650PROCequb(13):PROCequb(13):b2=P%:PROCequb(0):PROCequs("(C) M.J.R. 1987"):[OPTopt:.b1 CMP#3:BEQb4:CMP#9:BEQb6:RTS:.b4 PHA:.b8 TYA:PHA:LDX#0:.b5 LDAb3+offset,X:BEQb16:JSR&FFE3:INX:JMPb5+offset:.b16 PLA:TAY:PLA:RTS:.b6 PHA:LDA(&F2),Y
  660CMP#13:BNEb7:JMPb8+offset:.b7 LDA&88:PHA:LDA&89:PHA:LDA&8A:PHA:LDA&8B:PHA:TYA:PHA:STA&8B:LDA#((b9+offset)MOD256):STA&88:LDA#((b9+offset)DIV256):STA&89:.b10:LDY#0:STY&8A:LDA(&88),Y:BEQb19:PHA:.b11 INC&8A:LDY&8B:LDA(&F2),Y:CMP#&40:BCCb18
  670AND#&DF:.b18 CMP#&21:BCCb12:LDY&8A:CMP(&88),Y:BNEb14:INC&8B:JMPb11+offset:.b12 LDY&8A:LDA(&88),Y:BNEb14:INC&8A:PLA:.b13 LDY&8A:LDA(&88),Y:INC&8A:CMP#0:BEQb17:JSR&FFE3:JMPb13+offset:.b14 CLC:PLA:ADC&88:STA&88:BEQb15:LDA#0:ADC&89:STA&89
  680.b15 PLA:STA&8B:PHA:JMPb10+offset:.b17 PLA:TAY:PLA:STA&8B:PLA:STA&8A:PLA:STA&89:PLA:STA&88:PLA:LDA#0:RTS:.b19 PLA:TAY:PLA:STA&8B:PLA:STA&8A:PLA:STA&89:PLA:STA&88:PLA:RTS:.b9:]:NEXT:extent=P%-data:handle2=OPENOUT$file:A%=2:X%=block
  690Y%=block DIV256:?block=handle2:!(block+1)=data:!(block+5)=P%-data:CALL&FFD1:$file2=$file:PROCinput("Data"):handle=OPENIN$file:VDU23,1,0;0;0;0;:FORloop=0TO149:PRINTTAB(17,28)loop+1:PROCosgbpb(3,loop):extent=extent+?data
  700IF?data=0 ORextent>&3FFF:ELSEP%=data+LEN$(data+1)+1:?P%=0:P%=P%+1:FORW=0TO4:$P%=$(data+12+W*41):P%=P%+LEN$P%-(LEN$P%<>0):NEXT:?P%=0:P%=P%+1:A%=2:X%=block:Y%=block DIV256:?block=handle2:!(block+1)=data:!(block+5)=P%-data:CALL&FFD1
  710NEXT:BPUT#handle2,0:CLOSE#0:!block=file2:!(block+2)=&FFFF8000:!(block+6)=&FFFFD9CD:!(block+10)=extent+1:!(block+14)=10:X%=block:Y%=block DIV256:A%=1:CALL&FFDD:VDU23,1,1;0;0;0;:ENDPROC
  720DEFPROCequb(x):?P%=x:P%=P%+1:ENDPROC
  730DEFPROCequw(x):?P%=x:P%?1=x DIV256:P%=P%+2:ENDPROC
  740DEFPROCequs(x$):$P%=x$:P%=P%+LENx$:ENDPROC
  750DEFPROCerror:x=0:IFERR=17 ENDPROC:ELSECLOSE#0:*FX4
  760*FX13,6
  770REPORT:PRINT''"Press any key":x=GET:ENDPROC

�"��
�"���        HELP FILE
�"���     �Mike Rawlings
(�"���        14-3-1987
2�"��
<�"��
F!�"���  For BBCB / B+ / MASTER
P�"���    ELECTRON / COMPACT
Z�"���     with or without
d �"���  6502 SECOND PROCESSOR
n�"��
x�"��
��"���     *TYPE Hlp/Inf For
��"���       Full details
��"��
�:
�
*FX180,56
���23,128,60,60,60,60,60,60,63,63,23,129,60,60,60,60,60,60,252,252,23,130,63,63,60,60,60,60,63,63,23,131,252,252,0,0,0,0,240,240,23,132,60,60,60,60,60,60,60,60,23,133,240,240,60,60,60,60,240,240,23,134,63,63,60,60,60,60,60,60
���23,135,192,192,240,240,60,60,60,60,23,136,63,63,3,3,3,3,3,3,23,137,252,252,192,192,192,192,192,192,23,138,15,15,60,60,60,60,60,60,23,139,240,240,60,60,60,60,60,60,23,140,60,60,60,60,60,60,0,0,23,141,60,60,60,60,63,63,0,0
���23,142,0,0,0,0,252,252,0,0,23,143,60,60,240,240,192,192,0,0,23,144,3,3,3,3,3,3,0,0,23,145,192,192,192,192,192,192,0,0,23,146,60,60,60,60,15,15,0,0,23,147,60,60,60,60,240,240,0,0,23,148,240,240,60,60,60,60,0,0:*TV255
ұ�4:�19,0,4,0,0,0:@%=0:�len(5),data 226,edit$(1):edit$(0)=" OVER ":edit$(1)="INSERT":�block 18,file 7,file2 7:�W=11�15:$data="KEY"+�(W)+�(123+W):X%=data:Y%=data �256:�&FFF7:�
�� �error:�x=42 �TbA
��:�26:�9,31)"(C) M.J.Rawlings 1987";:�28,0,30,39,0:�9,4);:�128,129,32,130,131,32,132,32,32,130,133,32,130,131,32,132,32,132,32,32,130,131:�9,5);
���140,140,32,141,142,32,141,142,32,140,32,32,140,32,32,140,32,141,142,32,141,142:�6,9)"1 - Setup new data file"''�6"2 - Edit existing data file"''�6"3 - Assemble Rom image"''�6"4 - O/S Command"''�6"5 - Exit"''�6"?";
�O�:x=�:�x=42 �x=42:�TbA:��x>48 �x<54:x=x-48:�x:�x �TDA,�TDA,�TXA,�TbA,�TlA
 �input("Data"):�x=1 �newfile
�edit:�df@
�assemble:�df@
"��:�''"*"�38,�32)"|"�39,�8);:A%=0:X%=block:Y%=block �256:!block=data:block?2=38:block?3=32:block?4=127:�&FFF1:X%=data:Y%=data �256:�&FFF7:�''"Press any key":x=�:�x<>42:�df@
,�
6B��edit:edit=1:command=0:handle=�$file:�#handle,extent:�#handle
@*FX14,6
J�handle=�$file:�osgbpb(3,command):�#handle:extent=extent-?data:�26:�:$block=�(command+1):len(5)=�$(data+1):�12,3);:�130,131,32,134,135,32,132,32,136,137,32,138,139,32,130,133:�12,4);
T��141,142,32,141,143,32,140,32,144,145,32,146,147,32,140,148:�129:�0:�1,7)�13�1,8)" Command "�(3-�$block)$block" "�26,7)�13�26,8)" Bytes  left "�1,9)�13�26,9)�13
^��1,10)�1$(data+1)"|"�(11-len(5))�1,11)�13�26,11)�13�0,14)�40:�W=0�4:len(W)=�$(data+12+W*41):�0,15+W*2)$(data+12+W*41);:�len(W)=40:��"|"�(39-len(W))
h��0,16+W*2)�40:�:�32,27)edit$(edit):�extent:�128:�1:�1,27)"Press COPY for INSERT/OVER"�9,29)"Press TAB to continue":*FX4,2
r�129:�0
|X1=0:temp=data+1
��31,2+X1,10
��x=�:�x=9 �TRB:��x=134 �insert:��x=137 W=0:�dBA:��x=138 W=4:�dBA:��x=135 X1=X1+(X1>0):��x=136 X1=X1-(X1<len(5) �X1<9):��x=140 X1=0:��x=141 X1=len(5)+(len(5)=10):��x=127 �tdA
��x>96 �x<47 �tFA:��tnA
���x=127 �(X1=len(5) �X1=9):X1=X1+(X1>0 �len(5)<>10):?(temp+X1)=13:�txA:��x=127 �X1<>0 ?(data+X1)=13:X1=X1-1:$temp=$temp+$(temp+1+X1):�txA:��x=127 �tFA
���edit=1 �len(5)=10:��edit=0 �len(5)=X1:��edit=1 $temp=�$temp,X1)+�x+$(temp+X1):X1=X1-(X1<=len(5) � len(5)<9):�?(temp+X1)=x:X1=X1-(X1<len(5)-1)
�;len(5)=�$temp:�extent:�2,10)$temp"|"�(10-len(5)):�tFA
�7temp=data+12+W*41:�len(W)=40:��len(W)>X1:�X1=len(W)
�~�31,X1,15+W*2:x=�:�x=9 �TRB:��x=134 �insert:��x=137 �W=4:�D|A:��x=137 W=W+1:�dBA:��x=138 �W=0:�D|A:��x=138 W=W-1:�dBA
�x�x=135 X1=X1+(X1>0):��x=136 X1=X1-(X1<len(W) �X1<39):��x=140 X1=0:��x=141 X1=len(W)+(len(W)=40):��x>128 �x<32:��djA
�	�dLA
��x=127 �(X1=len(W) �X1=39):X1=X1+(X1>0 �len(W)<>40):?(temp+X1)=13:�d~A:��x=127 �X1<>0 ?(temp-1+X1)=13:X1=X1-1:$temp=$temp+$(temp+1+X1):�d~A:��x=127 �dLA
��edit=1 �len(W)=40:��edit=0 �len(W)=X1:��edit=1 $temp=�$temp,X1)+�x+$(temp+X1):X1=X1-(X1<=len(W) � len(W)<39):�?(temp+X1)=x:X1=X1-(X1<len(W)-1)
�Hlen(W)=�$temp:�extent:�0,15+W*2)$temp;:�len(W)=40:��"|"�(39-len(W))
	�dLA
zextent=extent+?data:X%=file:Y%=file �256:A%=&C0:handle=�(&FFCE)�&FF:�#handle,extent:�osgbpb(1,command):�#handle:*FX4,0
�128:�1:*FX13,6
&��0,27)�5"Press RETURN for next command"�5'"or enter number of command to be edited"'�3"or press ESCAPE to return to menu":�" ? "x
0O�x=0 command=(command+1)�150:��x>150 �x<1 �7:�3,30)�37;:�TfB:�command=x-1
:	�D@A
D���newfile:�23,1,0;0;0;0;:extent=0:handle=�$file:?data=0:data?1=13:�W=0�4:?(data+12+W*41)=13:�:�#handle,0:�W=0�149:�17,27)W+1:�osgbpb(1,W):�:�#handle:�23,1,1;0;0;0;:�
Nv��osgbpb(x,y):A%=x:X%=block:Y%=block �256:?block=handle:!(block+1)=data:!(block+5)=217:!(block+9)=6+y*217:�&FFD1:�
X���input(x$)::�''�6 x$" Filename ?"�8�124;�8,�8);:A%=0:X%=block:Y%=block �256:!block=file:block?2=7:block?3=33:block?4=127:�&FFF1:�
bg��extent:?data=0:�len(5)=0:�?data=8:�loop=0�5:?data=?data+len(loop):�len(loop)=0:?data=?data-1:�:��
lD$block=�(&3FFF-extent-?data-226):�26,10)�(9-�$block)$block �4:�
v2��insert:edit=(edit+1)�2:�32,27)edit$(edit):�
����assemble:�input("Help File"):offset=&8000-data:b1=data:b2=b1:�opt=0�2�2:P%=data:�equw(0):�equb(0):[OPTopt:JMPb1+offset:]:�equb(&83):�equb(b2-data):�equb(1):b3=P%:�equs("Help File : "+$file)
���equb(13):�equb(13):b2=P%:�equb(0):�equs("(C) M.J.R. 1987"):[OPTopt:.b1 CMP#3:BEQb4:CMP#9:BEQb6:RTS:.b4 PHA:.b8 TYA:PHA:LDX#0:.b5 LDAb3+offset,X:BEQb16:JSR&FFE3:INX:JMPb5+offset:.b16 PLA:TAY:PLA:RTS:.b6 PHA:LDA(&F2),Y
��CMP#13:BNEb7:JMPb8+offset:.b7 LDA&88:PHA:LDA&89:PHA:LDA&8A:PHA:LDA&8B:PHA:TYA:PHA:STA&8B:LDA#((b9+offset)�256):STA&88:LDA#((b9+offset)�256):STA&89:.b10:LDY#0:STY&8A:LDA(&88),Y:BEQb19:PHA:.b11 INC&8A:LDY&8B:LDA(&F2),Y:CMP#&40:BCCb18
��#&DF:.b18 CMP#&21:BCCb12:LDY&8A:CMP(&88),Y:BNEb14:INC&8B:JMPb11+offset:.b12 LDY&8A:LDA(&88),Y:BNEb14:INC&8A:PLA:.b13 LDY&8A:LDA(&88),Y:INC&8A:CMP#0:BEQb17:JSR&FFE3:JMPb13+offset:.b14 CLC:PLA:ADC&88:STA&88:BEQb15:LDA#0:ADC&89:STA&89
��.b15 PLA:STA&8B:PHA:JMPb10+offset:.b17 PLA:TAY:PLA:STA&8B:PLA:STA&8A:PLA:STA&89:PLA:STA&88:PLA:LDA#0:RTS:.b19 PLA:TAY:PLA:STA&8B:PLA:STA&8A:PLA:STA&89:PLA:STA&88:PLA:RTS:.b9:]:�:extent=P%-data:handle2=�$file:A%=2:X%=block
��Y%=block �256:?block=handle2:!(block+1)=data:!(block+5)=P%-data:�&FFD1:$file2=$file:�input("Data"):handle=�$file:�23,1,0;0;0;0;:�loop=0�149:�17,28)loop+1:�osgbpb(3,loop):extent=extent+?data
���?data=0 �extent>&3FFF:�P%=data+�$(data+1)+1:?P%=0:P%=P%+1:�W=0�4:$P%=$(data+12+W*41):P%=P%+�$P%-(�$P%<>0):�:?P%=0:P%=P%+1:A%=2:X%=block:Y%=block �256:?block=handle2:!(block+1)=data:!(block+5)=P%-data:�&FFD1
Ƥ�:�#handle2,0:�#0:!block=file2:!(block+2)=&FFFF8000:!(block+6)=&FFFFD9CD:!(block+10)=extent+1:!(block+14)=10:X%=block:Y%=block �256:A%=1:�&FFDD:�23,1,1;0;0;0;:�
���equb(x):?P%=x:P%=P%+1:�
�)��equw(x):?P%=x:P%?1=x �256:P%=P%+2:�
�!��equs(x$):$P%=x$:P%=P%+�x$:�
�!��error:x=0:�=17 �:��#0:*FX4
�*FX13,6
�:�''"Press any key":x=�:�
�
00000000  0d 00 0a 08 f4 22 86 9d  0d 00 14 1a f4 22 86 9d  |....."......."..|
00000010  84 20 20 20 20 20 20 20  20 48 45 4c 50 20 46 49  |.        HELP FI|
00000020  4c 45 0d 00 1e 1c f4 22  86 9d 84 20 20 20 20 20  |LE....."...     |
00000030  84 4d 69 6b 65 20 52 61  77 6c 69 6e 67 73 0d 00  |.Mike Rawlings..|
00000040  28 1a f4 22 86 9d 84 20  20 20 20 20 20 20 20 31  |(.."...        1|
00000050  34 2d 33 2d 31 39 38 37  0d 00 32 08 f4 22 86 9d  |4-3-1987..2.."..|
00000060  0d 00 3c 08 f4 22 83 9d  0d 00 46 21 f4 22 83 9d  |..<.."....F!."..|
00000070  81 20 20 46 6f 72 20 42  42 43 42 20 2f 20 42 2b  |.  For BBCB / B+|
00000080  20 2f 20 4d 41 53 54 45  52 0d 00 50 1f f4 22 83  | / MASTER..P..".|
00000090  9d 81 20 20 20 20 45 4c  45 43 54 52 4f 4e 20 2f  |..    ELECTRON /|
000000a0  20 43 4f 4d 50 41 43 54  0d 00 5a 1d f4 22 83 9d  | COMPACT..Z.."..|
000000b0  81 20 20 20 20 20 77 69  74 68 20 6f 72 20 77 69  |.     with or wi|
000000c0  74 68 6f 75 74 0d 00 64  20 f4 22 83 9d 81 20 20  |thout..d ."...  |
000000d0  36 35 30 32 20 53 45 43  4f 4e 44 20 50 52 4f 43  |6502 SECOND PROC|
000000e0  45 53 53 4f 52 0d 00 6e  08 f4 22 83 9d 0d 00 78  |ESSOR..n.."....x|
000000f0  08 f4 22 84 9d 0d 00 82  1f f4 22 84 9d 87 20 20  |.."......."...  |
00000100  20 20 20 2a 54 59 50 45  20 48 6c 70 2f 49 6e 66  |   *TYPE Hlp/Inf|
00000110  20 46 6f 72 0d 00 8c 1c  f4 22 84 9d 87 20 20 20  | For....."...   |
00000120  20 20 20 20 46 75 6c 6c  20 64 65 74 61 69 6c 73  |    Full details|
00000130  0d 00 96 08 f4 22 84 9d  0d 00 a0 05 3a 0d 00 aa  |....."......:...|
00000140  0d 2a 46 58 31 38 30 2c  35 36 0d 00 b4 e3 ef 32  |.*FX180,56.....2|
00000150  33 2c 31 32 38 2c 36 30  2c 36 30 2c 36 30 2c 36  |3,128,60,60,60,6|
00000160  30 2c 36 30 2c 36 30 2c  36 33 2c 36 33 2c 32 33  |0,60,60,63,63,23|
00000170  2c 31 32 39 2c 36 30 2c  36 30 2c 36 30 2c 36 30  |,129,60,60,60,60|
00000180  2c 36 30 2c 36 30 2c 32  35 32 2c 32 35 32 2c 32  |,60,60,252,252,2|
00000190  33 2c 31 33 30 2c 36 33  2c 36 33 2c 36 30 2c 36  |3,130,63,63,60,6|
000001a0  30 2c 36 30 2c 36 30 2c  36 33 2c 36 33 2c 32 33  |0,60,60,63,63,23|
000001b0  2c 31 33 31 2c 32 35 32  2c 32 35 32 2c 30 2c 30  |,131,252,252,0,0|
000001c0  2c 30 2c 30 2c 32 34 30  2c 32 34 30 2c 32 33 2c  |,0,0,240,240,23,|
000001d0  31 33 32 2c 36 30 2c 36  30 2c 36 30 2c 36 30 2c  |132,60,60,60,60,|
000001e0  36 30 2c 36 30 2c 36 30  2c 36 30 2c 32 33 2c 31  |60,60,60,60,23,1|
000001f0  33 33 2c 32 34 30 2c 32  34 30 2c 36 30 2c 36 30  |33,240,240,60,60|
00000200  2c 36 30 2c 36 30 2c 32  34 30 2c 32 34 30 2c 32  |,60,60,240,240,2|
00000210  33 2c 31 33 34 2c 36 33  2c 36 33 2c 36 30 2c 36  |3,134,63,63,60,6|
00000220  30 2c 36 30 2c 36 30 2c  36 30 2c 36 30 0d 00 be  |0,60,60,60,60...|
00000230  e1 ef 32 33 2c 31 33 35  2c 31 39 32 2c 31 39 32  |..23,135,192,192|
00000240  2c 32 34 30 2c 32 34 30  2c 36 30 2c 36 30 2c 36  |,240,240,60,60,6|
00000250  30 2c 36 30 2c 32 33 2c  31 33 36 2c 36 33 2c 36  |0,60,23,136,63,6|
00000260  33 2c 33 2c 33 2c 33 2c  33 2c 33 2c 33 2c 32 33  |3,3,3,3,3,3,3,23|
00000270  2c 31 33 37 2c 32 35 32  2c 32 35 32 2c 31 39 32  |,137,252,252,192|
00000280  2c 31 39 32 2c 31 39 32  2c 31 39 32 2c 31 39 32  |,192,192,192,192|
00000290  2c 31 39 32 2c 32 33 2c  31 33 38 2c 31 35 2c 31  |,192,23,138,15,1|
000002a0  35 2c 36 30 2c 36 30 2c  36 30 2c 36 30 2c 36 30  |5,60,60,60,60,60|
000002b0  2c 36 30 2c 32 33 2c 31  33 39 2c 32 34 30 2c 32  |,60,23,139,240,2|
000002c0  34 30 2c 36 30 2c 36 30  2c 36 30 2c 36 30 2c 36  |40,60,60,60,60,6|
000002d0  30 2c 36 30 2c 32 33 2c  31 34 30 2c 36 30 2c 36  |0,60,23,140,60,6|
000002e0  30 2c 36 30 2c 36 30 2c  36 30 2c 36 30 2c 30 2c  |0,60,60,60,60,0,|
000002f0  30 2c 32 33 2c 31 34 31  2c 36 30 2c 36 30 2c 36  |0,23,141,60,60,6|
00000300  30 2c 36 30 2c 36 33 2c  36 33 2c 30 2c 30 0d 00  |0,60,63,63,0,0..|
00000310  c8 dc ef 32 33 2c 31 34  32 2c 30 2c 30 2c 30 2c  |...23,142,0,0,0,|
00000320  30 2c 32 35 32 2c 32 35  32 2c 30 2c 30 2c 32 33  |0,252,252,0,0,23|
00000330  2c 31 34 33 2c 36 30 2c  36 30 2c 32 34 30 2c 32  |,143,60,60,240,2|
00000340  34 30 2c 31 39 32 2c 31  39 32 2c 30 2c 30 2c 32  |40,192,192,0,0,2|
00000350  33 2c 31 34 34 2c 33 2c  33 2c 33 2c 33 2c 33 2c  |3,144,3,3,3,3,3,|
00000360  33 2c 30 2c 30 2c 32 33  2c 31 34 35 2c 31 39 32  |3,0,0,23,145,192|
00000370  2c 31 39 32 2c 31 39 32  2c 31 39 32 2c 31 39 32  |,192,192,192,192|
00000380  2c 31 39 32 2c 30 2c 30  2c 32 33 2c 31 34 36 2c  |,192,0,0,23,146,|
00000390  36 30 2c 36 30 2c 36 30  2c 36 30 2c 31 35 2c 31  |60,60,60,60,15,1|
000003a0  35 2c 30 2c 30 2c 32 33  2c 31 34 37 2c 36 30 2c  |5,0,0,23,147,60,|
000003b0  36 30 2c 36 30 2c 36 30  2c 32 34 30 2c 32 34 30  |60,60,60,240,240|
000003c0  2c 30 2c 30 2c 32 33 2c  31 34 38 2c 32 34 30 2c  |,0,0,23,148,240,|
000003d0  32 34 30 2c 36 30 2c 36  30 2c 36 30 2c 36 30 2c  |240,60,60,60,60,|
000003e0  30 2c 30 3a 2a 54 56 32  35 35 0d 00 d2 b1 eb 34  |0,0:*TV255.....4|
000003f0  3a ef 31 39 2c 30 2c 34  2c 30 2c 30 2c 30 3a 40  |:.19,0,4,0,0,0:@|
00000400  25 3d 30 3a de 6c 65 6e  28 35 29 2c 64 61 74 61  |%=0:.len(5),data|
00000410  20 32 32 36 2c 65 64 69  74 24 28 31 29 3a 65 64  | 226,edit$(1):ed|
00000420  69 74 24 28 30 29 3d 22  20 4f 56 45 52 20 22 3a  |it$(0)=" OVER ":|
00000430  65 64 69 74 24 28 31 29  3d 22 49 4e 53 45 52 54  |edit$(1)="INSERT|
00000440  22 3a de 62 6c 6f 63 6b  20 31 38 2c 66 69 6c 65  |":.block 18,file|
00000450  20 37 2c 66 69 6c 65 32  20 37 3a e3 57 3d 31 31  | 7,file2 7:.W=11|
00000460  b8 31 35 3a 24 64 61 74  61 3d 22 4b 45 59 22 2b  |.15:$data="KEY"+|
00000470  c3 28 57 29 2b bd 28 31  32 33 2b 57 29 3a 58 25  |.(W)+.(123+W):X%|
00000480  3d 64 61 74 61 3a 59 25  3d 64 61 74 61 20 81 32  |=data:Y%=data .2|
00000490  35 36 3a d6 26 46 46 46  37 3a ed 0d 00 dc 19 ee  |56:.&FFF7:......|
000004a0  85 20 f2 65 72 72 6f 72  3a e7 78 3d 34 32 20 e5  |. .error:.x=42 .|
000004b0  8d 54 62 41 0d 00 e6 97  db 3a ef 32 36 3a f1 8a  |.TbA.....:.26:..|
000004c0  39 2c 33 31 29 22 28 43  29 20 4d 2e 4a 2e 52 61  |9,31)"(C) M.J.Ra|
000004d0  77 6c 69 6e 67 73 20 31  39 38 37 22 3b 3a ef 32  |wlings 1987";:.2|
000004e0  38 2c 30 2c 33 30 2c 33  39 2c 30 3a f1 8a 39 2c  |8,0,30,39,0:..9,|
000004f0  34 29 3b 3a ef 31 32 38  2c 31 32 39 2c 33 32 2c  |4);:.128,129,32,|
00000500  31 33 30 2c 31 33 31 2c  33 32 2c 31 33 32 2c 33  |130,131,32,132,3|
00000510  32 2c 33 32 2c 31 33 30  2c 31 33 33 2c 33 32 2c  |2,32,130,133,32,|
00000520  31 33 30 2c 31 33 31 2c  33 32 2c 31 33 32 2c 33  |130,131,32,132,3|
00000530  32 2c 31 33 32 2c 33 32  2c 33 32 2c 31 33 30 2c  |2,132,32,32,130,|
00000540  31 33 31 3a f1 8a 39 2c  35 29 3b 0d 00 f0 db ef  |131:..9,5);.....|
00000550  31 34 30 2c 31 34 30 2c  33 32 2c 31 34 31 2c 31  |140,140,32,141,1|
00000560  34 32 2c 33 32 2c 31 34  31 2c 31 34 32 2c 33 32  |42,32,141,142,32|
00000570  2c 31 34 30 2c 33 32 2c  33 32 2c 31 34 30 2c 33  |,140,32,32,140,3|
00000580  32 2c 33 32 2c 31 34 30  2c 33 32 2c 31 34 31 2c  |2,32,140,32,141,|
00000590  31 34 32 2c 33 32 2c 31  34 31 2c 31 34 32 3a f1  |142,32,141,142:.|
000005a0  8a 36 2c 39 29 22 31 20  2d 20 53 65 74 75 70 20  |.6,9)"1 - Setup |
000005b0  6e 65 77 20 64 61 74 61  20 66 69 6c 65 22 27 27  |new data file"''|
000005c0  89 36 22 32 20 2d 20 45  64 69 74 20 65 78 69 73  |.6"2 - Edit exis|
000005d0  74 69 6e 67 20 64 61 74  61 20 66 69 6c 65 22 27  |ting data file"'|
000005e0  27 89 36 22 33 20 2d 20  41 73 73 65 6d 62 6c 65  |'.6"3 - Assemble|
000005f0  20 52 6f 6d 20 69 6d 61  67 65 22 27 27 89 36 22  | Rom image"''.6"|
00000600  34 20 2d 20 4f 2f 53 20  43 6f 6d 6d 61 6e 64 22  |4 - O/S Command"|
00000610  27 27 89 36 22 35 20 2d  20 45 78 69 74 22 27 27  |''.6"5 - Exit"''|
00000620  89 36 22 3f 22 3b 0d 00  fa 4f f5 3a 78 3d a5 3a  |.6"?";...O.:x=.:|
00000630  e7 78 3d 34 32 20 fd 78  3d 34 32 3a e5 8d 54 62  |.x=42 .x=42:..Tb|
00000640  41 3a 8b fd 78 3e 34 38  20 80 78 3c 35 34 3a 78  |A:..x>48 .x<54:x|
00000650  3d 78 2d 34 38 3a f1 78  3a ee 78 20 e5 8d 54 44  |=x-48:.x:.x ..TD|
00000660  41 2c 8d 54 44 41 2c 8d  54 58 41 2c 8d 54 62 41  |A,.TDA,.TXA,.TbA|
00000670  2c 8d 54 6c 41 0d 01 04  20 f2 69 6e 70 75 74 28  |,.TlA... .input(|
00000680  22 44 61 74 61 22 29 3a  e7 78 3d 31 20 f2 6e 65  |"Data"):.x=1 .ne|
00000690  77 66 69 6c 65 0d 01 0e  0f f2 65 64 69 74 3a e5  |wfile.....edit:.|
000006a0  8d 64 66 40 0d 01 18 13  f2 61 73 73 65 6d 62 6c  |.df@.....assembl|
000006b0  65 3a e5 8d 64 66 40 0d  01 22 b0 f5 3a f1 27 27  |e:..df@.."..:.''|
000006c0  22 2a 22 c4 33 38 2c bd  33 32 29 22 7c 22 c4 33  |"*".38,.32)"|".3|
000006d0  39 2c bd 38 29 3b 3a 41  25 3d 30 3a 58 25 3d 62  |9,.8);:A%=0:X%=b|
000006e0  6c 6f 63 6b 3a 59 25 3d  62 6c 6f 63 6b 20 81 32  |lock:Y%=block .2|
000006f0  35 36 3a 21 62 6c 6f 63  6b 3d 64 61 74 61 3a 62  |56:!block=data:b|
00000700  6c 6f 63 6b 3f 32 3d 33  38 3a 62 6c 6f 63 6b 3f  |lock?2=38:block?|
00000710  33 3d 33 32 3a 62 6c 6f  63 6b 3f 34 3d 31 32 37  |3=32:block?4=127|
00000720  3a d6 26 46 46 46 31 3a  58 25 3d 64 61 74 61 3a  |:.&FFF1:X%=data:|
00000730  59 25 3d 64 61 74 61 20  81 32 35 36 3a d6 26 46  |Y%=data .256:.&F|
00000740  46 46 37 3a f1 27 27 22  50 72 65 73 73 20 61 6e  |FF7:.''"Press an|
00000750  79 20 6b 65 79 22 3a 78  3d a5 3a fd 78 3c 3e 34  |y key":x=.:.x<>4|
00000760  32 3a e5 8d 64 66 40 0d  01 2c 05 e0 0d 01 36 42  |2:..df@..,....6B|
00000770  dd f2 65 64 69 74 3a 65  64 69 74 3d 31 3a 63 6f  |..edit:edit=1:co|
00000780  6d 6d 61 6e 64 3d 30 3a  68 61 6e 64 6c 65 3d 8e  |mmand=0:handle=.|
00000790  24 66 69 6c 65 3a e8 23  68 61 6e 64 6c 65 2c 65  |$file:.#handle,e|
000007a0  78 74 65 6e 74 3a d9 23  68 61 6e 64 6c 65 0d 01  |xtent:.#handle..|
000007b0  40 0b 2a 46 58 31 34 2c  36 0d 01 4a bb 68 61 6e  |@.*FX14,6..J.han|
000007c0  64 6c 65 3d 8e 24 66 69  6c 65 3a f2 6f 73 67 62  |dle=.$file:.osgb|
000007d0  70 62 28 33 2c 63 6f 6d  6d 61 6e 64 29 3a d9 23  |pb(3,command):.#|
000007e0  68 61 6e 64 6c 65 3a 65  78 74 65 6e 74 3d 65 78  |handle:extent=ex|
000007f0  74 65 6e 74 2d 3f 64 61  74 61 3a ef 32 36 3a db  |tent-?data:.26:.|
00000800  3a 24 62 6c 6f 63 6b 3d  c3 28 63 6f 6d 6d 61 6e  |:$block=.(comman|
00000810  64 2b 31 29 3a 6c 65 6e  28 35 29 3d a9 24 28 64  |d+1):len(5)=.$(d|
00000820  61 74 61 2b 31 29 3a f1  8a 31 32 2c 33 29 3b 3a  |ata+1):..12,3);:|
00000830  ef 31 33 30 2c 31 33 31  2c 33 32 2c 31 33 34 2c  |.130,131,32,134,|
00000840  31 33 35 2c 33 32 2c 31  33 32 2c 33 32 2c 31 33  |135,32,132,32,13|
00000850  36 2c 31 33 37 2c 33 32  2c 31 33 38 2c 31 33 39  |6,137,32,138,139|
00000860  2c 33 32 2c 31 33 30 2c  31 33 33 3a f1 8a 31 32  |,32,130,133:..12|
00000870  2c 34 29 3b 0d 01 54 a5  ef 31 34 31 2c 31 34 32  |,4);..T..141,142|
00000880  2c 33 32 2c 31 34 31 2c  31 34 33 2c 33 32 2c 31  |,32,141,143,32,1|
00000890  34 30 2c 33 32 2c 31 34  34 2c 31 34 35 2c 33 32  |40,32,144,145,32|
000008a0  2c 31 34 36 2c 31 34 37  2c 33 32 2c 31 34 30 2c  |,146,147,32,140,|
000008b0  31 34 38 3a fb 31 32 39  3a fb 30 3a f1 8a 31 2c  |148:.129:.0:..1,|
000008c0  37 29 89 31 33 8a 31 2c  38 29 22 20 43 6f 6d 6d  |7).13.1,8)" Comm|
000008d0  61 6e 64 20 22 89 28 33  2d a9 24 62 6c 6f 63 6b  |and ".(3-.$block|
000008e0  29 24 62 6c 6f 63 6b 22  20 22 8a 32 36 2c 37 29  |)$block" ".26,7)|
000008f0  89 31 33 8a 32 36 2c 38  29 22 20 42 79 74 65 73  |.13.26,8)" Bytes|
00000900  20 20 6c 65 66 74 20 22  8a 31 2c 39 29 89 31 33  |  left ".1,9).13|
00000910  8a 32 36 2c 39 29 89 31  33 0d 01 5e 99 f1 8a 31  |.26,9).13..^...1|
00000920  2c 31 30 29 89 31 24 28  64 61 74 61 2b 31 29 22  |,10).1$(data+1)"|
00000930  7c 22 89 28 31 31 2d 6c  65 6e 28 35 29 29 8a 31  ||".(11-len(5)).1|
00000940  2c 31 31 29 89 31 33 8a  32 36 2c 31 31 29 89 31  |,11).13.26,11).1|
00000950  33 8a 30 2c 31 34 29 89  34 30 3a e3 57 3d 30 b8  |3.0,14).40:.W=0.|
00000960  34 3a 6c 65 6e 28 57 29  3d a9 24 28 64 61 74 61  |4:len(W)=.$(data|
00000970  2b 31 32 2b 57 2a 34 31  29 3a f1 8a 30 2c 31 35  |+12+W*41):..0,15|
00000980  2b 57 2a 32 29 24 28 64  61 74 61 2b 31 32 2b 57  |+W*2)$(data+12+W|
00000990  2a 34 31 29 3b 3a e7 6c  65 6e 28 57 29 3d 34 30  |*41);:.len(W)=40|
000009a0  3a 8b f1 22 7c 22 89 28  33 39 2d 6c 65 6e 28 57  |:.."|".(39-len(W|
000009b0  29 29 0d 01 68 80 f1 8a  30 2c 31 36 2b 57 2a 32  |))..h...0,16+W*2|
000009c0  29 89 34 30 3a ed 3a f1  8a 33 32 2c 32 37 29 65  |).40:.:..32,27)e|
000009d0  64 69 74 24 28 65 64 69  74 29 3a f2 65 78 74 65  |dit$(edit):.exte|
000009e0  6e 74 3a fb 31 32 38 3a  fb 31 3a f1 8a 31 2c 32  |nt:.128:.1:..1,2|
000009f0  37 29 22 50 72 65 73 73  20 43 4f 50 59 20 66 6f  |7)"Press COPY fo|
00000a00  72 20 49 4e 53 45 52 54  2f 4f 56 45 52 22 8a 39  |r INSERT/OVER".9|
00000a10  2c 32 39 29 22 50 72 65  73 73 20 54 41 42 20 74  |,29)"Press TAB t|
00000a20  6f 20 63 6f 6e 74 69 6e  75 65 22 3a 2a 46 58 34  |o continue":*FX4|
00000a30  2c 32 0d 01 72 0b fb 31  32 39 3a fb 30 0d 01 7c  |,2..r..129:.0..||
00000a40  14 58 31 3d 30 3a 74 65  6d 70 3d 64 61 74 61 2b  |.X1=0:temp=data+|
00000a50  31 0d 01 86 0f ef 33 31  2c 32 2b 58 31 2c 31 30  |1.....31,2+X1,10|
00000a60  0d 01 90 b4 78 3d a5 3a  e7 78 3d 39 20 e5 8d 54  |....x=.:.x=9 ..T|
00000a70  52 42 3a 8b e7 78 3d 31  33 34 20 f2 69 6e 73 65  |RB:..x=134 .inse|
00000a80  72 74 3a 8b e7 78 3d 31  33 37 20 57 3d 30 3a e5  |rt:..x=137 W=0:.|
00000a90  8d 64 42 41 3a 8b e7 78  3d 31 33 38 20 57 3d 34  |.dBA:..x=138 W=4|
00000aa0  3a e5 8d 64 42 41 3a 8b  e7 78 3d 31 33 35 20 58  |:..dBA:..x=135 X|
00000ab0  31 3d 58 31 2b 28 58 31  3e 30 29 3a 8b e7 78 3d  |1=X1+(X1>0):..x=|
00000ac0  31 33 36 20 58 31 3d 58  31 2d 28 58 31 3c 6c 65  |136 X1=X1-(X1<le|
00000ad0  6e 28 35 29 20 80 58 31  3c 39 29 3a 8b e7 78 3d  |n(5) .X1<9):..x=|
00000ae0  31 34 30 20 58 31 3d 30  3a 8b e7 78 3d 31 34 31  |140 X1=0:..x=141|
00000af0  20 58 31 3d 6c 65 6e 28  35 29 2b 28 6c 65 6e 28  | X1=len(5)+(len(|
00000b00  35 29 3d 31 30 29 3a 8b  e7 78 3d 31 32 37 20 e5  |5)=10):..x=127 .|
00000b10  8d 74 64 41 0d 01 9a 1c  e7 78 3e 39 36 20 84 78  |.tdA.....x>96 .x|
00000b20  3c 34 37 20 e5 8d 74 46  41 3a 8b e5 8d 74 6e 41  |<47 ..tFA:...tnA|
00000b30  0d 01 a4 9c e7 78 3d 31  32 37 20 80 28 58 31 3d  |.....x=127 .(X1=|
00000b40  6c 65 6e 28 35 29 20 84  58 31 3d 39 29 3a 58 31  |len(5) .X1=9):X1|
00000b50  3d 58 31 2b 28 58 31 3e  30 20 80 6c 65 6e 28 35  |=X1+(X1>0 .len(5|
00000b60  29 3c 3e 31 30 29 3a 3f  28 74 65 6d 70 2b 58 31  |)<>10):?(temp+X1|
00000b70  29 3d 31 33 3a e5 8d 74  78 41 3a 8b e7 78 3d 31  |)=13:..txA:..x=1|
00000b80  32 37 20 80 58 31 3c 3e  30 20 3f 28 64 61 74 61  |27 .X1<>0 ?(data|
00000b90  2b 58 31 29 3d 31 33 3a  58 31 3d 58 31 2d 31 3a  |+X1)=13:X1=X1-1:|
00000ba0  24 74 65 6d 70 3d 24 74  65 6d 70 2b 24 28 74 65  |$temp=$temp+$(te|
00000bb0  6d 70 2b 31 2b 58 31 29  3a e5 8d 74 78 41 3a 8b  |mp+1+X1):..txA:.|
00000bc0  e7 78 3d 31 32 37 20 e5  8d 74 46 41 0d 01 ae 92  |.x=127 ..tFA....|
00000bd0  e7 65 64 69 74 3d 31 20  80 6c 65 6e 28 35 29 3d  |.edit=1 .len(5)=|
00000be0  31 30 3a 8b e7 65 64 69  74 3d 30 20 80 6c 65 6e  |10:..edit=0 .len|
00000bf0  28 35 29 3d 58 31 3a 8b  e7 65 64 69 74 3d 31 20  |(5)=X1:..edit=1 |
00000c00  24 74 65 6d 70 3d c0 24  74 65 6d 70 2c 58 31 29  |$temp=.$temp,X1)|
00000c10  2b bd 78 2b 24 28 74 65  6d 70 2b 58 31 29 3a 58  |+.x+$(temp+X1):X|
00000c20  31 3d 58 31 2d 28 58 31  3c 3d 6c 65 6e 28 35 29  |1=X1-(X1<=len(5)|
00000c30  20 80 20 6c 65 6e 28 35  29 3c 39 29 3a 8b 3f 28  | . len(5)<9):.?(|
00000c40  74 65 6d 70 2b 58 31 29  3d 78 3a 58 31 3d 58 31  |temp+X1)=x:X1=X1|
00000c50  2d 28 58 31 3c 6c 65 6e  28 35 29 2d 31 29 0d 01  |-(X1<len(5)-1)..|
00000c60  b8 3b 6c 65 6e 28 35 29  3d a9 24 74 65 6d 70 3a  |.;len(5)=.$temp:|
00000c70  f2 65 78 74 65 6e 74 3a  f1 8a 32 2c 31 30 29 24  |.extent:..2,10)$|
00000c80  74 65 6d 70 22 7c 22 89  28 31 30 2d 6c 65 6e 28  |temp"|".(10-len(|
00000c90  35 29 29 3a e5 8d 74 46  41 0d 01 c2 37 74 65 6d  |5)):..tFA...7tem|
00000ca0  70 3d 64 61 74 61 2b 31  32 2b 57 2a 34 31 3a e7  |p=data+12+W*41:.|
00000cb0  6c 65 6e 28 57 29 3d 34  30 3a 8b e7 6c 65 6e 28  |len(W)=40:..len(|
00000cc0  57 29 3e 58 31 3a 8b 58  31 3d 6c 65 6e 28 57 29  |W)>X1:.X1=len(W)|
00000cd0  0d 01 cc 7e ef 33 31 2c  58 31 2c 31 35 2b 57 2a  |...~.31,X1,15+W*|
00000ce0  32 3a 78 3d a5 3a e7 78  3d 39 20 e5 8d 54 52 42  |2:x=.:.x=9 ..TRB|
00000cf0  3a 8b e7 78 3d 31 33 34  20 f2 69 6e 73 65 72 74  |:..x=134 .insert|
00000d00  3a 8b e7 78 3d 31 33 37  20 80 57 3d 34 3a e5 8d  |:..x=137 .W=4:..|
00000d10  44 7c 41 3a 8b e7 78 3d  31 33 37 20 57 3d 57 2b  |D|A:..x=137 W=W+|
00000d20  31 3a e5 8d 64 42 41 3a  8b e7 78 3d 31 33 38 20  |1:..dBA:..x=138 |
00000d30  80 57 3d 30 3a e5 8d 44  7c 41 3a 8b e7 78 3d 31  |.W=0:..D|A:..x=1|
00000d40  33 38 20 57 3d 57 2d 31  3a e5 8d 64 42 41 0d 01  |38 W=W-1:..dBA..|
00000d50  d6 78 e7 78 3d 31 33 35  20 58 31 3d 58 31 2b 28  |.x.x=135 X1=X1+(|
00000d60  58 31 3e 30 29 3a 8b e7  78 3d 31 33 36 20 58 31  |X1>0):..x=136 X1|
00000d70  3d 58 31 2d 28 58 31 3c  6c 65 6e 28 57 29 20 80  |=X1-(X1<len(W) .|
00000d80  58 31 3c 33 39 29 3a 8b  e7 78 3d 31 34 30 20 58  |X1<39):..x=140 X|
00000d90  31 3d 30 3a 8b e7 78 3d  31 34 31 20 58 31 3d 6c  |1=0:..x=141 X1=l|
00000da0  65 6e 28 57 29 2b 28 6c  65 6e 28 57 29 3d 34 30  |en(W)+(len(W)=40|
00000db0  29 3a 8b e7 78 3e 31 32  38 20 84 78 3c 33 32 3a  |):..x>128 .x<32:|
00000dc0  8b e5 8d 64 6a 41 0d 01  e0 09 e5 8d 64 4c 41 0d  |...djA......dLA.|
00000dd0  01 ea 9f e7 78 3d 31 32  37 20 80 28 58 31 3d 6c  |....x=127 .(X1=l|
00000de0  65 6e 28 57 29 20 84 58  31 3d 33 39 29 3a 58 31  |en(W) .X1=39):X1|
00000df0  3d 58 31 2b 28 58 31 3e  30 20 80 6c 65 6e 28 57  |=X1+(X1>0 .len(W|
00000e00  29 3c 3e 34 30 29 3a 3f  28 74 65 6d 70 2b 58 31  |)<>40):?(temp+X1|
00000e10  29 3d 31 33 3a e5 8d 64  7e 41 3a 8b e7 78 3d 31  |)=13:..d~A:..x=1|
00000e20  32 37 20 80 58 31 3c 3e  30 20 3f 28 74 65 6d 70  |27 .X1<>0 ?(temp|
00000e30  2d 31 2b 58 31 29 3d 31  33 3a 58 31 3d 58 31 2d  |-1+X1)=13:X1=X1-|
00000e40  31 3a 24 74 65 6d 70 3d  24 74 65 6d 70 2b 24 28  |1:$temp=$temp+$(|
00000e50  74 65 6d 70 2b 31 2b 58  31 29 3a e5 8d 64 7e 41  |temp+1+X1):..d~A|
00000e60  3a 8b e7 78 3d 31 32 37  20 e5 8d 64 4c 41 0d 01  |:..x=127 ..dLA..|
00000e70  f4 93 e7 65 64 69 74 3d  31 20 80 6c 65 6e 28 57  |...edit=1 .len(W|
00000e80  29 3d 34 30 3a 8b e7 65  64 69 74 3d 30 20 80 6c  |)=40:..edit=0 .l|
00000e90  65 6e 28 57 29 3d 58 31  3a 8b e7 65 64 69 74 3d  |en(W)=X1:..edit=|
00000ea0  31 20 24 74 65 6d 70 3d  c0 24 74 65 6d 70 2c 58  |1 $temp=.$temp,X|
00000eb0  31 29 2b bd 78 2b 24 28  74 65 6d 70 2b 58 31 29  |1)+.x+$(temp+X1)|
00000ec0  3a 58 31 3d 58 31 2d 28  58 31 3c 3d 6c 65 6e 28  |:X1=X1-(X1<=len(|
00000ed0  57 29 20 80 20 6c 65 6e  28 57 29 3c 33 39 29 3a  |W) . len(W)<39):|
00000ee0  8b 3f 28 74 65 6d 70 2b  58 31 29 3d 78 3a 58 31  |.?(temp+X1)=x:X1|
00000ef0  3d 58 31 2d 28 58 31 3c  6c 65 6e 28 57 29 2d 31  |=X1-(X1<len(W)-1|
00000f00  29 0d 01 fe 48 6c 65 6e  28 57 29 3d a9 24 74 65  |)...Hlen(W)=.$te|
00000f10  6d 70 3a f2 65 78 74 65  6e 74 3a f1 8a 30 2c 31  |mp:.extent:..0,1|
00000f20  35 2b 57 2a 32 29 24 74  65 6d 70 3b 3a e7 6c 65  |5+W*2)$temp;:.le|
00000f30  6e 28 57 29 3d 34 30 3a  8b f1 22 7c 22 89 28 33  |n(W)=40:.."|".(3|
00000f40  39 2d 6c 65 6e 28 57 29  29 0d 02 08 09 e5 8d 64  |9-len(W))......d|
00000f50  4c 41 0d 02 12 7a 65 78  74 65 6e 74 3d 65 78 74  |LA...zextent=ext|
00000f60  65 6e 74 2b 3f 64 61 74  61 3a 58 25 3d 66 69 6c  |ent+?data:X%=fil|
00000f70  65 3a 59 25 3d 66 69 6c  65 20 81 32 35 36 3a 41  |e:Y%=file .256:A|
00000f80  25 3d 26 43 30 3a 68 61  6e 64 6c 65 3d ba 28 26  |%=&C0:handle=.(&|
00000f90  46 46 43 45 29 80 26 46  46 3a f1 23 68 61 6e 64  |FFCE).&FF:.#hand|
00000fa0  6c 65 2c 65 78 74 65 6e  74 3a f2 6f 73 67 62 70  |le,extent:.osgbp|
00000fb0  62 28 31 2c 63 6f 6d 6d  61 6e 64 29 3a d9 23 68  |b(1,command):.#h|
00000fc0  61 6e 64 6c 65 3a 2a 46  58 34 2c 30 0d 02 1c 13  |andle:*FX4,0....|
00000fd0  fb 31 32 38 3a fb 31 3a  2a 46 58 31 33 2c 36 0d  |.128:.1:*FX13,6.|
00000fe0  02 26 86 f1 8a 30 2c 32  37 29 89 35 22 50 72 65  |.&...0,27).5"Pre|
00000ff0  73 73 20 52 45 54 55 52  4e 20 66 6f 72 20 6e 65  |ss RETURN for ne|
00001000  78 74 20 63 6f 6d 6d 61  6e 64 22 89 35 27 22 6f  |xt command".5'"o|
00001010  72 20 65 6e 74 65 72 20  6e 75 6d 62 65 72 20 6f  |r enter number o|
00001020  66 20 63 6f 6d 6d 61 6e  64 20 74 6f 20 62 65 20  |f command to be |
00001030  65 64 69 74 65 64 22 27  89 33 22 6f 72 20 70 72  |edited"'.3"or pr|
00001040  65 73 73 20 45 53 43 41  50 45 20 74 6f 20 72 65  |ess ESCAPE to re|
00001050  74 75 72 6e 20 74 6f 20  6d 65 6e 75 22 3a e8 22  |turn to menu":."|
00001060  20 3f 20 22 78 0d 02 30  4f e7 78 3d 30 20 63 6f  | ? "x..0O.x=0 co|
00001070  6d 6d 61 6e 64 3d 28 63  6f 6d 6d 61 6e 64 2b 31  |mmand=(command+1|
00001080  29 83 31 35 30 3a 8b e7  78 3e 31 35 30 20 84 78  |).150:..x>150 .x|
00001090  3c 31 20 ef 37 3a f1 8a  33 2c 33 30 29 89 33 37  |<1 .7:..3,30).37|
000010a0  3b 3a e5 8d 54 66 42 3a  8b 63 6f 6d 6d 61 6e 64  |;:..TfB:.command|
000010b0  3d 78 2d 31 0d 02 3a 09  e5 8d 44 40 41 0d 02 44  |=x-1..:...D@A..D|
000010c0  aa dd f2 6e 65 77 66 69  6c 65 3a ef 32 33 2c 31  |...newfile:.23,1|
000010d0  2c 30 3b 30 3b 30 3b 30  3b 3a 65 78 74 65 6e 74  |,0;0;0;0;:extent|
000010e0  3d 30 3a 68 61 6e 64 6c  65 3d ae 24 66 69 6c 65  |=0:handle=.$file|
000010f0  3a 3f 64 61 74 61 3d 30  3a 64 61 74 61 3f 31 3d  |:?data=0:data?1=|
00001100  31 33 3a e3 57 3d 30 b8  34 3a 3f 28 64 61 74 61  |13:.W=0.4:?(data|
00001110  2b 31 32 2b 57 2a 34 31  29 3d 31 33 3a ed 3a f1  |+12+W*41)=13:.:.|
00001120  23 68 61 6e 64 6c 65 2c  30 3a e3 57 3d 30 b8 31  |#handle,0:.W=0.1|
00001130  34 39 3a f1 8a 31 37 2c  32 37 29 57 2b 31 3a f2  |49:..17,27)W+1:.|
00001140  6f 73 67 62 70 62 28 31  2c 57 29 3a ed 3a d9 23  |osgbpb(1,W):.:.#|
00001150  68 61 6e 64 6c 65 3a ef  32 33 2c 31 2c 31 3b 30  |handle:.23,1,1;0|
00001160  3b 30 3b 30 3b 3a e1 0d  02 4e 76 dd f2 6f 73 67  |;0;0;:...Nv..osg|
00001170  62 70 62 28 78 2c 79 29  3a 41 25 3d 78 3a 58 25  |bpb(x,y):A%=x:X%|
00001180  3d 62 6c 6f 63 6b 3a 59  25 3d 62 6c 6f 63 6b 20  |=block:Y%=block |
00001190  81 32 35 36 3a 3f 62 6c  6f 63 6b 3d 68 61 6e 64  |.256:?block=hand|
000011a0  6c 65 3a 21 28 62 6c 6f  63 6b 2b 31 29 3d 64 61  |le:!(block+1)=da|
000011b0  74 61 3a 21 28 62 6c 6f  63 6b 2b 35 29 3d 32 31  |ta:!(block+5)=21|
000011c0  37 3a 21 28 62 6c 6f 63  6b 2b 39 29 3d 36 2b 79  |7:!(block+9)=6+y|
000011d0  2a 32 31 37 3a d6 26 46  46 44 31 3a e1 0d 02 58  |*217:.&FFD1:...X|
000011e0  86 dd f2 69 6e 70 75 74  28 78 24 29 3a 3a f1 27  |...input(x$)::.'|
000011f0  27 89 36 20 78 24 22 20  46 69 6c 65 6e 61 6d 65  |'.6 x$" Filename|
00001200  20 3f 22 89 38 bd 31 32  34 3b c4 38 2c bd 38 29  | ?".8.124;.8,.8)|
00001210  3b 3a 41 25 3d 30 3a 58  25 3d 62 6c 6f 63 6b 3a  |;:A%=0:X%=block:|
00001220  59 25 3d 62 6c 6f 63 6b  20 81 32 35 36 3a 21 62  |Y%=block .256:!b|
00001230  6c 6f 63 6b 3d 66 69 6c  65 3a 62 6c 6f 63 6b 3f  |lock=file:block?|
00001240  32 3d 37 3a 62 6c 6f 63  6b 3f 33 3d 33 33 3a 62  |2=7:block?3=33:b|
00001250  6c 6f 63 6b 3f 34 3d 31  32 37 3a d6 26 46 46 46  |lock?4=127:.&FFF|
00001260  31 3a e1 0d 02 62 67 dd  f2 65 78 74 65 6e 74 3a  |1:...bg..extent:|
00001270  3f 64 61 74 61 3d 30 3a  e7 6c 65 6e 28 35 29 3d  |?data=0:.len(5)=|
00001280  30 3a 8b 3f 64 61 74 61  3d 38 3a e3 6c 6f 6f 70  |0:.?data=8:.loop|
00001290  3d 30 b8 35 3a 3f 64 61  74 61 3d 3f 64 61 74 61  |=0.5:?data=?data|
000012a0  2b 6c 65 6e 28 6c 6f 6f  70 29 3a e7 6c 65 6e 28  |+len(loop):.len(|
000012b0  6c 6f 6f 70 29 3d 30 3a  3f 64 61 74 61 3d 3f 64  |loop)=0:?data=?d|
000012c0  61 74 61 2d 31 3a ed 3a  8b ed 0d 02 6c 44 24 62  |ata-1:.:....lD$b|
000012d0  6c 6f 63 6b 3d c3 28 26  33 46 46 46 2d 65 78 74  |lock=.(&3FFF-ext|
000012e0  65 6e 74 2d 3f 64 61 74  61 2d 32 32 36 29 3a f1  |ent-?data-226):.|
000012f0  8a 32 36 2c 31 30 29 89  28 39 2d a9 24 62 6c 6f  |.26,10).(9-.$blo|
00001300  63 6b 29 24 62 6c 6f 63  6b 20 89 34 3a e1 0d 02  |ck)$block .4:...|
00001310  76 32 dd f2 69 6e 73 65  72 74 3a 65 64 69 74 3d  |v2..insert:edit=|
00001320  28 65 64 69 74 2b 31 29  83 32 3a f1 8a 33 32 2c  |(edit+1).2:..32,|
00001330  32 37 29 65 64 69 74 24  28 65 64 69 74 29 3a e1  |27)edit$(edit):.|
00001340  0d 02 80 c3 dd f2 61 73  73 65 6d 62 6c 65 3a f2  |......assemble:.|
00001350  69 6e 70 75 74 28 22 48  65 6c 70 20 46 69 6c 65  |input("Help File|
00001360  22 29 3a 6f 66 66 73 65  74 3d 26 38 30 30 30 2d  |"):offset=&8000-|
00001370  64 61 74 61 3a 62 31 3d  64 61 74 61 3a 62 32 3d  |data:b1=data:b2=|
00001380  62 31 3a e3 6f 70 74 3d  30 b8 32 88 32 3a 50 25  |b1:.opt=0.2.2:P%|
00001390  3d 64 61 74 61 3a f2 65  71 75 77 28 30 29 3a f2  |=data:.equw(0):.|
000013a0  65 71 75 62 28 30 29 3a  5b 4f 50 54 6f 70 74 3a  |equb(0):[OPTopt:|
000013b0  4a 4d 50 62 31 2b 6f 66  66 73 65 74 3a 5d 3a f2  |JMPb1+offset:]:.|
000013c0  65 71 75 62 28 26 38 33  29 3a f2 65 71 75 62 28  |equb(&83):.equb(|
000013d0  62 32 2d 64 61 74 61 29  3a f2 65 71 75 62 28 31  |b2-data):.equb(1|
000013e0  29 3a 62 33 3d 50 25 3a  f2 65 71 75 73 28 22 48  |):b3=P%:.equs("H|
000013f0  65 6c 70 20 46 69 6c 65  20 3a 20 22 2b 24 66 69  |elp File : "+$fi|
00001400  6c 65 29 0d 02 8a dd f2  65 71 75 62 28 31 33 29  |le).....equb(13)|
00001410  3a f2 65 71 75 62 28 31  33 29 3a 62 32 3d 50 25  |:.equb(13):b2=P%|
00001420  3a f2 65 71 75 62 28 30  29 3a f2 65 71 75 73 28  |:.equb(0):.equs(|
00001430  22 28 43 29 20 4d 2e 4a  2e 52 2e 20 31 39 38 37  |"(C) M.J.R. 1987|
00001440  22 29 3a 5b 4f 50 54 6f  70 74 3a 2e 62 31 20 43  |"):[OPTopt:.b1 C|
00001450  4d 50 23 33 3a 42 45 51  62 34 3a 43 4d 50 23 39  |MP#3:BEQb4:CMP#9|
00001460  3a 42 45 51 62 36 3a 52  54 53 3a 2e 62 34 20 50  |:BEQb6:RTS:.b4 P|
00001470  48 41 3a 2e 62 38 20 54  59 41 3a 50 48 41 3a 4c  |HA:.b8 TYA:PHA:L|
00001480  44 58 23 30 3a 2e 62 35  20 4c 44 41 62 33 2b 6f  |DX#0:.b5 LDAb3+o|
00001490  66 66 73 65 74 2c 58 3a  42 45 51 62 31 36 3a 4a  |ffset,X:BEQb16:J|
000014a0  53 52 26 46 46 45 33 3a  49 4e 58 3a 4a 4d 50 62  |SR&FFE3:INX:JMPb|
000014b0  35 2b 6f 66 66 73 65 74  3a 2e 62 31 36 20 50 4c  |5+offset:.b16 PL|
000014c0  41 3a 54 41 59 3a 50 4c  41 3a 52 54 53 3a 2e 62  |A:TAY:PLA:RTS:.b|
000014d0  36 20 50 48 41 3a 4c 44  41 28 26 46 32 29 2c 59  |6 PHA:LDA(&F2),Y|
000014e0  0d 02 94 eb 43 4d 50 23  31 33 3a 42 4e 45 62 37  |....CMP#13:BNEb7|
000014f0  3a 4a 4d 50 62 38 2b 6f  66 66 73 65 74 3a 2e 62  |:JMPb8+offset:.b|
00001500  37 20 4c 44 41 26 38 38  3a 50 48 41 3a 4c 44 41  |7 LDA&88:PHA:LDA|
00001510  26 38 39 3a 50 48 41 3a  4c 44 41 26 38 41 3a 50  |&89:PHA:LDA&8A:P|
00001520  48 41 3a 4c 44 41 26 38  42 3a 50 48 41 3a 54 59  |HA:LDA&8B:PHA:TY|
00001530  41 3a 50 48 41 3a 53 54  41 26 38 42 3a 4c 44 41  |A:PHA:STA&8B:LDA|
00001540  23 28 28 62 39 2b 6f 66  66 73 65 74 29 83 32 35  |#((b9+offset).25|
00001550  36 29 3a 53 54 41 26 38  38 3a 4c 44 41 23 28 28  |6):STA&88:LDA#((|
00001560  62 39 2b 6f 66 66 73 65  74 29 81 32 35 36 29 3a  |b9+offset).256):|
00001570  53 54 41 26 38 39 3a 2e  62 31 30 3a 4c 44 59 23  |STA&89:.b10:LDY#|
00001580  30 3a 53 54 59 26 38 41  3a 4c 44 41 28 26 38 38  |0:STY&8A:LDA(&88|
00001590  29 2c 59 3a 42 45 51 62  31 39 3a 50 48 41 3a 2e  |),Y:BEQb19:PHA:.|
000015a0  62 31 31 20 49 4e 43 26  38 41 3a 4c 44 59 26 38  |b11 INC&8A:LDY&8|
000015b0  42 3a 4c 44 41 28 26 46  32 29 2c 59 3a 43 4d 50  |B:LDA(&F2),Y:CMP|
000015c0  23 26 34 30 3a 42 43 43  62 31 38 0d 02 9e ec 80  |#&40:BCCb18.....|
000015d0  23 26 44 46 3a 2e 62 31  38 20 43 4d 50 23 26 32  |#&DF:.b18 CMP#&2|
000015e0  31 3a 42 43 43 62 31 32  3a 4c 44 59 26 38 41 3a  |1:BCCb12:LDY&8A:|
000015f0  43 4d 50 28 26 38 38 29  2c 59 3a 42 4e 45 62 31  |CMP(&88),Y:BNEb1|
00001600  34 3a 49 4e 43 26 38 42  3a 4a 4d 50 62 31 31 2b  |4:INC&8B:JMPb11+|
00001610  6f 66 66 73 65 74 3a 2e  62 31 32 20 4c 44 59 26  |offset:.b12 LDY&|
00001620  38 41 3a 4c 44 41 28 26  38 38 29 2c 59 3a 42 4e  |8A:LDA(&88),Y:BN|
00001630  45 62 31 34 3a 49 4e 43  26 38 41 3a 50 4c 41 3a  |Eb14:INC&8A:PLA:|
00001640  2e 62 31 33 20 4c 44 59  26 38 41 3a 4c 44 41 28  |.b13 LDY&8A:LDA(|
00001650  26 38 38 29 2c 59 3a 49  4e 43 26 38 41 3a 43 4d  |&88),Y:INC&8A:CM|
00001660  50 23 30 3a 42 45 51 62  31 37 3a 4a 53 52 26 46  |P#0:BEQb17:JSR&F|
00001670  46 45 33 3a 4a 4d 50 62  31 33 2b 6f 66 66 73 65  |FE3:JMPb13+offse|
00001680  74 3a 2e 62 31 34 20 43  4c 43 3a 50 4c 41 3a 41  |t:.b14 CLC:PLA:A|
00001690  44 43 26 38 38 3a 53 54  41 26 38 38 3a 42 45 51  |DC&88:STA&88:BEQ|
000016a0  62 31 35 3a 4c 44 41 23  30 3a 41 44 43 26 38 39  |b15:LDA#0:ADC&89|
000016b0  3a 53 54 41 26 38 39 0d  02 a8 e1 2e 62 31 35 20  |:STA&89.....b15 |
000016c0  50 4c 41 3a 53 54 41 26  38 42 3a 50 48 41 3a 4a  |PLA:STA&8B:PHA:J|
000016d0  4d 50 62 31 30 2b 6f 66  66 73 65 74 3a 2e 62 31  |MPb10+offset:.b1|
000016e0  37 20 50 4c 41 3a 54 41  59 3a 50 4c 41 3a 53 54  |7 PLA:TAY:PLA:ST|
000016f0  41 26 38 42 3a 50 4c 41  3a 53 54 41 26 38 41 3a  |A&8B:PLA:STA&8A:|
00001700  50 4c 41 3a 53 54 41 26  38 39 3a 50 4c 41 3a 53  |PLA:STA&89:PLA:S|
00001710  54 41 26 38 38 3a 50 4c  41 3a 4c 44 41 23 30 3a  |TA&88:PLA:LDA#0:|
00001720  52 54 53 3a 2e 62 31 39  20 50 4c 41 3a 54 41 59  |RTS:.b19 PLA:TAY|
00001730  3a 50 4c 41 3a 53 54 41  26 38 42 3a 50 4c 41 3a  |:PLA:STA&8B:PLA:|
00001740  53 54 41 26 38 41 3a 50  4c 41 3a 53 54 41 26 38  |STA&8A:PLA:STA&8|
00001750  39 3a 50 4c 41 3a 53 54  41 26 38 38 3a 50 4c 41  |9:PLA:STA&88:PLA|
00001760  3a 52 54 53 3a 2e 62 39  3a 5d 3a ed 3a 65 78 74  |:RTS:.b9:]:.:ext|
00001770  65 6e 74 3d 50 25 2d 64  61 74 61 3a 68 61 6e 64  |ent=P%-data:hand|
00001780  6c 65 32 3d ae 24 66 69  6c 65 3a 41 25 3d 32 3a  |le2=.$file:A%=2:|
00001790  58 25 3d 62 6c 6f 63 6b  0d 02 b2 c2 59 25 3d 62  |X%=block....Y%=b|
000017a0  6c 6f 63 6b 20 81 32 35  36 3a 3f 62 6c 6f 63 6b  |lock .256:?block|
000017b0  3d 68 61 6e 64 6c 65 32  3a 21 28 62 6c 6f 63 6b  |=handle2:!(block|
000017c0  2b 31 29 3d 64 61 74 61  3a 21 28 62 6c 6f 63 6b  |+1)=data:!(block|
000017d0  2b 35 29 3d 50 25 2d 64  61 74 61 3a d6 26 46 46  |+5)=P%-data:.&FF|
000017e0  44 31 3a 24 66 69 6c 65  32 3d 24 66 69 6c 65 3a  |D1:$file2=$file:|
000017f0  f2 69 6e 70 75 74 28 22  44 61 74 61 22 29 3a 68  |.input("Data"):h|
00001800  61 6e 64 6c 65 3d 8e 24  66 69 6c 65 3a ef 32 33  |andle=.$file:.23|
00001810  2c 31 2c 30 3b 30 3b 30  3b 30 3b 3a e3 6c 6f 6f  |,1,0;0;0;0;:.loo|
00001820  70 3d 30 b8 31 34 39 3a  f1 8a 31 37 2c 32 38 29  |p=0.149:..17,28)|
00001830  6c 6f 6f 70 2b 31 3a f2  6f 73 67 62 70 62 28 33  |loop+1:.osgbpb(3|
00001840  2c 6c 6f 6f 70 29 3a 65  78 74 65 6e 74 3d 65 78  |,loop):extent=ex|
00001850  74 65 6e 74 2b 3f 64 61  74 61 0d 02 bc d3 e7 3f  |tent+?data.....?|
00001860  64 61 74 61 3d 30 20 84  65 78 74 65 6e 74 3e 26  |data=0 .extent>&|
00001870  33 46 46 46 3a 8b 50 25  3d 64 61 74 61 2b a9 24  |3FFF:.P%=data+.$|
00001880  28 64 61 74 61 2b 31 29  2b 31 3a 3f 50 25 3d 30  |(data+1)+1:?P%=0|
00001890  3a 50 25 3d 50 25 2b 31  3a e3 57 3d 30 b8 34 3a  |:P%=P%+1:.W=0.4:|
000018a0  24 50 25 3d 24 28 64 61  74 61 2b 31 32 2b 57 2a  |$P%=$(data+12+W*|
000018b0  34 31 29 3a 50 25 3d 50  25 2b a9 24 50 25 2d 28  |41):P%=P%+.$P%-(|
000018c0  a9 24 50 25 3c 3e 30 29  3a ed 3a 3f 50 25 3d 30  |.$P%<>0):.:?P%=0|
000018d0  3a 50 25 3d 50 25 2b 31  3a 41 25 3d 32 3a 58 25  |:P%=P%+1:A%=2:X%|
000018e0  3d 62 6c 6f 63 6b 3a 59  25 3d 62 6c 6f 63 6b 20  |=block:Y%=block |
000018f0  81 32 35 36 3a 3f 62 6c  6f 63 6b 3d 68 61 6e 64  |.256:?block=hand|
00001900  6c 65 32 3a 21 28 62 6c  6f 63 6b 2b 31 29 3d 64  |le2:!(block+1)=d|
00001910  61 74 61 3a 21 28 62 6c  6f 63 6b 2b 35 29 3d 50  |ata:!(block+5)=P|
00001920  25 2d 64 61 74 61 3a d6  26 46 46 44 31 0d 02 c6  |%-data:.&FFD1...|
00001930  a4 ed 3a d5 23 68 61 6e  64 6c 65 32 2c 30 3a d9  |..:.#handle2,0:.|
00001940  23 30 3a 21 62 6c 6f 63  6b 3d 66 69 6c 65 32 3a  |#0:!block=file2:|
00001950  21 28 62 6c 6f 63 6b 2b  32 29 3d 26 46 46 46 46  |!(block+2)=&FFFF|
00001960  38 30 30 30 3a 21 28 62  6c 6f 63 6b 2b 36 29 3d  |8000:!(block+6)=|
00001970  26 46 46 46 46 44 39 43  44 3a 21 28 62 6c 6f 63  |&FFFFD9CD:!(bloc|
00001980  6b 2b 31 30 29 3d 65 78  74 65 6e 74 2b 31 3a 21  |k+10)=extent+1:!|
00001990  28 62 6c 6f 63 6b 2b 31  34 29 3d 31 30 3a 58 25  |(block+14)=10:X%|
000019a0  3d 62 6c 6f 63 6b 3a 59  25 3d 62 6c 6f 63 6b 20  |=block:Y%=block |
000019b0  81 32 35 36 3a 41 25 3d  31 3a d6 26 46 46 44 44  |.256:A%=1:.&FFDD|
000019c0  3a ef 32 33 2c 31 2c 31  3b 30 3b 30 3b 30 3b 3a  |:.23,1,1;0;0;0;:|
000019d0  e1 0d 02 d0 1d dd f2 65  71 75 62 28 78 29 3a 3f  |.......equb(x):?|
000019e0  50 25 3d 78 3a 50 25 3d  50 25 2b 31 3a e1 0d 02  |P%=x:P%=P%+1:...|
000019f0  da 29 dd f2 65 71 75 77  28 78 29 3a 3f 50 25 3d  |.)..equw(x):?P%=|
00001a00  78 3a 50 25 3f 31 3d 78  20 81 32 35 36 3a 50 25  |x:P%?1=x .256:P%|
00001a10  3d 50 25 2b 32 3a e1 0d  02 e4 21 dd f2 65 71 75  |=P%+2:....!..equ|
00001a20  73 28 78 24 29 3a 24 50  25 3d 78 24 3a 50 25 3d  |s(x$):$P%=x$:P%=|
00001a30  50 25 2b a9 78 24 3a e1  0d 02 ee 21 dd f2 65 72  |P%+.x$:....!..er|
00001a40  72 6f 72 3a 78 3d 30 3a  e7 9f 3d 31 37 20 e1 3a  |ror:x=0:..=17 .:|
00001a50  8b d9 23 30 3a 2a 46 58  34 0d 02 f8 0b 2a 46 58  |..#0:*FX4....*FX|
00001a60  31 33 2c 36 0d 03 02 1e  f6 3a f1 27 27 22 50 72  |13,6.....:.''"Pr|
00001a70  65 73 73 20 61 6e 79 20  6b 65 79 22 3a 78 3d a5  |ess any key":x=.|
00001a80  3a e1 0d ff                                       |:...|
00001a84
28-03-88/HELP.m0
28-03-88/HELP.m1
28-03-88/HELP.m2
28-03-88/HELP.m4
28-03-88/HELP.m5