8-Bit Software Online Conversion

8-bit Software Disc Magazine (c) Duncan Webster 1991 Issue 14 (July 1991) SOFTWARE DOCUMENTATION PROGRAM: Periodic Tables Program FILENME: $.PerTabB and $.PerTabM The program contains basic information on all chemical elements and it could be regarded as a kind of database. After loading the program, the Periodic Table of chemical elements appears on the screen as well as a window placed above the table and a blank rectangular cursor located somewhere in the middle part of the table. The window shows a name and a symbol of an element, its atom number and its mass number. Pressing any cursor key moves a black box from one element to another and changes the contents of the window, whereas pressing the RETURN key gives a screenful of more detailed information on the element selected. Pressing SPACE re-enteres the main screen (ie. the screen with the periodic table). To obtain reasonable speed of displaying and to make the program more compact, some data and a part of the code have been located above the TOP value. The machine code used is relocatable so the program is compatible with all Acorn computers and all filing systems, provided that the PAGE value is set between &0E00 and &2000. There are 2 versions of this program on this months disc. The first version being the $.PERTABB program which is automatically loaded from the 8BS menu. The second version is called $.PERTABM which is a more effecient version of $.PERTABB, but requires the Masters shadow RAM or suitable equivalent to run. ---------------------------------------------------------------------- PROGRAM: MERGE, PSAVE and SNIP FILENME: S.MERGE and S.PSAVE and S.SNIP These utility programs so not appear within the 8BS disc menu, but are stored on the issue 14 disc on side 0 under the filenames above. They are in fact extra machine code source programs and it is recommended that you copy the above 3 files to a separate disc and *RENAME them to the $ directory. This can be performed either manually, or by using the Directory Rename utility supplied on the issue 13 disc. MERGE The User Guide describes two methods by which two BASIC programs can be merged together, but both these methods need careful adjustment of the line numbers at least in a program that has to be merged. The 'Merge' is a source program producing the machine code utility that adds a BASIC program to the end of one already stored in memory. The resulting longer program is then automatically renumbered. PSAVE This program produces a machine code utility named PSAVE which in turn will save a part of a BASIC program resident in memory. The machine code can then be called by the following command. *PSAVE <filename>,<lineno1>,(<lineno2>) SNIP The BASIC command DELETE operates very slowly and it often takes a lot of time until a large part of the program is removed from memory. The SNIP utility will immeadiatley remove any part of a BASIC program from a given line to the end of the program and automatically adjusts the TOP and LOMEM values. The utility can be called by typing *SNIP with the necessary paramater (ie. the line number). ---------------------------------------------------------------------- PROGRAM: Braille Translator/Demonstration Routines FILENME: $.BRAILLE All Users of the BBC are familiar with ASCII codes as the means of representing alphanumeric and other characters by 7-bit binary numbers. The use of ASCII is virtually universal, and it may not be realised that other methods of digital expression of letters and numbers are possible. The oldest of these is probably BRAILLE, which uses 6 digits or "dots". Since this only allows for 64 characters as opposed to the 128 possible with 7 bits, there are certain alterations. In level 1 (or standard) Braille, the same code is used for upper and lower case letters, the control characters represented by ASCII 0-31 do not occur, nor do ASCII 96 or 123-127. Braille characters have dots in six possible positions. These are conventionally numbered as follows:- 1 4 2 5 3 6 The observant will have noticed the simalarity with Mode 7 (teletext) graphics character construction. If the following values are assigned to the Braille dots:- 1 2 4 8 16 64 then, using separated mode graphics, Braille characters can be represented (in minature) on the screen string display routine. There are three routines. One will produce the pattern of the required Braille character, the second a minaturised screen display of the Braille equivalent of a string, and the third a printed representation of a Braille equivalent of a string with the actual string. All these are from keyboard input. The program is loaded and run from the main 8BS menu, but can also be accessed directly from BASIC by entering *BRAILLE <return>. Routines are selected by function keys in accordance with the screen instructions. The Braille/ASCII equivalents are those of US Computer Braille. The conventional descriptions of the Braille characters can be found in the DATA statements from line 20000 onwards in the source code program S.BRDEMOS (not on the 8BS disc but available upon request). ---------------------------------------------------------------------- PROGRAM: Member Y80's - HELP NEEDED by Alex Savvides. There is a program in this months disc called $.Wierd which contains a (yet unfinished) program. The development of this program has been held up due to what seems to be an unfathomable error. I will let Alex Savvides, the author of the program continue ... Within the program, the procedure "files" reads the contents of memory location &E00 onwards for the filenames appearing on the disc after a "*." has been issued. This was done so that I could store the filenames in an array which will later be used as a file selection routine in my program whereby a scroll bar is used to highlight the program requited etc. I have altered the program (available on the issue 14 disc) just to demonstrate my findings... For some strange reason the computer does not realise that it has put the filename strings into the array as the procedure called "check" will verify. After reading the filenames into the array, it will then test to see if a filename called $.weird (it's own name) appears in the list. If it does, then I want the program to ignore it because it is the program's own filename and therfore cannot be selected to be loaded "into itself" - obviously doing this would crash the system. The message "$.Weird ignored" should be displayed if the string has been read into the array, but even though the dtring appears in the array, the message above is not printed. Is the computer contradicting itself by reading a string into the array and then by not printing the message effectively saying that it is not in the array? - Please someone sort this out for me - it is driving me mad! I have done the following in an effort to detect the cause... 1. Paged OUT all ROMs 2. Filenames contain NO control codes 3. Page is set at DFS (&1900) ---------------------------------------------------------------------- If anyone out there can help - or better still can submit a solution ON DISC, then please write in a.s.a.p. as you will be providing invaluable help towards completing, what I am sure will be a very good piece of software.