Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_16.ADF » DIAGRAM/IMPROVE

DIAGRAM/IMPROVE

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_16.ADF
Filename: DIAGRAM/IMPROVE
Read OK:
File size: 0A69 bytes
Load address: 49204556
Exec address: 4F52504D
File contents
Mick Comley. Faversham. 0795 531285

Dear Gus

I must aploagise for not doing anything for so long but I have been rather
busy of late, ie new back fence, new shed which I have insulated and
double glazed, bench etc. but now back to reality.

I had got most of this done the previous evening when my Elk crashed and I
got no screen display and could not save it either, I had lost two hours
of typing in, I was very annoyed to say the least. Into the shed it went
and I poured the guts of my Elk onto the bench to find a broken wire which
should have connected the master ram board to the main board. No wonder
its been crashing of late it must have been a dry joint for ages befor it
parted company.

The new keyboard layout I mentioned, I have not finnished for the above
reasons. I used 'DIAGRAM' to draw it out, its 'KEYB' on the disc, and as
you said the program can be improved on, so I had a go. See what you think
of my meager effort. I did not like the way you used the keyboard to
generate control code numbers as it caused me problems trying to ammend
things, the rest is as follows -

i.    altered info layout.
ii.   scrolling menu, hit RETURN to scroll.
iii.  working cursor ie. a cross.
iv.   TEXT command now needs text in quotes so you can print out user
      defined charactors which have been previously loaded ie. "This is a
      "+CHR$255+CHR$10+"test" this is now interperated by EVAL so it will
      now crash if you do not use quotes.
v.    DELETE now toggles between background and forground colours so you
      can delete anything you have done wrong.
vi.   FILL routine draws rectangles, either filled in or deleted depending
      on the DELETE instruction. Use by aligning the cursor on one corner
      and hit 'F', a reminder is printed in the top left hand corner to
      say that the FILL routine has started, move to the diagonal corner
      opposite and hit 'F' again.
vii. MOVE used to move an area of the screen around the screen, WARNING
      do move off the top of the screen or you will delete part of the
      program stick between the lines. Move to the top left hand point or
      beyond and hit 'M', you will get a similar reminder to fill, move to
      the bottom right hand corner and hit 'M' again. The normal menu will
      be replaced by a new one, use the cursor keys to move and 'Q' to
      quit. DEFFNadd looks to see if the program is resident in an Elk or
      a BBC and returns the address of the charactor cell the current
      pixel is in to use in the MOVE instruction. So the area moved is
      slightly larger than you might expect.
viii. Normal QUIT routine returns keys to normal use.

