Much has been written about problems met by ZX-81 owners during loading and saving programs. I learned the following three rules the hard way, after trouble-free loading since August 1981:
First, if the cassette recorder can run on batteries as well as the main supply, remove the batteries when loading/saving with the mains electric supply. The batteries cause the signal to be very blunt and the ZX does not accept them.
Second, never store your cassettes too near the TV set — the TV set has a magnet in it!
Third, use a cassette-tape head-cleaner regularly. I very nearly lost my favourite game because of a dirty tape head. The signal gets distorted and is incorrectly transmitted.
I must thank your contributors: CJ Young for his fantastic Assault Craft, June 82, Julian Stradling for his addictive Patience, August 82 — my favourite game almost lost — and your third contributor on my list Garry Owens for his very clever Landscape, September 82. Your magazine gives me immense pleasure, and I shall definitely renew my order next Spring, whether my Spectrum, ordered by a pal in England in June, is here or not.
Mrs Dane Kurth-Rowe,
The listing of my 6502 assembler in Your Computer September issue contained three errors. The following lines should read:
50 IF LEFT$ (C$ (F),1)-”B”AND LEFT$ (C$(F),3) <> “BIT” THEN…etc.
2540 IF LEFT$(A$(A),1) = “B”AND LEFT$ (A4(A),3)> “BIT” THEN… etc.
2500 IF D2> =65535 THEN GOSUB 720: GOTO 1440
I would also like to point out that other commands can easily be added to the assembler in the routine from line 1410 to line 1640 — for example a routine could be added to verify tape saves.
Two things annoy me: the attitude of schools to the computer they choose, and letters to Your Computer from owners of Atom or BBC machines.
First the educational authorities’ attitude. Where is the logic in buying a machine such as the Pet at around £350 when several cheaper machines could be bought for the same price? It is obvious that the Pet is superior to, say, the ZX-18, But the idea of computers in schools is to enable as many pupils as possible to learn something about computers and programming.
Regrettably the education authorities will still plump for machines such as the Pet merely because they are dearer. The reason for this is simply that the schools are given a grant for items and if the grant isn’t spent in one year, then next year the estimate of the grant is reduced. The simplest, and best, way for the pupils, is to allow schools to spend the grant on more than one machine.
The superior attitude of Atom and BBC owners would appear to be based on the fact that they have purchased an expensive machine. But these machines have a non-standard language which is therefore of little use as far as learning to program is concerned. Whilst admitting that Atom Basic is very fast, it is still too slow for Space Invader games.
I wonder low long Mrs Thatcher had to wait for the Spectrum that she gave to the Japanese. I ordered mine at the end of May, and still there is no expected delivery date put on my order. So, at least in my case, Mr Sinclair cannot even fulfil his promise of delivery 12 weeks after receipt of the confirmation of the order. With the prevailing sellers’ market, roll on a serious competitor to Sinclair Research Ltd.
I hope Mrs Thatcher did not receive the computer intended for me.
When programs are to be Saved with new or changed data after operation, on ZX-81s this routine is useful. In the example, the Saving part of the program takes place at Lines 190 to 210. Line 2 can be typed in as it reads — no Loader routine is required in this case:
01 GOTO VAL “100″
02 REM 11625258550040525053585742551100
110 FOR J = 1 TO 159 STEP 2
120 LETK = USR 16686
130 LET X$ = CHR$ PEEK (16525 +J) + CHRS PEEK (16526 +J)
140 PRINT CHR$ VALXS;
150 NEXT J
160 PRINT ,„
170 IF INKEY$ = “” THEN GOTO 170
180 REM SAVE PROGRAM
200 IF INKEY$ = “S”THEN INPUT X$
210 IF XS>”" THEN SAVE X$
220 IF INKEY$ = ” STOP ” THEN STOP
To Save, when the program is running, press key S. This gives a string input, into which a program name is entered. The tape recorder should then be turned on before Newline is pressed. Note that, in this case, pressing Stop will Stop the program, and any other Control Lines can be written in after Line 220.
In my opinion one of the most useful facilities on the BBC Micro is that while scanning through a listing, it is possible to freeze the screen by holding down Ctrl & Shift at the same time. The screen will stay in the same position as long as the keys are depressed, and Scrolling will continue when they are let go. The other tip is concerning a fault in the BBC machine. A command word like List, or New cannot be put into a program line, so:
would give a Syntax Error message. There is, however, a way of getting round this, which is as follows:
100 ON ERROR LIST
This method can also be used for New.
Longton, Stoke-on- Trent.
It was interesting to see Graphic recall for the Atari in Your Computer’s October issue, page 93; but it requires more explanation.
First, the program as printed does not draw a rectangle, it draws two straight lines. The listing here does draw a rectangle:
10 GRAPHICS 8
15 SETCOLOR 2,2,2:COLOR 1
20 PLOT 20,20,DRAWTO 200,20: DRAWTO 200,150: DRAWTO 20,150: DRAWTO20,20
Note that I have added a Setcolor command to provide a red back¬ground. The Color 1 instruction in the original program could be deleted. In Atari Basic, there’s no point in using a Color command unless you already have a Setcolor command.
Typing Graphics 1000 does indeed reveal the disappeared rectangle, though more by accident than design.
The Atari uses a Graphics instruction from 0 to 11 to set the Screen Mode — colours available and resolution. In Modes 0 to 8 inclusive the straightforward Graphics command leaves a four line text window at the bottom of the screen. Adding 16 to the graphics command removes this window. The command could be issued as GR.8+16, or as GR.24.
Now, adding 32 to the graphics command removes the text window but also protects the Screen RAM, where the image is stored, so that it is just refreshed. Thus to get the effect noticed by Tony Gillett, you just need to use GR.8+32.
With regard to the comments about Get, some readers may be confused by Com, which Tony Gillett uses in his Line, but this only means Dim, which is the preferred word. In Atari Basic, Get always returns a numeric value. However, it is not necessary to assign the value to a string if a letter is required: Print CHR$(A) will often do. For example:
10 OPEN # 1.4,0,”K:”:GET
# 1,A:PRINT CHR$(A):CLOSE
Goodness knows why anyone would want to do this.
However, it is interesting to find someone who can tear himself away from the world’s best computer game, Star Raiders, for long enough to look at Atari Basic. Maybe some more readers will now send in their ideas.
There are four mistakes in the YC October Spectrum assembler tables. The corrections are as follows:
Line 1801: 15th item along was: “D=M”: this should be “D@M”‘: 38th item along was “7HG” this should read “7HJ”. Line 1804: last item was “07L” should be “0L7″
Line 1805: 20th item along was “7XD”: should be “HXD”.
I have a little advice for your readers to do with software adverts, after having been taken for a ride by a software house.
I ordered three games but got back two totally different programs. I sent the packages back two months ago and have only just got my money back, after many phone calls and letters.
My first piece of advice is read the advert thoroughly, especially small print — for example, add 50p for postage and packing and 15 percent, for VAT. Second, always ring the company concerned before ordering the program, making sure the software is still available and not out of circulation. Finally, ask if there is a money-back guarantee.