Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_33.ADF » P/EDITCRE

P/EDITCRE

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 » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_33.ADF
Filename: P/EDITCRE
Read OK:
File size: 1124 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM EditCore V3.05
   20REM Edit (C)1995-1997 SPROW
   30HIMEM=&2FFF:DIMbuffer% 128:DIMrow% 80
   40*FX12,2
   50REPEAT:REPEAT
   60key%=INKEY(0):step%=2+(8*ABS(INKEY(-1)))
   70IFkey%=136 ORkey%=137THENCALL C%:X%=X%-(step%*(136.5-key%)):CALL R%:CALL C%
   80IFkey%=138 ORkey%=139THENCALL C%:Y%=Y%+(step%*(138.5-key%)):CALL R%:CALL C%
   90UNTILkey%<136 ORkey%>139
  100IFkey%=32THENPROCmssg("CURSOR"):PROCcursor
  110key%=key% AND&DF
  120IFkey%=ASC("M")THENPROCmssg("MOVE"):PROCexpand:PROCsaveselect:PROCclearselect(0):PROCframe(Y%,Q%,X%,P%):PROCdragframe:PROCloadselect:CALLC%
  130IFkey%=ASC("C")THENPROCmssg("COPY"):PROCexpand:PROCsaveselect:PROCdragframe:PROCloadselect:CALLC%
  140IFkey%=ASC("E")THENPROCmssg("EDIT"):PROCexpand:PROCedit
  150IFkey%=ASC("B")THENPROCmssg("BOX"):PROCexpand:PROCdragframe:CALL C%
  160IFkey%=ASC("T")THENPROCmssg("TEXT"):PROCtext
  170IFkey%=ASC("F")THENPROCmssg("FILL"):PROCexpand:PROCclearselect(FNditherbw):CALLC%
  180IFkey%=ASC("S")THENPROCmssg("SAVE"):CALL C%:OSCLI("SAVE $.OUTPUT 3000 +5000 FFE7"):CALL C%
  190IFkey%=ASC("P") ORkey%=135THENCALLC%:PROCmssg("PASTE"):IFFNscanclip<>FALSE THENPROCframe(Y%,Q%,X%,P%):PROCdragframe:PROCloadselect:CALLR%:CALLC%
  200UNTIL0
  210:
  220DEFPROCmssg(M$)
  230REM Saved (8*8)b earlier
  240FORoff%=0 TO (LEN(M$)*8)+15:?(buffer%+off%)=?(&7B10+off%):?(&7B10+off%)=0:NEXT
  250VDU5:MOVE35,56:PRINT;" ";M$;" ";:wait%=INKEY(100)
  260FORoff%=0 TO (LEN(M$)*8)+15:?(&7B10+off%)=?(buffer%+off%):NEXT
  270ENDPROC
  280:
  290DEFPROCcursor
  300FORflash%=0TO3:PROCframe(Y%-3,Y%+3,X%-3,X%+3):wait%=INKEY(50):NEXT
  310ENDPROC
  320:
  330DEFPROCframe(t%,b%,l%,r%)
  340LOCAL X%,Y%,P%,Q%:X%=l%:Y%=t%:REM Frame of size t,b,l,r
  350P%=r%:Q%=t%:CALL H%:X%=r%:Y%=b%:CALL V%:P%=l%:Q%=b%:CALL H%:X%=l%:Y%=t%:CALL V%
  360ENDPROC
  370:
  380DEFPROCexpand
  390*FX12,4
  400LOCALkey%:P%=X%:Q%=Y%:CALL C%:REM Preserve top corner
  410REPEAT
  420key%=INKEY(0):step%=2+(8*ABS(INKEY(-1)))
  430IFkey%=136 ORkey%=137THENPROCframe(Y%,Q%,X%,P%):X%=X%-(step%*(136.5-key%)):CALL R%:PROCframe(Y%,Q%,X%,P%)
  440IFkey%=138 ORkey%=139THENPROCframe(Y%,Q%,X%,P%):Y%=Y%+(step%*(138.5-key%)):CALL R%:PROCframe(Y%,Q%,X%,P%)
  450UNTILkey%=135
  460X%=X%AND&FFFF:Y%=Y%AND&FFFF:P%=P%AND&FFFF:Q%=Q%AND&FFFF
  470IFX%=P% ANDY%=Q% THENPROCmssg("SIZE?"):GOTO410
  480IFX%=P% THENPROCmssg("WIDTH?"):GOTO410
  490IFY%=Q% THENPROCmssg("HEIGHT?"):GOTO410
  500IFX%>P% THENtempX%=P%:P%=X%:X%=tempX%
  510IFY%>Q% THENtempY%=Q%:Q%=Y%:Y%=tempY%:REM Size order
  520*FX12,2
  530ENDPROC
  540:
  550DEFPROCdragframe
  560LOCALkey%:PROCmssg("DRAG")
  570*FX12,4
  580REPEAT
  590key%=INKEY(0):step%=2+(8*ABS(INKEY(-1)))
  600IFkey%=136 ORkey%=137THENPROCframe(Y%,Q%,X%,P%):X%=X%-(step%*(136.5-key%)):P%=P%-(step%*(136.5-key%)):PROCframe(Y%,Q%,X%,P%)
  610IFkey%=138 ORkey%=139THENPROCframe(Y%,Q%,X%,P%):Y%=Y%+(step%*(138.5-key%)):Q%=Q%+(step%*(138.5-key%)):PROCframe(Y%,Q%,X%,P%)
  620UNTILkey%=135
  630*FX12,2
  640ENDPROC
  650:
  660DEFPROCsaveselect
  670PROCframe(Y%,Q%,X%,P%)
  680tempY%=Y%:tempX%=X%:REM We need to modify X and Y
  690F=OPENOUT"$.EDITCLP":PRINT#F,X%,Y%,P%,Q%:REM Now saved in size order
  700FORY%=tempY%TOQ%
  710FORX%=((tempX% DIV8)*8)TO((P% DIV8)*8)STEP8
  720BPUT#F,USR(G%)AND&FF
  730NEXT:NEXT:CLOSE#F
  740X%=tempX%:Y%=tempY%:PROCframe(Y%,Q%,X%,P%)
  750ENDPROC
  760:
  770DEFPROCloadselect
  780PROCframe(Y%,Q%,X%,P%):REM Remove destination box
  790t%=Y%:b%=Q%:l%=X%:r%=P%:REM Keep copy of desired tblr
  800IFFNscanclip=0 THENCALLC%:ENDPROC
  810F=OPENIN"EDITCLP":INPUT#F,X%:INPUT#F,Y%:INPUT#F,P%:INPUT#F,Q%
  820modX%=X% MOD8:divX%=X% DIV8:width%=P%-X%
  830FORY%=t%TOb%
  840FORoff%=0TO((P% DIV8)-divX%):?(row%+off%)=BGET#F:NEXT:REM Load a row into RAM buffer
  850FORoff%=modX%TOwidth%+modX%
  860X%=l%+off%-modX%:IF(USR(T%)AND&1000000)=FALSE THENdata%=USR(G%)AND&FF ELSEGOTO880
  870IFSGN(data%AND(2^(7-(X%MOD8))))<>SGN(?(row%+(off% DIV8))AND(2^(7-(off% MOD8)))) THENCALLC%
  880NEXT:NEXT:X%=l%:Y%=t%:CLOSE#F
  890ENDPROC
  900:
  910DEFPROCclearselect(pattern%)
  920*RENAME $.EDITCLP $.EDITTMP
  930tempY%=Y%:tempX%=X%:REM We need to modify X and Y
  940F=OPENOUT"$.EDITCLP":PRINT#F,X%,Y%,P%,Q%:REM Now saved in size order
  950FORY%=tempY%TOQ%
  960FORX%=((tempX% DIV8)*8)TO((P% DIV8)*8) STEP8
  970BPUT#F,pattern%:NEXT:NEXT
  980Y%=tempY%:X%=tempX%
  990CLOSE#F:PROCloadselect
 1000*DELETE $.EDITCLP
 1010*RENAME $.EDITTMP $.EDITCLP
 1020ENDPROC
 1030:
 1040DEFFNditherbw
 1050LOCALkey%:PROCmssg("CHOOSE B/G/W")
 1060key%=GET AND&DF
 1070IFkey%=ASC"B"THEN=0
 1080IFkey%=ASC"G"THEN=170
 1090IFkey%=ASC"W"THEN=255 ELSEGOTO1050
 1100:
 1110DEFPROCtext
 1120LOCALkey%:X%=X%AND&FFFF:Y%=Y%AND&FFFF
 1130GCOL3,1:P%=(X%/639)*1279:Q%=(Y%/255)*1023:VDU5:MOVEP%,(1023-Q%):line$=""
 1140REPEAT
 1150key%=GET
 1160IFkey%=127 ANDLEN(line$)=0 THENVDU7:GOTO1150
 1170IFkey%=127 ANDLEN(line$)>0 THENMOVEP%,(1023-Q%):PRINTSTRING$(LEN(line$)-1," ");RIGHT$(line$,1);:line$=LEFT$(line$,LEN(line$)-1):MOVEP%+(LEN(line$)*16),(1023-Q%)
 1180IFkey%=13 THENQ%=Q%+32:MOVEP%,(1023-Q%):line$=""
 1190IFkey%>31 ANDkey%<127 ANDLEN(line$)<255 THENPRINTCHR$(key%);:line$=line$+CHR$(key%)
 1200UNTILkey%=135:REM chr135=COPY
 1210ENDPROC
 1220:
 1230DEFPROCedit
 1240IFABS(X%-P%)>39 ORABS(Y%-Q%)>29 THENPROCmssg("TOO BIG"):PROCframe(Y%,Q%,X%,P%):CALL C%:ENDPROC:REM Check size if too big then remove box and return to cursor mode
 1250PROCsaveselect:PROCframe(Y%,Q%,X%,P%):PROCmssg("SAVE ALL"):OSCLI("SAVE $.OUTPUT 3000 +5000 FFE7"):CHAIN"EDITENL"
 1260ENDPROC
 1270:
 1280DEFFNscanclip
 1290F=OPENIN"$.EDITCLP":IFF=0 THENPROCmssg("CANNOT"):CLOSE#F:CALLC%:=F
 1300INPUT#F,X%:INPUT#F,Y%:INPUT#F,P%:INPUT#F,Q%:CLOSE#F:=F

