Softboard1456.htm, Softboard1456.class and Engine1456.class files.

William Overington

Copyright 2000 William Overington

Here are links to the files needed to run the Softboard1456 1456 applet landscape together with a copy of the source code of the HTML file. In order to run your own 1456 object code programs using this 1456 applet landscape, please download to a directory of your computer the files Softboard1456.htm, Softboard1456.class and Engine1456.class. The Engine1456.class file is, subject to the note that follows, exactly the same file as used with the Research1456.class 1456 applet landscape, so if you downloaded it to local storage with the Research1456.class file and you are using the same local directory for the Print1456 1456 applet landscape, there is no need to download it again, unless you need to obtain a copy of the updated version of the Engine1456.class file noted as follows. The Engine1456.class file was updated when the software modification instructions were added to the 1456 specification, so if you obtained your copy of the Engine1456.class file before Tuesday 3 October 2000 then you do need to download a copy of the later version of Engine1456.class as the new updated version was added to the webspace during the early evening, United Kingdom time, of the previous day. That update was before this section was completed and added to the webspace, so for a person reading this text the updated Engine1456.class file has already been placed on the webspace.

Make a copy of Softboard1456.htm with a different name and then use a text editor, such as Notepad, to edit the source code of this newly created copy of the file Softboard1456.htm and then view that file in a browser. Please note that Softboard1456.htm on its own will just display a plain white background. This is because it is a blank landscape ready for 1456 programmers to add 1456 object code into a copy of it. I have prepared an example file, customizing the system as a demonstration.

Softboard1456.htm

Softboard1456.class

Engine1456.class

demo7.htm

The demo7.htm file is a an example of using the softboard toolbar to produce a softboard for entering text using Esperanto characters. Please know that although most of the keys on the softboard that is produced have characters that are on a normal English keyboard, the example is a general example and that any of the unicode characters that are available in the fonts being used are suitable for use on this softboard. The key at the bottom right of the softboard toolbar is programmed to act as a newline key.

Analysing the source code of the HTML files may prove useful to people learning to use 1456 object code. Please note in particular the relatively small amount of software needed to add a total of 112 routines into the software automatically at start up. Please note also the relatively large amount of software needed to add just the one newline key and to add the red arrow headed symbol onto it. Software writing can be like this. Where a set of results can be achieved in a regular manner, much can be done with relatively few instructions for the amount of result produced. Where a set of results cannot be achieved in a regular manner or there is a one off situation, relatively many instructions are needed for the amount of result produced. The relatively small amount of software needed to add a total of 112 routines into the software automatically at start up is due to the fact that the result can be obtained by using loops in the software which are obeyed many times.

Please remember that all of the differences between Softboard1456.htm and demo7.htm are produced by differences in the 1456 object code in the HTML files.

It is hoped that readers may wish to try producing their own demonstrations.

Here is the source code of the file Softboard1456.htm.

<html>
<head>
</head>
<body bgcolor="#804000">
<p align=center>
<applet code="Softboard1456.class" width=700 height=400>
<param name="SOFTWARE01" value="1:H">
<param name="SOFTWARE02" value="41:H">
<param name="SOFTWARE03" value="70:H">
<param name="SOFTWARE04" value="H">
<param name="SOFTWARE05" value="H">
<param name="SOFTWARE06" value="H">
<param name="SOFTWARE07" value="H">
<param name="SOFTWARE08" value="H">
<param name="SOFTWARE09" value="H">

In operation, Softboard1456.class provides 115 possible entry
points.
At the moment of start up there is one entry point
available.

1: is for start up.

After start up, at any time either 1 entry point is
available or 113 entry points are available, depending upon
whether the 1456 applet landscape Softboard1456.class has been
instructed, using the software interrupt mechanism, to use
1 entry point or to use 113 entry points.

When there is one entry point, which is the default
situation at start up, or after a 14? software interrupt. 

41: is for the mouse being pressed.

When there are 113 entry points, achieved after a 13?
software interrupt.
The 13? could be in the 1: routine or the 41: routine as
desired.
Once the entry points are split in this way the 41: entry
point is not available unless a 14? software interrupt
is used.
All of the 113 entry points are is response to the mouse
button being pressed.
The position of the mouse pointer on the screen is used to
decide which of the 113 entry points is used.

70: is when y is less than 350.