00000000  4d 69 63 6b 20 43 6f 6d  6c 65 79 2e 20 46 61 76  |Mick Comley. Fav|
00000010  65 72 73 68 61 6d 2e 20  30 37 39 35 20 35 33 31  |ersham. 0795 531|
00000020  32 38 35 0d 0d 44 65 61  72 20 47 75 73 0d 0d 49  |285..Dear Gus..I|
00000030  20 6d 75 73 74 20 61 70  6c 6f 61 67 69 73 65 20  | must aploagise |
00000040  66 6f 72 20 6e 6f 74 20  64 6f 69 6e 67 20 61 6e  |for not doing an|
00000050  79 74 68 69 6e 67 20 66  6f 72 20 73 6f 20 6c 6f  |ything for so lo|
00000060  6e 67 20 62 75 74 20 49  20 68 61 76 65 20 62 65  |ng but I have be|
00000070  65 6e 20 72 61 74 68 65  72 0d 62 75 73 79 20 6f  |en rather.busy o|
00000080  66 20 6c 61 74 65 2c 20  69 65 20 6e 65 77 20 62  |f late, ie new b|
00000090  61 63 6b 20 66 65 6e 63  65 2c 20 6e 65 77 20 73  |ack fence, new s|
000000a0  68 65 64 20 77 68 69 63  68 20 49 20 68 61 76 65  |hed which I have|
000000b0  20 69 6e 73 75 6c 61 74  65 64 20 61 6e 64 0d 64  | insulated and.d|
000000c0  6f 75 62 6c 65 20 67 6c  61 7a 65 64 2c 20 62 65  |ouble glazed, be|
000000d0  6e 63 68 20 65 74 63 2e  20 62 75 74 20 6e 6f 77  |nch etc. but now|
000000e0  20 62 61 63 6b 20 74 6f  20 72 65 61 6c 69 74 79  | back to reality|
000000f0  2e 0d 0d 49 20 68 61 64  20 67 6f 74 20 6d 6f 73  |...I had got mos|
00000100  74 20 6f 66 20 74 68 69  73 20 64 6f 6e 65 20 74  |t of this done t|
00000110  68 65 20 70 72 65 76 69  6f 75 73 20 65 76 65 6e  |he previous even|
00000120  69 6e 67 20 77 68 65 6e  20 6d 79 20 45 6c 6b 20  |ing when my Elk |
00000130  63 72 61 73 68 65 64 20  61 6e 64 20 49 0d 67 6f  |crashed and I.go|
00000140  74 20 6e 6f 20 73 63 72  65 65 6e 20 64 69 73 70  |t no screen disp|
00000150  6c 61 79 20 61 6e 64 20  63 6f 75 6c 64 20 6e 6f  |lay and could no|
00000160  74 20 73 61 76 65 20 69  74 20 65 69 74 68 65 72  |t save it either|
00000170  2c 20 49 20 68 61 64 20  6c 6f 73 74 20 74 77 6f  |, I had lost two|
00000180  20 68 6f 75 72 73 0d 6f  66 20 74 79 70 69 6e 67  | hours.of typing|
00000190  20 69 6e 2c 20 49 20 77  61 73 20 76 65 72 79 20  | in, I was very |
000001a0  61 6e 6e 6f 79 65 64 20  74 6f 20 73 61 79 20 74  |annoyed to say t|
000001b0  68 65 20 6c 65 61 73 74  2e 20 49 6e 74 6f 20 74  |he least. Into t|
000001c0  68 65 20 73 68 65 64 20  69 74 20 77 65 6e 74 0d  |he shed it went.|
000001d0  61 6e 64 20 49 20 70 6f  75 72 65 64 20 74 68 65  |and I poured the|
000001e0  20 67 75 74 73 20 6f 66  20 6d 79 20 45 6c 6b 20  | guts of my Elk |
000001f0  6f 6e 74 6f 20 74 68 65  20 62 65 6e 63 68 20 74  |onto the bench t|
00000200  6f 20 66 69 6e 64 20 61  20 62 72 6f 6b 65 6e 20  |o find a broken |
00000210  77 69 72 65 20 77 68 69  63 68 0d 73 68 6f 75 6c  |wire which.shoul|
00000220  64 20 68 61 76 65 20 63  6f 6e 6e 65 63 74 65 64  |d have connected|
00000230  20 74 68 65 20 6d 61 73  74 65 72 20 72 61 6d 20  | the master ram |
00000240  62 6f 61 72 64 20 74 6f  20 74 68 65 20 6d 61 69  |board to the mai|
00000250  6e 20 62 6f 61 72 64 2e  20 4e 6f 20 77 6f 6e 64  |n board. No wond|
00000260  65 72 0d 69 74 73 20 62  65 65 6e 20 63 72 61 73  |er.its been cras|
00000270  68 69 6e 67 20 6f 66 20  6c 61 74 65 20 69 74 20  |hing of late it |
00000280  6d 75 73 74 20 68 61 76  65 20 62 65 65 6e 20 61  |must have been a|
00000290  20 64 72 79 20 6a 6f 69  6e 74 20 66 6f 72 20 61  | dry joint for a|
000002a0  67 65 73 20 62 65 66 6f  72 20 69 74 0d 70 61 72  |ges befor it.par|
000002b0  74 65 64 20 63 6f 6d 70  61 6e 79 2e 0d 0d 54 68  |ted company...Th|
000002c0  65 20 6e 65 77 20 6b 65  79 62 6f 61 72 64 20 6c  |e new keyboard l|
000002d0  61 79 6f 75 74 20 49 20  6d 65 6e 74 69 6f 6e 65  |ayout I mentione|
000002e0  64 2c 20 49 20 68 61 76  65 20 6e 6f 74 20 66 69  |d, I have not fi|
000002f0  6e 6e 69 73 68 65 64 20  66 6f 72 20 74 68 65 20  |nnished for the |
00000300  61 62 6f 76 65 0d 72 65  61 73 6f 6e 73 2e 20 49  |above.reasons. I|
00000310  20 75 73 65 64 20 27 44  49 41 47 52 41 4d 27 20  | used 'DIAGRAM' |
00000320  74 6f 20 64 72 61 77 20  69 74 20 6f 75 74 2c 20  |to draw it out, |
00000330  69 74 73 20 27 4b 45 59  42 27 20 6f 6e 20 74 68  |its 'KEYB' on th|
00000340  65 20 64 69 73 63 2c 20  61 6e 64 20 61 73 0d 79  |e disc, and as.y|
00000350  6f 75 20 73 61 69 64 20  74 68 65 20 70 72 6f 67  |ou said the prog|
00000360  72 61 6d 20 63 61 6e 20  62 65 20 69 6d 70 72 6f  |ram can be impro|
00000370  76 65 64 20 6f 6e 2c 20  73 6f 20 49 20 68 61 64  |ved on, so I had|
00000380  20 61 20 67 6f 2e 20 53  65 65 20 77 68 61 74 20  | a go. See what |
00000390  79 6f 75 20 74 68 69 6e  6b 0d 6f 66 20 6d 79 20  |you think.of my |
000003a0  6d 65 61 67 65 72 20 65  66 66 6f 72 74 2e 20 49  |meager effort. I|
000003b0  20 64 69 64 20 6e 6f 74  20 6c 69 6b 65 20 74 68  | did not like th|
000003c0  65 20 77 61 79 20 79 6f  75 20 75 73 65 64 20 74  |e way you used t|
000003d0  68 65 20 6b 65 79 62 6f  61 72 64 20 74 6f 0d 67  |he keyboard to.g|
000003e0  65 6e 65 72 61 74 65 20  63 6f 6e 74 72 6f 6c 20  |enerate control |
000003f0  63 6f 64 65 20 6e 75 6d  62 65 72 73 20 61 73 20  |code numbers as |
00000400  69 74 20 63 61 75 73 65  64 20 6d 65 20 70 72 6f  |it caused me pro|
00000410  62 6c 65 6d 73 20 74 72  79 69 6e 67 20 74 6f 20  |blems trying to |
00000420  61 6d 6d 65 6e 64 0d 74  68 69 6e 67 73 2c 20 74  |ammend.things, t|
00000430  68 65 20 72 65 73 74 20  69 73 20 61 73 20 66 6f  |he rest is as fo|
00000440  6c 6c 6f 77 73 20 2d 0d  0d 69 2e 20 20 20 20 61  |llows -..i.    a|
00000450  6c 74 65 72 65 64 20 69  6e 66 6f 20 6c 61 79 6f  |ltered info layo|
00000460  75 74 2e 0d 69 69 2e 20  20 20 73 63 72 6f 6c 6c  |ut..ii.   scroll|
00000470  69 6e 67 20 6d 65 6e 75  2c 20 68 69 74 20 52 45  |ing menu, hit RE|
00000480  54 55 52 4e 20 74 6f 20  73 63 72 6f 6c 6c 2e 0d  |TURN to scroll..|
00000490  69 69 69 2e 20 20 77 6f  72 6b 69 6e 67 20 63 75  |iii.  working cu|
000004a0  72 73 6f 72 20 69 65 2e  20 61 20 63 72 6f 73 73  |rsor ie. a cross|
000004b0  2e 0d 69 76 2e 20 20 20  54 45 58 54 20 63 6f 6d  |..iv.   TEXT com|
000004c0  6d 61 6e 64 20 6e 6f 77  20 6e 65 65 64 73 20 74  |mand now needs t|
000004d0  65 78 74 20 69 6e 20 71  75 6f 74 65 73 20 73 6f  |ext in quotes so|
000004e0  20 79 6f 75 20 63 61 6e  20 70 72 69 6e 74 20 6f  | you can print o|
000004f0  75 74 20 75 73 65 72 0d  20 20 20 20 20 20 64 65  |ut user.      de|
00000500  66 69 6e 65 64 20 63 68  61 72 61 63 74 6f 72 73  |fined charactors|
00000510  20 77 68 69 63 68 20 68  61 76 65 20 62 65 65 6e  | which have been|
00000520  20 70 72 65 76 69 6f 75  73 6c 79 20 6c 6f 61 64  | previously load|
00000530  65 64 20 69 65 2e 20 22  54 68 69 73 20 69 73 20  |ed ie. "This is |
00000540  61 0d 20 20 20 20 20 20  22 2b 43 48 52 24 32 35  |a.      "+CHR$25|
00000550  35 2b 43 48 52 24 31 30  2b 22 74 65 73 74 22 20  |5+CHR$10+"test" |
00000560  74 68 69 73 20 69 73 20  6e 6f 77 20 69 6e 74 65  |this is now inte|
00000570  72 70 65 72 61 74 65 64  20 62 79 20 45 56 41 4c  |rperated by EVAL|
00000580  20 73 6f 20 69 74 20 77  69 6c 6c 0d 20 20 20 20  | so it will.    |
00000590  20 20 6e 6f 77 20 63 72  61 73 68 20 69 66 20 79  |  now crash if y|
000005a0  6f 75 20 64 6f 20 6e 6f  74 20 75 73 65 20 71 75  |ou do not use qu|
000005b0  6f 74 65 73 2e 0d 76 2e  20 20 20 20 44 45 4c 45  |otes..v.    DELE|
000005c0  54 45 20 6e 6f 77 20 74  6f 67 67 6c 65 73 20 62  |TE now toggles b|
000005d0  65 74 77 65 65 6e 20 62  61 63 6b 67 72 6f 75 6e  |etween backgroun|
000005e0  64 20 61 6e 64 20 66 6f  72 67 72 6f 75 6e 64 20  |d and forground |
000005f0  63 6f 6c 6f 75 72 73 20  73 6f 20 79 6f 75 0d 20  |colours so you. |
00000600  20 20 20 20 20 63 61 6e  20 64 65 6c 65 74 65 20  |     can delete |
00000610  61 6e 79 74 68 69 6e 67  20 79 6f 75 20 68 61 76  |anything you hav|
00000620  65 20 64 6f 6e 65 20 77  72 6f 6e 67 2e 0d 76 69  |e done wrong..vi|
00000630  2e 20 20 20 46 49 4c 4c  20 72 6f 75 74 69 6e 65  |.   FILL routine|
00000640  20 64 72 61 77 73 20 72  65 63 74 61 6e 67 6c 65  | draws rectangle|
00000650  73 2c 20 65 69 74 68 65  72 20 66 69 6c 6c 65 64  |s, either filled|
00000660  20 69 6e 20 6f 72 20 64  65 6c 65 74 65 64 20 64  | in or deleted d|
00000670  65 70 65 6e 64 69 6e 67  0d 20 20 20 20 20 20 6f  |epending.      o|
00000680  6e 20 74 68 65 20 44 45  4c 45 54 45 20 69 6e 73  |n the DELETE ins|
00000690  74 72 75 63 74 69 6f 6e  2e 20 55 73 65 20 62 79  |truction. Use by|
000006a0  20 61 6c 69 67 6e 69 6e  67 20 74 68 65 20 63 75  | aligning the cu|
000006b0  72 73 6f 72 20 6f 6e 20  6f 6e 65 20 63 6f 72 6e  |rsor on one corn|
000006c0  65 72 0d 20 20 20 20 20  20 61 6e 64 20 68 69 74  |er.      and hit|
000006d0  20 27 46 27 2c 20 61 20  72 65 6d 69 6e 64 65 72  | 'F', a reminder|
000006e0  20 69 73 20 70 72 69 6e  74 65 64 20 69 6e 20 74  | is printed in t|
000006f0  68 65 20 74 6f 70 20 6c  65 66 74 20 68 61 6e 64  |he top left hand|
00000700  20 63 6f 72 6e 65 72 20  74 6f 0d 20 20 20 20 20  | corner to.     |
00000710  20 73 61 79 20 74 68 61  74 20 74 68 65 20 46 49  | say that the FI|
00000720  4c 4c 20 72 6f 75 74 69  6e 65 20 68 61 73 20 73  |LL routine has s|
00000730  74 61 72 74 65 64 2c 20  6d 6f 76 65 20 74 6f 20  |tarted, move to |
00000740  74 68 65 20 64 69 61 67  6f 6e 61 6c 20 63 6f 72  |the diagonal cor|
00000750  6e 65 72 0d 20 20 20 20  20 20 6f 70 70 6f 73 69  |ner.      opposi|
00000760  74 65 20 61 6e 64 20 68  69 74 20 27 46 27 20 61  |te and hit 'F' a|
00000770  67 61 69 6e 2e 0d 76 69  69 2e 1a 20 4d 4f 56 45  |gain..vii.. MOVE|
00000780  1a 20 75 73 65 64 20 74  6f 20 6d 6f 76 65 20 61  |. used to move a|
00000790  6e 20 61 72 65 61 20 6f  66 20 74 68 65 20 73 63  |n area of the sc|
000007a0  72 65 65 6e 20 61 72 6f  75 6e 64 20 74 68 65 20  |reen around the |
000007b0  73 63 72 65 65 6e 2c 20  57 41 52 4e 49 4e 47 0d  |screen, WARNING.|
000007c0  20 20 20 20 20 20 64 6f  20 6d 6f 76 65 20 6f 66  |      do move of|
000007d0  66 20 74 68 65 20 74 6f  70 20 6f 66 20 74 68 65  |f the top of the|
000007e0  20 73 63 72 65 65 6e 20  6f 72 20 79 6f 75 20 77  | screen or you w|
000007f0  69 6c 6c 20 64 65 6c 65  74 65 20 70 61 72 74 20  |ill delete part |
00000800  6f 66 20 74 68 65 0d 20  20 20 20 20 20 70 72 6f  |of the.      pro|
00000810  67 72 61 6d 20 73 74 69  63 6b 20 62 65 74 77 65  |gram stick betwe|
00000820  65 6e 20 74 68 65 20 6c  69 6e 65 73 2e 20 4d 6f  |en the lines. Mo|
00000830  76 65 20 74 6f 20 74 68  65 20 74 6f 70 20 6c 65  |ve to the top le|
00000840  66 74 20 68 61 6e 64 20  70 6f 69 6e 74 20 6f 72  |ft hand point or|
00000850  0d 20 20 20 20 20 20 62  65 79 6f 6e 64 20 61 6e  |.      beyond an|
00000860  64 20 68 69 74 20 27 4d  27 2c 20 79 6f 75 20 77  |d hit 'M', you w|
00000870  69 6c 6c 20 67 65 74 20  61 20 73 69 6d 69 6c 61  |ill get a simila|
00000880  72 20 72 65 6d 69 6e 64  65 72 20 74 6f 20 66 69  |r reminder to fi|
00000890  6c 6c 2c 20 6d 6f 76 65  20 74 6f 0d 20 20 20 20  |ll, move to.    |
000008a0  20 20 74 68 65 20 62 6f  74 74 6f 6d 20 72 69 67  |  the bottom rig|
000008b0  68 74 20 68 61 6e 64 20  63 6f 72 6e 65 72 20 61  |ht hand corner a|
000008c0  6e 64 20 68 69 74 20 27  4d 27 20 61 67 61 69 6e  |nd hit 'M' again|
000008d0  2e 20 54 68 65 20 6e 6f  72 6d 61 6c 20 6d 65 6e  |. The normal men|
000008e0  75 20 77 69 6c 6c 0d 20  20 20 20 20 20 62 65 20  |u will.      be |
000008f0  72 65 70 6c 61 63 65 64  20 62 79 20 61 20 6e 65  |replaced by a ne|
00000900  77 20 6f 6e 65 2c 20 75  73 65 20 74 68 65 20 63  |w one, use the c|
00000910  75 72 73 6f 72 20 6b 65  79 73 20 74 6f 20 6d 6f  |ursor keys to mo|
00000920  76 65 20 61 6e 64 20 27  51 27 20 74 6f 0d 20 20  |ve and 'Q' to.  |
00000930  20 20 20 20 71 75 69 74  2e 20 44 45 46 46 4e 61  |    quit. DEFFNa|
00000940  64 64 20 6c 6f 6f 6b 73  20 74 6f 20 73 65 65 20  |dd looks to see |
00000950  69 66 20 74 68 65 20 70  72 6f 67 72 61 6d 20 69  |if the program i|
00000960  73 20 72 65 73 69 64 65  6e 74 20 69 6e 20 61 6e  |s resident in an|
00000970  20 45 6c 6b 20 6f 72 0d  20 20 20 20 20 20 61 20  | Elk or.      a |
00000980  42 42 43 20 61 6e 64 20  72 65 74 75 72 6e 73 20  |BBC and returns |
00000990  74 68 65 20 61 64 64 72  65 73 73 20 6f 66 20 74  |the address of t|
000009a0  68 65 20 63 68 61 72 61  63 74 6f 72 20 63 65 6c  |he charactor cel|
000009b0  6c 20 74 68 65 20 63 75  72 72 65 6e 74 0d 20 20  |l the current.  |
000009c0  20 20 20 20 70 69 78 65  6c 20 69 73 20 69 6e 20  |    pixel is in |
000009d0  74 6f 20 75 73 65 20 69  6e 20 74 68 65 20 4d 4f  |to use in the MO|
000009e0  56 45 20 69 6e 73 74 72  75 63 74 69 6f 6e 2e 20  |VE instruction. |
000009f0  53 6f 20 74 68 65 20 61  72 65 61 20 6d 6f 76 65  |So the area move|
00000a00  64 20 69 73 0d 20 20 20  20 20 20 73 6c 69 67 68  |d is.      sligh|
00000a10  74 6c 79 20 6c 61 72 67  65 72 20 74 68 61 6e 20  |tly larger than |
00000a20  79 6f 75 20 6d 69 67 68  74 20 65 78 70 65 63 74  |you might expect|
00000a30  2e 0d 76 69 69 69 2e 20  4e 6f 72 6d 61 6c 20 51  |..viii. Normal Q|
00000a40  55 49 54 20 72 6f 75 74  69 6e 65 20 72 65 74 75  |UIT routine retu|
00000a50  72 6e 73 20 6b 65 79 73  20 74 6f 20 6e 6f 72 6d  |rns keys to norm|
00000a60  61 6c 20 75 73 65 2e 0d  0d                       |al use...|
00000a69
DIAGRAM/IMPROVE.m0
DIAGRAM/IMPROVE.m1
DIAGRAM/IMPROVE.m2
DIAGRAM/IMPROVE.m4
DIAGRAM/IMPROVE.m5