Your Spectrum
Issue 2, March 1984 - Letters
Home Contents KwikPik
.

NO JOY!

The article, Sticking with adjustables, in your first issue included a review on the Stonechip Programmable Joystick Interface. Unfortunately, looking at the photograph which accompanied the article, I suspect that you reviewed one of the old interfaces.
When the Programmable Joystick Interfaces were first produced, approximately 100 of them contained an error which caused the border to flash, the keyboard to be disabled, etc. These were delivered before the unit's official launch in September. Most of these defective units have now been returned and replaced with the new device.
From September of last year, all the interfaces leaving our factory no longer have these problems, and may I add are selling well.
PJ Mills, Design Engineer, Stonechip Electronics, Aldershot.
.

RADIO ON

I should like to congratulate you on your first issue - I hope you continue with your rather more intelligent approach to the machine than appears to be the general rule.
I would like to take this opportunity to draw your readers' attention to a user group I run called SARUG (Sinclair Amateur Radio User Group). It is a user group in the true sense of the word - not a captive market for someone's products as I fear is becoming more usual these days. Being a non-profit organisation, we can't afford to answer enquiries with an enclosed sae but if any of your readers would like more information on our group, then please write to me at the address given below.
Finally, I hope you will continue to produce objective ('real') assessments of the products available on the market. Having been in the software business for 15 years, I am only too well aware of the vast sea of shoddy rubbish around today.
[name & address deleted on request]
.

THE BATTLE CONTINUES ...

I feel I must write to thank you for being the first publication to acknowledge our existence in your Frontlines article, Battle of the tapes. I hope you will allow me to respond to a few points.
Our first competition was indeed challenging, but you failed to point out that we did provide the machine code routine to do the animation. The response proves that our readership didn't find it that difficult to use.
I do think remarks about 'slavish emulation' should be made with great care, especially by the nth Sinclair specific publication of the year. We each attempt to do different things in different medias, and if we can both do
F O R U M
Air your views on the Spectrum scene. All correspondence should be addressed to Forum, Your Spectrum, 14 Rathbone Place, London W1P 1DE. Let's hear from you ...
it well then we will provide a useful service.
Also, should any readers of our tape magazine have any problems with loading, please can they get in touch with us - we would be more than happy to deal with their enquiries.
Lastly, I am no longer anonymous - hello!
The best of luck to you in the 'Battle of the rags' in 1984.
Roger Swift, 16/48 Editor, London W4.

Sorry to nit-pick, Rog, but actually YS is the first Spectrum specific publication (paper variety) in Britain - not the nth Sinclair specific. Good luck to you too. Ed.
.

WRITE AWAY!

I found your article on programmable joystick interfaces of considerable interest in your first issue.
However, you neglected to print an address or phone number to which I could direct further enquiries in my quest for an interface from Downsway Electronics. Would it be possible for you to provide this information ... it's not a secret, is it?
JS Heslop, Berks.
.

Thank you for our 138th enquiry as to Downsway's whereabouts. There's a sneaking rumour that Downsway are not all that keen for their phone number to be public knowledge at this moment -for more information on this and their joystick interface, you'll have to speak to them on Epsom 27222. Ed.
.

WHOOPS!

In your first issue as part of the Spectrum soft feature, you included a number of excellent screen photographs of the games reviewed. However, I'm not sure you managed to get them in the right order.
I am particularly interested in two of these programs: Chequered Flag and Race Fun. I have a feeling that the captions for these two photographs may have been switched. Perhaps you could let me know before I part with my hard-earned cash.
L Wilkes, Worcs.

Actually I'm quite sure we didn't get them in the right order - your surmise was correct. For accuracy, you can swap the two captions you mentioned as well as those for Velnor's Lair and 3D Strategy. Any offers for a beaten-up old magazine designer? Ed.
.

CLUB CORNERED

