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

P/EDITENL

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/EDITENL
Read OK:
File size: 0755 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM Editenlarged V2.10
   20REM Edit (C)1995-1997 SPROW
   30F=OPENIN"$.EDITCLP":INPUT#F,X%:INPUT#F,Y%:INPUT#F,P%:INPUT#F,Q%
   40REM Get top left x,y and bottom right x,y from file
   50MODE5:VDU23,0,10,12,0,0,0,0,0,0:REM Himem=&5800 now
   60posx%=0:posy%=0:width%=P%-X%:height%=Q%-Y%
   70FORY=Y%TOQ%
   80posy%=Y-Y%:posx%=-1
   90FORX=((X% DIV8)*8)TO((P% DIV8)*8)STEP8
  100data%=BGET#F
  110FORbit%=7TO0STEP-1
  120posx%=posx%+1
  130IFposx%<(X% MOD8) THENGOTO180:REM Caters for pixels to the left of X%
  140IFposx%>((X% MOD8)+width%) THENGOTO180:REM Caters for pixels to the right of P%
  150result%=data% AND(2^bit%)
  160offset%=posx%-(X% MOD8)
  170FORpoke%=(&5800+(posy%*&140)+(offset%*8))TO(&5800+(posy%*&140)+(offset%*8)+7)STEP4:!poke%=SGN(result%)*&FFFFFFFF:NEXT
  180NEXT:NEXT:NEXT
  190CLOSE#F
  200REM Editor from now on
  210*FX4,1
  220posx%=0:posy%=0:PRINTTAB(0,31);"Editing (0,0)";:REM Setup topleft
  230REPEAT
  240key%=GET
  250IFkey%=136 ORkey%=137 THENposx%=posx%-(2*(136.5-key%))
  260IFkey%=138 ORkey%=139 THENposy%=posy%+(2*(138.5-key%))
  270IFposx%>width% THENposx%=width%
  280IFposx%<0 THENposx%=0
  290IFposy%>height% THENposy%=height%
  300IFposy%<0 THENposy%=0
  310PRINTTAB(0,31);"Editing (";posx%;",";posy%;")  ";
  320IFkey%=9 THENFORpoke%=(&5800+(posy%*&140)+(posx%*8))TO(&5800+(posy%*&140)+(posx%*8)+7)STEP4:!poke%=!poke% EOR&FFFFFFFF:NEXT
  330UNTILkey%=135:REM Press copy to save
  340PRINTTAB(0,31);"Saving to clipboard";
  350F=OPENOUT"$.EDITCLP":PRINT#F,X%,Y%,P%,Q%
  360FORY=Y%TOQ%
  370posy%=Y-Y%:posx%=-1
  380FORX=((X% DIV8)*8)TO((P% DIV8)*8)STEP8
  390data%=0
  400FORbit%=7TO0STEP-1
  410posx%=posx%+1
  420IFposx%<(X% MOD8) THENGOTO470:REM Caters for pixels to the left of X%
  430IFposx%>((X% MOD8)+width%) THENGOTO470:REM Caters for pixels to the right of P%
  440offset%=posx%-(X% MOD8)
  450result%=?(&5800+(posy%*&140)+(offset%*8))
  460data%=data% OR(SGN(result%)*(2^bit%))
  470NEXT:BPUT#F,data%:NEXT:NEXT
  480CLOSE#F
  490PRINTTAB(0,31);"Reloading original ";:key%=INKEY(150)
  500MODE0:OSCLI("LOAD $.OUTPUT 3000"):?&3000=?&3000 EOR128:X%=0:Y%=0:OSCLI("FX138,0,80"):CHAIN"EDITCRE"
  510REM That loads in the piccy,puts the pointer at TLHC,stuffs the keyboard with 'P' and then runs the editor

