Text content (OCR)
THE JOURNAL
OF THE
BRITISH APPLE
SYSTEMS
USER GROUP
hard core
DOS APPEND (NEW) FIX : ITT GRAPHICS FIXES : MORE SOFTWARE : ETC
Page Z HARDCORE - The Journal of the British Apple Systems User Group
—
a
Lui Computer Services Lid
108 THE PARADE HIGH STREET WATFORD WD1 2AW
Telephone: Watford (0923) 29513
Business Software °* Professional Courses * Pascal °*
Recreational Software * Interfacing * Cromemco Systems *
Level 1 Service Centre * Utilities * Colour Monitors *
Supplies * Accessories * Enthusiasm * Open Tues - Sat °*
~~ aladeamemmamteaes neve — ee:
Computer Assisted Learning Educational Software Development
Complete Self-tuition German Course for the Apple/ITT 2020
fe Id: Beginners to Post O"Level. Now you know BASIC vhy not try German?
eladeutsc But no mmovieage of computing needed for this courses
Nine diskettes of teaching and testing routines
9 disks )
6 audio cassettes)
£120.00
1 textbook ) mm
1 workbook
Classroom version also available + OHP transparencies + extra sets
of textbooks
German stand-alone teaching and testing routines. Perpetual random
generators - article and adjectival endings, vord order, time of
day, money, verb tenses, etc. Fine for O'level Revision (BA Finals
too!) .
1 Apple/ITT_ disk ) £15.00
Define and write your ovn instant assessment tests - any verbal
subject - no knowledge of computing needed. Build up your ovn
9
Teacher's SiS preter Hegre gress or ae
time - update them with your Editor utility - and settle back with
rel
: the sherry! Introduction panels, help notes, any length - all made
oo it possible for any two-finger typist! Multiple Choice specimen included
Regular Apple/ITT disk ) £20 00
German Teacher Toolkit 2 £30.00
(includes lover-case, 4, 5, U& B
Watch this space for Russian, Greek, Arabic, French Teacher's Toolkits!
Beats Optrex! Give your eyes a rest and insist on Lover case for vort-
lowercase Spell brifcrs Plugcin foe (aeyiatoncy Apeiee tee Scelae Siar © nah
es
Applewriter
Software + ROM ) £28.00
2 Nicholas Gardens London WS SHY Tel. 01) 567-6941 & [062] 882- 5206 Regn. No. 2612693
August 1981
hardcore
THE JOURNAL OF
THE BRITISH APPLE SYSTEMS USER GROUP
P.O. BOX 174 WATFORD WD2 6NF
EDITED BY DAVID BOLTON
BRITISH APPLE SYSTEMS USER GROUP
COMMITTEE
FRANK KAY Chairman
JOHN SHARP Secretary
DAVID BOLTON Treasurer
EDDIE PAYNE Events Organiser
JOHN RODGER Librarian/
Information Officer
JOHN ROGERS Software Librarian
TONY WILLIAMS Membership Secretary
BANKERS
National Westminster Bank Ltd.
Brompton Square, London SW 1HH,
MEMEER OF THE
INTERNATIONAL APPLE CORE
a
COPYRIGHT (C) - The contents of this journal
are copyright of the British Apple Systems User
Group and / or the respective authors. However
permission will normally be granted for
non-commercial reproduction by user groups
affiliated to the International Apple Core,
provided the author and source are properly
credited,
The opinions and views expressed are those of
the various contributors, and are not necessarily
supported by the British Apple Systems User
Group.
HARDCORE - The Journal of the British Apple Systems User Group
Page 3
CONTENTS
4 EDITORIAL
5 BEGINNERS PAGES
John Sharp
7 INTRODUCTORY DISK- A Problem
John Sharp
& AMATEUR RADIO
Donald Maclean
11 A CAUTIONARY TALE- DOS Append errors
and how to fix them Neil McFerran
15 CHAIRMAN’S CORNER
16 PASCAL PAGES
18 PARK STREET HAPPENINGS
Tony Williams
21 LR.AM. REVIEW
Nik Spicer
22 THE ARK AND THE COMPUTER
24 ITT PATCHES for Automated Similations
Games lan Trackman
25 ITT HI-RES HARDWARE MODIFICATION
David Bolton
26 APPLESOFT / PALSOFT DIFFERENCES
Tan Trackman
24 A LETTER FROM ITT
26 APPLE / ITT COLOUR CONVERSION CHART
Tan Trackman
28 HEX/DEC COMPETITION RESULTS
31 WARGAMERS VIEW of Microcomputer Games
- Concluded Robin Hood
34 SIG FOR THE DISABLED
Glyn Vernon
36 MINUTES OF THE A.G.M,
3 PRINTER INTERFACING Part 3
Chris Murphy
41 THE SOFTWARE LIBRARIES
John Rogers
44 PROFILE -~ Frances Teo
Tony Williams
45 PIPPIN’S PAGE
Vernon Quaintance
46 EXPEDITER- A Review of Online System’s
Basic Compiler Mike Walker
Cover- Hi-Res screen dump using an Epson MX 80 FT/2, of
the Introduction to BASUC’s first disk of softwere
distributed to other user groups,
Page 4
THE GO-BETWEEN
(CENTRONICS 727 VERSION)
Apple Writer is one of the most popular low-cost
word-processing systems for Apple computers,
The Centronics 737 printer is one of the most
versatile dot-matrix printers available for the
quality required for text-processing,
Go-Between enables you to use all of the
features of the 737 printer from within Apple
Writer, so producing in combination an extremely
cost-effective word-processing system.
Go-Between, written in machine-code for speed,
Produces properly justified text using the
Centronics proportional character set. It also
recognises a comprehensive range of printer
commands embedded in your text-file, held in
Pasy-to-use two-character codes (no complex
control character sequences), which put these
facilities at your disposal !-
* Left, centre, fill and right justification
* Left, right, top and bottom margin settings
* Switching between standard, proportional
and condensed character sets
# Elongated characters
# Underlining (of any characters anywhere in
a line)
# Optional printing of page headings
# Optional page numbering ( 1 - 99 ) starting
at any number
* Single-shegt Ar continuous printing
* Full and “ St feeds in forward and
ine
reverse directions
* Single- and multiple-dot forward and
reverse print-head movement
* Single and multiple line spacing in half-line
increments
# Tabbing
All features function with any Country Character
set.
During printing, embedded printer commands are
displayed on the screen at the same time as they
are executed by the printer.
A comprehensive 40-page manual is provided as
part of the package,
Versions of Go-Between for Epson, Anadex and
Paper Tiger printers will be available shortly,
Hard Core is "type-set" using Go-Between, "The
ease of preparation was quite astonishing |" —
David Bolton (Editor of Hard Core)
PRICE £26,50
BLUE CHIP SOFTWARE
10, Huson Close
London NW3 30W
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
EDITORIAL
This issue, late as usual, is being prepared in
the middle of the holiday season with all the
additional problems that this causes, In
particular, contacting people to get up-to-date
information on local groups has not been
possible, and therefore we are holding over this
feature until the next issue. In the meantime,
dates for your diary are as follows!—
The Park Street meetings will be on {st Sept
(Hands-On Software) and 4th October (Music
Synthesis),
The new SOUTH LONDON group will hold it’s
inaugural meeting at 7pm on Tuesday 10th
September in the rear hall of the Methodist
Church, Corner of Lambton Rd & Worple Rd,
Raynes Park, The Hall is about 2mins walking
distance from Raynes Park (BR Southern
Region) station with trains every 10 minutes
from London. Further meetings are planned for
3rd Oct, 1Sth Oct, & Z4th Oct. The contact is
Warren Avrey ~ phone him on (01) 947 0254 or
write c/o BASUG.
BASUG will be at the PCW show from 10-12
September, and we look forward to seeing both
new and existing members there,
The next issue of HARDCORE will be in October,
so please let us have copy as soon as possible,
The following issue will be in December, and we
would like to make this a ‘Christmas Special’,
perhaps also issuing a disk of seasonal software!
Good news for those members who have joined
recently - HARDCORE 1 & ?, which have been out
of print, are being reprinted as a combined issue,
and will be available very shortly, They will be
sent to you automatically as soon as possible.
Finally, for those readers who are not members
of the British Apple Systems User Group, we
welcome all users and potential users of Apple
Systems (Apple and ITT2020), Membership for the
current year costs £10, including an introductory
disk of software, subscription to HARDCORE
(including back issues), access to bulk-buying
facilities and special offers, and an
ever-expanding range of meetings in various
parts of the country. Simply send your cheque for
£10 to P,O.Box 174, Watford, WD2 6NF,
David Bolton
It is the policy of BASUC that any commercial interest in
the Apple by committee members should be declared. We
therefore advise you thet David Bolton, Frank Kay, and
John Sharp have established 2 software company known as
‘Wicrosource’,
August 1981
HARDCORE - The Journal of the British Apple Systems User Group
Page 5
BEGINNERS’ PAGES
By John Sharp
MORE PEEKING AND POKING
In the last HARDCORE we began to look at
PEEKing and POKEing, Before continuing it is
worth a few minutes to consider how to save
yourself a lot of work when you have a list of
POKES to enter into a program
If they are in a sequence as is most likely, why
not let the computer do the work and use a loop
to do it!-
10 FOR N = 768 TO 776
20 READ P
30 POKE N,P
40 NEXT
50 DATA 1,32,221,221,206,0,3,248,96
It will not have made much less work in this case
but it will do so when there are many more
POKES to do,
Now so far we have been mainly POKING. How
can we use PEEK in a program to let us do
something constructive, One way might be to see
if you have an APPLESOFT or PALSOFT machine,
ive, an APPLE or an ITTZ020, One way is to look
into a location you know to be different} Ian
Trackman suggests location 42447, If you PEEK
(42447) and get a number other than 0 then you
are running on an Applesoft in ROM machine.
PEEKing is often useful to find out other things
in programs, It could be used to find out if you
are in FLASHING or INVERSE or NORMAL mode
when you want to PRINT a new string. This uses
the location we dealt with last time. For
examplei-
10 X = PEEK(S0)
20 IF X = 255 THEN PRINT "YOU ARE IN
NORMAL MODE"
30 IF X = 127 THEN PRINT "YOU ARE FLASHING
AT ME!"
40 IF X = 63 THEN PRINT "YOU ARE INVERSE"
This may not be common occurrence but it could
be useful if you were printing in different modes
and wished to know which one you used last.
Another case might be to test which key someone
had pressed last. If you PEEK (-16384) then the
value you get will get will be the ASCII value of
the key pressed, This is illustrated by the
following:-
10 FOR N = 0 TO 1000
20 X= PEEK( -16394)
30 IF X > 127 THEN PRINT CHR$(X);! POKE
-16368,0
40 NEXT N
The POKE —16368,0 is to reset the switch to read
the next character typed in . You could use it to
see which was the LAST CHARACTER typed on
the keyboard, or indeed if any had been typed in
whilst the program was running, without having
to rely on the key being pressed at a specific
time when the program requests it.
This suggests the following program for a simple
reaction timer.
10 TEXT | HOME
20 FOR N= 1 TO RND (3) # 4000 ! NEXT
30 PRINT "READY"
40 FOR N = 1 TO RND (3) # 4000 | NEXT
50 PRINT "STEADY"
40 FOR N = 1 TO RND (3) # 4000 | NEXT
70 PRINT "GO."
80 POKE -16362,0
90 FOR N = 1 TO 300 } X= PEEK ( -14284) sIF X >
127 THEN GOTO 110
100 NEXT
110 PRINT "YOUR SCORE WAS "}1000 -
YOU MAKE IT LARGER ?"
120 END
A few comments would help those who do not
understand. Lines 20, 40 and 60 put a random
delay into the program between each statement.
The resetting of the keyboard in line 80 stops
you cheating by pressing a key before the "GO"
comes ups
}" CAN
POKING THE HI-RES SWITCHES
Have you ever tried to play a game and found
instead of the correct graphics page the one from
the graphics game you played before comes up.
This is particularly common with the Integer
games on the Software Distribution Library
Disks. It means the switches are set wrongly for
jumping between the various pages. These are
POKE switches. If you read the APPLESOFT
MANUAL it is confusing to say the least. An
easier summary as follows is not foolproof
because the switches are interdependent, but it
usually workse
POKE -16304,0 .... TEXT TO GRAPHICS
POKE -16303,0 ...GRAPHICS TO TEXT
POKE -16302,0 «GRAPHICS & TEXT TO FULL
GRAPHICS
POKE -16301,0 »...FULL GRAPHICS TO
GRAPHICS & TEXT
POKE ~16300,0 «PAGE 2 TO PAGE 1
POKE -14299,0 «..PAGE 1 TO PAGE 2
POKE -16298,0 »..LO-RES SWITCH
POKE -16297,0 «.HI-RES SWITCH
The last two are the most relevant ones if you
have the trouble with being in the wrong type of
graphics. Just press CTRL-C and type in the
relevant POKE followed by a RETURN and rerun
the program.
Page 4
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
—
THE ESCAPE KEYS AND OTHER EDITING
FACILITIES
If you are a beginner you have probably glanced
at the REFERENCE MANUAL and thought "Yes
I’ll look at that some other time, maybe in a few
years time". Well there are some pages you might
understand that are not in hieroglyphics. For
example the pages on the ESC codes for moving
the cursor on pages 24 and 35, Although most
AUTOSTART ROM users are familiar with ESC
IJKM they are not always aware of the ESC
DBAC set, They give you similar movements, but
with one difference, If you press ESC ABCD then
the next key you press actually works, It is not a
"get you out of using the ESC key sequence ". If
you are a poor typist and are continually
mistyping CATALOG titles, you probably use the
ESC IJKM keys to run up the Catalog and then
along the row with the -> key. How many times
do you forget to press R for the RUN twice or
use some other means of getting out of the ESC
sequence only to find you have typed UN
MYPROGRAM and had SYNTAX ERROR come back
at you. Well if you get inta the habit of using
ESC D as the last ESC character to move the
cursor onto the line you want, there should be no
such trouble,
Whilst on such facilities, do you know how to
slow down or temporarily stop listings. A slow
listing can be achieved by typing SPEED = 130 or
some other number less than the normal 255,
When you then LIST the letters will come out
slowly, The lower the number the slower} with
SPEED =1 they take a very long time. Remember
to reset to SPEED = 255 before you run the
program,
To slow the listing down so that a few lines come
up at a time before stopping, use CTRL S, Type
LIST and press RETURN as normal, Then put one
finger on the CTRL key and keep it there. Then
press the S key. Each time you press it the
listing will either move or stop, In order to get
back into BASIC type CTRL C, THIS WILL NOT
WORK ON AN APPLE WITHOUT THE
AUTOSTART ROM (including the ITT 2020) or if
you are listing an INTEGER program.
INTERNATIONAL
APPLE CORE
MEMBER OF THE
INTERNATIONAL AFPFLE CORE
BEGINNER EYTES EACK!
Wantage
Oxfordshire
Dear John,
Herewith I send you the promised
beginners programs one of which I wrote to
acquire some speed in typing being a non-
typist, The other one was to aid my son’s
tables,
In both cases after RUNning the program
questions are being asked, one in the form
of a character which has to be typed in
correctly to obtain the next one, The other
one in the form of a multiplication of which
the right answer has to be entered to
proceed,
After the sequence has been succesfully
ended a total time is given which is not
very accurate but gives an indication of the
progress made.
Unfortunately I could not find a more
accurate timing routine and hope that one
of the other members have a better
proposal,
Yours sincerely,
Tom Winkel.
ILOAD TYPE
LIST
10 FOR P = 0 10 24
20. A= INT (100 * RND (1))3 IF A < 32
OR A > 90 GOTO 20
30 HOME $ YTAB (12)} HTAB (20)! PRINT
CHRS (A)
40 PC = PC + 1} IF PEEK ( - 16384) < 12
7 COTO 40
50 GET BS! IF B$ = CHR$ (A) THEN NEXT
Pi GOTO 70
60 GOTO 30
70 PRINT + PRINT : PRINT "25 CHARACTERS
IN ".1.x INT (PC / 6.75)" SEC"
JLOAD MULTIPLICATION
LIST
10 FOR P = 0 10 19
20 A= INT (10 x RMD (1))3B = INT (10
x RND (1)IC = AXKB
30 HOME $ VTAB (12)! HTAB (18)% PRINT A
yo ype sty
40 PC = PC + 13 IF PEEK ( - 16384) < 12
7 GOTO 40
45 INPUT D
50 IF C =D THEN NEXT P GOTO 70
60 GOTO 30
70 PRINT $ PRINT $ PRINT "20 MULTIPLICA
TIONS IN ",1 x INT (PC / 6,75)" SEC"
August 1981 HARDCORE - The Journal of the British Apple Systems User Group Page 7
THE INTRODUCTORY DISC
— Aa FPROELEM
By John Sharp
If you joined in MAY/TUNE you may have been
the victim af a brainstorm I had, with the result
that your INTRODUCTORY DISK OR TAPE is not
all it should be. For various reasons there were
additions made which corrupted an otherwise
good set of programs. What is suprising is that
so few people have complained, To find out if you
have a bad version run the GRANDAPPLE CLOCK
and set the chimes. If they do not work then you
have one of the faulty disks or tapes.
HOW TO CORRECT THEM
You can either return them for a corrected
version, or carry out the following!-
POKE to make sure that any strings you
have to copy do not get extended by a lot of
blank spaces (see HARDCORE 1 Beginners Page).
LIST the lines given
Use the ESC keys IJ or DB to get to the
beginning of the line then use the -> key to run
the cursor over the line and copy it into memory,
Keep your eye out for syntax errors like a
colon(t) being missing,
The relevant program lines arei-
HAUNTED CAVE lines 1200 and 3000
CHICKEN line 2200
ZOMBIE ISLAND lines 150 and 159
FIVE GUESSES lines 20 and 500
HIRES DEMO lines 200 and 1000 (syntax)
HANGHAN line 295
BLACK EOX lines 36 and 1030
APPLE INVADER lines 300 and 640
NIGHTMARE lines 27 and 2070
GRANDAPPLE CLOCK lines 170,350 and 900
SPACE MAZE line 3010
MACHINE TO POKES lines 115,310 and 1150
SHAPE DESIGNER lines 92 and 150
SHAPE/DES ASSEM lines 171,630 and 3140
SHAPER lines 120,250 and 470
SHAPE -PROG line 40
AUTOAPPLESOFT lines 105 and 208
HINT ASSEMBLER = lines 100 and 195
SEARCH/ CHANGE line 180
If I have caused you inconvenience I am sorry. We
still cannot guarantee that the disk is bug-free,
but if you do know of any problems please let us
know. (How else can we sort them out?) If you
still do not understand the programs, again
please ask. An article can then be written by way
of explanation and any suggestions incorporated
as well,
a
MICROSOURCE 1s a new concept, specialising in
utilities for the A . New, because as users ourselves;
we know what you need and so are in the unique position of being able
to offer excert advice. We can thoroughly recommend the products
below either we use them ourselves, or have had them specially
written to fill a need. We will gladly supply more information and
answer your specific enquines.
AN OPENING SELECTION OF OUR WARES :~ nicl
RAMEY CARDS £95
The only RAM Extension card for the APPLE which does not involve
pulling chips out of the mother-board, In combination with your
System Master Disk, you can now have the equivalent of an Integer or
Applesoft ROM card, as well as being ready for PASCAL. Compatible
with 220 card, Visicalc, The MILL 430° card, etc, etc.
JAILBREAK 133
Removes those bars from ITT 2020 graphics and allows you to run
APPLE programs without the problems of incompatibility, Switchable
between the APPLE and ITT Graphics,
SPECIAL OFFER JAILBREAK & RAMEX CARD for ITT £125
with software ang details of how to use them to best advantages
PROGRAM LINE EDITOR 222
Gives you the editing fachties APPLE left out. You can now
insert /delete/find/cisplay normal and control characters in lines
without having to copy the whole linc. No more spaces in strings or
fiddling with the cursor keys. With the added bonus of defining your
own commands through the ESC key. Cuts down your mistakes and
saves you time.
OMNIFONT 127
A set of programs which allows you to use your EPSON printer to
produce hard copy using ANY of the fonts in the DOS 3,3 TOOLKIT,
Mise the ones provided or define your own from BASIC or even from
WRITER. Use all the fachties of your EPSON (including
Jargevenhance and underline) with APPLEWRITER.
OMNIDOS £22
Accesses both 32 and 3.2 disks- Automatically. Uses no extra
memory. Solves all the problems of having to Muffin and DeMuffin
f:les. Also includes utilities to personalise your disks, alter DOS
commands and protect your disks from copying.
DISPLAY-WRITER £37
The program for the APPLE owner wishing to use the computer for
advertising purposes. It allows you to set up a changing display on
the screen in various character sets and colours, in upper and lower
case to advertise or inform. Compatible with Versawriter
APPLEPLOT CONVERTER t10
Allows you to print the graphs on an EPSON printer in all modes.
(Grapiucs facilities must be present on the printer).
SUFER-VADERS a7
A totally new version of the ever popular games
RELOCATED INTEGER t16
Allows you to run any Integer program without the expense of a
language card, including those using Hi-res graphics. Mini-assembler
included. Specify memory size and DOS 242/313
AUTO-INDEX ti8
Allows you to make a Master Catalog disk, with fully automatic
updating, and comprehensive search and sorting routines. Requires
48k and disk. Speaty DOS 2.2/3.3.
GAMES EXPANSION PORT £11.50
Forget having to take the lid off everytime you want to change
paddles for other accessories, Run two sets of paddles.
BENEATH APPLE DOS £11.95
This book is a goldmine of information on how DOS works, what it
does and where all the locations are for the various routines»
Send SAE for complete CATALOG,
If you don’t see what you want -please ask~ we can obtain most
APPLE related products quickly and at competitive prices.
4e also accept payment by credit card and can offer credit terms by
arrangement.
We wish to expand our range, Contact us if you have any software to
market.
DEALERS please ask for terms.
ICROSOURCE
BRANCH ROAD, PARK STREET, ST, ALBANS, HERTS
TEL! 0727 72917 & 09273 75093}
Page 2
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
AMATEUR RADIO
by Donald MacLean
So far, my ITT 2026 has worked in the ‘shack’ in
S1X ways!
LOGGING, During contests, to tell me quickly if
I've already worked a station, I did once concoct
a program to help maximise points — there were
multipliers for distance etc, - but I’m afraid I
don‘t take contests too seriously. Countries from
which I’ve received OSL cards are logged so that
it’s the work of seconds to check whether any
Prefix is on the ‘Wanted’ list. The Apple ‘Phone
List’ type of format works well for someone with
my awful (human) memory, but it would be
interesting to see some elegant ‘custom’
programs.
MORSE, The random groups generator (’Datong’)
is ideal for learners, Watching a micro print fast
incoming morse is fun, but neither the 2020 nor
the Tono 7000 (a dedicated Japanese micro, which
T borrowed) cope well with degraded signals - or
with eccentric human sendinge Keyboard
transmission of morse seems kinky somehow.
Maybe because I learned to use a morse key
(finger and thumb) before a typewriter (two
fingers), Maybe just because I’m old-fashioned.
RITY, Radio Teletype. Communicating from a
keyboard to a VDU/Printer, perhaps thousands
of miles away, Amateur RITY is now
standardised at 45,45 baud (bits/second) - a nice
gentlemanly /ladylike pace a and many
transceivers have dedicated RTTY signal-paths
both ways, usually with Mark/Space frequencies
of 1445/1275 Hz, There’s a RTTY Repeater
(Automatic relay) GB3PT, just south of
Cambridge on UHF channel RB12, and the HF
frequencies to monitor are 3.4, 7.04, 14,09, 21,1,
and 28.1 Mhz and thereabouts, Two metre FSK is
around 144.4 and AFSK about 145.3} 70 cms FSK
at 422,64 and AFSK at 433,3 Mhz. Note that this
mode 1s Verboten on Top Band - and that you
must give station ID’s by telephony or CW, J
(Chips to do both available now!) Run some RY’s
for the other guy to tune to, and don’t send a
string of LF’s - a clear screen to you can be a
room full of bumf to him. DLIWX at Langenfeld,
Germany is a micro-processor ‘Mailbox’ on 14,097
Mhz - an intelligent device, but it wouldn’t tell
me if it was an Apple or not. (Use standard
45,5/170 RTTY), The ARRL transmit a News
Bulletin from Washington at 2200 GMT daily on
14,093 Mhz under the call W1AW.
SATELLITES. The first purposeful program I
wrote (in my comparably short Apple-era) list the
AQS/LOS Times/ Azimuth/ Elevation (of Aerials)
for orbits of OSCAR 8 which are accessible from
SE England, given any Equatorial Crossing,
Communicating with say New York, duplex, on
UHF is fun' It also helps to have three hands,
Sometime I mean to interface the ITT directly
with the Antennae rotators - perhaps also with
receiver tuning (which is digital anyway) to take
care of Doppler shift.
SSTV. Slow Scan TV. Sort of facsimile, Chris
Galfo’s software includes a nice character
generator. Somehow I can’t enthuse about this
mode ~ like keyhoard morse! not my scene, Best
piace to find some SSTV is 14.23 Mhz
ASCII-EXCHANGE, Now that our licence permits
data transmission, I think that this is where it’s
at - or should be! Micro to micro - Apple to
Apple, I’ve had some great QS0’s_ while
exercising my WS heence in Califormia (and
dialled into the ‘Bulletin-Boards’), American
ASCII-Hams mostly seem to use 110 baud, though
higher rates aren’t rare, and almost all stay with
170 Hz shift. WI1AW repeats its RTTY Bulletins
in ASCII (110/170 on 14.093) around 22,15 GMT,
APPENDIX, Secretaries
associations / groups:
(Addresses in the Call Book)
of relevant clubs /
British Amateur
GW2IGG
AMSAT-UK (Amateur Satellites) - G3AAT
British Amateur Television Club, 13 Church St,
Gainsborough, Lincs,
Radio Teleprinter Group -
SALES AND WANTS
Members can advertise private sales and warts here, free
of charge,
STARTER SYSTEM, ITT2020 (£450), Anadex
Printer (£200), and Disc Drive with controller
card RESO
Phone Bizmiainsaeen (7 Pe dd
EPSON TX-S0B printer with interface, & months
old Phone Paiitiitiakim (25)
ITT 2070 - 48K with Integer Card and
Programmers Aid No t LADO or offers
Phone Wisi = (ii Havin
| Sup-R-Term 80 column card £150
9" Monitor LAO
Sharp PC12/11 Cassette Interface £7
Mike Walker =r De
August 1981 HARDCORE - The Journal of the British Apple Systems User Group Page 9
———$ $$ ———__$_—
Verbatim.
MINIDISKS
Verbatim, the world’s
leading producer of minidisks,
makes the widest range of
minidisks available for word
processing and data processing
applications. Intent on main-
taining this position of leader-
ship, we constantly strive to
make our minidisks even better.
Each Verbatim minidisk
is equipped with a hub reinfore- Try new Verbatim disks
ing ring to aid in registration, for the performance
reduce errors and give better of a lifetime.
alignment repeatability.
SPECIAL OFFER TO B.A.S.U.G. MEMBERS ONLY
MINIDISKETTES £49+*5OQINCLUSIVE OF
. AND.
T ENCLOSE A CHEQUE MADE PAYABLE TO
B.A.S.U.G. CHEQUE No PLEASE
FORWARD TO ME BY RETURN AT THE ENCLOSED
e 10 HARDCORE - The Journal of the British Apple Systems User Group August 1981
|
THE
COMPUTER BOOK SHOP
RUN BY PEOPLE WHO KNOW COMPUTERS
LION MICRO COMPUTERS
NEW
COMPUTER BOOK SHOP
(ALSO STOCKING HI-FI, VIDEO AND C/B BOOKS)
LONDON’S LARGEST
SELECTION OF COMPUTER
BOOKS
PLUS ALL THE HARD TO GET COMPUTER MAGAZINES
OPEN MONDAY to SATURDAY 9-6 PLUS
THURSDAY LATE CLOSING 9-7
GROUND FLOOR
LION HOUSE
227 TOTTENHAM COURT ROAD
LONDON W1
TEL: 01-580 7383
SEND SAE FOR FULL CURRENT LIST — BETTER STILL, CALL IN.
August 1931
HARDCORE - The Journal of the British Apple Systems User Group
Page 11
A CAUTIONARY TALE
(with apologies to Richard Adams & J RR
Tolkien)
by Neil McFerran
Once upon a time in a far off island little
Neil was sitting in the sunshine twiddling his
nybbles and shifting his bytes to and fro, happy
as a sandboy, when along came this wolf, most
dapper in grey, all smiles and nimble toes.
"Why don’t you collect some data for me,
little sandboy?", said he, all of a simper.
"Oh certainly sir, with all your nice shiny
teeth sir, I’ll get all your bytes just as you like
sir, and pack them up and parcel them just as you
like for your later digestion, sir" I replied (it
pays to be sociable to wolves, you see),
So began the Saga of The Terrible Trouble
with The Database! first there was the hardware
to be built to catch the Treasured Data, then the
program to put it out to disk for safe keeping
away from prying eyes and nosey noses and then
the program to read it back from disk and then
The Terrible Trouble really began, But before
this happened there was a long summer of sweet
smiles and lots of “How nice the System is" and
“How easily it keeps track of everything" and a
replete wolf with his daily ration of bytes anda
satisfied Neil with everything running so
sweetly, thanks to his Apple and a little
ingenuity, But that, as I said, was before the
black clouds gathered from all quarters and the
cold fog obliterated the landmarks so we lost the
Treasured Data and the wolf became lean and
haggard from his lost bytes, with the disks a
jumbled graveyard of bits of this and that all
mixed together, not at all neatly formatted and
ready for digesting,
Well, we’d better begin at the beginning and
continue through the ‘bad patch’ until we get out
into the summer’s sun again here and now. It all
started in the dim and distant past of long ago
(about a year), when we began to collect data
directly from some laboratory equipment with the
Apple (write to the Ed, if you’d like to know how
to connect your Apple to all sorts of equipment,
perhaps he’ll ask me to try to tell you - but
that’s another story), This data is for a
large-scale clinical survey we’re doing in Belfast
which will help hospitals to diagnose various
pathological conditions in the future using tests
like the ones we have developed here, The only
action required by the laboratory operator was to
type in a number to the Apple so we could
subsequently identify individual patients’ test
results which had been written automatically to
the disk by the program. Since we were doing the
tests ‘double blind’ we had no knowledge of which
patients had what conditions and had only their
numbers with which to identify them, so it was of
utmost importance to be able to keep track of
everything precisely,
To do this I arranged to have a sequential
text file on the Apple called DATA.ALL to which
the results of each day’s tests were APPENDed,
Having kept my eyes and ears open like a good
child I knew all about the ‘DOS 3,2 APPEND
ERROR FIX’ that Apple had issued (twice!), and
included the fix before ‘CLOSEing’ ’DATA,ALL’
after each APPEND. All seemed rosy in the
garden, the disk was beginning to fill with the
Treasured experimental data, each day’s
Treasure seeming to go into ‘DATA.ALL’ for safe
keeping and to be easily viewable there all
sparkling and fresh in its entirety, So I handed
the System over to the person actually carrying
out the laboratory tests and directed my
attention elsewhere to organising an analysis
program to correlate the laboratory results with
the clinical findings, The ‘Terrible Trouble’
really started when we had been collecting data
for about six months and had accumulated a
considerable number of records in DATA.ALL, In
order to know the total number of records to be
recovered from DATA.ALL whenever it is to be
interrogated I arranged that the first record be a
counter for the total number of days on which
DATA.ALL had been APPENDed to (each day’s
entry adds 54 variable length records to
DATA,-ALL), Then, on reading the first record, we
have an account of the amount of Treasure we
have hoarded, and know the total number of
INPUTs from the disk to completely recover all
of DATA.ALL. It was this small piece of
program structure that eventually led both to
much gloom and doom and also to our final
recovery from ‘The Terrible Trouble’, As I
said, all seemed well at first, but the dreadful
day dawned when I came to read the DATA.ALL
file back and obtained an ‘OUT OF DATA’ error
message from DOS after only two thirds of the
expected records (from the contents of the first
record) had been read back! everything seemed
more and more gloomy as I examined the code for
writing to DATA.ALL and then reading it back
again — no errors became apparent no matter how
hard I searched . So I resorted to examining the
file directly using a Disk Utility program! from
the CATALOG I knew there were some 145 blocks
of data to be searched so I was rather overawed
at the prospect of having to search each byte of
each block for the End-Of-File marker (EOF)
causing the ‘OUT OF DATA’ message, But
undaunted I used the Utility program first to
look up DATA.ALL’s Track and Sector List (TSL)
used by DOS to tell it where the file actually
resides on disk (DOS Manual p,128)} I found that
there were actually 154 blocks there, At the time
this didn’t send cold shivers up my spine as it
should have, instead I took comfort from the bit
about inconsistencies in the length of TEXT files
as indicated in the CATALOG (DOS Manual
pl3i) So I set off into the maze of sectors
making up DATA.ALL with only the TSL to guide
Page 12
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
me, I did have a rough idea where to start} about
the same distance into the TSL as we had got
with reading the total number of day’s results
before encountering the ‘OUT OF DATA’ error,
Eventually, sure enough lurking in the middle of
a block I found a foul little EOF, followed by
more spanking new data, but it was recent data,
very recent data and it was’nt right at the end of
this SEQUENTIAL file 7... But to try and
recover Treasured data - any data - was a must,
The gloom by now had thickened so that day
was hardly distinguished from night and steam
was rising in long sighs from the weary disk
drives (to say nothing of myself!) I tried to
ignore the horrible phrases hanging in the air?
"How am I going to recover the Treasure?" and
"You don’t really expect me to recall those
patients to hospital, do you?" - this from the
wolf lean and haggard, without a trace of his
prancing footwork . But summoning my last
reserves of strength and a friendly wizard, Paul,
I set off again to the maze of the textfile, at
least we knew where we were going this time - to
the evil little EOF ."So how did it get there?" we
asked ourselves and wrote a few little programs
to have a lookis.. (see the listings at the end)
The murk was beginning to clear! it seemed
that APPEND (with its fix) had been working fine
all the time the textfile had been less than 128
blocks long. After that, instead of putting the
first byte of the fresh data ON TOP of the EOF
and thus extending the file by the extent of the
fresh data, APPEND had been putting the first
fresh data byte in the first location AFTER the
EOF (see last month’s Update). So, when we came
to read the file, back execution had always
halted when we hit the dreaded EOF, although
freshly APPENDed data was hiding on the disk
after the EOF. Our immediate response was to
patch over the EOF marker on the disk in block
#132 of DATA.ALL with an innocuous character
(we used ‘space’) and hey presto with a shake of
his staff the wizard had twinkled a whole day’s
data back from limbo! "But which day’s Treasured
data?", I hear you ask, Exactly, that’s the
difficulty, it’s the very latest day’s data not the
one immediately following the day with the EOF
at the end, In other words we really had lost a
considerable part of the Treasured data because
we had been APPENDing SEVERAL TIMES after
having acquired the erroneous EOF in block #132
of DATA,ALL, with each successive APPEND
starting at the same place (after the EOF in byte
#92 in block #122) and overwriting most or all of
the previously APPENDed data in the blocks
after #132. (The amount overwritten depends on
the actual number of bytes in each of the 54
records making up one day’s data to be
APPENDed, and this varies from day to day).
Using the Disk Utility we uncovered a swarm
of EOFs lurking in block #145, a last memorial to
the lost blocks condemned to limbo by the
cankered APPEND, on patching over these the
spirit of some much earlier day’s work
reappeared and was coaxed back to lifet in the
distant past the operator had been working
overtime and APPENDed the equivalent of two
day’s results simultaneously and the second of
these had survived relatively unscathed (see fig.
1 ‘the next day’),
Fortunately we had arranged that the
operator receive a printed record of each
individual result as it was obtained and so we
were able to reconstitute the lost blocks
gradually by writing a program to re-accept the
data from the keyboard instead of directly from
the laboratory equipment — boring, bORING+.,
Well at least it was better than recalling the
patients to hospital for more samples of their
bodies so that we could re-do the tests again —
the wolf was beginning to smile, his walk was
even becoming quite jaunty »
But every day we were processing new
patient’s samples, what were we to do to ensure
that this would not happen in the future? We had
already set up a fresh disk with anew DATA,ALL
that had grown to 40 blocks, so should we
restrict its size to <128 blocks and then start
yet another fresh disk? This seemed very
defeatist and uneconomical of disk space (127 out
of, say 350 blocks -36%, very poor), So the only
thing to do was tow."Bravely go where no
mans." and delve into the dark dank depths of
DOS in search of a new Treasure:
"Fix #2 for DOS APPEND."
While not having run the snivelling beast to
his lair in pursuit of this Treasure we have, at
least found a solution that will keep him
whimpering at arm’s length (see last listing -
"wetFIX"), All that we are doing in this fix is to
keep DOS’s housekeeping in ordert DOS has
external file buffers whose number you may alter
with the ’MAXFILES!’ command. There is also one
internal ‘information buffer’ which is used for
whichever file DOS 1s currently working on, With
a 48K system this buffer is at $B5D1-$B5F3 ,
these 44 bytes carry a range of information such
as ‘number of bytes in current external buffer to
EOF’, or ‘number of 128-block units in file on
disk’, Sometimes DOS makes mistakes with some
of the entries in here, and it is these mistakes
that produce the APPEND errors. But’in other
places in the buffer the correct information is
still to be found, so our fix simply forces DOS to
use the correct values in place of the erroneous
ones, Now as to where DOS calculates these
valuesw.. the rumbling caverns, the squeaking
fissures, your guess is as good as mine (As I
said} "whimpering at arms length" not “run to his
lair"), We/ll leave that to Apple, after all they
wrote the System so they must have an annotated
source listing (please..)... (Hint! if you change
the code at $B33E -48k system- from LDAmw.5,
STAsoy ADC to LDA STA CLC (NB this
August 1981
HARDCORE - The Journal of the British Apple Systems User Group
Page 13
is the change), ADC... this has the same effect
as line 60040 in our fix below, but we haven’t yet
found a similar fix INSIDE the DOS for our line
60030),
So now all is well with the world, we’re back
in business, the wolf is snapping up all the bytes
we can get him with the twinkle back in his eye
and toes and the only thing remaining here is the
homily:
‘Never rely entirely on the system, always do a
little housekeeping of your own: if you expect to
get 100 records back from the disk then first
write that information out’, this way you can
keep count of just exactly how much Treasure you
have, and
‘Beware of APPEND’, even in DOS 3,2 it’s just
the same - you get no warning of when it’s about
to fail, and it does’nt do it from the start.
Happy hunting!
one fine day long ago
(when all was well with the world-just"),
128 EOF
| Y
the next day (bad),
4
PROGRAM LISTINGS
These 4 programs highlight the APPEND errors
in DOS 3.2 and 3.3,
TESTFILE CREATOR initialises the sequential
text file and sets the first record to have the
value ‘one’ -ie? 1 data block in use IN TOTO,
The APPEND TESTERs read this first record and
then APPEND as many whole blocks as you
command, on completion the Ist, record is
updated to contain the new value for the total
number of blocks used.
FILE READER may now be used to check for an
EOF in the bady of the text file.
Running APPEND TESTER with TESTFILE >128
blocks long will create an APPEND error which
cannot be removed with the fix, while running
APPEND TESTER+FIX does not create an error
JLOADTESTFILE CREATOR
LIST
0 REM
PROGRAM
TESTFILE CREATOR
1 REM
S TEXT + HOME ; YTAB 10} HTAB 12
1 PRINT "TESTFILE CREATOR"! HTAB
17! PRINT "PROGRAM"
10 D$ = CHRS (4)
20 PRINT D$;"OPEN TESTFILE"} PRINT
D$};"DELETE TESTFILE"
30 PRINT 0$;"OPEN TESTFILE"! PRINT
O$;"WRITE TESTFILE"
156 40 PRINT" 1"
5 REM WE HAVE NOW GOT A
TEXT FILE (’TESTFILE’)
WITH ONE DATA BLOCK,
CONTAINING THE VALUE ‘1’
46 REM
& the next (worse still),
THIS MAY NOW BE
APPENDED TO IN ORDER
TO PRODUCE THE ERRORS
4
50 PRINT D$}"CLOSE TESTFILE"
60 PRINT + PRINT "DO YOU WANT TO
GO TO ‘APPEND TESTER’ ST
RAIGHT AWAY (Y/N)?"3! GET AS
+ PRINT
70 IF A$ < > "Y" THEN END
80 PRINT "WITH OR WITHOUT ‘FIXES
"WAND? "5
90 CET ASS IF AS < > "WH" AND AS
Graphical representation of textfile DATA.ALL
showing loss of data with successive APPENDs
into blocks >128. (Numbers indicate block #),
< > "N" THEN 90
100 PRINT $ IF A$ = "W" THEN PRINT
D$;"RUN APPEND TESTER+FIX"
110 PRINT D$;"RUN APPEND TESTER"
Page 14 HARDCORE - The Journal of the British Apple Systems User Group August 1981
0 REM 180 PRINT D$;"CLOSE TESTFILE" 101 REM THIS MAKES A
PROGRAM 190 PRINT ¢ HTAE 143 PRINT "APPE STRING(ES) OF
APPEND TESTER NO COMPLETE"? PRINT LENGTH 4 WITH THE
1 REM 200 PRINT "THE DATA NOW FINISHES SERIAL NO. OF THIS
IN BLOCK NO, "}I! PRINT PAIR OF RECORDS
10 D$ = CHRE (4) 205 PRINT PRINT + PRINT + PRINT
20
FOR T = 1 TO 24:C$ = C$ + "HE
"REMEMBER APPEND CRASHES IN
LLO"? NEXT I:C$ = C$ + "xxx" BLOCKS >128 (128 I 110 E$ =
3 REM TSELF IS OK)"s PRINT 120 PRINT E$3 PRINT E$
NOW C$ TS 123 CHARS 210 PRINT $ PRINT "DO YOU WANT T 130 NEXT I
LONG - 24 ‘HELLO’S 0 CO TO ‘FILE READER” s 140 PRINT D$;"CLOSE TESTFILE"? REM
+ mm’, LINE 110 TRAIGHT AWAY (Y/N) 2°33 GET ALL NEH RECORDS
ADDS A 4 DIGIT At PRINT NOH APPENDED,
SERTAL NO, 220 IF A$ = "Y" THEN PRINT D$;" 150 PRINT D$}"OPEN TESTFILE": PRINT
21 REM WHEN PRINTED IN LINE RUN FILE READER" O$;"WRITE TESTFILE"
120, A <CR> IS ADDED 151 REM NOW UPOATE THE
TO GIVE 128 CHARS, -_-_— THE TOTAL NO. OF
IN ALL. RECORD PAIRS INTO
30 PRINT D$ + "OPEN TESTFILE"? PRINT 0 REX THE 1ST RECORD.
DS}"READ TESTFILE" PROGRAM SAME FORMAT AS TN
40 INPUT NK APPEND TESTER+FIX LINE 100,
50 PRINT D$;"CLOSE TESTFILE" 1 REM 160 £6 = STR (I): FOR J = LEN
60 TEXT } HOME $ VTAB 10: HTAB 3 SEE THE SUBROUTINE (E$) +110 NES = ES 4" "S
+ PRINT "YOU HAVE "}NR}" DAT AT 60000 ONWARDS NEXT J
A BLOCKS ON THE DISK." FOR A NICE FIX. 170 PRINT E¢
70 PRINT : HTAB 2% INPUT "HOW MA 2 REM 180 PRINT O$;"CLOSE TESTFILE"
NY HORE 00 YOU WISH TO ADD " 190 PRINT ! HTAB 14! PRINT "APPE
x 10 D$ = CHRE (4) NO COMPLETE": PRINT
PRINT "THE DATA NOW FINISHES
IN BLOCK NO. "37: PRINT
205 PRINT : PRINT "REMEMBER THIS
20 FOR I = 1 10 24:C$ = C$ + "HE 200
LO") NEXT 1:08 = C6 + "xxx"
80 PRINT D$;"APPEND TESTFILE"! PRINT
D$;"WRITE TESTFILE”
8 REM — EXECUTE DOKN TO + REM
LINE 130 THE NOW C$ IS 123 CHARS WILL "34 INVERSE $ PRINT "N
REQUTRED'N, OF LONG - 24 ‘HELLO'S OT"; NORMAL $ PRINT " FIX A
TIMES. +’, LINE 110 PRENDS AT 128 THAT HAVE B
90 FOR I= NR TONE +X-1 ADDS A 4 DIGIT EEN SETUP WITH THE OTHERPROG
100 E$ = STR$ (I); FOR J = LEN SERIAL NO, Ran"
(ES) +110 4368 = ES +" "3 21 REM WHEN PRINTED IN LINE 240° PRINT $ PRINT "DO YOU WANT T
0 GO TO ‘FILE READER’ ]
NEXT J 120, A <CR> 1S ADDED
101 REM THIS MAKES A TO GIVE 128 CHARS, TRAIGHT AWAY (Y/N) 233 GET
STRING(ES) OF AL 7 A$! PRINT
LENGTH 4 WITH THE oh PONT B tee TESTFILE"; PRINT 229 IF A$ = "Y" THEN PRINT $$"
SERIAL NO, OF THIS DS}"READ TESTFILE RUN FILE READER"
PAIR OF RECORDS Bibel 230 END
LEFT JUSTIFIED IN OD FRENDS RCLIe: TES) TEE 59997 REM
th 40 TEXT $ HOME + VIAB 103 HTAB 3
{ PRINT "YOU HAVE "3NR3" DAT
A BLOCKS ON THE DISK,"
70 PRINT $ HTAB 2% INPUT "HOW MA
LOCS $42,$43 ARE A
POINTER TO THE LAST
USED FILE BUFFER (INFO)
110 E$ = ES + C$
120 PRINT E$} PRINT E¢
130 NEXT T
140 PRINT D$;"CLOSE TESTFILE": REM " WORE 00 YOU WISH TO ADD THMEDIATELY AFTER FILE
ALL NEW RECORDS ; ACCESS,
NON APPENDED. 80 PRINT D$}"APPEND TESTFILE": PRINT
D$;"WRITE TESTFILE” 59998 REK
150 PRINT 0$;"OPEN TESTFILE": PRINT
D$$"WRITE TESTFILE" 85 GOSUE 60000; REM
THE CONTENTS OF THE
151 REM NOW UPDATE THE THIS 15 THE FIX BYTE 30 LOCS INTO THIS
THE TOTAL NO, OF FOR APPEND’S BUFFER TS A COUNTER
RECORD PAIRS INTO POINTERS. FOR UNITS OF 256-BLKS,
THE 1ST RECORD, 86 REM EXECUTE DOWN T0 IT MUST BE DUPLICATED
SAME FORMAT AS IN LOE Is TE IN BYTES 420 & $33
LINE 100, as NO. OF (NOT $0 >= 256 BLOCKS)
160 ES = STR$ (I): FOR J = LEN
(E$) +1 TO ES = ES eS
NEXT J
170 PRINT ES
90 FORT = NR TONR+X-1
100 E$ = STR$ (I) FOR J = LEN
(E$) +110 43S = ES +" "S
NEXT J
August 1981
HARDCORE - The Journal of the British Apple Systems User Group
Page 15
59999 REM
BYTES #25 & #21 MUST
BE IDENTICAL, BUT THIS
IS NOT TRUE > 128 DATA
BLOCKS IN FILE IN STD.
00S 3,2 OR 3.3
60000 AD = PEEK (67) x 256 + PEEK
(66)
60030 POKE (AD + 20), PEEK (AD +
30)$ POKE (AD + 33), PEEK (A
D+ 30)
60040 POKE (AD + 21), PEEK (AD +
25)% RETURN
65535 REM
COPYRIGHT
NEIL HC FERRAN
&
PAUL QUIGLEY
QUE.
Q REM
PROGRAM
FILE READER
3 ONERR GOTO 200; REM
SO HE CAN SHOW YOU
WHERE TO LOOK ON THE
DISK FOR THE ‘EOF’,
S TEXT } HOME $ VTAB 10! HTAB 12
10 D$ = CHRS (4)
20. PRINT O$$OPEN TESTFILE"! PRINT
O$;"READ TESTFILE”
30 INPUT NR? REM
THIS, THE FIRST RECORD
SHOULD SERVE AS A
COUNTER FOR THE
TOTAL NUMBER OF
PAIRED RECOPIS IN
TeSTFTLE’
25 PRINT} HTAR St PRINT “BLOCK
1 ALREADY OFEN, NOM"
40 FOR [= 2 10 NK
45 VTAR 141 HTAR St PRINT "READT
NG BLOCK NO ";I;" OF "JNRIY =
x
5) INPUT ALSSE1$ = LEFTS (A1$,4
VEL = VAL (B1$)
60 INPUT AZSIEZS = LEFTS (028,
Y3B2 = VAL (B26)
6t REM 2x}28-EYTE RECORDS=
1 BLOCK ON THE DISK
70 X = 82
8) IF T= 1 THEY NEXT I
90 IF Et < > B2 THEN 149
100 IF Y= X- 1 THEN NEXT 1S PRINT
DS} "CLOSE TESTFTLE": PRINT 3
HTAE 10; PRINT "TEST COMPLE
TED SUCCESSFULLY"; GOTO 500
101 REM TD TRY APPENDING
FRESH DATA
110 PRINT "SEQUENCE ERROR AT REC
ORD PAT #";73! PRINT CHS
(7) FOR T1 = 1 10 5003 NEXT
CHATRMANS CORNER
This is ay first Chairean’s Corner, so
T should like to begin by telling all
of you what it has been like to see
PASUG from the inside! It has been a
somewhat sobering experience, although
as I have served cn BCS committees in
the pact, I suppose that the shock
might have been anticipated! J have
been enormously impressed by the
obvious hard work and devotion given to
the Group by your original Committee -
this has involved countless hours of
behind-the-scenes seetings in each
other's howes, travelling to all sorts
of places to introduce the Group to
local clubs or to individuals who
expressed interest, setting up the
arrangements which allow meabers to
save real money on itees from blank
cassettes to printers, organising the
very successful members’ meetings, and
answering the flood of correspondence
which arrives at P.O. Box 174 ~ this
is currently running at upwards of 100
letters a week, sostly taking advantage
of the club’s facilities - more of this
in a aoment!
So, where is RASUG at this moment in
tine? We now have 600 weabers, from a
standing start less than a year aga,
which is an i@pressive record, The
meabership is growing at a rate of 20 3
week currently, and our aia is to
include every Apple/!?T user, whether
personal, commercial or institutional,
on our meabership list before @any more
months have elapsed, You will find ve
in 3 prosinent position at the PCW Show
in Septeaber, and the Committee is
spending a sizeable proportion of its
tise exploring ideas for spreading the
word for RASUB. Rut, however
energetically we do this, we are
severely handicapped without the
support and assistance of you - the
average, involved, aware, intelligent,
sophisticated and good-looking (I hope
that works!) RASUG sesber!
sentioned before that the vast bulk of
correspondence 1© inyolyed in buying
things through the Group, or ordering
iteas from the Software Libraries.
Well, this is terrific - but BASUG
needs you, toc! Sa, get powered-up!
120 NEXT I
130 PRINT D$;"CLOSE TESTFILE": END
140° PRINT CHRS (7); "REPLICATE R
ECORDS 00 HOT HATCH -"sT3"-,
"s CHRS (733 NEXT Tt END
200 X = PEEK 3 TF X< > S THEN
PRINT $ PRINT “ERROR COOE "
yX3", EXECUTION TERMINATED":
ENO
201 REM
ERROR CODE S =
“OUT OF DATA’. ALL
OTHER CODES STOF
HERE,
PRINT "END OF DATA ENCOUNTER
£D, AT DISK LOCATION
TRACK? "} PEEK (47084)
220 PRINT " SECTOR: "} PEER
(47085)! END
230 REM = LOCS 470849/5 ARE
DOS’S TRACK AND
SECTOR POINTERS IN
A 48K SYSTEM.
S00 PRINT $ PRINT "DO YOU WANT T
0 GO TC ‘APPEND TESTER’
TRAIGHT AWAY (Y/N)?"}3 GET A
$) PRINT
S10 IF AS < > "Y" THEN END
PRINT "WITH OR WITHOUT ‘FIXE
S! (WAN)? "f
GET As: IF AS
$ "N" THEN S30
540 PRINT ! TF A$ = "W" THEN FRINT
O$;"RUN APPEND TESTER+FIX"
"y" AND 6
+ PRINT "TESTFILE READER" LLL PRINL Ces 7) S50 PRINT belt DEPEND TESTER
WRITE CONTRIBUTIONS FOR HARD CORE ‘even
if only to encourage the others)!
PERSUADE OTHER Apple/ITT QWNERS: USERS
TO JOIN - yOU CAN TELL THEN FIRST-HAND
what good value st as! FORM A LOCAL
GROUP - 14 you write to RASUB, we can
help with this - a local group doesn’t
have to have regular seetings, but it
should help you all te increase your
use and enjoyment of your computing. I
am sure that a lot of you mill have
other ideas, so write to me at P.0,
Box 174, and I will take the tiae to
assist in developing these,
Twill close expecting, as I am sure
you do, great things of BASUG In the
future. I thank the initial committee
on your behalf for the great start they
have given us, and hope that ay next
Chairman’s Corner will allow @e to
report that the Apple seeds are
sprouting everywhere! 4 final note ~
this will appear just before the PCH
Show - come and cee us, and help an the
stand, even for 2 few minutes, if you
can - we rely wholly upon your support.
Frank Kay.
Page 16 HARDCORE - The Journal of the British Apple Systems User Group
—
Paycal pages
PROGRAM LOGRAFS;
(% THIS PROGRAM PROVIDES LO-RES GRAPHICS
IN PASCAL, IT IS BASED ON BILL SHEPARD’S
ARTICLE IN APPLE ORCHARD, SPRING 1981,
THE FULL UNIT WILL BE IN THE PASCAL
CONTRIBUTED SOFTWARE LIBRARY - WHEN IT’S
DERUGGED' - RUT HERE’S SOME IDEAS TO GET
ON HITH.... #)
(¢ CONTRIBUTED BY WARREN AVERY, BASUG
S.W. LONDON GROUPS)
USES APPLESTUFF;
TYPE
PLOTARRAY —=PACKED ARRAY (0,.2047] OF 0..15;
PLOTTYPE = =
RECORD
CASE BOOLEAN OF
TRUE: ‘POINTER : “PLOTARRAY);
FALSE: ‘LOCATION: INTEGER) ;
END (2CASES);
TEYTARRAY =PACKED ARRAY [0..1023) OF CHAR;
TEXTIYPE ==
RECORD
CASE BOOLEAN OF
TRUE + (POINTER :“TEXTARRAY);
FALSE; (LOCATION: INTEGER);
END (#CASEt);
PA = PACKED ARRAY [0..0) OF CHAR;
MEMORYTYPE =
RECORD
CASE BOOLEAN OF
TRUE : (POINTER : “PA);
FALSE: {LOCATION : INTEGER)
END (SCASES);
VAR PLOTRUFFER ©: PLOTTYPE;
TEXTBUFFER : TEXTTYPE;
BASETEXT + ARRAY [0..23] OF INTEGER;
BASEGRAPHICS : ARRAY (0..47] OF INTEGER;
MODETABLE — ; PACKED ARRAY (0,.255] OF CHAR;
NULL, BLANK ©: CHARS
1,Y, TOPY,
CURSORY,
CURSORY, COLOR : INTEGER;
PROCEDURE CLEAR (CH:CHAR):
BEGIN
FILLCHAR (TEXTBUFFER.POINTER* £ 03,120,CH);
FILLCHAR (TEXTBUFFER.POINTER® (128), 120,CH);
FILLCHAR (TEXTBUFFER, POINTER” (256), 120, CH};
FILLCHAR (TEXTRUFFER.POINTER* (3841, 120,CH);
FILLCHAR (TEXTBUFFER. POINTER® (512), 120, CH);
FILLCHAR (TEXTRUFFER, POINTER” (6403, 120, CH);
TLLCHAR (TEXTRUFFER. POINTER® [768], 120,CH);
FILLCHAR (TEXTBUFFER.POINTER* (996), 120,CH);
CURSUI
CURSORY: =;
END (3CLEARS) ;
PROCEDURE PORE(ADDRESS: INTEGER;CH:CHAR) 5
VAR BYTE =: MEMORYTYPE;
BEGIN
BYTE. LOCATION: =ADDRESS;
BYTE. POINTER *(03:=CH;
END(MPOREt) 5
FUNCTION PEEK (ADDRESS: INTEGER): INTEGER:
YAR RYTE = + MEMORYTYPE;
PEGIN
BYTE. LOCATION: =ADDRESS:
PEEKS=ORD (RYTE.POINTER“(0])3
END /4PEEK);
PROCEDURE ALLTEXT;
BEGIN
CLEAR (BLANK) ;
POKE (-18300, NULL);
POKE (-16302, NULL);
POKE (-16303, NULL);
TOP
CURSOR: =0;
CURSORY: =O;
END (SALLTEXT#) ;
PROCEDURE ALLGRAPHICS;
BEGIN
COLOR:=05
POKE(~1628, NULL) ;
POKE(~16300, NULL) ;
POKE (~16302,NULL);
POKE(~18304, NULL) ;
CLEAR (NULL);
TOPYs=0;
CURSOR
CURSORY: =0;
END(#ALLGRAPHICS#) 5
August 1981
August 1981 HARDCORE - The Journal of the British Apple Systems User Group Page 17
—
PROCEDURE PLOT(X, ¥: INTEGER) ; PROCEDURE KALEIDOSCOPE;
BEGIN VAR W,%,¥,2 3 INTEGER;
ist MOD 40; BEGIN
Y¥:=¥ MOD 48; FOR W:= 3 TO 8 DO
PLOTRUFFER. POINTER*CBASEGRAPHICS [Y]+i+X+ BEGIN
(Y MOD 2)) s= COLOR; FOR Ys= 1 TO 19 00
END(SPLOTS) ;
PROCEDURE HLIN (1,12, ¥s INTEGER);
YAR BASE, ¥: INTEGER;
BEGIN
BASEs=RBASEGRAPHICS (Y]+(Y MOD 2);
Xs=Kt+Kl;
WHILE ¥ <= (X2+42)
itt
BEGIN
PLOTBUFFER. POINTER “CRASE+%1;=COLOR;
Xs2X425
END (HWHILES) 5
END (HHLING) 5
PROCEDURE YLIN (Y1,¥2,X: INTEGER);
YAR BASE, Y: INTEGER;
BEGIN
BASE:=141;
FOR Y:=¥1 10 2
D0
PLOTBUFFER. POINTER“ [BASEGRAPHICSLYJ+BASE+
(Y MOD 2)1:=COLOR;
END (3YLING);
PROCEDURE NORMAL;
BEGIN
FORT s= O10 0
D0
MODETABLE {1} := CHR (1);
FOR I := 32 10 95
D0
MODETABLE (1) := CHR (1+128);
FOR I = 9 10 127
DO
MODETABLE (13 := CHR (I - 96);
END (#NORMALS);
PROCEDURE LORESINIT; (8LOWRES INITIALIZATION®)
BEGIN
NULL s= CHR (0);
BLANK:= CHR (ORD (? 7) + 128);
PLOTBUFFER. LOCATION: =10243
TEXTBUFFER. LOCATION: =1024;
TOPY
CURSOR’
FOR Y:= 0 TO 23 DO
BEGIN
BASETEXT (YJ s=(128 # (Y MOD 8)) + (40 # (Y DIV 8));
BASEGRAPHICS [2#Y] := 2% BASETEXT (YJ;
BASEGRAPHICS ((28Y) + 1] := BASEGRAPHICS [2 tY};
END (#FORS);
FOR I := 128 10 255 D0
MODETABLE (1) := CHR (1);
NORMAL;
END; (SINITIALIZES)
BEGIN
TO 19 DO
PLOT(X, 23
PLOT(72, 4);
PLOT (40-X, 40-7);
PLOT (40-2, 40-103
PLOT(2,40-¥);
PLOT (49-1, 2)5
PLUT!X,$0-2)3
PLOT (40-7, 4)
END;
END;
END;
ALLTEXT;
END (KALEIDOSCOPE!) ;
PROCEDURE TUNNEL;
VAR C + ARRAY (1..4] OF INTEGER;
UWA, ¥.d ¢ INTEGER:
BEGIN
FOR ¥:= 1 70 4 DO
COXD:=(RANDOM DIY 2185) + 1;
WHILE PEEK (-16384) ¢ 127 D0
BEGIN
FOR Xs= 3 DOWNTO 1 DO
Coy + 1) s= C00;
CCl] := (RANDOM DIV 2185) + 1;
FOR Xs= 1 10.5 00
REGIN
FOR Y:= 1 10 4 DO
BEGIN
COLOR: =CLY};
5 +14 + y;
2239 - Wy
HLIN(2,W, 2);
VLIN(Z,W,W);
HLIN(Z,H,W)5
YLIN(Z Wy 1)5
END;
END;
END;
END (TUNNELS) 5
BEGIN (4DEMD LO-RES GRAPHICS?)
LORESINIT;
ALLGRAPHICS;
TUNNEL;
ALLGRAPHICS;
KALEIDOSCOPE;
ALLTEXT;
WRITELN( THAT? ’S ALL...7)3
END.
PPD Xe + kaw OY 82:
Page 18
HARDCORE - The Journal of the British Apple Systems User Group
rte
August 1981
PARK STREET HAPPENINGS
By Tony Williams
Starting Machine Code
The Park Street meeting held on 12 May, 1981,
was announced as "Starting" Machine Code, which
was well understood by all the forty or so
BASUG members who assembled, all, that is,
except for the vociferous handful who departed
in high dudgeon at half-time protesting that "We
learned all this at primary school." Some primary
school which teaches HEX but not reading (of
announced talk titles), That aside, I think the
majority of those who lasted through this at
times hard-going exploratory talk found it
worthwhile,
The talk was indeed tentative - as a precursor to
a possible Introduction to Machine Code course
which Ian would give sometime in the autumn if
enough takers were forthcoming. After the
collapse of BASUG’s Pascal course, dropped
because fifteen takers were not enough, Ian did
well to soft-peddle this idea,
This talk then, began at the beginning and, as
such; was more in the nature of an ‘Introduction
to Computing’ combined with ‘A Surgical Look at
the Chips inside the Machine’. Graphically
illustrated by a chance volunteer in the audience
who just happened to be wearing a sweater
knitted by Mum bearing an Apple emblem
(Registered Trade Mark of Apple Computer Inc, I
believe), Just the thing for the Trackman magic
show, enabling him to illustrate the beginnings
of it all in terms of warps and wefts, We then
switched metaphors to take in counting on
fingers, and then traffic light combinations. The
naive spectator writing these notes got a lot out
of it. In fact, everything the beginner wants to
know about machine code, but is afraid to ask.
What is all this about address busses, data
busses, stacks, why Hex , why S-bit, why 255
characters in a program line? That kind of thing,
Most people at this meeting were afraid to ask
too, despite Ian’s jollying them along and
laughing assurances that no one would giggle -
out loud at least, When the silence was broken at
last, the questions did tend to come from the
pros who know all about machine code, er, sorry,
assembly language, anyway, and were sitting
there just to make sure that Ian got it right (very
good-humouredly, I must add).
Mingling with the crowds afterwards this cub
reporter heard that the talk was a splendid
introduction, and that everyone would want to
join a course and stump up the twenty or so
pounds per head that Ian would want, What about
it readers? Would you, could you attend a two or
three day course somewhere around here
sometime in the autumn? Give us your ideas,
We were glad to welcome at the club partners of
the Milton Keynes Professional Workshop
— _-
brought along by Peter Deakin, These are
severely handicapped programmers using Apples
to write commercial software as well as
developing computer aids for the disabled,
Wordmongering
Members attending the July 7 meeting in Park
Street were startled to hear the announcement
from the newly introduced full committee that
future meetings in the Old School are to be
regarded as those of a local Hertfordshire group
of BASUG and that volunteers from the audience
were needed to step forward and take over,
Stunned silence, The reasons for this are fairly
obvious - with the national membership rising by
forty a week - just imagine, say, that fine day
when all six hundred decide to .., the mind reels,
Contrary to expectations the numbed members did
not surge forward en masse to take up the reins
of local committeehood, but, fear not, volunteers
did present themselves in the course of the
evening,
The evening was devoted to various
presentations on word-processing packages
available for the Apple, Ian Trackman ran us
quickly over the Apple Writer’s simple but robust
Qualities, and managed to slip in one or two
words about his Go-Between disk - now at long
last emerged from the satanic mills of
Microsense, Frank Kay and Vernon Quaintance
then set up a quick-talking double act taking us
through the Super-Writer (£120), Easy-Writer
which can do all kinds of sexy things on screen,
including lower-case, aligning the text to match
the output appearance, word wrapping and many
more, This costs around £180 (excluding the
card!), Vernon made us acquainted with - get this
- Word Star on the Apple! This is apparently the
star of micro WP packages although, as Frank did
point out, it is about as simple to learn as flying
a plane, Let’s say that it has many, many
features, This is all made possible by a lot of
money. Some of it goes on the 280 Softcard (Word
Star runs under CP/M), more goes on the
80-column card and a thickish wad, about half an
inch of fivers, goes on the Word Star software
itself. Mind you, you get a lot for your money -
including the ability to write your programs
under Word Star - a useful thing to do because of
the superb ease of editing, At work Vernon does
all programming exclusively under Word Star in
facts No aeroplane pilot he, Vernon says a
reasonable secretary can start doing useful
things with Word Star within a week or so,
A planned afterthought came from Frank Udy on
Apple Pie, an unpretentious but interesting
low-cost WP package, This easy-to-use program
also likes you to have an 80-column card,
The evening ended with the usual disgusting
spectacle of people taking advantage of our low
prices by buying disks, Apple Orchards,
tee-shirts, etc,
eee
August 1981 HARDCORE ~ The Journal of the British Apple Systems User Group Page 19
——oO— ——
wt BLUE CHIP SOFTWARE
10 Huson Close London NW3 3dW Tel: 01-722 8827
| SUPER EDITOR £27.50
Super Editor is an essential tool for anyone writing programs in Applesoft or Palsoft, Using a simple
command format, this machine-code routine will speedily list out every program line which contains a
Basic command, function, variable or string designated by the user, highlighting it in inverse
characters. Super Editor also enables the user optionally to substitute any other command, function,
variable or string for the item found, whatever their respective sizes,
Remains in memory whilst programs are loaded and saved
Reduce long descriptive variable names in final versions of programs
List every occurence of a designated variable for debugging
Check all GOTO, GOSUB and THEN references before deleting a line
Change integer arrays to real arrays and vice versa
Convert Integer programs to Applesoft and vice versa
SUPER TRACE £27.50
Super Trace is a high-speed 6502 machine-code utility routine for use in debugging Applesoft programs.
As each of your program statements is executed, it is displayed at the bottom of the screen, together
with the values of any variable types or functions that you may have pre-selected,
* Programs can be written, loaded and edited without affecting Super Trace
Does not interfere with DOS
Can be invoked and disconnected as often as required during program run-time
Simple to use, Run-time control by single keystrokes
Optional display of all statements or only statements containing selected variable types or functions
Variables highlighted in inverse display and their values displayed
Normal screen display not affected
4 run-time speed settings plus instantaneous stop and single-step
Optional review of previous 10 program statements without destruction of screen display
THE PACKING SUTTE 27,50
The Packing Suite is an essential series of high-speed machine-code utility programs for anyone
working with Applesoft / Palsoft programs.
UNPACKER separates lines consisting of multiple statements into new consecutive line consisting of
single statements, to assist with editing and debugging,
REM STRIPPER removes REM statements and, if required, lines consisting of a single colon (which
might be used for spacing).
PACKER puts statements together to form maximum-size multi-statement program lines for faster
operation and memory saving.
All the routines observe Applesoft’s rules of syntax (e.g. multiple statements after an IF are
protected) and all line-number cross-references to deleted lines are properly adjusted to a valid
line-number,
OK RO
eK KOK ROR
SYMDIS 2,50
Symdis will take a block of machine code from anywhere in ROM or RAM (except zero-page) and produce
from it a disassembled source code with all relative branches and internal absolute address references
converted to alpha-numeric labels, Every affected operand will be replaced by an address-related
symbol and all target addresses will be labelled with their correct symbols, Optionally, the source file
can be produced with the hexadecimal or ASCII values of the object code displayed. The source file, in
standard ASCII format, is saved directly to disk so that the only additional memory area required is for
the operational symbol table, The source file can be reloaded into any Assembler/Text Editor which
handles standard ASCII format source-files. Alternatively, by using the conversion program provided,
the source file can be presented to the Assembler/Editor in the form of a binary-file block memory
dump,
All Blue Chip Software programs are supplied with comprehensive instructions and require 48K of
memory, one disk drive with DOS 3,3 and (except for Symdis) Applesoft / Palsoft in ROM.
Dealer enquiries welcome,
Page 20 HARDCORE - The Journal of the British Apple Systems User Group August 1981
PEDRO COMPUTER SERVICES
THE BHAIN SURGEON: This Diagnostic Package is designed to
eheck every major area of your computer, detect errors and
report any malfunctions. Tne Brain Surgeon will put your
system through exhaustive, thorough procedures, testing
and reporting all findings. £ 30.00
APPLE II SERIAL I/O: Plugs into any slot: RS232 Input and
Output: On Board Switch selectable 5 to 8 data bits, 1 or 2
stop bits. Program for using an Apple II for a video or in-
telligent terminal. Write for full details. £ 45.00
VU 3 is a modular disk based utility program which has been
agesigneaq to take data, produced by VISICALC and to reorganize
and restructure so that it can be read by otner VISICALC pro-
grams. This program will allow the user to enter data into
VISICALC from any program merely by inserting data into an
array.VU 3 will also tra er data generated from VISICALC
into any of the user's programs via an array. £ 30.00
APPLE S=CHANNEL RELAY SWITCHING UNIT: nas 8 input channels
and 8 relay output channels. Plugs into any slot. Drive soft-
ware included. & 150.00
Mail order welcome. Please send for catalogue.
65 GLEBE CRESCENT
KENTON, MIDDX. Telephone 01-204 9351
HA3 OLB
G5
satbrppic computar
kay-jay studios (OO
VD
135 COLES GREEN ROAD LONDON NW2 7HN
TEL: 01 460 6993
Apples, but gd
for 10
$ you know we also sell?
£23.50 for 10
2000 for £11
rs 2000 £15
filing system, S drawers £2.75
PRP
it price list
$ WELCOME.
August 1981
HARDCORE - The Journal of the British Apple Systems User Group
Page 71
I.R.A.M. REVIEW
By Nik: Spicer
{Editor- tik Spicer write conmercicl softwsre, zlnozt 211
of which involves ey file handling. We therefore
atked hin to review T.Tse’s Indexed Rendom Access Hethod
- see Hard Core #3 - fron on expert’: viewpoint)
In an} situation where information is held in disk
record=, fact access is normally acmeved by
creating an index table containing a list of
strings, each =tring identifies: a particular
yandom acces: record, To find a record you have
to match an input string to a string in the table,
and by inferrence from the poziton of the string,
or by looking at a number held as part of the
string, the required record number is found, This
works fine - in a simple application - so why use
t, tse’e routine?
Let’s compare memory usage and timings!
String array 230 elements X 14 characters each =
6270 bytes
Tse system 230 elements X
routines = 5246 bytes
14 characters +
No great saving there, but remember that string
manipulation on the string array, using BASIC,
will create dead bytes and possibly force a
garbage collection.
Longest search time (unsuccessful cearch)!
String array as above 1 cond=
Tse routine az above < .2 seconds (difficult to
measure)
So certainly the search time is very good,
Get index from disk timings!
String array as above 22.4 seconds
Tse routine as above 7,27 seconds including
loading routines
That is worthwhile. but remember that loading
need happen only once a run.
Since both systems go on to load random access
files (a process that takes at least 3 seconds)
the speed gain in searching may not be too
important, so the advantage appears to lie in
memory conservation. Tze’s routine will not use
more memory than the defined index area.
However, using an index array normally gives you
the advantage of sorting the records if the
record number is held as part of the array. If a
BASIC sort is used this process will create a
mass of dead bytes at least equal to the original
array, and is also painfully slow, Using a binary
sort salves this problem since it is very quick
and leaves memory size untouched. Tse’s routine
will not sort directley and I feel that this is an
important ommizsion. Since Tse’s index keys do
not hold record numbers independant from the
implied record of position in file, sorting them
would be a problem,
Being able to sort the “keys" has a profound
effect on search time using a string array with
record number included, changing search time
from 1.2 seconds to equal or faster than Tse/s
routine. the search process is well known, and my
own routine iz!
JOFR =X /2 te = x +1 Sh 2 12 Cx = 0
72 IF R$ = LEFTS(AS ( LEN(RY)) THEN RCTURH
73.0% > CX + 13 IF CX = 12 THEN CX = -1! RETURM
74 IF RE > LOFTS(A$ (F%), LEN(PS)) THEN Sx = FX CPX = FX +
((EX - SZ) /2) (G0T0 82
76 €% = FL: FL = FR-KC
- SX) 42)! COTO 72
Where X = number of elements in srrzy
RE sesreh string
AS(3 = array of key ztrings in format ART) =
"OAARAAAARAAAT ec:
If CX returns = -1 then no wetch, otherwise Ag(F2) =
key string matched.
The worst not found case (using 1000 keys) loops
through the routine only 10 times, and equals the
machine code routine in speed - logic versus
brawn.
The one requirement 15 a fast sort such as
Ampersort,
The other disadvantage T found while using the
Tse system, and thiz is arquably relevant only to
a programmer, although | think not, is that there
is ne direct way of viewing/printing out the
"keys", This would be simple with an array.
The immediate solution that occured to me, but
there may be better ones, is the following
adaption to the Demo program:
8 C$ = CX = PEEK (106) ¥256 + PEEK(105)+2
44 PRINT "6, DISPLAY KEY CODES"
50 VIAB 19% PRINT "WHICH (1 - é)"
65 TF A$ < "1" OR AS > "5" THEN 5S
70 ON VAL(A$) GOSUE 1000,2000,2000,4000,5000,6000
6000 FOKE CX,KEYLNS BA = INDEX + KEYLN
6010 FOKE CX + 2, BA/ 256! POKE CX #1,BA — PEEK(CX+2) "256
6020 IF ASC(A$) = 0 THEN PRINT "FINISHED"} ‘CALL ~ 676:
RETURN
6030 PRINT "KEY REC #" (BA - INDEX) /16 SPC (5 - LEN
(STRS ((BA - INDEX) /16)))"= "C$
6040 BA = BA + KEYLNS GOTO 6010
This routine steps through the keys one at a
time, pointing the variable C# at each one so that
C# can then be printed,
This routine cannot be used for sorting except in
a very crude way.
To sum up I believe that Tse’s routines may point
the way to a much more comprehensive system,
but the existing routines have only limited
advantage over a standard sorted array system. I
would like to see a sort facility (which would
involve adding Z bytes to each "key" to denote
record number (0 - 32767 integer)), and a machine
code adaption to point a variable at the found
"key", This access to the "key" removes any need
to store the "key" in the main file.
Page 22
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
Another feature worthwhile adding would be a
"wildcard" character within the search string,
enabling groups of records to be retrieved and
displayed, The modification for thit would be
quite easy, and if a new entry routine was
included which enabled a "continue search from
last found key position + 1" the system would get
very useful indeed,
mii
(Editor)- We asked T,Tse (the euthor of I.R.A.M.) for his
comments, and here they are, word for word!
I have read with some interest Nik Spicer’s
review of my article on IRAM for the Apple II,
My t impression was that I should never have
started that article ''' However, I would still like
to make some eye-opening comments,
a) A very similar machine code routine found its
© a commercial application as far back as
~ long before anything like Amper-Sort
and Amper-Reader.
b) The IRAM article is the first
superbly written application
Hardcore haz published,
Juzt like Nibble and others, Hardcore can now
think in term= of a regular feature article '!
c) Keyed Random Access Methods are now
commercially aVatlable for the Apple Ii, One is
Super-KRAM (United Software of America) which
allows hierarchial structure to the database and
various fast key retrieval and sorts, It also
occupies approximately 14K of valuable RAM.
complete and
Program that
Finally a fix for those who have tried modifying
KEYST and failed. For KEYST = LLHH you also
need to perform the following:
PS21=LL
I am very last item was
overlooked,
sorry that this
No ,THAT'S THE VENDO® mucumE OVER TERE. TUS Is
WE NEW CompuTeER |
THE ARK AND THE COMPUTER
And the Lord said unto Noah, "Where is the Ark
which I have commanded thee to build?"
And Noah said unto the Lord: "Verily, I have had
three carpenters off ill, The Gopher wood
supplier hath let me down «. yea, even though the
Gopher wood hath been on order nigh upon 12
months, What can I do, O Lord?”
And God said unto Noahi "I want that Ark
finished even after seven days and seven
nights."
And Noah said! "It will be so.”
And it was not so. And the Lord said unto Noah?
"What seemeth to be the trouble this time?"
And Noah said unto the Lord} "Mine
subcontractor hath gone, alas, bankrupt, The
pitch which thou commandest me to put on the
outside and the inside of the Ark hath not
arrived. The pipefitter hath gone on strike,
Shem, my son, who helpeth me on the Ark side of
the business, hath formed a rock group with his
brothers Ham and Japheth. The canvas, although
on hand; is not the right colour. Lord, I am
undone."
And the Lord grew angry and said! "And what
about the animals, the male and female of every
sort that I ordered to come unto thee to keep
their seed alive upon the face of the earth?”
And Noah said} "They have been delivered unto
the wrong address but should arriveth on
Friday,"
And the Lord said} "How about the unicorn. and
the fowls of the air by sevens?”
And Noah wrung his hands and wept,
saying!"Lord, unicorns are a discontinued line,
thou canst not get them for love nor money, And
fowls of the air are sold only in half-dozensw.
the peacocks even then are on back order for
weeks to come, Lord, thou knowest how it is,”
And the Lord said! "Rest my son. In my wisdom I
should have known this would follow when I
listened to Satan and installed a computer."
(We found this in Pete and Pam’s recent Dealer
Newsletter. Thanks, P&P, for allowing us to
reprint this - it deserves a wide audience.)
August 1921
HARDCORE - The Journal of the British Apple Systems User Group
A DYNAMIC REVOLUTIONARY CONCEPT IN
APPLE WORD PROCESSING
PRICE £79.95 + V.A.T.
Postage & Packing Free 7/7
i SOLE U.K.
} DISTRIBUTOR
3
;
‘See your local dealer
(or send cheques to
‘SBD SOFTWARE
18 JOCELYN ROAD
RICHMOND TW92TJ
Tol: 01-948 0461 Telex: 22961
Novice typists to professional secretaries
and administrators are amazed at the ease
‘and simplicity of MAGIC WINDOW.
MAGIC WINDOW is » Anoie II word
"9 that
D increase Your oftice. product
jty — those time-consuming typing tasks
can now be done quickly and efficiently
best-known word
the standard type
ned the simple
Operating features of the typewriter while
providing complete editing fa
MAGIC WINDOW is 9 word processing
system that allows text to be
edited. printed. and saved on 2 Gisker:e
MAGIC WINDOW is unique in the way it
performs these functions
arate the tasks of
9 for printing. T
ites. formatting commands
file. MAGI
WINDOW “hes no. need tor inese
commands because it formats the text a3
your document.
MAGIC WINDOW will instantly convert
your Apple system into a
ho modifications or fancy wo
lows vou to see your letter, report, ete.
exactly the way it will be printed Inserting,
deleting. centering. and justifying can be
‘done on the screen without the need to print
a work copy
The real power and sophistication of
word processor is judged by how easy itis
touse MAGIC WINDOW is as easy t0 use
28 8 standard typewiter, yet it has the
POWER a PROFESSIONAL requires.
MAGIC WINDOW
LOOK INTO OUR MAGIC WINDOW AND.
EXPERIENCE A WONDERLAND IN WORD
PROCESSING.
NO MATTER WHat YOUR ABILITY,
BEGINNING TYPING THRO
FESSICNAL_ DOCUMENTS INSTANTLY
AND EFFORTLESSLY
‘+ EDITING & FORMATTING
USING VERY SIMPLE KEY STROKES
MAGIC WINDOW WILL MANIPULATE
PARAGRAPHS. MAKE ADDITIONS
DELETIONS ANO CORRECTIONS. THE
DAVS OF RETYPING ARE OVER
+ AFFORDABLE & EXPANDABLE
MAQIC WINDOW DOES
ANY MODIFICATION TO YOU!
COMPUTER. YOU CAN MODIFY MAGIC
WINDOW TO USF ANY CUSTOM
APPLE
Mi
s. CUSTOM
INTERFACES ETC
INTER
+ HUMAN ENGINEERING
MAGIC WINDOW'S FOUR WAY
SCROLLING ALLOWS YOU TO VIEW
LL SHOW ALL FOUR EDGES OF THE
RAS YOU TYPE. THIS
FA STANDARD TYPE
WAITER HAS CAUSED A REVOLUTION IN
APPLE ll WORD PROCESSING
MAGIC WINDOW WILL KEEP You
SPELLBOUND WITH OUR SPELLBINDER
‘A WEBSTER'S WORD SPELLER
DIVIDER,
HELP WANTED—
RESEARCH PROJECT
University of Lancaster,
Department of Marketing,»
School of Management
and Organisational
Studies,
Gillow House,
LANCASTER LA1 4YX,
Dear Mr Bolton,
I a 3 postgraduate student, and am engaged in a research
project on the problems encountered by business users of
Microcomputers,
The purpose of this project is to publish a report which
will guide small businesses contemplating a move into
microcomputing, and as this will be based on the
experience of actual users we believe it will be a very
worthwhile publication,
It is therefore necessary to talk to current users and
hence, could you please let me know the names and
addresses of those nembers who you think would be willing
to complete a postal questionnaire or take part in an
interview lasting approximately twenty five mirwtes, All
information will be treated with confidence, and each
respondent will be sent a free copy of the report.
I do hope you are able to assist and look forward to
hearing from you,
Yours sincerely,
Brian Kelly,
mx We cannot release members names without their
approval, and therefore ask that those of you willing to
help write direct to Hr Kelly,
We are interested in Apple
programmers who might be available
to do part time, fixed price,
development jobs, Please send
relevant details to box number
below.
We are also particularly
interested in any applications
software, developed by such
people, where we would market,
support and pay licence fees
authors.
Apple Xperts
BOX El, BASUG, P.O.Box 174, Watford, WD2 6NF,
Page 23
Page 24
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
“DATESTONES OF RYN"
“TEMPLE OF AFPSHAL"
“MORLOC’S TOWER"
“RESCUE AT RIGEL"
ITT 2020 CONVERSION PATCHES
By Ian Trackman
As all of the programs are written in Applesoft,
the Basic hi-res drawing commands will work on
ITT 2020s, although the screen display uses only
the left-most 279 vertical display columns
instead of the full 359 columns available on the
ITT, This results in a slightly condensed image
and anyone troubled by it - and who has the
patience - is welcome to go through the
Programs, converting all horizontal plotting
references by a factor of 359/279 !
hd
More important is the fact that all of the
Programs use a short machine-code routine to
Clear that part of the high-resolution page
containing the map, When used on an ITT, it
wipes out the wrong area. I have written a
replacement routine and for those interested in
how it works, here is its source-cade !-
LDA $6 >} HI-RES PAGE (HRG OR HGR2)
STA $27 } HBASH (SCREEN MEMORY MAP)
LDA #0 $ INITIALIZE Y
STA $26 > & SET HEASL TO 0
LOX #$C0 + FOR 192 HORIZONTAL LINES
LOOPi LDA #0 } BLACK
TAY $ & RESET HORIZONTAL COUNTER
LOOFZ JSR $F4D3 SWITCH ON 9TH BIT
LDA #0 } BLACK AGAIN
STA ($26),Y + POKE IT ONTO SCREEN
INY + NEXT PIXEL
CPY #$15 + LINE OF 21 PIXELS YET ?
BNE LO00P2 + NO, SO CONTINUE THIS LINE
JSR $F534 + YES, SO DROP ONE (GRAPHICS) LINE
DEX 3 & DECREMENT LINE COUNTER
BNE LOOP1 + NEXT LINE IF NOT DONE
RTS 7 ALL DONE & BACK TO BASIC
With a small amount of adaptation, this routine
can be used as a general routine for fast filling
of any size of high-resolution rectangle in any
colour anywhere on the screen, Please note that
if one edge of your rectangle falls on a "9th bit"
line, (as our patch does), you will have to clear
that line separately. It’s easier to do this
directly from Basic (as in the patched Line 4001
below) rather than by writing a_ special
machine-code routine for the purpose,
hd
Please note that since ITT and Apple
high-resolution graphics are different, my
routine won‘t work with Apples, Instead, adapt
the routine already in the programs.
The decimal DATA of the sub-routine which has
to be POKE’d into the programs is as follows :-
DATA 165, 230, 133, 39, 149, 0, 133, 38, 162, 192,
169, 0, 168, 32, 211, 244, 169, 0, 145, 38, 200, 192,
21, 208, 244, 32, 54, 245, 202, 208, 235, 96
T’ll give the line references for each program in a
moment,
The other change to be made arises from the
hi-res colour differences between ITTs and
Apples. There's a conversion table in this issue.
DATESTONES OF RYN
Make the following changes in the sub-program
"DATES" j-
LINES 35 - 37
(DATA 169, 32 so»)
Delete these two lines and substitute a new line
35 t-
35 DATA [data as listed above]
LINE 40
(FOR I = 912 TO 969 3
NEXT)
Change 969 to 943
LINES 104 and 145
Change HCOLOR = 5 to HCOLOR = 4
LINE 680
Change HCOLOR = 6 to HCOLOR = 5
LINE 4001
(CALL 912 } GOSUB 80)
Change this line to ‘-
4001 CALL 912 | HCOLOR = 0 : HPLOT 190, 0 to
190, 191 } GOSUB 80
READ J ! POKE I,J:
TEMPLE OF APSHAT
Make the following changes in the sub-program
“DM" i-
LINES 35 - 37, 104, 145 and 680
Make the same changes as for Datestones of Ryn.
LINE 40
(FOR I = 7936 TO 7993 : READ J : POKE I,J :
NEXT)
Change 7993 to 7967
LINE 4001
(CALL 9736 } GOSUB 80)
Change this to i-
4001 CALL 9736 + HCOLOR = 0 | HPLOT 190, 0 TO
190, 191 GOSUB 80
August 1981
MORLOC’S TOWER
Make the following changes in the sub-program
"MORLOC6" j-
LINES 23 - 25
Delete these three lines and substitute a new
line {~
23 DATA [data as listed above]
LINE 26
Change 949 to 943
LINES 104 and 145
Change HCOLOR = 4 to HCOLOR=5
LINES 680, $36, 898, 299
Change HCOLOR = 5 to HCOLOR = 4
RESCUE AT RIGEL
Make the following changes to the sub-program
"RESCUE 4.18" i-
LINES 23 - 24, 104 and 145
Make the same changes as for Morloc’s Tower,
LINE 893
Change HCOLOR = 4 to HCOLOR=5
I haven’t found it necessary to alter Line 4001 in
Morloc or Rigel but it’s possible that I didn’t
explore all of the rooms !
(c) Copyright Reserved (for commercial use), Ian Trackman
1981,
(Editor) - Have any members converted any other
programs for ITT 2020s ? If so, let’s hear about
HARDCORE - The Journal of the British Apple Systems User Group
the patches,
——
Chip located at B1
74LS257
Page 25
ITT 2020 HI-RES MODIFICATIONS
By David Bolton
The last issue of Hardcore referred to a
modification by Ron Davies to solve the
Apple/ITT incompatibilities, which invloved
cutting the tracks on the PCB to Bits 3 & 9, and
installing a switch to optionally copy bitsé6&7
into these,
A similar modification has now been advised by
DDP, which does not involve permanent
modifications, as follows!-
ITT 2020 modification to suppress "Tram lines"
in Apple Hi-res programs,
1, Locate chips B1 (74LS257) and A&é (74LS1464),
these are under the keyboard and will
necessitate taking off the outer case of the
ITT by removing the screws in the base plate,
Remove chips Bl and Ad, or provide
replacement chips if yoy wish the process to be
easily reversible,
Zz
3. Carry out modification and linkage as shown
in diagram and replace chips.
Note!-
Leg 13 of Bi is no longer located in the chip
holder,
Leg 3 of Aé is still located in chip holder.
4, the effect of this modification, is to continue
the colour adjacent to th tram line , through the
tram line, so in essence, the tram lines are
"smeared out", and the resultant effect is quite
amazing,
5. for the "sophisticated" a hardware
modification is now available (£35.00 excl VAT)
which physically changes the ITT2020to give a
280 X 192 dot screen in Hi-res, Text and
low-res graphics are unaffected,
Chip located at A6
74LS166
Page 26
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
=
APPLESOFT 7 PALSOFT ONERROR
DIFFERENCES.
By Ian McKelvie
Previous articles have given details of some of
the differences between APPLESOFT and
PALSOFT, There is another important difference
which I have not seen documented which may
cause a program written in APPLESOFT to crash
with an error message " RETURN WITHOUT
GOSUB".
This is caused by a difference in the way that the
two languages handle the ON ERROR statement,
Page 8&1 of the Applesoft Basic Programming
Reference Manual warns that FOR...NEXT and
GOSUB,.RETURN causes problems in an ON
ERROR routine as the pointers and the RETURN
stacks are disturbed and suggests on Page 82
that a machine code routine is CALLed which will
fix the problem. The PALSOFT version of the
manual is a straight copy and is WRONG,
If such a program, with the fix, is run on an ITT
2020 with PALSOFT in ROM, then the problem
will in occur. This is because PALSOFT has the
fix in the PALSOFT ROM and the pointers and
the RETURN stacks are disturbed again by
CALLing the machine code routine necessary for
Applesoft,
Examples that I have found are FILE CABINET in
the Apple Contributed Software and in the C.C.A,
Data Management System from Personal
Software,
One way to overcome this is to eliminate from
the program the machine code routine and the
statements that CALL the routine, I have done
this for both the above programs and it was a
long process for the C.C.A. D.M.S, It is important
not to remove the line number containing the
CALL as this might be needed for a GOTO or
GOSUB, I left them as a REM if there was only a
single statement on the line. The other way I use
is much quicker and involves using a language
card and DOS 3,3
I have modified the FP HELLO program to load
APPLESOFT into the language card, instead of
INTEGER BASIC, and to switch on the language
card and write protect it. Thus any program
running under DOS 3.3 in APPLESOFT will run
without modification on my ITT 2020. The high
res screens still display the vertical lines every
9th point and you must clear the screens before
loading APPLESOFT as these lines may have
been written to previously and cannot be cleared
once APPLESOFT is running.If anyone has bought
a copy of C.C.A. DMS and wants the ITT 2020
version, if they send me a disc with the APPLE
version, I will make the necessary changes, The
ITT version of File Cabinet is available from the
Contributed Software Library.
a
A LETTER FROM ITT
Dear John,
Please accept my apologies for the delay in
replying to your letters. However, I have today
made arrangements for a Service Manual and
circuit diagram to be forwarded to you under
separate cover, I trust these will be of use to
your members and should they wish to purchase
further copies they are available from our
Paddock Wood Service Dept., Eldon Way Trading
Estate, Paddock Wood, Kent, RN12 6BE,
Please note that any servicing or technical
queries relating to the ITT2020 should be
referred to Mr Albert Grimwood at Basildon
3040, extension 108,
Yours sincerely,
K,.A-Mace
Sales Manager- Micro Systems
##% Thank you Ken, We are sure there will be a
number of calls for these from the library.
##% If you do want them, contact John Rodger, If
you want to know how much they cost because you
are too far down the list to waiti- the circuit
diagram (a very nice poster in its own right) is
£2.35( the order code is 24151-0-265}the service
manual is £11,50 and order code is 24159-0-228 ;
the disk drive service manual is £5 and order
code is 24253-0-251,)
APPLE / ITT COLOUR CONVERSION CHART
COLOUR
BLACK
HAGENTA
DARK BLUE
PURPLE
DARK GREEN
DARK GREY
HID BLUE
LIGHT BLUE
BROWN
ORANGE
LIGHT GREY
Ot PINK
12 LIGHT GREEN
13 YELLOW
14 AQUA
15 WHITE
- MID GREEN
HI-RES
BLACK
=
ms
poares ‘
CAR) BwarnnGoSsratea
BLUE
GREEN
WHITE
BLACK
NOM buUnKo
NOUtWNHKS
August 1981
APPLE DISK &
HARDCORE - The Journal of the British Apple Systems User Group
THE14NSPECTOR
ble the user to examine data
mary and on disks Simple
These utihtes
both in the Apple's
commands allow x
ROM memory as
changing data on dish
Read and nwrte se tions of Random Access files
Reconsteuct a biun VTOC Weed out unwented
conttol aters in CATALOG. Iiftings
UnDFL ETE des te Drexgrarns. Repair files,
the: have er te All wathuut beng under
program cone! and more
You ma, trenster ae sawen disks This
allws you 10 1a hom one disk to
another thereby ste ish wtwrvall that's,
bloat. DOS : ior
bho
Page 27
AND MORE
The INSPECTOR provides a USER exit that wall
interface yuut_own subroutines with those of the
INSPECTOR sisel For exemple. just put a
dump sample included in
tinny at HEX 000 and press CTRL 2
7 page wall print to your
rout
proter
ROM RESIDENT ROUTINES
The INSPECTOR
"¢ FPROM Thi mal
FULLY DOCUMENTED
Unlike other sottuare of ms kind. The
INSPECTOR sence utth an EASY to
understand manual and wterenee card F
and qiaphks help even tin uninitat
poner of these ui
step the hind of personat servne wha h you
ST ikeiindaaihace Gaaio OMeeries sent wey!
prton St because wou SYSTEM REQUIREMENTS
MEMORY UTILITY sala ape ives tccautetunc ated re oe
# (ries in ROM ot RAM ot suppomt Tre INSPECTOR
peionipenytite
The INSPECTOR even lets you search through
an ennite disk or through on board memory for the
appearance of a sining Now you can easily add
lower case to your programs (with LCA)
Do you want to add socalled illegal line numbers
into your progtam? or have severalol the same line
numbers im a program (like the professional
programmers do)? or input unavailable commands
(hike HIMEM 10 Integer Bosse)? or put quotation
marks mio PRINT siatements? Here's the easy
was to do them all"
The INSPECTOR on DISK or ROM LSS = Ram Extension Card RAMEX #7 Prices fully inclusive
MICROSOURCE 1, BRANCH ROAD, PARK STREET, ST.ALBA’
NTA ILA
COME OUT FROM BEHIND THOSE HI-RES BARS
* Repairs Blown Disks
* Reads Nibbles
@ Maps Disk Space
* Searches Disks
* Searches Memory
* Edits Disk Sectors
* Outputs Screen to Printer
* Displays Memory In HEX/ASCHE
Arad dy hey ans Apu It
ROM ovsess te biteger Base yr ast stil fe ate to ase
The INSPECTOR hes aim on
ws INSPECTOR but ywniasials
awe access to Integer Bass and orner lacuna
i fh
@) BAMES
Cribbage: Cribbage offers a totally challenging
game. The board is done in Hi-Res Graphics and
you can watch the scores being pegged
Missile Detence: You command the Missile
nce centre As missiles drop from the sky you
must shoot them while trying to protect your six
cities and three missile bases.
Star Mines: The NEWEST arcade-style game.
There ate 5 levels of play. You must keep shooting
and hitting the targets to achieve the next level
before the clock times you out,
Hi-Res Soccer: The only real-time action
SOCCER game for your Apple. All tackling,
goal kicks, throw-ins, corners, are shown in full
Hi Reo graphics. Fully animated players
Ali in: TI ns swoop down from all
swift attack. Formerly sald as Apple
£12.95
Now you can run any hi-res program written for
your Apple on your 2020 witout the annoyance of
the 40 vertical bars, Chess and complex games
are a joy to behold,
£17.95
£14.95 * Saves having to modify programs to 2020
standard (no mean task with complex games
which can be over 14K bytes long).
£22.95
£12.95
* No soldering required - Fit in five minutes by
Snoggle: You are Snoggle, wending your way. followin: i a
through a maze of ghosts who will eat you if they g the simple instructions
catch you. You must be uick and bold. Please
note. the upper levels of this game are very
difficult. £12.95
The Wizard & the Princess: In this
adventure you must do battle against an evil
Wizard to save the life of the Princess. £17.95
Tarturian: As you exslore 160 rooms vou
gather weapons and treasure for the final
battle against the Terturian. £14.95
* Switchable between Apple and 2020 nodes,
* Compatible with Apple PASCAL and Microsoft
Softcard BASIC.
# Gives 280X192 hi-res dot screen like an Apple
(the 2020 normally gives a 360X192 hi-res dot
screen), Text and lo-res are unaffected,
‘You have inherited your
shbuck’s mansion. You must rid it of
le creatures to find your uncie’s buried
£14.95
treasure.
THE GALACTIC SAGA:
The Galactic Empire | — £12.95
* Does not support hi-res colour. Colours
The Galactic Trader I! - £12.95 roduce various shades
The Galactic lution Ill — £12.95 Ue 2 ei oF grey on a b&w
Tawala’s Last Redoubt ~ £14.95 display.
Add 15% VAT. Postage and Packing Free
Write or phone for full catalogue of available software.
Dealer enquiries weicame. Contact:
S$.B.D, SOFTWARE
15, Jocelyn Road, hmond TW9 2TJ.
Tel: 01-948 0461. Telex: 22861
LI3.975 inclusive.
MICROSOURCE
1, BRANCH ROAD, PARK STREET, ST,ALBANS,
TEL! 0727 72917 & 09273 75093
Page 28
HARDCORE - The Journal of the British Apple Systems User Group
=
August 1981
<=
HEX/DEC COMPETITION RESULTS
The winner in the Hexadecimal to Decimal class
of the competition to find the shortest Applesoft
routine was Ray Harris. Here is his entry, taking
71 bytes i-
10 INPUT "HEX 7"; H$: FOR A = 1 TO LEN (H$)}
N = ASC ( MID$ (H$, A, 1));N=N-48-7#(N>
64); D=D+#16+NiNEXT! PRINT D
In the Decimal to Hexadecimal class, John
Rodger and Ian Trackman submitted virtually
identical winning entries, A number of
competitors, including John and Tan, provided for
their routines to accept negative decimal
numbers, so making them more useful, Here is
John Rodger’s 88-byte routine !~
10 INPUT "DEC 7";NiN=N+ 65536 #(N<¢
A%=N/ 2565 POKE 69, A% | POKE 70,N
256 } POKE 58, 65 | POKE 59, 249 | PRINT
CALL -32
Ian Trackman also sent in the shortest (94 byte)
Decimal / Hex entry which did not use machine
code calls :~
10 INPUT "DEC 7 "JN i N=N+ 65534 # (N <0)
ZOR=INT(N/ 146):H=N-R# 163 A$ = CHRS
(H+48+7%#(H>9))+A$iN=RtIFN THEN
20
30 PRINT "$"A$
Unfortunately, a few entries had to be
disqualified because they involved going down
into the Monitor in order to enter a machine-code
routine and this meant that the entire routine
was not written in Applesoft,
ov
% Ht
We also have to commiserate with one of our
losers, whom, to spare his blushes, we’ll call
"Ivor Webb", and who promised to eat his Apple
if anyone found a shorter solution than his !
(He’s lucky we‘re not a PET user group.)
The machine-code calling method listed above
demonstrates a very useful way of calling up
from Basic those Monitor and ROM routines
which have to be entered with the 6502 A, X and
Y registers set in a particular way. Here is a
"line-by-line" version of Ian Trackman’s routine,
this time with his explanation:-
10 INPUT "DEC ?"}N
20D = 256
SON=N+D#D(N<CO)
40H=N/D
50 POKE 69, H
60 POKE 70,N-INT(H)#D
70 POKE 58, 65
80 POKE 59, 249
90 PRINT "$"}
100 CALL -327
Lines 50 / 60 - Memory locations 69 - 71 ($45 -
$47) are used by the Monitor as temporary
storage for the contents of the A, X and Y
wenoresersts
registers, (Locations 7Z and 73 hold the
Processor status and stack pointer), Here, we
Poke the decimal number modulo 14 into the A
register and the remainder into the X register,
Lines 70 / 80 - Locations 58 and 59 ($3A and $3B)
are used by the Monitor to store the "Program
Counter", that is the address in memory where
the program will continue after a Monitor List,
Go, Stop or Trace command, In this case, we Poke
it Gin the usual 6502 low / high order) with the
decimal equivalent of $F941, $F941 is the start
of a routine in the Monitor (called PRNTAX)
which prints out the values (in Hex) of the A and
X registers,
Line 100 calls the Monitor routine at $FEB?
which puts the values stored in $45 - $48 into
their correct registers and then jumps to the
routine whose address is in locations $3A and
$3B,
This method can be used for calling up a variety
of useful machine-code sub-routines including
very fast screen switching and memory moves.
Ray, John, and Ian each win two discs of their
choice from the Software Library,
This month’s competition consists simply of -
Setting a competition for the next issue! The
winner will as usual receive two free discs, in
addition to the honour of judging his competition
and writing a commentary on the results.
AUTO GRA
COM RU ER'S:
[SPECIAL OFFERS]
QUALITY 5.25" DISKS
10 for 21 7-+SO+VAT
MONAPPLEY GAME
* Up to 4 players
* Amazing Graphics
* Astounding Product
* Only R1S.95 incl, VAT
Post & Packing Free
SPECIAL ARRANGEMENTS ON APPLE
HARDWARE FOR BASUG MEMBERS
AUTOCRAT COMPUTERS,
264 Preston Road,
Harrow, Middxe,s HAS OPY+
Tel: 01 908 3636
Seuiaieniaiiiaimmmesmenee’
August 1981
HARDCORE - The Journal of the British Apple Systems User Group
—
NIAILING
STANDARD
LETTERS ?
There is only one word processing
package available on the Apple that
simply, quietly, without fuss of having to
buy extra modifications, produces perfect
standard letters with a different name and
address.
But it doesn't stop there. You can access
your standard database files, take the
names and addresses off your sales and
purchase ledgers together with the
balances and write automatic credit
control letters, whilst you get on with the
business of running your business.
You can take a file, sort, search, and
rearrange the file in whatever format you
want, without fuss or bother, type a letter
and then print as many copies as you
want, edit it, re-format it and then print
new copies, even while you have lunch.
However, this is no ordinary text editor.
This is a true word processor based on
the famous dedicateds. It is capable of
typing invoices, quotations, keeping VAT
and stock files. In fact the only way to
really appreciate what this program can
do for you is to see a demonstration. So
clip the coupon and post it to us and you
will see how we can make life a lot
easier and more productive.
Forester Software
Ma The Mall Ealing London W52PJ Tet 01-579 6771
i]
i Name
Page 2?
—$$<$__—
§ Company.
Address
Telephone
Forester Software
112 The Mall, Ealing, London W5 2PJ.
Tel: 01-579 6771
Page 20
HARDCORE - The Journal of the British Apple Systems User Group
August 1981
| Beneath Apple DOS |
with
iC.
MNT
WME
i
ROAD
for
NU LIne s
OPEN +
Le
r
of
te re jie of puutines Lo
irike can itself Jled
uiion bi and Progr am
iin OS 3.2
i co one sist 95 + val
etion ene
ETE OQRGI DS IN FAC E bye Bruce Wallace |
ed version of the arigina) "Asteroids in Srace"s with new
hutten * Paddles and Keyboard * Extra ship for 19 eninte
US 3 12.95 + VAT
PLE T?7TTTTT? - Watch this srarce
ssembler s
HOPES os
broutiness
A technical manual by Don Worth and Pieter Lechner
ples 00S (Disk Operating System) BENEATH
Become an expert on tne
APPLE 00S 1s the perter
1s three appendices a g!
ive to completely fll in the many gaps
Appte users with DOS 3.3, 3.2 of earier versions. any Apple disk user would welcome
having this caretully written manual at fis fingertips.
LEARN
© How DOS 33 differs Irom other DOS versions
© How disks are protected
© How to reconstruct a damaged diskette CATALOG
© How tracks are lormatted
© How to use the dish directly, without DOS
w to call DOS's file manager
ww every routine in DOS wots
w to customize DOS to your needs
w 0 overcome DISK 1/0 ERRORS
ie secret” file types — $ and R
A DETAILED
LOOK AT DOS
5 of excellent diagr
gs of usetul dish uti
aty of over 150 technical terms
of DOS program loge
etl patches 10 DOS
iy nrogeammng examples Book 117 G5 inc
CALL OR WRITE FOR OUR CATALOG OF SOFTWARE
PROGRAMS FOR THE APPLE II AND APPLE II PLUS*
relic
August 1981 HARDCORE - The Journal of the British Apple Systems User Group Page 31
The two-player scenarios are Ambush,
Strongpoint, Patrol and Free Form, In the
A_WARGAMER’S VIEW OF
MICROCOMPUTER GAMES
-CONCLUDED-
By Robin Hood
COMPUTER AMBUSH
Once again we have a box to contend with, only
this time the box is even bigger! It’s about the
Same size as a standard SPI game box, which is
totally unnecessary for what it contains. It
contains one rule book (with 6 pages of rules and
no less than & pages of dossiers on the soldiers
that can be involved in the game), two plastic
coated mapboards, two squad cards, a game
selection card, two chinagraph pencils and one
5.25" floppy disk.
Again, as with Bismark, there are two versions
available. One for the APPLE and one for the
TRS-80, or so I am told to believe, (Available on
disk only).
Ambush is a simulation of squad vs squad combat
in France during 1944, or to be more precise, a
single level, rubble strewn, French village. The
game is nothing more or less than a very basic
form of SPI’s Sniper,
On one side of the squad card there are two
charts listing the various abilities of the 10
Americans and the 10 Germans, These abilities
range from 1 to 10 (1 being the worst and 10
being the best), The abilities themselves cover
the weight, strength, intelligance, dexterity,
power of observation, throwing
Showing the first 100000 of 175135 characters.