The Spectrum users of the Midhurst Group would like to congratulate you on your first issue.
And with the grovelling done, perhaps we can tell your readers a little of what our club gets up to. We meet on the second and last Thursday of each month, and incorporate two computing groups, one of which caters exclusively for the 10 to 14 year old age group.
The aim of the club is to explore all aspects of microcomputer use. And we would like to invite anyone interested in computing, be they students, dedicated users, professionals or whatever, to contact us for further information. Enquiries should either be addressed to Val Weston, 69 Petersfield Road, Midhurst, West Sussex, or contact myself at the address below.
RMC Armes, xxx xxxxx-xxxxxxx xxx, xxxxxxxx, xxxx xxxxxx xxnn nxx.
.

ACID COMMENTS

I have just got through B.A.S.I.C. on my 48K Spectrum with a few unknown variables and a syntax error in my space invaders.
What next? Perhaps machine code, but base 16 does seem a bit steep - maybe I've got a thing about six-sided shapes. What about Fourth or Fifth as a language, or perhaps Pascal - or could I go into electronics or robotics? Maybe I should train my Spectrum to do tricks, but how do I blow up its nose (maybe its ROM port?).
Which of these would you recommend for a computer expert of tomorrow. .. or even next Wednesday?
RA Watson, The North.

PS If all else fails where could I get a good trade-in on a cabbage patch doll.

Well, er what can I add ... Ed.
.

IT'S AN EDUCATION

Congratulations on the appearance of the first issue of Your Spectrum - the staff (and the children!) of our school, Finham Junior Mixed School, found the content very interesting.
Will your magazine be interested in the Spectrum's involvement with education? We are one of the few primary schools in England (a mere 4 per cent) that opted for the Spectrum as our school computer under the DoI scheme, and we have to work a little harder trying to find good educational software.
Many software publishers produce exclusively for the BBC Micro (80 per cent of primary schools) or the RML 480Z (16 per cent of primary schools) - and yet we still think we have chosen the right computer for the job! We have four Spectrums in the Junior Computer Department and two in the Infants Computer Department. Both the children and many of their parents are extremely enthusiastic.
We also have visitors from

other schools to see our work on computers, but we never lend software - we feel that the protection of copyright is in everyone's interest in the long run.
Incidentally, the school chess club did their own survey of Spectrum chess programs and Psion's Cyrus Is Chess was an easy winner.
PD Fiddler, Coventry.

Plans are already afoot for YS's involvement on the education front. Ed.
.

BREAKING-IN TO 16K

In the article, Machine code breakout, Toni Baker said that she knew of no way of implementing the program on a 16K Spectrum. Therefore, the following solution may be of interest.
It's first of all necessary to realise that the 'default' value for unused ports on the Spectrum is FF. And if a mode 2 interrupt occurs with no peripheral attached then the interrupt will vector to the address formed by the contents of xxFF, where 'xx' is the content of the I register.
Now, this xxFF address could be anywhere in either ROM or RAM. But, the contents of xxFF together with the following location must form a RAM address less than 4000 Hex.
A search of the ROM does, in fact, produce several addresses which meet the requirements - the best of these being 28FF. Others, although suitable, produce lower RAM addresses and are more likely to be inconvenient.
If the I register is loaded with 28 Hex, a mode 2 interrupt will vector to 7E5C. The program would, thus, start there:

ORG 7E5C
PUSH AF
etc.


F O R U M
The ACTIVATE and DEACTIVATE routines can be placed anywhere suitable in memory and called from either Basic or machine code. Incidentally, it's advisable to disable interrupts whilst changing the contents of the interrupt register. The ACTIVATE routine would thus become:

DI
LD A,50
Load I with 28 Hex
LD I,A
IM 2
EI
RET


PS Oliver, Cheshire.
.

16K RESET CONTINUED ...

After a fair amount of finger- tapping on my 16K Spectrum, I have managed to persuade the small machine to simulate the routine written by Toni Baker in your first issue. [see Machine code breakout]
I have located the code within the printer buffer using the automatic vectoring of the Z-80 in interrupt mode 2. The I register is then loaded with 37 Hex which, when added to the hardware vector, 255, gives the following:

256 * 37 + 255 = 9727