� Editenlarged V2.10
� Edit (C)1995-1997 SPROW
.F=�"$.EDITCLP":�#F,X%:�#F,Y%:�#F,P%:�#F,Q%
(5� Get top left x,y and bottom right x,y from file
20�5:�23,0,10,12,0,0,0,0,0,0:� Himem=&5800 now
<.posx%=0:posy%=0:width%=P%-X%:height%=Q%-Y%
F�Y=Y%�Q%
Pposy%=Y-Y%:posx%=-1
Z �X=((X% �8)*8)�((P% �8)*8)�8
d
data%=�#F
n�bit%=7�0�-1
xposx%=posx%+1
�?�posx%<(X% �8) ��tt@:� Caters for pixels to the left of X%
�I�posx%>((X% �8)+width%) ��tt@:� Caters for pixels to the right of P%
�result%=data% �(2^bit%)
�offset%=posx%-(X% �8)
�n�poke%=(&5800+(posy%*&140)+(offset%*8))�(&5800+(posy%*&140)+(offset%*8)+7)�4:!poke%=�(result%)*&FFFFFFFF:�
�	�:�:�
��#F
�� Editor from now on
�
*FX4,1
�<posx%=0:posy%=0:�0,31);"Editing (0,0)";:� Setup topleft
��
�
key%=�
�5�key%=136 �key%=137 �posx%=posx%-(2*(136.5-key%))
5�key%=138 �key%=139 �posy%=posy%+(2*(138.5-key%))
�posx%>width% �posx%=width%
�posx%<0 �posx%=0
"!�posy%>height% �posy%=height%
,�posy%<0 �posy%=0
6.�0,31);"Editing (";posx%;",";posy%;")  ";
@p�key%=9 ��poke%=(&5800+(posy%*&140)+(posx%*8))�(&5800+(posy%*&140)+(posx%*8)+7)�4:!poke%=!poke% �&FFFFFFFF:�
J"�key%=135:� Press copy to save
T"�0,31);"Saving to clipboard";
^"F=�"$.EDITCLP":�#F,X%,Y%,P%,Q%
h�Y=Y%�Q%
rposy%=Y-Y%:posx%=-1
| �X=((X% �8)*8)�((P% �8)*8)�8
�data%=0
��bit%=7�0�-1
�posx%=posx%+1
�?�posx%<(X% �8) ��dVA:� Caters for pixels to the left of X%
�I�posx%>((X% �8)+width%) ��dVA:� Caters for pixels to the right of P%
�offset%=posx%-(X% �8)
�-result%=?(&5800+(posy%*&140)+(offset%*8))
�&data%=data% �(�(result%)*(2^bit%))
��:�#F,data%:�:�
��#F
�.�0,31);"Reloading original ";:key%=�(150)
�V�0:�("LOAD $.OUTPUT 3000"):?&3000=?&3000 �128:X%=0:Y%=0:�("FX138,0,80"):�"EDITCRE"
�l� That loads in the piccy,puts the pointer at TLHC,stuffs the keyboard with 'P' and then runs the editor
�
00000000  0d 00 0a 18 f4 20 45 64  69 74 65 6e 6c 61 72 67  |..... Editenlarg|
00000010  65 64 20 56 32 2e 31 30  0d 00 14 1d f4 20 45 64  |ed V2.10..... Ed|
00000020  69 74 20 28 43 29 31 39  39 35 2d 31 39 39 37 20  |it (C)1995-1997 |
00000030  53 50 52 4f 57 0d 00 1e  2e 46 3d 8e 22 24 2e 45  |SPROW....F=."$.E|
00000040  44 49 54 43 4c 50 22 3a  e8 23 46 2c 58 25 3a e8  |DITCLP":.#F,X%:.|
00000050  23 46 2c 59 25 3a e8 23  46 2c 50 25 3a e8 23 46  |#F,Y%:.#F,P%:.#F|
00000060  2c 51 25 0d 00 28 35 f4  20 47 65 74 20 74 6f 70  |,Q%..(5. Get top|
00000070  20 6c 65 66 74 20 78 2c  79 20 61 6e 64 20 62 6f  | left x,y and bo|
00000080  74 74 6f 6d 20 72 69 67  68 74 20 78 2c 79 20 66  |ttom right x,y f|
00000090  72 6f 6d 20 66 69 6c 65  0d 00 32 30 eb 35 3a ef  |rom file..20.5:.|
000000a0  32 33 2c 30 2c 31 30 2c  31 32 2c 30 2c 30 2c 30  |23,0,10,12,0,0,0|
000000b0  2c 30 2c 30 2c 30 3a f4  20 48 69 6d 65 6d 3d 26  |,0,0,0:. Himem=&|
000000c0  35 38 30 30 20 6e 6f 77  0d 00 3c 2e 70 6f 73 78  |5800 now..<.posx|
000000d0  25 3d 30 3a 70 6f 73 79  25 3d 30 3a 77 69 64 74  |%=0:posy%=0:widt|
000000e0  68 25 3d 50 25 2d 58 25  3a 68 65 69 67 68 74 25  |h%=P%-X%:height%|
000000f0  3d 51 25 2d 59 25 0d 00  46 0c e3 59 3d 59 25 b8  |=Q%-Y%..F..Y=Y%.|
00000100  51 25 0d 00 50 17 70 6f  73 79 25 3d 59 2d 59 25  |Q%..P.posy%=Y-Y%|
00000110  3a 70 6f 73 78 25 3d 2d  31 0d 00 5a 20 e3 58 3d  |:posx%=-1..Z .X=|
00000120  28 28 58 25 20 81 38 29  2a 38 29 b8 28 28 50 25  |((X% .8)*8).((P%|
00000130  20 81 38 29 2a 38 29 88  38 0d 00 64 0d 64 61 74  | .8)*8).8..d.dat|
00000140  61 25 3d 9a 23 46 0d 00  6e 10 e3 62 69 74 25 3d  |a%=.#F..n..bit%=|
00000150  37 b8 30 88 2d 31 0d 00  78 11 70 6f 73 78 25 3d  |7.0.-1..x.posx%=|
00000160  70 6f 73 78 25 2b 31 0d  00 82 3f e7 70 6f 73 78  |posx%+1...?.posx|
00000170  25 3c 28 58 25 20 83 38  29 20 8c e5 8d 74 74 40  |%<(X% .8) ...tt@|
00000180  3a f4 20 43 61 74 65 72  73 20 66 6f 72 20 70 69  |:. Caters for pi|
00000190  78 65 6c 73 20 74 6f 20  74 68 65 20 6c 65 66 74  |xels to the left|
000001a0  20 6f 66 20 58 25 0d 00  8c 49 e7 70 6f 73 78 25  | of X%...I.posx%|
000001b0  3e 28 28 58 25 20 83 38  29 2b 77 69 64 74 68 25  |>((X% .8)+width%|
000001c0  29 20 8c e5 8d 74 74 40  3a f4 20 43 61 74 65 72  |) ...tt@:. Cater|
000001d0  73 20 66 6f 72 20 70 69  78 65 6c 73 20 74 6f 20  |s for pixels to |
000001e0  74 68 65 20 72 69 67 68  74 20 6f 66 20 50 25 0d  |the right of P%.|
000001f0  00 96 1b 72 65 73 75 6c  74 25 3d 64 61 74 61 25  |...result%=data%|
00000200  20 80 28 32 5e 62 69 74  25 29 0d 00 a0 19 6f 66  | .(2^bit%)....of|
00000210  66 73 65 74 25 3d 70 6f  73 78 25 2d 28 58 25 20  |fset%=posx%-(X% |
00000220  83 38 29 0d 00 aa 6e e3  70 6f 6b 65 25 3d 28 26  |.8)...n.poke%=(&|
00000230  35 38 30 30 2b 28 70 6f  73 79 25 2a 26 31 34 30  |5800+(posy%*&140|
00000240  29 2b 28 6f 66 66 73 65  74 25 2a 38 29 29 b8 28  |)+(offset%*8)).(|
00000250  26 35 38 30 30 2b 28 70  6f 73 79 25 2a 26 31 34  |&5800+(posy%*&14|
00000260  30 29 2b 28 6f 66 66 73  65 74 25 2a 38 29 2b 37  |0)+(offset%*8)+7|
00000270  29 88 34 3a 21 70 6f 6b  65 25 3d b4 28 72 65 73  |).4:!poke%=.(res|
00000280  75 6c 74 25 29 2a 26 46  46 46 46 46 46 46 46 3a  |ult%)*&FFFFFFFF:|
00000290  ed 0d 00 b4 09 ed 3a ed  3a ed 0d 00 be 07 d9 23  |......:.:......#|
000002a0  46 0d 00 c8 18 f4 20 45  64 69 74 6f 72 20 66 72  |F..... Editor fr|
000002b0  6f 6d 20 6e 6f 77 20 6f  6e 0d 00 d2 0a 2a 46 58  |om now on....*FX|
000002c0  34 2c 31 0d 00 dc 3c 70  6f 73 78 25 3d 30 3a 70  |4,1...<posx%=0:p|
000002d0  6f 73 79 25 3d 30 3a f1  8a 30 2c 33 31 29 3b 22  |osy%=0:..0,31);"|
000002e0  45 64 69 74 69 6e 67 20  28 30 2c 30 29 22 3b 3a  |Editing (0,0)";:|
000002f0  f4 20 53 65 74 75 70 20  74 6f 70 6c 65 66 74 0d  |. Setup topleft.|
00000300  00 e6 05 f5 0d 00 f0 0a  6b 65 79 25 3d a5 0d 00  |........key%=...|
00000310  fa 35 e7 6b 65 79 25 3d  31 33 36 20 84 6b 65 79  |.5.key%=136 .key|
00000320  25 3d 31 33 37 20 8c 70  6f 73 78 25 3d 70 6f 73  |%=137 .posx%=pos|
00000330  78 25 2d 28 32 2a 28 31  33 36 2e 35 2d 6b 65 79  |x%-(2*(136.5-key|
00000340  25 29 29 0d 01 04 35 e7  6b 65 79 25 3d 31 33 38  |%))...5.key%=138|
00000350  20 84 6b 65 79 25 3d 31  33 39 20 8c 70 6f 73 79  | .key%=139 .posy|
00000360  25 3d 70 6f 73 79 25 2b  28 32 2a 28 31 33 38 2e  |%=posy%+(2*(138.|
00000370  35 2d 6b 65 79 25 29 29  0d 01 0e 1f e7 70 6f 73  |5-key%)).....pos|
00000380  78 25 3e 77 69 64 74 68  25 20 8c 70 6f 73 78 25  |x%>width% .posx%|
00000390  3d 77 69 64 74 68 25 0d  01 18 15 e7 70 6f 73 78  |=width%.....posx|
000003a0  25 3c 30 20 8c 70 6f 73  78 25 3d 30 0d 01 22 21  |%<0 .posx%=0.."!|
000003b0  e7 70 6f 73 79 25 3e 68  65 69 67 68 74 25 20 8c  |.posy%>height% .|
000003c0  70 6f 73 79 25 3d 68 65  69 67 68 74 25 0d 01 2c  |posy%=height%..,|
000003d0  15 e7 70 6f 73 79 25 3c  30 20 8c 70 6f 73 79 25  |..posy%<0 .posy%|
000003e0  3d 30 0d 01 36 2e f1 8a  30 2c 33 31 29 3b 22 45  |=0..6...0,31);"E|
000003f0  64 69 74 69 6e 67 20 28  22 3b 70 6f 73 78 25 3b  |diting (";posx%;|
00000400  22 2c 22 3b 70 6f 73 79  25 3b 22 29 20 20 22 3b  |",";posy%;")  ";|
00000410  0d 01 40 70 e7 6b 65 79  25 3d 39 20 8c e3 70 6f  |..@p.key%=9 ..po|
00000420  6b 65 25 3d 28 26 35 38  30 30 2b 28 70 6f 73 79  |ke%=(&5800+(posy|
00000430  25 2a 26 31 34 30 29 2b  28 70 6f 73 78 25 2a 38  |%*&140)+(posx%*8|
00000440  29 29 b8 28 26 35 38 30  30 2b 28 70 6f 73 79 25  |)).(&5800+(posy%|
00000450  2a 26 31 34 30 29 2b 28  70 6f 73 78 25 2a 38 29  |*&140)+(posx%*8)|
00000460  2b 37 29 88 34 3a 21 70  6f 6b 65 25 3d 21 70 6f  |+7).4:!poke%=!po|
00000470  6b 65 25 20 82 26 46 46  46 46 46 46 46 46 3a ed  |ke% .&FFFFFFFF:.|
00000480  0d 01 4a 22 fd 6b 65 79  25 3d 31 33 35 3a f4 20  |..J".key%=135:. |
00000490  50 72 65 73 73 20 63 6f  70 79 20 74 6f 20 73 61  |Press copy to sa|
000004a0  76 65 0d 01 54 22 f1 8a  30 2c 33 31 29 3b 22 53  |ve..T"..0,31);"S|
000004b0  61 76 69 6e 67 20 74 6f  20 63 6c 69 70 62 6f 61  |aving to clipboa|
000004c0  72 64 22 3b 0d 01 5e 22  46 3d ae 22 24 2e 45 44  |rd";..^"F=."$.ED|
000004d0  49 54 43 4c 50 22 3a f1  23 46 2c 58 25 2c 59 25  |ITCLP":.#F,X%,Y%|
000004e0  2c 50 25 2c 51 25 0d 01  68 0c e3 59 3d 59 25 b8  |,P%,Q%..h..Y=Y%.|
000004f0  51 25 0d 01 72 17 70 6f  73 79 25 3d 59 2d 59 25  |Q%..r.posy%=Y-Y%|
00000500  3a 70 6f 73 78 25 3d 2d  31 0d 01 7c 20 e3 58 3d  |:posx%=-1..| .X=|
00000510  28 28 58 25 20 81 38 29  2a 38 29 b8 28 28 50 25  |((X% .8)*8).((P%|
00000520  20 81 38 29 2a 38 29 88  38 0d 01 86 0b 64 61 74  | .8)*8).8....dat|
00000530  61 25 3d 30 0d 01 90 10  e3 62 69 74 25 3d 37 b8  |a%=0.....bit%=7.|
00000540  30 88 2d 31 0d 01 9a 11  70 6f 73 78 25 3d 70 6f  |0.-1....posx%=po|
00000550  73 78 25 2b 31 0d 01 a4  3f e7 70 6f 73 78 25 3c  |sx%+1...?.posx%<|
00000560  28 58 25 20 83 38 29 20  8c e5 8d 64 56 41 3a f4  |(X% .8) ...dVA:.|
00000570  20 43 61 74 65 72 73 20  66 6f 72 20 70 69 78 65  | Caters for pixe|
00000580  6c 73 20 74 6f 20 74 68  65 20 6c 65 66 74 20 6f  |ls to the left o|
00000590  66 20 58 25 0d 01 ae 49  e7 70 6f 73 78 25 3e 28  |f X%...I.posx%>(|
000005a0  28 58 25 20 83 38 29 2b  77 69 64 74 68 25 29 20  |(X% .8)+width%) |
000005b0  8c e5 8d 64 56 41 3a f4  20 43 61 74 65 72 73 20  |...dVA:. Caters |
000005c0  66 6f 72 20 70 69 78 65  6c 73 20 74 6f 20 74 68  |for pixels to th|
000005d0  65 20 72 69 67 68 74 20  6f 66 20 50 25 0d 01 b8  |e right of P%...|
000005e0  19 6f 66 66 73 65 74 25  3d 70 6f 73 78 25 2d 28  |.offset%=posx%-(|
000005f0  58 25 20 83 38 29 0d 01  c2 2d 72 65 73 75 6c 74  |X% .8)...-result|
00000600  25 3d 3f 28 26 35 38 30  30 2b 28 70 6f 73 79 25  |%=?(&5800+(posy%|
00000610  2a 26 31 34 30 29 2b 28  6f 66 66 73 65 74 25 2a  |*&140)+(offset%*|
00000620  38 29 29 0d 01 cc 26 64  61 74 61 25 3d 64 61 74  |8))...&data%=dat|
00000630  61 25 20 84 28 b4 28 72  65 73 75 6c 74 25 29 2a  |a% .(.(result%)*|
00000640  28 32 5e 62 69 74 25 29  29 0d 01 d6 13 ed 3a d5  |(2^bit%)).....:.|
00000650  23 46 2c 64 61 74 61 25  3a ed 3a ed 0d 01 e0 07  |#F,data%:.:.....|
00000660  d9 23 46 0d 01 ea 2e f1  8a 30 2c 33 31 29 3b 22  |.#F......0,31);"|
00000670  52 65 6c 6f 61 64 69 6e  67 20 6f 72 69 67 69 6e  |Reloading origin|
00000680  61 6c 20 22 3b 3a 6b 65  79 25 3d a6 28 31 35 30  |al ";:key%=.(150|
00000690  29 0d 01 f4 56 eb 30 3a  ff 28 22 4c 4f 41 44 20  |)...V.0:.("LOAD |
000006a0  24 2e 4f 55 54 50 55 54  20 33 30 30 30 22 29 3a  |$.OUTPUT 3000"):|
000006b0  3f 26 33 30 30 30 3d 3f  26 33 30 30 30 20 82 31  |?&3000=?&3000 .1|
000006c0  32 38 3a 58 25 3d 30 3a  59 25 3d 30 3a ff 28 22  |28:X%=0:Y%=0:.("|
000006d0  46 58 31 33 38 2c 30 2c  38 30 22 29 3a d7 22 45  |FX138,0,80"):."E|
000006e0  44 49 54 43 52 45 22 0d  01 fe 6c f4 20 54 68 61  |DITCRE"...l. Tha|
000006f0  74 20 6c 6f 61 64 73 20  69 6e 20 74 68 65 20 70  |t loads in the p|
00000700  69 63 63 79 2c 70 75 74  73 20 74 68 65 20 70 6f  |iccy,puts the po|
00000710  69 6e 74 65 72 20 61 74  20 54 4c 48 43 2c 73 74  |inter at TLHC,st|
00000720  75 66 66 73 20 74 68 65  20 6b 65 79 62 6f 61 72  |uffs the keyboar|
00000730  64 20 77 69 74 68 20 27  50 27 20 61 6e 64 20 74  |d with 'P' and t|
00000740  68 65 6e 20 72 75 6e 73  20 74 68 65 20 65 64 69  |hen runs the edi|
00000750  74 6f 72 0d ff                                    |tor..|
00000755
P/EDITENL.m0
P/EDITENL.m1
P/EDITENL.m2
P/EDITENL.m4
P/EDITENL.m5