Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_30.ADF » F/+HINT9

F/+HINT9

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_30.ADF
Filename: F/+HINT9
Read OK:
File size: 0720 bytes
Load address: 2B204556
Exec address: 544E4948
File contents
Electron Television Display

When using a television set with an Acorn Electron computer you may find
that the top lines of the screen image are not displayed.  The commands
shown below can be used as a "one off" or incorporated into a procedure
and called up when a complete picture is displayed on the screen.  This
problem can then be easily overcome.

Using VDU 11 (CTRL K) will move the screen down one line if the text
cursor is positioned somewhere on the top line of the screen.  If the
cursor is not already positioned there, this can be achieved by using the
command VDU 30 (CTRL . immediately prior to the VDU 11 command.  this has
the effect of homing the text cursor to the top left hand corner of the
screen, therefore ensuring that the VDU 11 command has the desired effect.

Having carried out this operation the text cursor is now left at the top
of the screen and all text will be printed at that position.  This problem
can be overcome by using the following statement instead:

        A=POS : B=VPOS-1 : VDU 30,11 : P.TAB (A,B)

The variables POS and VPOS contain the X,Y co-ordinates of the text
cursor's present screen position.  Having "remembered" your current screen
position you can then use the VDU 30,11 command to move the screen display
down one line.  Having moved the image down the screen it is then
possible, with the P.TAB (A,B) command, to return to your original
position.  You do in fact return to the same point on the X axis but one
line up on the Y axis "B=VPOS-1".  this enables you to return "physically"
to the same point you left, rather than the point in the text.  This is
only really necessary if your original position was on the bottom line of
the screen, as returning to that position in the text would require moving
to a position off the bottom of the screen.
        
00000000  0d 45 6c 65 63 74 72 6f  6e 20 54 65 6c 65 76 69  |.Electron Televi|
00000010  73 69 6f 6e 20 44 69 73  70 6c 61 79 0d 0d 57 68  |sion Display..Wh|
00000020  65 6e 20 75 73 69 6e 67  20 61 20 74 65 6c 65 76  |en using a telev|
00000030  69 73 69 6f 6e 20 73 65  74 20 77 69 74 68 20 61  |ision set with a|
00000040  6e 20 41 63 6f 72 6e 20  45 6c 65 63 74 72 6f 6e  |n Acorn Electron|
00000050  20 63 6f 6d 70 75 74 65  72 20 79 6f 75 20 6d 61  | computer you ma|
00000060  79 20 66 69 6e 64 0d 74  68 61 74 20 74 68 65 20  |y find.that the |
00000070  74 6f 70 20 6c 69 6e 65  73 20 6f 66 20 74 68 65  |top lines of the|
00000080  20 73 63 72 65 65 6e 20  69 6d 61 67 65 20 61 72  | screen image ar|
00000090  65 20 6e 6f 74 20 64 69  73 70 6c 61 79 65 64 2e  |e not displayed.|
000000a0  20 20 54 68 65 20 63 6f  6d 6d 61 6e 64 73 0d 73  |  The commands.s|
000000b0  68 6f 77 6e 20 62 65 6c  6f 77 20 63 61 6e 20 62  |hown below can b|
000000c0  65 20 75 73 65 64 20 61  73 20 61 20 22 6f 6e 65  |e used as a "one|
000000d0  20 6f 66 66 22 20 6f 72  20 69 6e 63 6f 72 70 6f  | off" or incorpo|
000000e0  72 61 74 65 64 20 69 6e  74 6f 20 61 20 70 72 6f  |rated into a pro|
000000f0  63 65 64 75 72 65 0d 61  6e 64 20 63 61 6c 6c 65  |cedure.and calle|
00000100  64 20 75 70 20 77 68 65  6e 20 61 20 63 6f 6d 70  |d up when a comp|
00000110  6c 65 74 65 20 70 69 63  74 75 72 65 20 69 73 20  |lete picture is |
00000120  64 69 73 70 6c 61 79 65  64 20 6f 6e 20 74 68 65  |displayed on the|
00000130  20 73 63 72 65 65 6e 2e  20 20 54 68 69 73 0d 70  | screen.  This.p|
00000140  72 6f 62 6c 65 6d 20 63  61 6e 20 74 68 65 6e 20  |roblem can then |
00000150  62 65 20 65 61 73 69 6c  79 20 6f 76 65 72 63 6f  |be easily overco|
00000160  6d 65 2e 0d 0d 55 73 69  6e 67 20 56 44 55 20 31  |me...Using VDU 1|
00000170  31 20 28 43 54 52 4c 20  4b 29 20 77 69 6c 6c 20  |1 (CTRL K) will |
00000180  6d 6f 76 65 20 74 68 65  20 73 63 72 65 65 6e 20  |move the screen |
00000190  64 6f 77 6e 20 6f 6e 65  20 6c 69 6e 65 20 69 66  |down one line if|
000001a0  20 74 68 65 20 74 65 78  74 0d 63 75 72 73 6f 72  | the text.cursor|
000001b0  20 69 73 20 70 6f 73 69  74 69 6f 6e 65 64 20 73  | is positioned s|
000001c0  6f 6d 65 77 68 65 72 65  20 6f 6e 20 74 68 65 20  |omewhere on the |
000001d0  74 6f 70 20 6c 69 6e 65  20 6f 66 20 74 68 65 20  |top line of the |
000001e0  73 63 72 65 65 6e 2e 20  20 49 66 20 74 68 65 0d  |screen.  If the.|
000001f0  63 75 72 73 6f 72 20 69  73 20 6e 6f 74 20 61 6c  |cursor is not al|
00000200  72 65 61 64 79 20 70 6f  73 69 74 69 6f 6e 65 64  |ready positioned|
00000210  20 74 68 65 72 65 2c 20  74 68 69 73 20 63 61 6e  | there, this can|
00000220  20 62 65 20 61 63 68 69  65 76 65 64 20 62 79 20  | be achieved by |
00000230  75 73 69 6e 67 20 74 68  65 0d 63 6f 6d 6d 61 6e  |using the.comman|
00000240  64 20 56 44 55 20 33 30  20 28 43 54 52 4c 20 2e  |d VDU 30 (CTRL .|
00000250  20 69 6d 6d 65 64 69 61  74 65 6c 79 20 70 72 69  | immediately pri|
00000260  6f 72 20 74 6f 20 74 68  65 20 56 44 55 20 31 31  |or to the VDU 11|
00000270  20 63 6f 6d 6d 61 6e 64  2e 20 20 74 68 69 73 20  | command.  this |
00000280  68 61 73 0d 74 68 65 20  65 66 66 65 63 74 20 6f  |has.the effect o|
00000290  66 20 68 6f 6d 69 6e 67  20 74 68 65 20 74 65 78  |f homing the tex|
000002a0  74 20 63 75 72 73 6f 72  20 74 6f 20 74 68 65 20  |t cursor to the |
000002b0  74 6f 70 20 6c 65 66 74  20 68 61 6e 64 20 63 6f  |top left hand co|
000002c0  72 6e 65 72 20 6f 66 20  74 68 65 0d 73 63 72 65  |rner of the.scre|
000002d0  65 6e 2c 20 74 68 65 72  65 66 6f 72 65 20 65 6e  |en, therefore en|
000002e0  73 75 72 69 6e 67 20 74  68 61 74 20 74 68 65 20  |suring that the |
000002f0  56 44 55 20 31 31 20 63  6f 6d 6d 61 6e 64 20 68  |VDU 11 command h|
00000300  61 73 20 74 68 65 20 64  65 73 69 72 65 64 20 65  |as the desired e|
00000310  66 66 65 63 74 2e 0d 0d  48 61 76 69 6e 67 20 63  |ffect...Having c|
00000320  61 72 72 69 65 64 20 6f  75 74 20 74 68 69 73 20  |arried out this |
00000330  6f 70 65 72 61 74 69 6f  6e 20 74 68 65 20 74 65  |operation the te|
00000340  78 74 20 63 75 72 73 6f  72 20 69 73 20 6e 6f 77  |xt cursor is now|
00000350  20 6c 65 66 74 20 61 74  20 74 68 65 20 74 6f 70  | left at the top|
00000360  0d 6f 66 20 74 68 65 20  73 63 72 65 65 6e 20 61  |.of the screen a|
00000370  6e 64 20 61 6c 6c 20 74  65 78 74 20 77 69 6c 6c  |nd all text will|
00000380  20 62 65 20 70 72 69 6e  74 65 64 20 61 74 20 74  | be printed at t|
00000390  68 61 74 20 70 6f 73 69  74 69 6f 6e 2e 20 20 54  |hat position.  T|
000003a0  68 69 73 20 70 72 6f 62  6c 65 6d 0d 63 61 6e 20  |his problem.can |
000003b0  62 65 20 6f 76 65 72 63  6f 6d 65 20 62 79 20 75  |be overcome by u|
000003c0  73 69 6e 67 20 74 68 65  20 66 6f 6c 6c 6f 77 69  |sing the followi|
000003d0  6e 67 20 73 74 61 74 65  6d 65 6e 74 20 69 6e 73  |ng statement ins|
000003e0  74 65 61 64 3a 0d 0d 20  20 20 20 20 20 20 20 41  |tead:..        A|
000003f0  3d 50 4f 53 20 3a 20 42  3d 56 50 4f 53 2d 31 20  |=POS : B=VPOS-1 |
00000400  3a 20 56 44 55 20 33 30  2c 31 31 20 3a 20 50 2e  |: VDU 30,11 : P.|
00000410  54 41 42 20 28 41 2c 42  29 0d 0d 54 68 65 20 76  |TAB (A,B)..The v|
00000420  61 72 69 61 62 6c 65 73  20 50 4f 53 20 61 6e 64  |ariables POS and|
00000430  20 56 50 4f 53 20 63 6f  6e 74 61 69 6e 20 74 68  | VPOS contain th|
00000440  65 20 58 2c 59 20 63 6f  2d 6f 72 64 69 6e 61 74  |e X,Y co-ordinat|
00000450  65 73 20 6f 66 20 74 68  65 20 74 65 78 74 0d 63  |es of the text.c|
00000460  75 72 73 6f 72 27 73 20  70 72 65 73 65 6e 74 20  |ursor's present |
00000470  73 63 72 65 65 6e 20 70  6f 73 69 74 69 6f 6e 2e  |screen position.|
00000480  20 20 48 61 76 69 6e 67  20 22 72 65 6d 65 6d 62  |  Having "rememb|
00000490  65 72 65 64 22 20 79 6f  75 72 20 63 75 72 72 65  |ered" your curre|
000004a0  6e 74 20 73 63 72 65 65  6e 0d 70 6f 73 69 74 69  |nt screen.positi|
000004b0  6f 6e 20 79 6f 75 20 63  61 6e 20 74 68 65 6e 20  |on you can then |
000004c0  75 73 65 20 74 68 65 20  56 44 55 20 33 30 2c 31  |use the VDU 30,1|
000004d0  31 20 63 6f 6d 6d 61 6e  64 20 74 6f 20 6d 6f 76  |1 command to mov|
000004e0  65 20 74 68 65 20 73 63  72 65 65 6e 20 64 69 73  |e the screen dis|
000004f0  70 6c 61 79 0d 64 6f 77  6e 20 6f 6e 65 20 6c 69  |play.down one li|
00000500  6e 65 2e 20 20 48 61 76  69 6e 67 20 6d 6f 76 65  |ne.  Having move|
00000510  64 20 74 68 65 20 69 6d  61 67 65 20 64 6f 77 6e  |d the image down|
00000520  20 74 68 65 20 73 63 72  65 65 6e 20 69 74 20 69  | the screen it i|
00000530  73 20 74 68 65 6e 0d 70  6f 73 73 69 62 6c 65 2c  |s then.possible,|
00000540  20 77 69 74 68 20 74 68  65 20 50 2e 54 41 42 20  | with the P.TAB |
00000550  28 41 2c 42 29 20 63 6f  6d 6d 61 6e 64 2c 20 74  |(A,B) command, t|
00000560  6f 20 72 65 74 75 72 6e  20 74 6f 20 79 6f 75 72  |o return to your|
00000570  20 6f 72 69 67 69 6e 61  6c 0d 70 6f 73 69 74 69  | original.positi|
00000580  6f 6e 2e 20 20 59 6f 75  20 64 6f 20 69 6e 20 66  |on.  You do in f|
00000590  61 63 74 20 72 65 74 75  72 6e 20 74 6f 20 74 68  |act return to th|
000005a0  65 20 73 61 6d 65 20 70  6f 69 6e 74 20 6f 6e 20  |e same point on |
000005b0  74 68 65 20 58 20 61 78  69 73 20 62 75 74 20 6f  |the X axis but o|
000005c0  6e 65 0d 6c 69 6e 65 20  75 70 20 6f 6e 20 74 68  |ne.line up on th|
000005d0  65 20 59 20 61 78 69 73  20 22 42 3d 56 50 4f 53  |e Y axis "B=VPOS|
000005e0  2d 31 22 2e 20 20 74 68  69 73 20 65 6e 61 62 6c  |-1".  this enabl|
000005f0  65 73 20 79 6f 75 20 74  6f 20 72 65 74 75 72 6e  |es you to return|
00000600  20 22 70 68 79 73 69 63  61 6c 6c 79 22 0d 74 6f  | "physically".to|
00000610  20 74 68 65 20 73 61 6d  65 20 70 6f 69 6e 74 20  | the same point |
00000620  79 6f 75 20 6c 65 66 74  2c 20 72 61 74 68 65 72  |you left, rather|
00000630  20 74 68 61 6e 20 74 68  65 20 70 6f 69 6e 74 20  | than the point |
00000640  69 6e 20 74 68 65 20 74  65 78 74 2e 20 20 54 68  |in the text.  Th|
00000650  69 73 20 69 73 0d 6f 6e  6c 79 20 72 65 61 6c 6c  |is is.only reall|
00000660  79 20 6e 65 63 65 73 73  61 72 79 20 69 66 20 79  |y necessary if y|
00000670  6f 75 72 20 6f 72 69 67  69 6e 61 6c 20 70 6f 73  |our original pos|
00000680  69 74 69 6f 6e 20 77 61  73 20 6f 6e 20 74 68 65  |ition was on the|
00000690  20 62 6f 74 74 6f 6d 20  6c 69 6e 65 20 6f 66 0d  | bottom line of.|
000006a0  74 68 65 20 73 63 72 65  65 6e 2c 20 61 73 20 72  |the screen, as r|
000006b0  65 74 75 72 6e 69 6e 67  20 74 6f 20 74 68 61 74  |eturning to that|
000006c0  20 70 6f 73 69 74 69 6f  6e 20 69 6e 20 74 68 65  | position in the|
000006d0  20 74 65 78 74 20 77 6f  75 6c 64 20 72 65 71 75  | text would requ|
000006e0  69 72 65 20 6d 6f 76 69  6e 67 0d 74 6f 20 61 20  |ire moving.to a |
000006f0  70 6f 73 69 74 69 6f 6e  20 6f 66 66 20 74 68 65  |position off the|
00000700  20 62 6f 74 74 6f 6d 20  6f 66 20 74 68 65 20 73  | bottom of the s|
00000710  63 72 65 65 6e 2e 0d 20  20 20 20 20 20 20 20 0d  |creen..        .|
00000720
F/+HINT9.m0
F/+HINT9.m1
F/+HINT9.m2
F/+HINT9.m4
F/+HINT9.m5