This address in ROM gives a 16-bit address of 118,92, and will produce an automatic jump to address 23670 (256 * 92 + 118). Address 23670 is the home of the system variable 'seed', KSEP, when the RANDOMIZE statement is called.
I have placed a relative jump (two bytes) where 'seed' was located so as to enter the printer buffer three bytes from the end. These last three bytes can then be used as a direct jump to
anywhere in memory (address 23350 is used in the program).
Here are a few important things to remember when using this program:
  1. Do not use the command 'RANDOMIZE' in your programs, or to call the 'reset' program. Use instead LET ANAME = USR nnnnn.
  2. Do not connect any peripheral hardware when using the 'Reset' program.
  3. Activate the 'Reset' program using the command LET ACT = USR 23296.
  4. Deactivate the 'Reset' program using the command LET DEACT = USR 23328.
  5. Should you want to save the program to tape, use the command SAVE "RESET" CODE 23296, 112.
Load the fully disassembled listing of my 112 byte 'Reset' program into your 16K Spectrum, and your machine code problems should be over ... or do I mean, just beginning?
Your readers might also be interested to know I have found the solution to one or two errors that have cropped up in David Webb's Supercharge your Spectrum, a book published by Melbourne House. In chapter 29 of the text, there are two programs which imitate a TRACE function for the 16K and 48K Spectrum. Unfortunately, both routines have been assembled from location 00000, which causes a system crash when run. Each time PRNTNUM is called in the 16K TRACE routine, the listing calls for you to type in CD 4D 00 - this is wrong, and you should instead type CD 49 7E. Similarly, in the 48K TRACE routine, you should type CD 41 FF instead of CD 5F 00.
A Dearden, Cleveland.
Machine codeAssemblerComments
 
3E18
 
32765C
3E85
32775C
3EC3
32FD5B
 
 
 
 
3E36
32FE5B
3E5B
32FF5B
3E25
ED47
 
ED5E
C9
3E3F
ED47
ED56
          ORG 25296
          LD A,24
          
          LD (23670),A
          LD A,133
          LD (23671),A
          LD A,195
          LD (23549),A
          
          
          
          
          LD A,36H
          LD (23550),A
          LD A,5BH
          LD (23551),A
          LD A,37
          LD I,A
 
          IM 2
          RET
          LD A,3FH
          LD I,A
          IM 1
 
Load the 'seed'
system variable with
JR back to 23549
 
 
 
Load the last three
bytes of the printer
buffer with a direct
jump to 23350
(5B36 Hex)
 
 
 
 
Activate
Load the I register
with 37
Interrupt mode 2
 
Deactivate
C9
52455345
 
 
 
54206578
65637574
6564A1
F5
3EFE
DBFE
1F
3807
3EBF
DBFE
1F
3004
RESMES    RET
          DEFM 'RESET
          executed!'
 
 
 
 
 
          PUSH AF
          LD A,0FEH
          IN A,(0FEH)
          RRA
          JR C,NORES
          LD A,0BFH
          IN A,(0FEH)
          RRA
          JR NC,RESET
 
A message. Note
that the last byte is
inverted; ie. 80 Hex
is added
 
 
 
 
 
 
Test caps shift
 
 
 
Test Enter
F1
FF
ED4D
 
NORES     POP AF
          RST 38H
          RETI
 
 
 
Return from interrupt if
no reset
2AB25C
2B
F9
2B
2B
223D5C
AF
32715C
CD0116
CB6E0D
213B5C
CB9E
23
CBEE
AF
 
 
11265B
 
 
CD0A0C
FB
C3A912
 
RESET     LD HL,(23730)
          DEC HL
          LD SP,HL
          DEC HL
          DEC HL
          LD (5C3DH),HL
          XOR A
          LD (5C71H),A
          CALL 1601H
          CALL 0D6EH
          LD HL,5C3BH
          RES 3,(HL)
          INC HL
          SET 5,(HL)
          XOR A
 
 
          LD DE,RESMES
 
 
          CALL OC0AH
          EI
          JP 12A9H
 
 
 
 
 
Return ERR_SP
 
 
 
 
 
 
 
 
A register to zero -
entry number of
message in table
DE register pair set
to base address of
table
 
 
Jump to main
execution loop
Home Contents KwikPik