Beeblet June 1985

Note pages 9-12 and 29-32 are missing.

OCR version of page image


ISSN »112-3351
BBC+ Unveiled
Regional News
Short Listings
Voltage/current characteristics
Sort Report II
Access Radio
Some SAS concepts
BBC Lectern
Reviews: Acid Drops,Bird Strike
New magazine lister
A Refutation
Review - Using BBC BASIC
Who got their money back?
Hal 1  o-f Fame
Local  Groups

JUNE 1985
NZ  (inc)


Once again its that grey, uninspiring time o-f the morning - I'm almost out of paper, double sided sellotape, and coffee. The twink is unusable. In short, another isue of Beeblet is about to rise from the ashes!
I am still looking for software COMPETITION entries. See the last few issues for details.
According to the April Editorial in Beebug, Acorn have stated that "the life of the BBC micro system is already assured for at least another four years through the contract with the BBC, and the deal with Olivetti can only improve future support and development."
There were at least two errors in the May listings :p.ii col. 2, line 460 (the "Gravity" listing) is obviously incorrect but it is too hard to work out what it should have been at this time in the morning. Similarly there is something wrong with the listing on page 35 - I'm working on it too.
The vertical broken line character (sharing the \ key on the BBC B keyboard) is defined by Wordwise as a pad character. Thus listings spooled to wordwise, then printed, have spaces substituted for this symbol - unfortunate in the case of function key definitions especially. One example of this is David Baker's speech utility program published in March (cf p?» lines 60 and 70 - it should precede the M). I normally add them to the listings by hand.
BEEBLBT is edited by Bruce Wills who may sometimes be tracked down on 86i~£62 (h) or 729-929 (wk).
°f  'hf reviewers, X     e<J by
the Editor and other contributors BBC/ACORN COMPUTER USER GRO!


The BBC B PLUS Unveiled
Neil Gordon
At long last, in early May, Acorn Computers launched their upgraded version of the BBC Model B - the B Plus. It has a new circuit board, with the -following features:
* An additional 32K RAM. This seems to work like Watford's 32K RAM board, in that 20K of it can be used for the screen display, with the additional 12K for printer or disk buffer space, or whatever.
* The disk interface and DFS is included as standard. This uses the Western Digital 1770 disk controller chip (as used by Solidisk and others), instead of the expensive and rare 8271. It can also be used for double density, but I don't know if Acorn have implemented this as an option. (They haven't -Ed.) The DFS is on a 16K ROM and now includes formatting and verification commands, etc., but doesn't appear to implement the Advanced Disk Filing System as used in the Electron Plus 3.
* An extra 2 ROM slots have been put in, to make a total of 6. These can now take 32K ROMs, and the BASIC and OS have been combined on one 32K ROM.
That's the good news. The bad news is that it will sell in Britain for 499 pounds (including VAT). Come on, Acorn. You can buy a BBC B with 32K RAM card from Watford for about 465 pounds, add the Solidisk double density DFS for 46 pounds, and a Watford sideways ROM board for about 30 pounds, to get a similarly equipped computer for 475 pounds. While it's nice to have it all in a neat package with the B Plus, this is an indication of the apparently ripoff prices that Acorn are asking. With rapidly falling chip prices, it must surely be cheaper to build a B Plus now than it was to build a B three years ago, implying that the B Plus should have been priced at no more than 400 pounds, and preferably less, with remaining stocks of the B dropping to 300 pounds or less. Even at 400 pounds, the B Plus would be around twice the price of the Commodore 64 and Amstrad, perceived (erroneously) by the public to be of similar power.
The BBC B, B Plus, and Acorn Electron are excellent computers. However, with Acorn apparently determined to price themselves out of the market, and in spite of the Acorn contract with the BBC, I fear for their future. The prices must drop.


Don Churchill is the new President of the Wellington branch (see back cover). Workshops are now planned, on an experimental basis, to run on the second Thursday o-f each month. The June workshop is about printers, a -follow up to the May meeting.
The winner o-f the 2YB software contest was Julian Wright with a touch typing tutor. Runner-up was a Mr Speirs, Palmerston North?
Steven Williams reports that the May meeting was something of a non-event, however firm plans were made for June and July. Dave Smith was scheduled to speak in June about the use of a Beeb for sharemarket analysis. July is slotted for a discussion of expansion options (eg. Aries vs Solidisk vs co-processor etc). Other ideas are sought for future meetings.
Steve  would  like  to  know "who  the  local Manawatu is".
Solidisk expert  in
..are now circulating their own newsletter, "Waibug". TAURANGA
Jane C. admits to being "quite chuffed" after a major kiwi fruit exporter aquired a Beeb to run a stock control program that she and Chris have been developing. They have almost finished one for the coolstores to use and hope to demonstrate it at the fruit grower's feild day in Te Puke in November.
What have the rest of you been doing?
Steven W. reports "The news is that its out, and takes up two ROMs (one 16k, one 8K). There are two compile options: Semi-compiled (ie you need the ROMs resident to run the code) or full machine code. The pnly snag is that although the semi compiled format supports all BASIC statements except EVAL, the full compiler supports only integer arithmetic. They have also released a ROM which will let you use your ACORN speech upgrade on a phoneme basis ie construct your own words. Very useful.