When y is greater than or equal to 350, one entry point
from amongst entry points of 100: to 212: are used,
depending where on the screen that the mouse button is pressed.

The 100: entry point is given by a 25 pixel by 25 pixel filled
square area whose top left point is at (0,350).
To its right, with top left at (25,350) is an identically sized
area gives 101: as the entry point.
This continues to give 28 keys from 100: to 127: inclusive.
The next 25 pixels of depth down gives 28 keys from 128: to
155: inclusive.
The next 25 pixels of depth down gives 28 keys from 156: to
183: inclusive.
The next 25 pixels of depth down gives 28 keys from 184: to
211: inclusive.

The filled square active areas are on a regular grid, not
staggered as is a conventional computer keyboard.    

Please know that a 23? software interrupt will turn on the
softboard toolbar, which aligns with these selected regions.

A 24? software interrupt will replace the colour toolbar
and anything drawn on it with a white background. 

Please know that the softboard toolbar and the splitting of
the entry points are independent of each other.
It may well be that typical usage will be to use both
together, yet the 1456 programmer may, if he or she so
chooses, split the entry points and not use the softboard
toolbar, perhaps writing a text character within each area.
Also, the softboard toolbar is simply filled squares
drawn on the display screen by the 1456 applet landscape.
An identical display could be produced by drawing
filled squares using 1456 object code.
A filled square is drawn as being a filled rectangle with
all four sides of equal length.
There is no command specifically for a filled square.

The 1456 programmer may, if he or she so chooses, produce
his or her own active areas on the screen using eutodraw
graphics commands and by using the values of the
coordinates of the mouse button press with condition tests
and conditional jump instructions just using entry points
1: and 41: if so desired.
Another possibility is to use 11? at start up and to use
the split entry points and also have other active areas
identified using 1456 object code starting at the 70:
entry label.

Regardless of whether one entry point or entry points are
being used, the position coordinates of the mouse at a
mouse press are placed in integers 5 and 6, x and y
respectively.

The shift key being down at the mouse press causes
a 1 to be placed in integer 7.
The shift key being up at the mouse press causes
a 0 to be placed in integer 7.

The control key being down at the mouse press causes
a 1 to be placed in integer 8.
The control key being up at the mouse press causes
a 0 to be placed in integer 8.

The alt key being down at the mouse press causes
a 1 to be placed in integer 9.
The alt key being up at the mouse press causes
a 0 to be placed in integer 9.

There are various features provided in the software
interrupt service routine.

The command 1? will, for this particular 1456
applet landscape, place the string
"The 1456 engine in action."
into ms1456[19].

13? will split the entry points.
14? will unsplit the entry points.

23? will turn on the softboard toolbar.
24? will turn off the softboard toolbar.

The lettering that is drawn by eutodraw commands
may have its size and style changed as follows.

1120? SansSerif  PLAIN  12 point
1122? SansSerif  ITALIC 12 point
1180? SansSerif  PLAIN  18 point
1182? SansSerif  ITALIC 18 point
1240? SansSerif  PLAIN  24 point
1242? SansSerif  ITALIC 24 point
1360? SansSerif  PLAIN  36 point
1362? SansSerif  ITALIC 36 point
1480? SansSerif  PLAIN  48 point
1482? SansSerif  ITALIC 48 point
1600? SansSerif  PLAIN  60 point
1602? SansSerif  ITALIC 60 point
1720? SansSerif  PLAIN  72 point
1722? SansSerif  ITALIC 72 point
3120? Monospaced PLAIN  12 point
3180? Monospaced PLAIN  18 point

Interrupt service routines from 10100? to 10211?
can be used to override the basic key grid with a
light grey square, or to draw keys on an individual
basis without displaying the softboard toolbar.

Interrupt service routines from 11100? to 11211?
can be used to override the basic key grid with a
yellow square, or to draw keys on an individual
basis without displaying the softboard toolbar.

Interrupt service routines from 12100? to 12211?
can be used to override the basic key grid with a
white square, or to draw keys on an individual
basis without displaying the softboard toolbar.

</applet>
<br>
</body>

Readers are invited to send feedback by email. Please email the author to send details of usage, stating which type of computer is being used. In particular, I have only tried this on two PCs and would appreciate knowing how the system works on other platforms.

1456 object code

Copyright 2000 William Overington