� EditCore V3.05
� Edit (C)1995-1997 SPROW
!�=&2FFF:�buffer% 128:�row% 80
(*FX12,2
2�:�
<"key%=�(0):step%=2+(8*�(�(-1)))
FA�key%=136 �key%=137�� C%:X%=X%-(step%*(136.5-key%)):� R%:� C%
PA�key%=138 �key%=139�� C%:Y%=Y%+(step%*(138.5-key%)):� R%:� C%
Z�key%<136 �key%>139
d$�key%=32��mssg("CURSOR"):�cursor
nkey%=key% �&DF
xq�key%=�("M")��mssg("MOVE"):�expand:�saveselect:�clearselect(0):�frame(Y%,Q%,X%,P%):�dragframe:�loadselect:�C%
�M�key%=�("C")��mssg("COPY"):�expand:�saveselect:�dragframe:�loadselect:�C%
�,�key%=�("E")��mssg("EDIT"):�expand:�edit
�5�key%=�("B")��mssg("BOX"):�expand:�dragframe:� C%
�$�key%=�("T")��mssg("TEXT"):�text
�B�key%=�("F")��mssg("FILL"):�expand:�clearselect(�ditherbw):�C%
�K�key%=�("S")��mssg("SAVE"):� C%:�("SAVE $.OUTPUT 3000 +5000 FFE7"):� C%
�o�key%=�("P") �key%=135��C%:�mssg("PASTE"):�scanclip<>� ��frame(Y%,Q%,X%,P%):�dragframe:�loadselect:�R%:�C%
��0
�:
���mssg(M$)
�� Saved (8*8)b earlier
�J�off%=0 � (�(M$)*8)+15:?(buffer%+off%)=?(&7B10+off%):?(&7B10+off%)=0:�
�(�5:�35,56:�;" ";M$;" ";:wait%=�(100)
:�off%=0 � (�(M$)*8)+15:?(&7B10+off%)=?(buffer%+off%):�
�
:
"��cursor
,9�flash%=0�3:�frame(Y%-3,Y%+3,X%-3,X%+3):wait%=�(50):�
6�
@:
J��frame(t%,b%,l%,r%)
T5� X%,Y%,P%,Q%:X%=l%:Y%=t%:� Frame of size t,b,l,r
^GP%=r%:Q%=t%:� H%:X%=r%:Y%=b%:� V%:P%=l%:Q%=b%:� H%:X%=l%:Y%=t%:� V%
h�
r:
|��expand
�*FX12,4
�0�key%:P%=X%:Q%=Y%:� C%:� Preserve top corner
��
�"key%=�(0):step%=2+(8*�(�(-1)))
�_�key%=136 �key%=137��frame(Y%,Q%,X%,P%):X%=X%-(step%*(136.5-key%)):� R%:�frame(Y%,Q%,X%,P%)
�_�key%=138 �key%=139��frame(Y%,Q%,X%,P%):Y%=Y%+(step%*(138.5-key%)):� R%:�frame(Y%,Q%,X%,P%)
�
�key%=135
�3X%=X%�&FFFF:Y%=Y%�&FFFF:P%=P%�&FFFF:Q%=Q%�&FFFF
�'�X%=P% �Y%=Q% ��mssg("SIZE?"):�tZA
�!�X%=P% ��mssg("WIDTH?"):�tZA
�"�Y%=Q% ��mssg("HEIGHT?"):�tZA
�%�X%>P% �tempX%=P%:P%=X%:X%=tempX%
�2�Y%>Q% �tempY%=Q%:Q%=Y%:Y%=tempY%:� Size order
*FX12,2
�
:
&��dragframe
0�key%:�mssg("DRAG")
:*FX12,4
D�
N"key%=�(0):step%=2+(8*�(�(-1)))
Xu�key%=136 �key%=137��frame(Y%,Q%,X%,P%):X%=X%-(step%*(136.5-key%)):P%=P%-(step%*(136.5-key%)):�frame(Y%,Q%,X%,P%)
bu�key%=138 �key%=139��frame(Y%,Q%,X%,P%):Y%=Y%+(step%*(138.5-key%)):Q%=Q%+(step%*(138.5-key%)):�frame(Y%,Q%,X%,P%)
l
�key%=135
v*FX12,2
��
�:
���saveselect
��frame(Y%,Q%,X%,P%)
�3tempY%=Y%:tempX%=X%:� We need to modify X and Y
�<F=�"$.EDITCLP":�#F,X%,Y%,P%,Q%:� Now saved in size order
��Y%=tempY%�Q%
�%�X%=((tempX% �8)*8)�((P% �8)*8)�8
��#F,�(G%)�&FF
��:�:�#F
�+X%=tempX%:Y%=tempY%:�frame(Y%,Q%,X%,P%)
��
�:
��loadselect
0�frame(Y%,Q%,X%,P%):� Remove destination box
7t%=Y%:b%=Q%:l%=X%:r%=P%:� Keep copy of desired tblr
 �scanclip=0 ��C%:�
*,F=�"EDITCLP":�#F,X%:�#F,Y%:�#F,P%:�#F,Q%
4(modX%=X% �8:divX%=X% �8:width%=P%-X%
>
�Y%=t%�b%
HK�off%=0�((P% �8)-divX%):?(row%+off%)=�#F:�:� Load a row into RAM buffer
R�off%=modX%�width%+modX%
\@X%=l%+off%-modX%:�(�(T%)�&1000000)=� �data%=�(G%)�&FF ��DpC
fI�(data%�(2^(7-(X%�8))))<>�(?(row%+(off% �8))�(2^(7-(off% �8)))) ��C%
p�:�:X%=l%:Y%=t%:�#F
z�
�:
���clearselect(pattern%)
�*RENAME $.EDITCLP $.EDITTMP
�3tempY%=Y%:tempX%=X%:� We need to modify X and Y
�<F=�"$.EDITCLP":�#F,X%,Y%,P%,Q%:� Now saved in size order
��Y%=tempY%�Q%
�&�X%=((tempX% �8)*8)�((P% �8)*8) �8
��#F,pattern%:�:�
�Y%=tempY%:X%=tempX%
��#F:�loadselect
�*DELETE $.EDITCLP
�*RENAME $.EDITTMP $.EDITCLP
��
:
ݤditherbw
�key%:�mssg("CHOOSE B/G/W")
$key%=� �&DF
.�key%=�"B"�=0
8�key%=�"G"�=170
B�key%=�"W"�=255 ��TZD
L:
V
��text
`!�key%:X%=X%�&FFFF:Y%=Y%�&FFFF
jD�3,1:P%=(X%/639)*1279:Q%=(Y%/255)*1023:�5:�P%,(1023-Q%):line$=""
t�
~
key%=�
�#�key%=127 ��(line$)=0 ��7:�D~D
�z�key%=127 ��(line$)>0 ��P%,(1023-Q%):�ĩ(line$)-1," ");�line$,1);:line$=�line$,�(line$)-1):�P%+(�(line$)*16),(1023-Q%)
�-�key%=13 �Q%=Q%+32:�P%,(1023-Q%):line$=""
�C�key%>31 �key%<127 ��(line$)<255 ��(key%);:line$=line$+�(key%)
��key%=135:� chr135=COPY
��
�:
�
��edit
،�(X%-P%)>39 ��(Y%-Q%)>29 ��mssg("TOO BIG"):�frame(Y%,Q%,X%,P%):� C%:�:� Check size if too big then remove box and return to cursor mode
�c�saveselect:�frame(Y%,Q%,X%,P%):�mssg("SAVE ALL"):�("SAVE $.OUTPUT 3000 +5000 FFE7"):�"EDITENL"
��
�:
ݤscanclip

3F=�"$.EDITCLP":�F=0 ��mssg("CANNOT"):�#F:�C%:=F
&�#F,X%:�#F,Y%:�#F,P%:�#F,Q%:�#F:=F
�
00000000  0d 00 0a 14 f4 20 45 64  69 74 43 6f 72 65 20 56  |..... EditCore V|
00000010  33 2e 30 35 0d 00 14 1d  f4 20 45 64 69 74 20 28  |3.05..... Edit (|
00000020  43 29 31 39 39 35 2d 31  39 39 37 20 53 50 52 4f  |C)1995-1997 SPRO|
00000030  57 0d 00 1e 21 d3 3d 26  32 46 46 46 3a de 62 75  |W...!.=&2FFF:.bu|
00000040  66 66 65 72 25 20 31 32  38 3a de 72 6f 77 25 20  |ffer% 128:.row% |
00000050  38 30 0d 00 28 0b 2a 46  58 31 32 2c 32 0d 00 32  |80..(.*FX12,2..2|
00000060  07 f5 3a f5 0d 00 3c 22  6b 65 79 25 3d a6 28 30  |..:...<"key%=.(0|
00000070  29 3a 73 74 65 70 25 3d  32 2b 28 38 2a 94 28 a6  |):step%=2+(8*.(.|
00000080  28 2d 31 29 29 29 0d 00  46 41 e7 6b 65 79 25 3d  |(-1)))..FA.key%=|
00000090  31 33 36 20 84 6b 65 79  25 3d 31 33 37 8c d6 20  |136 .key%=137.. |
000000a0  43 25 3a 58 25 3d 58 25  2d 28 73 74 65 70 25 2a  |C%:X%=X%-(step%*|
000000b0  28 31 33 36 2e 35 2d 6b  65 79 25 29 29 3a d6 20  |(136.5-key%)):. |
000000c0  52 25 3a d6 20 43 25 0d  00 50 41 e7 6b 65 79 25  |R%:. C%..PA.key%|
000000d0  3d 31 33 38 20 84 6b 65  79 25 3d 31 33 39 8c d6  |=138 .key%=139..|
000000e0  20 43 25 3a 59 25 3d 59  25 2b 28 73 74 65 70 25  | C%:Y%=Y%+(step%|
000000f0  2a 28 31 33 38 2e 35 2d  6b 65 79 25 29 29 3a d6  |*(138.5-key%)):.|
00000100  20 52 25 3a d6 20 43 25  0d 00 5a 17 fd 6b 65 79  | R%:. C%..Z..key|
00000110  25 3c 31 33 36 20 84 6b  65 79 25 3e 31 33 39 0d  |%<136 .key%>139.|
00000120  00 64 24 e7 6b 65 79 25  3d 33 32 8c f2 6d 73 73  |.d$.key%=32..mss|
00000130  67 28 22 43 55 52 53 4f  52 22 29 3a f2 63 75 72  |g("CURSOR"):.cur|
00000140  73 6f 72 0d 00 6e 12 6b  65 79 25 3d 6b 65 79 25  |sor..n.key%=key%|
00000150  20 80 26 44 46 0d 00 78  71 e7 6b 65 79 25 3d 97  | .&DF..xq.key%=.|
00000160  28 22 4d 22 29 8c f2 6d  73 73 67 28 22 4d 4f 56  |("M")..mssg("MOV|
00000170  45 22 29 3a f2 65 78 70  61 6e 64 3a f2 73 61 76  |E"):.expand:.sav|
00000180  65 73 65 6c 65 63 74 3a  f2 63 6c 65 61 72 73 65  |eselect:.clearse|
00000190  6c 65 63 74 28 30 29 3a  f2 66 72 61 6d 65 28 59  |lect(0):.frame(Y|
000001a0  25 2c 51 25 2c 58 25 2c  50 25 29 3a f2 64 72 61  |%,Q%,X%,P%):.dra|
000001b0  67 66 72 61 6d 65 3a f2  6c 6f 61 64 73 65 6c 65  |gframe:.loadsele|
000001c0  63 74 3a d6 43 25 0d 00  82 4d e7 6b 65 79 25 3d  |ct:.C%...M.key%=|
000001d0  97 28 22 43 22 29 8c f2  6d 73 73 67 28 22 43 4f  |.("C")..mssg("CO|
000001e0  50 59 22 29 3a f2 65 78  70 61 6e 64 3a f2 73 61  |PY"):.expand:.sa|
000001f0  76 65 73 65 6c 65 63 74  3a f2 64 72 61 67 66 72  |veselect:.dragfr|
00000200  61 6d 65 3a f2 6c 6f 61  64 73 65 6c 65 63 74 3a  |ame:.loadselect:|
00000210  d6 43 25 0d 00 8c 2c e7  6b 65 79 25 3d 97 28 22  |.C%...,.key%=.("|
00000220  45 22 29 8c f2 6d 73 73  67 28 22 45 44 49 54 22  |E")..mssg("EDIT"|
00000230  29 3a f2 65 78 70 61 6e  64 3a f2 65 64 69 74 0d  |):.expand:.edit.|
00000240  00 96 35 e7 6b 65 79 25  3d 97 28 22 42 22 29 8c  |..5.key%=.("B").|
00000250  f2 6d 73 73 67 28 22 42  4f 58 22 29 3a f2 65 78  |.mssg("BOX"):.ex|
00000260  70 61 6e 64 3a f2 64 72  61 67 66 72 61 6d 65 3a  |pand:.dragframe:|
00000270  d6 20 43 25 0d 00 a0 24  e7 6b 65 79 25 3d 97 28  |. C%...$.key%=.(|
00000280  22 54 22 29 8c f2 6d 73  73 67 28 22 54 45 58 54  |"T")..mssg("TEXT|
00000290  22 29 3a f2 74 65 78 74  0d 00 aa 42 e7 6b 65 79  |"):.text...B.key|
000002a0  25 3d 97 28 22 46 22 29  8c f2 6d 73 73 67 28 22  |%=.("F")..mssg("|
000002b0  46 49 4c 4c 22 29 3a f2  65 78 70 61 6e 64 3a f2  |FILL"):.expand:.|
000002c0  63 6c 65 61 72 73 65 6c  65 63 74 28 a4 64 69 74  |clearselect(.dit|
000002d0  68 65 72 62 77 29 3a d6  43 25 0d 00 b4 4b e7 6b  |herbw):.C%...K.k|
000002e0  65 79 25 3d 97 28 22 53  22 29 8c f2 6d 73 73 67  |ey%=.("S")..mssg|
000002f0  28 22 53 41 56 45 22 29  3a d6 20 43 25 3a ff 28  |("SAVE"):. C%:.(|
00000300  22 53 41 56 45 20 24 2e  4f 55 54 50 55 54 20 33  |"SAVE $.OUTPUT 3|
00000310  30 30 30 20 2b 35 30 30  30 20 46 46 45 37 22 29  |000 +5000 FFE7")|
00000320  3a d6 20 43 25 0d 00 be  6f e7 6b 65 79 25 3d 97  |:. C%...o.key%=.|
00000330  28 22 50 22 29 20 84 6b  65 79 25 3d 31 33 35 8c  |("P") .key%=135.|
00000340  d6 43 25 3a f2 6d 73 73  67 28 22 50 41 53 54 45  |.C%:.mssg("PASTE|
00000350  22 29 3a e7 a4 73 63 61  6e 63 6c 69 70 3c 3e a3  |"):..scanclip<>.|
00000360  20 8c f2 66 72 61 6d 65  28 59 25 2c 51 25 2c 58  | ..frame(Y%,Q%,X|
00000370  25 2c 50 25 29 3a f2 64  72 61 67 66 72 61 6d 65  |%,P%):.dragframe|
00000380  3a f2 6c 6f 61 64 73 65  6c 65 63 74 3a d6 52 25  |:.loadselect:.R%|
00000390  3a d6 43 25 0d 00 c8 06  fd 30 0d 00 d2 05 3a 0d  |:.C%.....0....:.|
000003a0  00 dc 0e dd f2 6d 73 73  67 28 4d 24 29 0d 00 e6  |.....mssg(M$)...|
000003b0  1a f4 20 53 61 76 65 64  20 28 38 2a 38 29 62 20  |.. Saved (8*8)b |
000003c0  65 61 72 6c 69 65 72 0d  00 f0 4a e3 6f 66 66 25  |earlier...J.off%|
000003d0  3d 30 20 b8 20 28 a9 28  4d 24 29 2a 38 29 2b 31  |=0 . (.(M$)*8)+1|
000003e0  35 3a 3f 28 62 75 66 66  65 72 25 2b 6f 66 66 25  |5:?(buffer%+off%|
000003f0  29 3d 3f 28 26 37 42 31  30 2b 6f 66 66 25 29 3a  |)=?(&7B10+off%):|
00000400  3f 28 26 37 42 31 30 2b  6f 66 66 25 29 3d 30 3a  |?(&7B10+off%)=0:|
00000410  ed 0d 00 fa 28 ef 35 3a  ec 33 35 2c 35 36 3a f1  |....(.5:.35,56:.|
00000420  3b 22 20 22 3b 4d 24 3b  22 20 22 3b 3a 77 61 69  |;" ";M$;" ";:wai|
00000430  74 25 3d a6 28 31 30 30  29 0d 01 04 3a e3 6f 66  |t%=.(100)...:.of|
00000440  66 25 3d 30 20 b8 20 28  a9 28 4d 24 29 2a 38 29  |f%=0 . (.(M$)*8)|
00000450  2b 31 35 3a 3f 28 26 37  42 31 30 2b 6f 66 66 25  |+15:?(&7B10+off%|
00000460  29 3d 3f 28 62 75 66 66  65 72 25 2b 6f 66 66 25  |)=?(buffer%+off%|
00000470  29 3a ed 0d 01 0e 05 e1  0d 01 18 05 3a 0d 01 22  |):..........:.."|
00000480  0c dd f2 63 75 72 73 6f  72 0d 01 2c 39 e3 66 6c  |...cursor..,9.fl|
00000490  61 73 68 25 3d 30 b8 33  3a f2 66 72 61 6d 65 28  |ash%=0.3:.frame(|
000004a0  59 25 2d 33 2c 59 25 2b  33 2c 58 25 2d 33 2c 58  |Y%-3,Y%+3,X%-3,X|
000004b0  25 2b 33 29 3a 77 61 69  74 25 3d a6 28 35 30 29  |%+3):wait%=.(50)|
000004c0  3a ed 0d 01 36 05 e1 0d  01 40 05 3a 0d 01 4a 18  |:...6....@.:..J.|
000004d0  dd f2 66 72 61 6d 65 28  74 25 2c 62 25 2c 6c 25  |..frame(t%,b%,l%|
000004e0  2c 72 25 29 0d 01 54 35  ea 20 58 25 2c 59 25 2c  |,r%)..T5. X%,Y%,|
000004f0  50 25 2c 51 25 3a 58 25  3d 6c 25 3a 59 25 3d 74  |P%,Q%:X%=l%:Y%=t|
00000500  25 3a f4 20 46 72 61 6d  65 20 6f 66 20 73 69 7a  |%:. Frame of siz|
00000510  65 20 74 2c 62 2c 6c 2c  72 0d 01 5e 47 50 25 3d  |e t,b,l,r..^GP%=|
00000520  72 25 3a 51 25 3d 74 25  3a d6 20 48 25 3a 58 25  |r%:Q%=t%:. H%:X%|
00000530  3d 72 25 3a 59 25 3d 62  25 3a d6 20 56 25 3a 50  |=r%:Y%=b%:. V%:P|
00000540  25 3d 6c 25 3a 51 25 3d  62 25 3a d6 20 48 25 3a  |%=l%:Q%=b%:. H%:|
00000550  58 25 3d 6c 25 3a 59 25  3d 74 25 3a d6 20 56 25  |X%=l%:Y%=t%:. V%|
00000560  0d 01 68 05 e1 0d 01 72  05 3a 0d 01 7c 0c dd f2  |..h....r.:..|...|
00000570  65 78 70 61 6e 64 0d 01  86 0b 2a 46 58 31 32 2c  |expand....*FX12,|
00000580  34 0d 01 90 30 ea 6b 65  79 25 3a 50 25 3d 58 25  |4...0.key%:P%=X%|
00000590  3a 51 25 3d 59 25 3a d6  20 43 25 3a f4 20 50 72  |:Q%=Y%:. C%:. Pr|
000005a0  65 73 65 72 76 65 20 74  6f 70 20 63 6f 72 6e 65  |eserve top corne|
000005b0  72 0d 01 9a 05 f5 0d 01  a4 22 6b 65 79 25 3d a6  |r........"key%=.|
000005c0  28 30 29 3a 73 74 65 70  25 3d 32 2b 28 38 2a 94  |(0):step%=2+(8*.|
000005d0  28 a6 28 2d 31 29 29 29  0d 01 ae 5f e7 6b 65 79  |(.(-1)))..._.key|
000005e0  25 3d 31 33 36 20 84 6b  65 79 25 3d 31 33 37 8c  |%=136 .key%=137.|
000005f0  f2 66 72 61 6d 65 28 59  25 2c 51 25 2c 58 25 2c  |.frame(Y%,Q%,X%,|
00000600  50 25 29 3a 58 25 3d 58  25 2d 28 73 74 65 70 25  |P%):X%=X%-(step%|
00000610  2a 28 31 33 36 2e 35 2d  6b 65 79 25 29 29 3a d6  |*(136.5-key%)):.|
00000620  20 52 25 3a f2 66 72 61  6d 65 28 59 25 2c 51 25  | R%:.frame(Y%,Q%|
00000630  2c 58 25 2c 50 25 29 0d  01 b8 5f e7 6b 65 79 25  |,X%,P%)..._.key%|
00000640  3d 31 33 38 20 84 6b 65  79 25 3d 31 33 39 8c f2  |=138 .key%=139..|
00000650  66 72 61 6d 65 28 59 25  2c 51 25 2c 58 25 2c 50  |frame(Y%,Q%,X%,P|
00000660  25 29 3a 59 25 3d 59 25  2b 28 73 74 65 70 25 2a  |%):Y%=Y%+(step%*|
00000670  28 31 33 38 2e 35 2d 6b  65 79 25 29 29 3a d6 20  |(138.5-key%)):. |
00000680  52 25 3a f2 66 72 61 6d  65 28 59 25 2c 51 25 2c  |R%:.frame(Y%,Q%,|
00000690  58 25 2c 50 25 29 0d 01  c2 0d fd 6b 65 79 25 3d  |X%,P%).....key%=|
000006a0  31 33 35 0d 01 cc 33 58  25 3d 58 25 80 26 46 46  |135...3X%=X%.&FF|
000006b0  46 46 3a 59 25 3d 59 25  80 26 46 46 46 46 3a 50  |FF:Y%=Y%.&FFFF:P|
000006c0  25 3d 50 25 80 26 46 46  46 46 3a 51 25 3d 51 25  |%=P%.&FFFF:Q%=Q%|
000006d0  80 26 46 46 46 46 0d 01  d6 27 e7 58 25 3d 50 25  |.&FFFF...'.X%=P%|
000006e0  20 80 59 25 3d 51 25 20  8c f2 6d 73 73 67 28 22  | .Y%=Q% ..mssg("|
000006f0  53 49 5a 45 3f 22 29 3a  e5 8d 74 5a 41 0d 01 e0  |SIZE?"):..tZA...|
00000700  21 e7 58 25 3d 50 25 20  8c f2 6d 73 73 67 28 22  |!.X%=P% ..mssg("|
00000710  57 49 44 54 48 3f 22 29  3a e5 8d 74 5a 41 0d 01  |WIDTH?"):..tZA..|
00000720  ea 22 e7 59 25 3d 51 25  20 8c f2 6d 73 73 67 28  |.".Y%=Q% ..mssg(|
00000730  22 48 45 49 47 48 54 3f  22 29 3a e5 8d 74 5a 41  |"HEIGHT?"):..tZA|
00000740  0d 01 f4 25 e7 58 25 3e  50 25 20 8c 74 65 6d 70  |...%.X%>P% .temp|
00000750  58 25 3d 50 25 3a 50 25  3d 58 25 3a 58 25 3d 74  |X%=P%:P%=X%:X%=t|
00000760  65 6d 70 58 25 0d 01 fe  32 e7 59 25 3e 51 25 20  |empX%...2.Y%>Q% |
00000770  8c 74 65 6d 70 59 25 3d  51 25 3a 51 25 3d 59 25  |.tempY%=Q%:Q%=Y%|
00000780  3a 59 25 3d 74 65 6d 70  59 25 3a f4 20 53 69 7a  |:Y%=tempY%:. Siz|
00000790  65 20 6f 72 64 65 72 0d  02 08 0b 2a 46 58 31 32  |e order....*FX12|
000007a0  2c 32 0d 02 12 05 e1 0d  02 1c 05 3a 0d 02 26 0f  |,2.........:..&.|
000007b0  dd f2 64 72 61 67 66 72  61 6d 65 0d 02 30 17 ea  |..dragframe..0..|
000007c0  6b 65 79 25 3a f2 6d 73  73 67 28 22 44 52 41 47  |key%:.mssg("DRAG|
000007d0  22 29 0d 02 3a 0b 2a 46  58 31 32 2c 34 0d 02 44  |")..:.*FX12,4..D|
000007e0  05 f5 0d 02 4e 22 6b 65  79 25 3d a6 28 30 29 3a  |....N"key%=.(0):|
000007f0  73 74 65 70 25 3d 32 2b  28 38 2a 94 28 a6 28 2d  |step%=2+(8*.(.(-|
00000800  31 29 29 29 0d 02 58 75  e7 6b 65 79 25 3d 31 33  |1)))..Xu.key%=13|
00000810  36 20 84 6b 65 79 25 3d  31 33 37 8c f2 66 72 61  |6 .key%=137..fra|
00000820  6d 65 28 59 25 2c 51 25  2c 58 25 2c 50 25 29 3a  |me(Y%,Q%,X%,P%):|
00000830  58 25 3d 58 25 2d 28 73  74 65 70 25 2a 28 31 33  |X%=X%-(step%*(13|
00000840  36 2e 35 2d 6b 65 79 25  29 29 3a 50 25 3d 50 25  |6.5-key%)):P%=P%|
00000850  2d 28 73 74 65 70 25 2a  28 31 33 36 2e 35 2d 6b  |-(step%*(136.5-k|
00000860  65 79 25 29 29 3a f2 66  72 61 6d 65 28 59 25 2c  |ey%)):.frame(Y%,|
00000870  51 25 2c 58 25 2c 50 25  29 0d 02 62 75 e7 6b 65  |Q%,X%,P%)..bu.ke|
00000880  79 25 3d 31 33 38 20 84  6b 65 79 25 3d 31 33 39  |y%=138 .key%=139|
00000890  8c f2 66 72 61 6d 65 28  59 25 2c 51 25 2c 58 25  |..frame(Y%,Q%,X%|
000008a0  2c 50 25 29 3a 59 25 3d  59 25 2b 28 73 74 65 70  |,P%):Y%=Y%+(step|
000008b0  25 2a 28 31 33 38 2e 35  2d 6b 65 79 25 29 29 3a  |%*(138.5-key%)):|
000008c0  51 25 3d 51 25 2b 28 73  74 65 70 25 2a 28 31 33  |Q%=Q%+(step%*(13|
000008d0  38 2e 35 2d 6b 65 79 25  29 29 3a f2 66 72 61 6d  |8.5-key%)):.fram|
000008e0  65 28 59 25 2c 51 25 2c  58 25 2c 50 25 29 0d 02  |e(Y%,Q%,X%,P%)..|
000008f0  6c 0d fd 6b 65 79 25 3d  31 33 35 0d 02 76 0b 2a  |l..key%=135..v.*|
00000900  46 58 31 32 2c 32 0d 02  80 05 e1 0d 02 8a 05 3a  |FX12,2.........:|
00000910  0d 02 94 10 dd f2 73 61  76 65 73 65 6c 65 63 74  |......saveselect|
00000920  0d 02 9e 17 f2 66 72 61  6d 65 28 59 25 2c 51 25  |.....frame(Y%,Q%|
00000930  2c 58 25 2c 50 25 29 0d  02 a8 33 74 65 6d 70 59  |,X%,P%)...3tempY|
00000940  25 3d 59 25 3a 74 65 6d  70 58 25 3d 58 25 3a f4  |%=Y%:tempX%=X%:.|
00000950  20 57 65 20 6e 65 65 64  20 74 6f 20 6d 6f 64 69  | We need to modi|
00000960  66 79 20 58 20 61 6e 64  20 59 0d 02 b2 3c 46 3d  |fy X and Y...<F=|
00000970  ae 22 24 2e 45 44 49 54  43 4c 50 22 3a f1 23 46  |."$.EDITCLP":.#F|
00000980  2c 58 25 2c 59 25 2c 50  25 2c 51 25 3a f4 20 4e  |,X%,Y%,P%,Q%:. N|
00000990  6f 77 20 73 61 76 65 64  20 69 6e 20 73 69 7a 65  |ow saved in size|
000009a0  20 6f 72 64 65 72 0d 02  bc 11 e3 59 25 3d 74 65  | order.....Y%=te|
000009b0  6d 70 59 25 b8 51 25 0d  02 c6 25 e3 58 25 3d 28  |mpY%.Q%...%.X%=(|
000009c0  28 74 65 6d 70 58 25 20  81 38 29 2a 38 29 b8 28  |(tempX% .8)*8).(|
000009d0  28 50 25 20 81 38 29 2a  38 29 88 38 0d 02 d0 11  |(P% .8)*8).8....|
000009e0  d5 23 46 2c ba 28 47 25  29 80 26 46 46 0d 02 da  |.#F,.(G%).&FF...|
000009f0  0b ed 3a ed 3a d9 23 46  0d 02 e4 2b 58 25 3d 74  |..:.:.#F...+X%=t|
00000a00  65 6d 70 58 25 3a 59 25  3d 74 65 6d 70 59 25 3a  |empX%:Y%=tempY%:|
00000a10  f2 66 72 61 6d 65 28 59  25 2c 51 25 2c 58 25 2c  |.frame(Y%,Q%,X%,|
00000a20  50 25 29 0d 02 ee 05 e1  0d 02 f8 05 3a 0d 03 02  |P%).........:...|
00000a30  10 dd f2 6c 6f 61 64 73  65 6c 65 63 74 0d 03 0c  |...loadselect...|
00000a40  30 f2 66 72 61 6d 65 28  59 25 2c 51 25 2c 58 25  |0.frame(Y%,Q%,X%|
00000a50  2c 50 25 29 3a f4 20 52  65 6d 6f 76 65 20 64 65  |,P%):. Remove de|
00000a60  73 74 69 6e 61 74 69 6f  6e 20 62 6f 78 0d 03 16  |stination box...|
00000a70  37 74 25 3d 59 25 3a 62  25 3d 51 25 3a 6c 25 3d  |7t%=Y%:b%=Q%:l%=|
00000a80  58 25 3a 72 25 3d 50 25  3a f4 20 4b 65 65 70 20  |X%:r%=P%:. Keep |
00000a90  63 6f 70 79 20 6f 66 20  64 65 73 69 72 65 64 20  |copy of desired |
00000aa0  74 62 6c 72 0d 03 20 17  e7 a4 73 63 61 6e 63 6c  |tblr.. ...scancl|
00000ab0  69 70 3d 30 20 8c d6 43  25 3a e1 0d 03 2a 2c 46  |ip=0 ..C%:...*,F|
00000ac0  3d 8e 22 45 44 49 54 43  4c 50 22 3a e8 23 46 2c  |=."EDITCLP":.#F,|
00000ad0  58 25 3a e8 23 46 2c 59  25 3a e8 23 46 2c 50 25  |X%:.#F,Y%:.#F,P%|
00000ae0  3a e8 23 46 2c 51 25 0d  03 34 28 6d 6f 64 58 25  |:.#F,Q%..4(modX%|
00000af0  3d 58 25 20 83 38 3a 64  69 76 58 25 3d 58 25 20  |=X% .8:divX%=X% |
00000b00  81 38 3a 77 69 64 74 68  25 3d 50 25 2d 58 25 0d  |.8:width%=P%-X%.|
00000b10  03 3e 0d e3 59 25 3d 74  25 b8 62 25 0d 03 48 4b  |.>..Y%=t%.b%..HK|
00000b20  e3 6f 66 66 25 3d 30 b8  28 28 50 25 20 81 38 29  |.off%=0.((P% .8)|
00000b30  2d 64 69 76 58 25 29 3a  3f 28 72 6f 77 25 2b 6f  |-divX%):?(row%+o|
00000b40  66 66 25 29 3d 9a 23 46  3a ed 3a f4 20 4c 6f 61  |ff%)=.#F:.:. Loa|
00000b50  64 20 61 20 72 6f 77 20  69 6e 74 6f 20 52 41 4d  |d a row into RAM|
00000b60  20 62 75 66 66 65 72 0d  03 52 1c e3 6f 66 66 25  | buffer..R..off%|
00000b70  3d 6d 6f 64 58 25 b8 77  69 64 74 68 25 2b 6d 6f  |=modX%.width%+mo|
00000b80  64 58 25 0d 03 5c 40 58  25 3d 6c 25 2b 6f 66 66  |dX%..\@X%=l%+off|
00000b90  25 2d 6d 6f 64 58 25 3a  e7 28 ba 28 54 25 29 80  |%-modX%:.(.(T%).|
00000ba0  26 31 30 30 30 30 30 30  29 3d a3 20 8c 64 61 74  |&1000000)=. .dat|
00000bb0  61 25 3d ba 28 47 25 29  80 26 46 46 20 8b e5 8d  |a%=.(G%).&FF ...|
00000bc0  44 70 43 0d 03 66 49 e7  b4 28 64 61 74 61 25 80  |DpC..fI..(data%.|
00000bd0  28 32 5e 28 37 2d 28 58  25 83 38 29 29 29 29 3c  |(2^(7-(X%.8))))<|
00000be0  3e b4 28 3f 28 72 6f 77  25 2b 28 6f 66 66 25 20  |>.(?(row%+(off% |
00000bf0  81 38 29 29 80 28 32 5e  28 37 2d 28 6f 66 66 25  |.8)).(2^(7-(off%|
00000c00  20 83 38 29 29 29 29 20  8c d6 43 25 0d 03 70 17  | .8)))) ..C%..p.|
00000c10  ed 3a ed 3a 58 25 3d 6c  25 3a 59 25 3d 74 25 3a  |.:.:X%=l%:Y%=t%:|
00000c20  d9 23 46 0d 03 7a 05 e1  0d 03 84 05 3a 0d 03 8e  |.#F..z......:...|
00000c30  1b dd f2 63 6c 65 61 72  73 65 6c 65 63 74 28 70  |...clearselect(p|
00000c40  61 74 74 65 72 6e 25 29  0d 03 98 1f 2a 52 45 4e  |attern%)....*REN|
00000c50  41 4d 45 20 24 2e 45 44  49 54 43 4c 50 20 24 2e  |AME $.EDITCLP $.|
00000c60  45 44 49 54 54 4d 50 0d  03 a2 33 74 65 6d 70 59  |EDITTMP...3tempY|
00000c70  25 3d 59 25 3a 74 65 6d  70 58 25 3d 58 25 3a f4  |%=Y%:tempX%=X%:.|
00000c80  20 57 65 20 6e 65 65 64  20 74 6f 20 6d 6f 64 69  | We need to modi|
00000c90  66 79 20 58 20 61 6e 64  20 59 0d 03 ac 3c 46 3d  |fy X and Y...<F=|
00000ca0  ae 22 24 2e 45 44 49 54  43 4c 50 22 3a f1 23 46  |."$.EDITCLP":.#F|
00000cb0  2c 58 25 2c 59 25 2c 50  25 2c 51 25 3a f4 20 4e  |,X%,Y%,P%,Q%:. N|
00000cc0  6f 77 20 73 61 76 65 64  20 69 6e 20 73 69 7a 65  |ow saved in size|
00000cd0  20 6f 72 64 65 72 0d 03  b6 11 e3 59 25 3d 74 65  | order.....Y%=te|
00000ce0  6d 70 59 25 b8 51 25 0d  03 c0 26 e3 58 25 3d 28  |mpY%.Q%...&.X%=(|
00000cf0  28 74 65 6d 70 58 25 20  81 38 29 2a 38 29 b8 28  |(tempX% .8)*8).(|
00000d00  28 50 25 20 81 38 29 2a  38 29 20 88 38 0d 03 ca  |(P% .8)*8) .8...|
00000d10  14 d5 23 46 2c 70 61 74  74 65 72 6e 25 3a ed 3a  |..#F,pattern%:.:|
00000d20  ed 0d 03 d4 17 59 25 3d  74 65 6d 70 59 25 3a 58  |.....Y%=tempY%:X|
00000d30  25 3d 74 65 6d 70 58 25  0d 03 de 13 d9 23 46 3a  |%=tempX%.....#F:|
00000d40  f2 6c 6f 61 64 73 65 6c  65 63 74 0d 03 e8 15 2a  |.loadselect....*|
00000d50  44 45 4c 45 54 45 20 24  2e 45 44 49 54 43 4c 50  |DELETE $.EDITCLP|
00000d60  0d 03 f2 1f 2a 52 45 4e  41 4d 45 20 24 2e 45 44  |....*RENAME $.ED|
00000d70  49 54 54 4d 50 20 24 2e  45 44 49 54 43 4c 50 0d  |ITTMP $.EDITCLP.|
00000d80  03 fc 05 e1 0d 04 06 05  3a 0d 04 10 0e dd a4 64  |........:......d|
00000d90  69 74 68 65 72 62 77 0d  04 1a 1f ea 6b 65 79 25  |itherbw.....key%|
00000da0  3a f2 6d 73 73 67 28 22  43 48 4f 4f 53 45 20 42  |:.mssg("CHOOSE B|
00000db0  2f 47 2f 57 22 29 0d 04  24 0f 6b 65 79 25 3d a5  |/G/W")..$.key%=.|
00000dc0  20 80 26 44 46 0d 04 2e  11 e7 6b 65 79 25 3d 97  | .&DF.....key%=.|
00000dd0  22 42 22 8c 3d 30 0d 04  38 13 e7 6b 65 79 25 3d  |"B".=0..8..key%=|
00000de0  97 22 47 22 8c 3d 31 37  30 0d 04 42 1a e7 6b 65  |."G".=170..B..ke|
00000df0  79 25 3d 97 22 57 22 8c  3d 32 35 35 20 8b e5 8d  |y%=."W".=255 ...|
00000e00  54 5a 44 0d 04 4c 05 3a  0d 04 56 0a dd f2 74 65  |TZD..L.:..V...te|
00000e10  78 74 0d 04 60 21 ea 6b  65 79 25 3a 58 25 3d 58  |xt..`!.key%:X%=X|
00000e20  25 80 26 46 46 46 46 3a  59 25 3d 59 25 80 26 46  |%.&FFFF:Y%=Y%.&F|
00000e30  46 46 46 0d 04 6a 44 e6  33 2c 31 3a 50 25 3d 28  |FFF..jD.3,1:P%=(|
00000e40  58 25 2f 36 33 39 29 2a  31 32 37 39 3a 51 25 3d  |X%/639)*1279:Q%=|
00000e50  28 59 25 2f 32 35 35 29  2a 31 30 32 33 3a ef 35  |(Y%/255)*1023:.5|
00000e60  3a ec 50 25 2c 28 31 30  32 33 2d 51 25 29 3a 6c  |:.P%,(1023-Q%):l|
00000e70  69 6e 65 24 3d 22 22 0d  04 74 05 f5 0d 04 7e 0a  |ine$=""..t....~.|
00000e80  6b 65 79 25 3d a5 0d 04  88 23 e7 6b 65 79 25 3d  |key%=....#.key%=|
00000e90  31 32 37 20 80 a9 28 6c  69 6e 65 24 29 3d 30 20  |127 ..(line$)=0 |
00000ea0  8c ef 37 3a e5 8d 44 7e  44 0d 04 92 7a e7 6b 65  |..7:..D~D...z.ke|
00000eb0  79 25 3d 31 32 37 20 80  a9 28 6c 69 6e 65 24 29  |y%=127 ..(line$)|
00000ec0  3e 30 20 8c ec 50 25 2c  28 31 30 32 33 2d 51 25  |>0 ..P%,(1023-Q%|
00000ed0  29 3a f1 c4 a9 28 6c 69  6e 65 24 29 2d 31 2c 22  |):...(line$)-1,"|
00000ee0  20 22 29 3b c2 6c 69 6e  65 24 2c 31 29 3b 3a 6c  | ");.line$,1);:l|
00000ef0  69 6e 65 24 3d c0 6c 69  6e 65 24 2c a9 28 6c 69  |ine$=.line$,.(li|
00000f00  6e 65 24 29 2d 31 29 3a  ec 50 25 2b 28 a9 28 6c  |ne$)-1):.P%+(.(l|
00000f10  69 6e 65 24 29 2a 31 36  29 2c 28 31 30 32 33 2d  |ine$)*16),(1023-|
00000f20  51 25 29 0d 04 9c 2d e7  6b 65 79 25 3d 31 33 20  |Q%)...-.key%=13 |
00000f30  8c 51 25 3d 51 25 2b 33  32 3a ec 50 25 2c 28 31  |.Q%=Q%+32:.P%,(1|
00000f40  30 32 33 2d 51 25 29 3a  6c 69 6e 65 24 3d 22 22  |023-Q%):line$=""|
00000f50  0d 04 a6 43 e7 6b 65 79  25 3e 33 31 20 80 6b 65  |...C.key%>31 .ke|
00000f60  79 25 3c 31 32 37 20 80  a9 28 6c 69 6e 65 24 29  |y%<127 ..(line$)|
00000f70  3c 32 35 35 20 8c f1 bd  28 6b 65 79 25 29 3b 3a  |<255 ...(key%);:|
00000f80  6c 69 6e 65 24 3d 6c 69  6e 65 24 2b bd 28 6b 65  |line$=line$+.(ke|
00000f90  79 25 29 0d 04 b0 1b fd  6b 65 79 25 3d 31 33 35  |y%).....key%=135|
00000fa0  3a f4 20 63 68 72 31 33  35 3d 43 4f 50 59 0d 04  |:. chr135=COPY..|
00000fb0  ba 05 e1 0d 04 c4 05 3a  0d 04 ce 0a dd f2 65 64  |.......:......ed|
00000fc0  69 74 0d 04 d8 8c e7 94  28 58 25 2d 50 25 29 3e  |it......(X%-P%)>|
00000fd0  33 39 20 84 94 28 59 25  2d 51 25 29 3e 32 39 20  |39 ..(Y%-Q%)>29 |
00000fe0  8c f2 6d 73 73 67 28 22  54 4f 4f 20 42 49 47 22  |..mssg("TOO BIG"|
00000ff0  29 3a f2 66 72 61 6d 65  28 59 25 2c 51 25 2c 58  |):.frame(Y%,Q%,X|
00001000  25 2c 50 25 29 3a d6 20  43 25 3a e1 3a f4 20 43  |%,P%):. C%:.:. C|
00001010  68 65 63 6b 20 73 69 7a  65 20 69 66 20 74 6f 6f  |heck size if too|
00001020  20 62 69 67 20 74 68 65  6e 20 72 65 6d 6f 76 65  | big then remove|
00001030  20 62 6f 78 20 61 6e 64  20 72 65 74 75 72 6e 20  | box and return |
00001040  74 6f 20 63 75 72 73 6f  72 20 6d 6f 64 65 0d 04  |to cursor mode..|
00001050  e2 63 f2 73 61 76 65 73  65 6c 65 63 74 3a f2 66  |.c.saveselect:.f|
00001060  72 61 6d 65 28 59 25 2c  51 25 2c 58 25 2c 50 25  |rame(Y%,Q%,X%,P%|
00001070  29 3a f2 6d 73 73 67 28  22 53 41 56 45 20 41 4c  |):.mssg("SAVE AL|
00001080  4c 22 29 3a ff 28 22 53  41 56 45 20 24 2e 4f 55  |L"):.("SAVE $.OU|
00001090  54 50 55 54 20 33 30 30  30 20 2b 35 30 30 30 20  |TPUT 3000 +5000 |
000010a0  46 46 45 37 22 29 3a d7  22 45 44 49 54 45 4e 4c  |FFE7"):."EDITENL|
000010b0  22 0d 04 ec 05 e1 0d 04  f6 05 3a 0d 05 00 0e dd  |".........:.....|
000010c0  a4 73 63 61 6e 63 6c 69  70 0d 05 0a 33 46 3d 8e  |.scanclip...3F=.|
000010d0  22 24 2e 45 44 49 54 43  4c 50 22 3a e7 46 3d 30  |"$.EDITCLP":.F=0|
000010e0  20 8c f2 6d 73 73 67 28  22 43 41 4e 4e 4f 54 22  | ..mssg("CANNOT"|
000010f0  29 3a d9 23 46 3a d6 43  25 3a 3d 46 0d 05 14 26  |):.#F:.C%:=F...&|
00001100  e8 23 46 2c 58 25 3a e8  23 46 2c 59 25 3a e8 23  |.#F,X%:.#F,Y%:.#|
00001110  46 2c 50 25 3a e8 23 46  2c 51 25 3a d9 23 46 3a  |F,P%:.#F,Q%:.#F:|
00001120  3d 46 0d ff                                       |=F..|
00001124
P/EDITCRE.m0
P/EDITCRE.m1
P/EDITCRE.m2
P/EDITCRE.m4
P/EDITCRE.m5