R forun conducted by Tim Ryan
QiI was asked at the last local user group meeting why a program was crashing with the 'No PROC' message at the ENDPROC line of a procedure although there was a DEF PROC above.
AlAll BASICS use a stack to hold REPEAT/UNTIL, FOR/NEXT, PROC/ENDPROC information. Acorn have done theirs a bit different from  most, in that  there  is  a  separate  stack for each of  the different types of loop (I'm including PROC/ENDPROC here). Due to the different areas for each type, it is up to the user to  make  sure  that  the  closure  of  the  loops  is  done  in  the correct order.
>  in  a program  is OK
>  in  a program may giue  odd results
The program below is designed to show one possible error that is
caused by getting the loop closures out of order.
When execution of the PROC drops through to the ENDPROC, the
REPEAT/UNTIL loop has not been closed. BASIC then executes a
different UNTIL that is nothing to do with the original REPEAT
within the PROCedure. The result of that is to jump back to the
last REPEAT seen, and continue executing from there (as in a
normal REPEAT/UNTIL loop).
Only  trouble is, BASIC thinks that it has already finished the
PROCedure (remember, we executed the ENDPROC statement before),
So  when  it  hits  the  ENDPROC  for  the  second  time,  it  gets
horribly confused.
If there was a PROCedure that called PROCtest, instead of an
error message and a bombed program, BASIC would begin executing


in the outer PRQCedure which would produce totally unpredictable
TRY THE PROGRAM i I bet you can't guess what it does.
18  CIS
20 PRINT "Go through PRQCedure"
30 40 50 60 70 80 90 100 110 120 140PROCtest PRINT "Just before UNTIL FALSE PRINT "End of rout END DEF PROCtest REM The REPEAT is REM procedure, butUNTIL" ine" started inside the the first UNTIL met i
170REM to do withtheor i gi nalREPEAT
200PRINT "Shouldgetthis far"
210GOTO 230
240PRINT "Shouldnotget here"
i. executed noth i ng
So remember: When using loop structures, always -finish them correctly to prevent all sorts o-f unrelated (and therefore impossible to debug) problems.
If the program logic requires you to jump out o-f a loop (and due to the lack o-f a DO/WHILE structure it does happen), there is a tidy way to do it. What I do is simply set a flag, and make the loop test -for that -flag.
1238 IF (error condition) THEN error=TRUE:GOTO 1260
1240 ......
1250 ......
1260 UNTIL (normal end condition) OR error
FOR T=l TO 100
IF (error condition) THEN T=100:GOTO 50
0.2This is one I worked out myself, but I guess the answer may interest others. What I wanted to do was turn HEX numbers


into strings, so that I could -format the printout using RIGHT* etc.
A2It  took me  a little  fiddling, but I  finally  came up
with the answer:
Use the following
string. variable$=STR$"decimal_number
Eg: hexval$ = STR$"23
where " is the tilde character (above the A on the keyboard).
HINT:  It  is  useful  to  put  HEX  numbers  into  strings  for
formatting printed output.
Use : PRINT RIGHT*("000"+hexval$,4);
to print out hex numbers as four digits.
What all the string handling does is simply to pad the numeric
out to four places with zeroes if the original number was less
HINT: To all the Electron owners. You must remember that the Electron does not have Mode 7, therefore any program designed to use Mode 7 will not work correctly. If the Mode 7 command is only used for instructions, at the start of the program, and all the rest is in Mode 2 (for example) then all is well. However, if the whole program runs in Mode 7 then you are in trouble.
Eg: 18 MODE 7
28 PRQC instruct ions 38 MODE 2 48 PROCsetup 58 PRQCqame 48 END
Will probably work fine
Eg: 18 MODE 7 28 PROCqame 38 END
Will not work.


Neil B.
Editor's note: I have still a number of Neil's delight-ful short listings to publish. These can easily be -further extended. More such programs would be welcome, as would themes for others to tackle.
This is useful for graphing a number of related curves on a common vertical scale against (say) a time scale, to give an immediate appreciation for comparision and trends. The vertical scale is automatically set to accomodate the largest value input. A printer dump would be a useful addition to the program.
An easily extended menu of measurement conversions (eg. fahrenheit to and from centigrade) is presented. To return to the menu, press RETURN instead of inputing a value - in the case of temperature conversions, ANY letter key followed by RETURN.
Based on a listing for another machine (PROCsky added). This draws landscapes with random sine curves. The drawing process is halted (after the current curve is completed) by pressing the space bar. Useful additions would be colour, and a screen-dump routine for those with the appropriate equipment.
18 REM::PLUGRAF::N.E.B, 14/3/85
38 MODE8
48 vDU23?8282;8;8;8;
58 MAX=8
88 DIM v(C,P)
118 PRINT'''CURVE H'lCURvE 128 FOR point=lTO P 138  PRINT''WLUE '{point
18 REM::CONVERT:: NEIL B. 18/84
28 MODE?
38 351=18
48 DIM A*<28),W<28),C<28)
58 PRQClist
68 PRQCselect
78 PROCheader
98 IF A$(N)=adeg.C" PRQCterap ELSE
128 DEF PROClist 138 PRINT


The -first part of the program asks -for the value of this resistor and the ratio of voltage drop at the potential divider. If the voltage is now turned up to maximum, the computer can measure current and voltage in order to draw the axes of the graph. When the voltage has been turned down again the main program can begin. The graph is plotted "warts and all" giving irregularities which seem to be faults in the system* but as they are repeatable, an explanation can be found: The resistance of a lamp increases with temperature, so that as the voltage is increased the resistance lags behind its true value for that voltage. However on maintaining a constant voltage, the lamp heats up and the current drops after a short time. For this reason, the graph plotted for a decreasing voltage is lower than the one plotted for an increasing voltage.
Other components which can be compared are resistors, diodes, and transistors.
A possible extra feature for the program would be the ability to store the graphs and then superimpose them.


By Steven R.
The bubble sort improves...
This is the second in the series about sorting. In this article, I will explain both the INSERT sort, and the BINARY INSERT sort, and relegate the BUBBLE sort to last position.
It has been pointed out to me that most people want a "black box" procedure which sorts. They don't want to know how it works, but only what information it requires to work. I agree, but this type of series can be helpful when you are "boldly going where no-one has gone before" and would like an idea o-f how to improve what you have. H you -follow from one of these sorts to the next, you can see how one was improved to become the next, as with the insert sort, which is an improved bubble sort.
Also, most importantly, it gives our Editor something to put in the newsletter...
All programs fro'm now on are converted from working PASCAL programs. There may be a more efficient way of coding them, but they should work as shown. I haven't tested them exhaustively though, so they may have an insect or two (bug) in them from the conversion. Let the trier beware...
This sort is basically an improved bubble sort, where each item is inserted once into it's correct place, but many passes must be made.
Like the bubble sort, it only needs one pass to decide whether the array is sorted or not, and therefore the sorted array is it's best case (The best case is the one in which the method works best. The worst case is the one where it does the worst).
A typical procedure (formatted by me) looks like this:
100 DBF PROC.INSERT_SORT(maxitems)
110 first = element(l)
120 position = '
130 FOR entry = 2 TO maxitems
140   IF element(entry) < first THEN


•first = element(entry):position = entry 159 NEXT
169 element(position) = element(i) 179 element(i) = -first 189 FOR entry = 3 TO maxitems 199    current = element(entry) 299    position = entry 219   IF current < element(position - 1) THEN
element(position) - element(position - 1): position = position - 1:
UNTIL current >= element(position - i) 229   element(position) = current 239 NEXT 249 ENDPROC
Lines 199 - 159 -find the lowest element in the array, and put it's position in the variable 'position'.
Lines 169 and 179 swap the element just -found with the -first element in the array. This makes the first (top) element the lowest in the array.
The  FOR  -  NEXT  loop in  lines  189  to 239  goes  through  the remaining  elements  in the  array  and  inserts  them  into  their correct place. This is done as -follows:
Line 199 saves the time taken in looking up the array element several times (and in typing it), by putting the current element in the variable 'current'.
Line 299 puts 'entry' in the variable 'position', because it may be changed at line 219. While using 'entry' in the loop works (I've tried it), it is bad practice to change the loop control variable inside the loop.
Line 219 simulates a WHILE - ENDWHILE loop by doing an IF <condition> THEN REPEAT UNTIL NOT <condition>. That's why the line is so long. The lack of WHILE is where BBC BASIC falls down a little. Still, one manages with what one has...
If 'current' is less than the element at 'position', then the element at 'position' is replaced with the element one higher, at 'position' minus one, shuffling the higher element down one slot. We now move our "frame of reference" up one place and try again.


This is repeated until the correct place for 'current' has been found, at which time 'current' is put into the array, at line 220.
1. This sort is -faster than the bubble sort.
2. It sorts arrays that are already in order almost as quickly as the bubble sort.
3.  No extra room is needed besides the array.
1. (See ADVANTAGES) This sort is not much -faster than the bubble sort, because although it does less comparisons, it still does a lot o-f passes through the array, and shuffles items about more than the bubble sort.
This is an improvement on the insert sort, where the insertion point is -found by doing a binary search instead o-f a serial (sequential) search. Before I go any -further, I'll explain the:
Binary Search
A binary search does something like what you do when you look up a phone number in the phone directory. First, the list to be searched MUST be sorted. Now, imagine that the list is in ascending order, with the smaller items at the top. Okay ?
The binary search routine first looks in the middle of the list. If it hasn't hit the jackpot, then it sees if the item in the list is bigger or smaller than what it is looking for. If the item in the list is bigger, then the one it wants must be higher, so it picks a point halfway between the top of the list and the place where it is now, and tries again. If the item in the list is smaller, then it has to try again lower down. It picks a point halfway down the portion of the list below where it is, and tries again.
To keep track of where it should be looking, it keeps two markers: top and bottom. When it decides to look higher, it sets the bottom marker to it's current position, or the top marker if looking lower. Then it finds the spot half-way between the two markers, and that becomes the current position. By setting markers like this, the area that is being searched gets halved every try, because if an area of the list has been looked at


already, then the top or bottom marker will be set above or below that place, and it won't ever be looked at again in the search.
It keeps searching like this until either it finds what it's looking for, or the markers meet, which means that the item wasn't there. This is one of the fastest searches, and can be orders of magnitude faster than a serial search if the list is long.
If you are lucky, I'll give you a procedure to do a binary search next time. Meanwhile, to make sure that you understand how the routine works, why not have a look at the program listing below, and see if you can come up with the original, unmodified binary search yourself ?
Now, coming back to the sort...
The main way in which the program structure differs from the insert sort is that while the insert sort shuffles numbers up the list until the insertion point is found, the binary insert sort finds the insertion point first, and then shuffles the numbers up the list.
This really means that there are now two separate operations instead of one larger one.
The binary insert program looks like this:
10 first = element(l)
20 position = 1
30 FOR entry = 2 to maxitems
40    IF element(entry) < first THEN first = element(entry): position = entry
60 element(position) = element(l)
70 element(i) = first
90 FOR entry = 3 TO maxitems 100    current = element(entry) 110    found = FALSE 120    lo = 1 130    hi = entry - 1 140    REPEAT
150position = INTdo + hi) / 2 160     IF current < element(position) THEN
hi = position - 1 170IF current > element(position) THEN


lo = position + 1 IF current = element(position) THEN
lo = position + 1:
found = TRUE IF hi < lo THEN
found = TRUE UNTIL found
position = eniry IF positionK to THEN REPEAT:
element(positipn) = element(position position = position - i: UNTIL positional'lo element(position) = current
- 1):
250 NEXT Lines 10 - 70 are the same as in the insert sort.
Lines 90 - 200 find the insertion point by using a slightly modified binary search.
Lines 120 - 130 set the markers to the top and bottom of the sorted part of the list.
Lines 140 - 200 find the insertion point. Line 150 calculates the place to try.
Lines 160 - 180 adjust the markers, depending on whether the insert point is higher or lower than the current spot.
Line 190 checks to see if the markers have crossed over. If they have, then its time to stop. This should only happen if the item is to be inserted at the top of the list, which should never happen because the lowest item was placed at the top in lines 10 - 70. I'm just covering all the possibilities here - 'should' does not necessarily mean 'will' !
Lines 220 - 240 shuffle the numbers down the list so that the item can be inserted at the correct place.
1. This sort is consistantly faster than the insert sort, unless the data is already sorted, where it is slower than both of the other sorts. This is because the binary search is so much faster than a serial search. When the data is already sort? u,


however, the binary search takes longer to -find the insertion point than the serial search, slowing it down.
2. As with the other two sorts, no extra room is needed besides the array.
The only disadvantage compared to the other two sorts is that the program is longer than both. You usually know if the array is sorted before you start, and you wouldn't bother sorting it unless you had to.
Next time: an even better, faster sort.
CLASSIFIED ADS #####*########
Send stamped addressed envelope for details of the deals negotiated for UG members. Please mark your request for the attention of the Equipment Officer, C/0 the UG Box 9592 Wgtn.
Ci0s» boxed, leaderless - available from the UG in multiples of 20 : $30-00 plus $2-00 p&p.
MICRO COVERS Designed  to  fit the  BBC  micro.   Attractive  opaque reinforced
plastic, $5-50 posted.  To lain, Box 26078, Epsom, Auckland 3.
3M Brand 5 1/4" DSDD discs - available from the UG ex-stock in (cardboard) boxes of 10: $55-00, which includes p&p
David B. supplies a few more undocumented calls:
*FX202,x is used to read or write the keyboard status, so -
*FX202,255  turns off the CAPS LOCK
*FX202,144  turns off CAPS LOCK and turns on SHIFT LOCK
*FX202,239  turns the CAPS LOCK back on.
Some PLOT commands are also unrecorded - David notes "I believe PLOT 77 fills something but I can't remember what."


The BBC Prestel
Simply and easily connected to a BBC Model B Microconputer, the Prestel Adaper converts the computer into a powerful terminal capable of two way communication via telephone lines. Provides access to armchair shopping, Business information
1. The Presetl Adapter enables users to communicate, through the Post Office Telephone Network, with various information services and databases in NZ and Overseas.
2. The Aditel System for example provides subscribers with a wide range of constantly updated information.
3. Prestel allows the BBC Model B to "talk" to almost any computer with a 1200/75 Bits per second modem.
4. Available databases include: Share and stock prices, weather, news , wool and livestock prices, farming information etc etc. More databases are constantly being added.
5. The Prestel Adapter allows the user to edit text until satisfactory and then send the completed messages by telephone. The system is fast, inexpensive and secure.
6. Information received from Databases can be saved to disc or cassette or dumped to a printer.
Who Needs The Prestel Aiapter?
Anyone with a need for access to a wide variety of information, particularly farmers, travel agents etc. Prestel is a simple, inexpensive way of joining an rapidly expanding network of databases.


Uliy settle for le?c than flu* ultimate Videoiex svston
If you're presently using a Videotex terminal, or considering a new purchase, ask yourself two questions.Yes No
(1) Can 1 use my dedicated terminal for anything other than receiving Videotex?
(2) Can I store Videotex information for fast recovery without the cost of going hack on line?
With the BBC micro and ii.s inexpensive Prestel -Adapter you can say yes to both these questions and enjoy the additional benefits of the powerful BB(' system.
Kor further mlomuton contact Barson Computers NX Ltd I Ngaire A\ cnuc, Kpsom. P.O. Box JO-.'*--. Auckland Phone (09) S(H-O-ii;
' Pro ii-1 is .1 registered [r.Klenurk ol'llriiisli Ick'iuni
' Hrinsh Hni.tck .1st ii^ Corporul ion is .ihhrf \uictl to HIH" throu^liout the text
$180 PER ANNUM + 17c per minute
The PRESTEL adapter is a fully type approved 1200/75 baud direct autodialling modem and is supplied with PRESTEL software on ROM
For more information contact
Ph. (9) 504-049


comment and hints, from
Access radio started broadcasting BBC MICRO programs two months back. Some users (including myself) had no success in receiving acceptable signals. However, in co-operation with Gary Clark of Access Radio, Tel (04)721777, an attempt has been made to get to the bottom of the problem. Hopefully the hints given below will lead to an increased interchange of ideas and progams via this medium.
Access radio broadcasts on 783 kHz at 20 kW from Titahi Bay, just North of Wellington. Transmission of computer programs is scheduled at 9 A.M. on Saturdays. This timing is based on programming commitments and because it is a quiet period of the day insofar as electrical interference is concerned. (The alternate time of the early morning hours doesn't appear to have any great following!). BBC MICRO broadcasts are scheduled each month (see May BEEBLET page 16).
The graphs opposite show the sound level intensity plotted against frequency. To satisfactorily decode the signals the computer needs significant peaks at 1200 Hz and 2400 Hz and the harmonics at 3600, 4800 and 7200 Hz.
The upper curve opposite shows the signals received on 20 April at Silverstream some 15 km from the Transmitter. On that occasion a BBC MICRO and a colour TV were ON. The signals are buried deep in noise which explains why they couldn't be decoded by the MICRO. The compartively high level of low frequency (50 Hz and 100 Hz) could also cause signal suppression. Adjusting for maximum bass cut can suppress this interference, (data recorders do this anyway !)
With the BBC MICRO and colour TVs turned OFF the signals were received on 18 May as shown in the lower graph. All blocks were decodable as the necessary peaks are well clear of noise.
Data cassette recorders are optimised for storage of data. If using other recorders any limiters should be disabled. (Dolby systems could be used to advantage but if you dont understand the system turn it off.) The recording level can be safely set a few dB into the red as the signal level will be constant and not likely to overdrive the tape head.
1.Turn off the BBC MICRO
2.Turn off any colour TV sets
3.Turn off any simmerstat or thermostat appliances (irons, hotplates)
4.Turn off limiters on the tape recorder
5.Set level a few dB into the red
6.Set bass cut to maximum




If you spend time to understand the basic concepts involved, it will be much easier to follow the SAS "railroad" and other notations next month.
The -fundamental concept is the frame - a straight steal from the solo adventure books, and also used in Microtext. There are some differences though, and several other key concepts, but they all need to be explained as part o-f the -frame-work. Frames are the building blocks of this adventure system.
Some questions...
What is the difference between a room, and an object? The obvious reply is that a room cannot be picked up, and you cannot get inside an object - seems obvious! BUT in Level 9's "Dungeon Adventure" there is a packing case which you can TAKE around with you, which you can also go IN. It has several rooms inside it. What then, is the difference? None at all. The difference only lies in their use.
What is the difference between a {room with a fiendishly cunning trap} and a monster? Well you should be able to deduce the answer I'm expecting...
The point I'm making is that rooms, objects and monsters can all be referred to as frames. There can also be frames dealing with situations, such as choosing which spell to cast (an example of a "situational" frame is VSAS 999 - lines 750-776 in the listing). There are other types of frames that can be used - for instance, to implement combat routines - but this should become more apparent later.
Frames vary in size and complexity; each part will be identified by its initial character, which is one of "#$%&". Full syntax and other examples next month.
i. Frame Header:
Every frame starts with one of these, even if they have no other
parts. It contains:
a) frame identification number,
b) brief title.
What you can see in a room is generally a list of titles of all the visible items in the room, other than the ones you are


eg  DATA #17,Control Panel
2. Conditional Description(s):
Frames can have zero or more of these.  They are used when you
enter a room or examine an object.  Some description of the room
should be given, even if you cannot see - eg "the room stinks" -
you surely don't need a lamp on to smell? (Level 9's "Colossal
Adventure" requires light to smell!; but try going down the well
without the lamp on)
Additionally you may want to change the status o-f the room just
entered (some events may only occur the first time you enter the
Thus each conditional description of a room has 3 components:
i)  condition  which  decides  whether  the  rest  of  line  is executed
ii) the text of the description
iii) any special activities required to be done.    eg: DATA $T,the air smells foul, DATA $p9,you see a control panel,SC5 DATA $c5,you hear a low-pitched hum, N.B. "T" is a condition which is always TRUE
"p9" has been previously defined as TRUE only if you can see
"SC5" - "tell" the control panel there is a light on
(actually Set bit 5. of the Current room's status) "c5" - once any light has fallen on it, the control panel will  remain  active,  even  if  you come  back later without your lamp.
3. Conditional Qption(s):
Frames can have zero or more of these. They allow options to be given to the player only when they are valid - there is no point in asking someone to push the green button on the control panel, if they can't see it! All valid options are given to the player, and the game stops until one is selected. Then whatever activities are associated with the option are done.
The three components are similar to those for conditional descriptions:
DATA %p9,push green button,SC7
DATA %p9,push yellow button,SC7
DATA %T,wait,CC7
N.B. if you can see the control panel you are offered the choice of two buttons to push. If any are pushed, the Status bit 7 is set, else it is unset.


4. Conditional Followups:
There can be zero or more of these. They are only checked after an option has been selected. They have similar components to conditional descriptions:
DATA &c7,I'm  sorry  -  but  you  shouldn't  have  pushed  any buttons - the control panel just blew up and Killed you!!!,AX N.B. "c7" is true only if a button was pushed
"AX"  indicates to the interpreter that the adventure has finished (Adventure eXit)
5. Status:
Technically this is a fifth part. All frames have 32 status flags (or bits) automatically assigned to them. Normally you don't have to do anything special with them unless you want to.
The examples of frames have referred to activities (abbreviated to ACTs) - specifically to acts "CC", "SC", and "AX". There are about 20 other types of acts, and there can be several together if necessary. Wait til next month.
A very useful one is "ME" - Move to Enclose:
eg  the  option  to  put  golden  nugget  (frame  4*51)  into  your
backpack (frame #54) could be specified as:
DATA %p9,Put nugget in pack,ME5i/54
This can also be used to move a player (who is always frame #0) to another room (eg frame #37)
DATA %T,climb ladder,ME9/37
Ignoring the initial character ($,%, or &)» they can be any expression that can be EVALuated, using any of the "variables" known to the interpreter. Even the RND function can be used (and SIN, COS if you can think up a daft enough excuse) eg:
DATA $r9<RND(6),your lamp flickers,
N.B. "r9" - a variable defined to contain the number of turns you still have before your lamp runs out of oil or battery runs out of charge, (the assumption is that as your fuel runs low, the lamp is more likely to flicker)
There are a number of special variables known to the interpreter which can be used, like "nt" is Number of Turns elapsed since the start of the game.
See you next month...


Alan Jackson - Oamaru
Cramped? Uncomfortable? Nowhere to put papers etc when using the Beeb? Alan has developed and tested (over some 18 months) a simple project to tackle these problems-
The monitor I use is raised up so that the centre of its screen is at the same height as my eyes when I am sitting up and making all those "correct posture " right angles with ankles, knees and lower spine. This also causes the monitor to be moved back some distance, just at arm's lenght, and left space for the bookrest (it also acts as a writing surface when the desk is covered with disc drives etc). The cables at the back of the Beeb can be led away under the bookrest and thus create space for all the othe bits and pieces on the bench. I am sure that the bookrest could be improved by the addition of some form of line guide to help when typing in listings from magazines, the one I used was so jerky in operation that I dicarded it after a short time.
Royden H., who kindly agreed to redraw the diagrams to improve their reproducability in Beeblet has also suggested that the front wooden strip used to hold magazines etc in place could be bach-cut to help hold the pages down. He also noted that he employs a padded wrist-rest : a stuffed sock.
SLIDES h are
U»D, U ,
S t jajm dj_




1. I am inclined to agree with the member who described publishing "Complaint" in -full as an editorial aberration - I expected it to be edited, but it wasn't.
2. I have an "e" on the end of my name - Please keep it there. At times it has been the only way of distinguishing between several Ann/es at school, work, social gatherings...
NOW to Tim's points:
Good money is NOT paid just -for this magazine:
a) -for your membership you also get access to decent cheap tapes and quality discs (who uses neither?), bulk purchase deals on drives, printers, monitors... the modem project...
b) with the help o-f local group committees, it tries to keep members in-formed of local events - c-f Christchurch group's calendar in a recent issue; report on Copyright seminar et al.
c) the cover price o-f $3 is a non-member's price.
d) it is less than half what is paid for Elite - a decent game -and even more miniscule when compared with the cost of a single business program.
e) for many members, membership can probably be tax-deductible.
That is precisely who I think should be filling a large part of the magazine. For instance March'85 - Tape menu program. You can't get much more straighforward than PRINT statements, and here they couldn't be more effective!
Reread letters etc published in 'Beeblet'. It is the newcomers to computers that have a "sense of wonder", that are keen, excited, and in need of encouragement to maintain their interest while they attempt to overcome the hurdles of "Bad Proqram", Syntax error at...". Before graduating to the 1MHz bus. Surely there is a place for this in Beeblet, and for what may appear to be reinventing the wheel. (After all, who reads the User Guide?)
A comment overheard was that Feb'85 teleprinter driver article was of such limited interest that it shouldn't have been published. A reaction to that was that whilst they didn't have a $10 printer, the program was interesting for the techniques used. In the questionaires returned, is a thank you from someone who is actually using the program. Similar positive reactions have been made concerning Relocating View -


superficially  it  is  only  of use  to those  who have  squandered $1080-odd on a co-6502 on top of the cost of View. Someone  who  didn't  have  disc  drives  made  use  of  a  concept presented  in articles on them:  MENUs, and  applied it to tape (March '85).
a) Quite a few of the articles under my name are in fact written explanations of verbal questions made of me at local meetings. (It's safe to open the pages of 'Beeblet', Ann S - your printer problem is in this category). I've tried to get these questionners to write up the answers themselvesi because to explain is to relearn, or to learn more fully. Standard technique surely. Since this approach fails too often, I write and expand a little the 'answers' on the assumption that if one person has asked, and others listened* there are probably others who also want to know. So force yourself to write down things -it becomes easier with practice.
b) Having  access to all the  membership forms, I  shall further
i)   Many  members have  tertiary, or professional qualifications
of some sort - MB ChB, NZCS, Dip Tchg - or are studying for
them. To acquire such levels of training implies some ability to
express oneself on paper adequately.
ii)  Many  members  also  appear  to  be  in,  or  approaching,
management positions.   Do they not have to present reports /
explanations at work?  What about the self-employed?  Ever tried
to explain to your accountant something tricky?
iii) Are there no parents in the User Group, who have tried to
explain how to do things, to their children?
iv)  If  you  have  a  physical  handicap  that  prevents  you  from
putting pen to paper, or using PRINT statements on the Beeb/Elk,
why not talk aloud, with a  microphone somewhere in the room.
I'm sure the Editor would find someone to transcribe it for you.
"If you want something done, ask a busy person."  Anyway, if you
write for the magazine, you won't need the time to read it!?!
6.  TOO YOUNG / OLD...
Youth: Hall of Fame, a lot of the reviews, an article on #LINE (when it appears)... What about "How I conned mum & dad into getting "x" for the computer" and see 7b below.
Age: John Bull Oct'84 p.7 - he's not only a grandparent, he's "isolated" on Waiheke Is. Jean's Interest and Wallpaper programs Dec'84. She's also retired.


Other handicap: David B 15 a registered blind person, with a Beeb who has
a) learnt to program
b) got Frank H, another member, to write some more "advanced" programs to assist him (good for Frank who also gives thanks to the Speech U.G.)
c) told us through the magazine about these things (Mch '85 esp).
a) A quote -from Alan, in Oamaru,
"I have already used my Beeb to train teachers on a i to 1 basis on BBC computing in the subjects of their expertise. Now a -few interested ones meet in each others homes to swop ideas and drink tea"
b) Sandra, age 16, travelled -from Wainuiomata into and across Wellington to our place to spend a day transferring programs in last year's Beeblets -from Beeb discs to tape and testing them on Whitcoull's Electron. That was some 4 hours driving -for her dad in all.
c) For those o-f you who have been round long enough, remember "The Blessed Event" ? Issues 1&3 of Vol. 1. Also Napier Tony's garage sale - I just wish I had a garage to sell.
d) Chris and Jane, who run the Tauranga group, say everyone is new to programming and computers, and that they all find it hard going working from books. The advantage I see with a magazine is that you can start up a 'conversation' in its pages, or write in and ask for or offer elaboration on an article already published.
e) Volunteer to make up modems?? (see April mag)
f) Talk to your local dealers, find out who else around he has sold Beebs or Electrons to, and try to meet them.
g) If all else fails, become a civil servant and transfer to Wellington at the expense of other people's taxes - we could use you on the committee!!
My "Complaint" has apparently needled or prodded quite a few people into doing something "at last". There is some interesting material coming through, or promised. Quite a few people have admitted to needing the prod of my letter plus survey, to do something they "always intended doing anyway -some day".
I did not intend to sound "nasty" - I went through several drafts to avoid that - I was letting off steam built up when I


was looking for a small item and could only find "Anne F"- or "GCF"-authored articles. I also thought the figures made interesting reading, and handed the whole lot to the Editor, to make what he would of it (if anything). I guess the fact that it was already in a Wordwise file on disc guaranteed it would get printed unaltered. That's life? (some things have more impact au naturele -Ed.)
GEOFF suggests that the Editor is short of material - he's not so short that he has to publish everything written by Gavin or me - let alone put them all in one issue. It's just that we give him a Wordwise file on disc, plus a printout, and that's easier for him than typing it in himself! (Actually, I have a bias towards anything supplied on tape or disc.. - Ed.)
FINALLY I shall look forward to seeing a whole host of new names, short programs to type in for fun, positive discussion of the direction of the User Group, and hope like mad that someone in Timaru, or Christchurch, or Hamilton, or wherever people get together to gossip about Beebs and Electrons, will write in, and make 'Beeblet' not just a NZ magazine, but a NZ-wide newsletter as well. After all, there are 46 pages. I personally think you need at least this many to ensure:
a) 'something for everyone' each month,
b) in-depth articles for those who complain of shallowness,
c) a variety of topics maintained,
d) room for local news items when they can be winkled out of people... what did happen at that session on robotics, mainlanders?
LEVEL 9 have released a new adventure "Emeral Isle", retailing at about 7 pounds (mail order), which is supposed to be a little simpler than their other offerings (it couldn't be harder!). It includes full colour graphics.
The June Acorn User notes that there is a new version of Elite out for the second processor. It also mentions that two more manufactures have launched products to compete with the AMX mouse : "Megamouse" from Wigmore House (88.5 pounds) and "Magicmouse" from SMC (whoever they are) for 55.95 pounds. Details of the BBC+, which is also "unveiled" by Neil Gordon in this issue, are provided too.


USI NG BBC BASIC by Roger McShane
227 pages, *26-ee, Published by Prentice Hall. Reviewed by Kay Eff Cee
When -first given this book to review I eyed its bulk and thought "Oh yes a -few day's reading." I soon discovered that it was not just a reading book. It is very much a doing book as are, no doubt many computing books. So my -few day's reading became 2 months doing.
Each of the eighteen lessons contained in the book is built around -four headings:
1. The lesson - which deals with a particular aspect of computing eg. keyboard, arrays.
2. Summary - in this section any new skills introduced in the lesson are highlighted.
3. Housekeeping - Comments on commands which may or may not have been used in teaching the principle skill in the lesson, but which you will ultimately need to know and understand, eg. in the Introduction to Graphics the author concentrates on the MOVE and DRAW commands. The CLG command is not used, but appears under housekeeping.
4. Exercises - these provide an opportunity to apply what has been learned in the lesson.
The book is written in simple language and is very easy to read. Each  lesson  is  very  much  a  small  step  by  small  step progression, so you get the picture whether or not you are being introduced to graphics!
li you prefer the school textbook layout and approach to learning complete with questions and answers you will probably find this book useful. If you can cope with the heavier bombardment of information as per the User Guide you will find the book a bit simplistic.


The short answer ist we don't know. We offered prompt renewing members an opportunity to get their renewal money refunded. To totally avoid accusations of "cooking the books" we have decided to let the Golden Kiwi choose the winning member!
Below is a list o-f all the membership numbers of people who:
a) renewed be-fore 30 April
b) -filled in and returned the questionnaire by the same date
c) were not national committee members for the 1984/5 or 1985/6 years!
To find the lucky persont look for the winning ticket number of the Golden Kiwi lottery result published in major newspapers on Thursday 27 June (or the first day after that date that results are published). If there are two lotteries published on that day, then the winning ticket is of the first lottery number printed. (Substitute the winning ticket number for "KIWI" below)
Switch on your beeb, and type in:
The  answer  is  the  table-number
number of the winner below.  That the mail shortly1
ft  ft
referring  to  the person can expect
membership a cheque in
ft  ft ft
112 113 114 116 118 128 121 122 123 125 148 142 145 146 148 153 154 157 164 165 178 188 183 198 288 282 212 215 226 227 233 236 239 248 245 246 248 249 258 254 268 263 269 281 282 292 295 299 386 387 322 329 337 339 344 345 352 359 365 372 ___ 388 381 385 386 388 389 391 392 396 483 78! 484 487 488 489 414 428 429 437 439 445 88! 446 449 452 455 457 468 461 464 465 467 98! 468 469 471 472 475 479 484 493 497 498 188! 583 584 586 587 514 516 518 519 521 522 118! 526 528 532 536 537 542 544 547 548 549 128! 551 553 554 557 568 564 565 571 584 592 138! 595 599


Alligat. Aardvark
Amcom Bugbyte Comp.Con Dr So-ft F6 Soft.
Prog, Paw
Sup. So-ft * <disc)
Arcadi ans Av i ator Countdown El ite Meteors Monsters PIanetoid Rocket Raid Snapper
Starship Command Super Invader Cylon Attack Bug Blaster Zalaga Frak
Monsters Fortress Twin Kingdom Android Attack '747'
Mutant De-fender Lords o-f Time Snowbal1
Feli x in Factory Frenzy
Ki 1ler Gor ilia Laser Command Moon Raider Q*Bert Roadrunner 2 tasks per-formed
El ite
Rasik R. Joanne C's Dad Andrew P. J&C Climo* Andrew P. Robert T. Peter J. Mark R. Susan Robert N. Kiran R. Aaron Steve U. Peter J. Andrew P. Geo-f P. Andrew P. A. Beeston Peter J. Steve U. Steve U. Steve W/Kerry K Steve W./Dianne Rasik R. Dianne T. Susan
P.  Leadley P.Leadley Peter J. Andrew P.


-meets 2nd Wednesday of the month, 7.$pm, Conference Rooms, Auckland Secondary Teachers College,68 Epsom Aye, Epsom, ph Dave 778-638 x 518*bus) or Kerry 695-355.
-North Shore: meets last Wednesday of the month, 7.38pra, Salvation Array Hall, Glenfield Road, Glenfield ph Chris 419-8543 <wk)
-fortnightly workshops, Monday 6.38pm at Hagley High School, ph. Michael 582-267.
-•first Thursday of the month, Phone Martin McDowall 42-831
-Alternative months Hastings d Napier. Contact Kendall Napier 435-624, Bob Taradale 446-955, Mitch Hastings 778-235.
-Phone Evan 338-444 Invercargill.
PALMERSTON NORTH:-Phone Ton Skinner 83-889(wk) TAUPO:    -meets every second Wednesday 9 7pm. Contact David 84-215 (h), 85-215 <wk).
-every second Wednesday, ph. Chris & Jane 65-876.
-Phone Lloyd van der Krogt Tiraaru 61-412.
-meets first Friday of each month, Tokoroa High School, 8pm. Phone Brian 67-625 Tokoroa.
-first Friday of the month 7.3)pm Waikato Tech Institute. Ph. Alison or John, Morrinsville 6695.
-meets last WEDNESDAY of the month, 7.38pm, Royal Society Lecture Theatre, Turnbull St, Thorndon.Workshops: second Thursday of month, other venues, ph. Don 848-235 or Beryl 862-874 or Mike 785-437.
- let us know and we will publish details here.
CONTRIBUTIONS:-most welcome. Listings should be sent in on tape ordisc.(Tape -2 copies, one at 388 baud please). Please include written explanation of listing; text and graphics only material welcome too.
DEADLINES;- For a particular issue, the last day for material is the last day of the month prior to publication. ADVERTISING:- Rates are $28 per half page (camera ready), deadline as above.
Published monthly except January and mailed to financial members.
Membership of the users group is on payment of an annual subscription from April to Harch. For the 1985/6 year it is: $38.88, plus $5.88 for Auckland & Wellington members as a local branch levy, which entitles attendance at meetings as detailed above. Renewing members get all back issues of the current year.