| Home | Contents | KwikPik |
KATAPILLA METAMORPHOSISWith reference to your Krazy Katapilla program, may I be so bold as to indicate what I think are errors and general cock-ups in said program?The Nudge facility cannot be used to complete (or even add to) the Katapilla - to cure, add line: 395 GO TO 860. (Actually it wasn't supposed to, but thanks for the tip. TP.) Also, you start with nine credits and still have a go left when the credit counters shows 000! To cure, change CRE in line 1710 to LET CRE=11 and also make line 110 read: LET CRE=CRE-1: IF CRE=0 THEN PRINT AT 15,23; PAPER 8; "0": INPUT "NO CREDIT - PRESS ENTER FOR MORE"; LINE A$: LET CRE=10: GO TO 120 This leaves the display ready to go when you run out of money. (The original does start with ten credits - but credits are taken off before you go, hence the first display is of nine credits and the program shows 000 credits on your last spin. TP). Nudge is too infrequent (I didn't want to make it too easy. TP) - to cure this, change line 1630 to RND>.75. I also changed RND to >.6 in 1350. (Well done! TP.) How about renumbering line 1210-1310 to 2-12, deleting 1210-1310, moving line 10 to 15, adding a line 1; GO TO 15 and changing GO SUB 1210 in lines 130, 340, 370, 400, 430, 460, 490, 1480, 1540, 1590 to GO SUB 2. This will marginally speed up the reels. (Ha! TP.) I also changed three Bells to give a reward of £2, by altering the '100' in line 2040 to 200 and the first '£1' in line 3080 to £2. And I added a SAVE line - where's yours? (It's not necessary to waste program space with a line that the program never calls itself TP.) Just in case you're interested, I did all these changes, then attempted to renumber using BetaBasic; however, it failed - not taking old line 110! Mr Harris, Billericay Oh well, nothing wrong with a little customisation I suppose. Troubleshooting Pete.
UNZIPPING ZAPPED ZIPI'd like to take this opportunity to clear up a few more points that have arisen out of the ZIP articles. I'm sorry to say that YS seem to have made a bit of a pig's ear out of another lot of | F O R U M Is there something you're not telling us? Write to Forum, Your Spectrum, 14 Rathbone Place, London W1P 1DE. |
that I took home issue 4 and
prepared to enter Andrew
Pennell's Dumps of Distinction
program, only to read - with
mounting horror - that his
routine "rules out the old
Epsons (MX-type and assorted
look-alikes)". However, as the program was just what I'd been looking for, I had a crack at modifying the code for my clapped-out MX80. After altering the line feeds, changing the mode to double density bit image and using five bytes instead of three (needing some overlapping of bytes as the last byte of the first colour becomes the last byte of the next), a reasonable simulation was achieved. Mad Milmps, Durham | |||
|---|---|---|---|---|---|
| . . | |||||
|
listings. Perhaps this will sort
things out. In Listing 5, the total of the data is 7364. I've no idea where the figure of 7791 came from! The last four items of data are 'dummy' values not used by the code - hence they need not be POKEd (although they should be read if you want to end up with the total of 7364). The data lines were program generated - hence the overrun (which has no effect on the program) - at least that way they're correct! Lines 140 and 145 set up the 'vector' pointers which tell ZIP where to find the code for PLOT and DRAW. They aren't saved but, like most of Listing 5, they alter the library which is saved. The 'calculation not allowed' error is a tricky one - it turns out that Listing 4 is at fault. For some arcane reason the listing was garbled. In the third column on page 65 you will find the explanation of line 7258, which "calls the MATHS routine twice, to process an X and Y co-ordinate". Examination of the listing shows that YS child prodigy, Peter Shaw, re-typed the listing with only one call to MATHS, so that the Y co-ordinate is not scanned. Later ZIP finds a number when it is expecting to find a colon or end-of-line marker - the compiler assumes that you're trying to use an 'extra number' after PLOT or DRAW and retorts 'calculation not allowed'. The solution is to add an extra call to MATHS in line 7258, so that it starts ... 7258 GO SUB MATHS: GO SUB GETS: GO SUB MATHS: LET ... This fetches the X co-ordinate, the separator (a comma) and then the Y co-ordinate. If you've got the rest right, ZIP should then work. I'm sorry the information got so garbled ... please accept my apologies. Concerning the ZIP Compiler Offer, I also have to apologise to readers who received their copy late. The delay was caused by a postal dispute in London, which meant that letters took up to three weeks to reach our office. |
The dispute has now ended and
deliveries are back to normal. Simon Goodwin, Birmingham
MODIFICATION MADNESSIt was with great anticipation | ||||
| |||||
START EQU 32350
ORG START
CD005B CALL 23296 ;SETUP ROUTINE
1801 JR BEGIN
END
ORG START+6
ESC EQU 27
3E1B BEGIN LD A,ESC
CD027F CALL OUTCH
3E41 LD A,"A"
CD027F CALL OUTCH
3E03 LD A,3
CD027F CALL OUTCH ;SET UP SMALL LINE FEEDS
0E00 LD C,0 ;ZERO X COUNTER
3E1B NLINE LD A,ESC
CD027F CALL OUTCH
3E4C LD A,"L"
CD027F CALL OUTCH
3E70 LD A,112
CD027F CALL OUTCH
3E03 LD A,3
CD027F CALL OUTCH
;PUT IN DOUBLE DENSITY BIT IMAGE MODE
;AND SET n1 AND n2 FOR 5 * 176 BITS OF DATA
0600 LD B,0 ;ZERO Y COUNTER
C5 NXY PUSH BC
CDAA22 CALL #22AA ;HL=SCREEN MEMORY
47 LD B,A
04 INC B
3E01 LD A,1
0F L1 RRCA
10FD DJNZ L1
A6 AND (HL) ;Z IF INK, NZ IF PAPER
08 EX AF,AF'
7C LD A,H
0F RRCA
0F RRCA
0F RRCA
E603 AND 3
F658 OR #58
67 LD H,A ;HL=ATTRIBUTE BYTE
46 LD B,(HL) ;B=ATTR
08 EX AF,AF'
78 LD A,B ;A=ATTR
2003 JR NZ,INK
0F RRCA ;IF PAPER THEN /8
0F RRCA
0F RRCA
E607 INK AND 7 ;MASK OTHER BITS
| |||||
21E17E LD HL,TABLE
87 ADD A,A
87 ADD A,A
5F LD E,A
1600 LD D,0
19 ADD HL,DE ;HL=DATA SPECIFIED COLOUR
0605 LD B,5 ;=NO OF BYTES PER PIXEL
7E OUTLP LD A,(HL) ;READ BYTE
CD027F CALL OUTCH ;SEND IT
23 INC HL
10F9 DJNZ OUTLP ;DO 5 BYTES
C1 POP BC ;RESTORE X & Y
04 INC B
78 LD A,B
FEB0 CP 176
38C7 JR C,NXY ;DO ALL 176 PIXELS
3E0D LD A,13 ;END OF LINE SO DO CR
CD027F CALL OUTCH
3E0A LD A,10 ;AND A LINE FEED
CD027F CALL OUTCH
0C INC C
209F JR NZ,NLINE ;DO ALL 256 X PIXELS
3E1B LD A,ESC ;RESET LINE FEED
CD027F CALL OUTCH
3E41 LD A,"A"
CD027F CALL OUTCH
3E0C LD A,12
CD027F CALL OUTCH
C9 RET
;DATA TABLE FOR COLOURS
E0 TABLE DEFB %11100000
E0 DEFB %11100000
E0 DEFB %11100000
E0 DEFB %11100000
E0 DEFB %11100000
80 DEFB %10000000
E0 DEFB %11100000
20 DEFB %00100000
E0 DEFB %11100000
60 DEFB %01100000
60 DEFB %01100000
20 DEFB %00100000
00 DEFB %00000000
C0 DEFB %11000000
80 DEFB %10000000
C0 DEFB %11000000
00 DEFB %00000000
40 DEFB %01000000
A0 DEFB %10100000
40 DEFB %01000000
00 DEFB %00000000
40 DEFB %01000000
40 DEFB %01000000
00 DEFB %00000000
00 DEFB %00000000
40 DEFB %01000000
00 DEFB %00000000
00 DEFB %00000000
00 DEFB %00000000
00 DEFB %00000000
00 DEFB %00000000
00 DEFB %00000000
00 DEFB %00000000
; OUTCH SEND BYTE TO PRINTER
OUTCH EQU $
; HILDERBAY OUTPUT
C5 PUSH BC
E5 PUSH HL
CDFE5B CALL 23550
E1 POP HL
C1 POP BC
C9 RET
END
|
both frustrating and
unacceptable - especially
when one considers how easy it
is to transfer from tape to tape
using two tape recorders. Any advice, procedures, software or hardware which will enable non-technical and law abiding users to transfer taped programs to Microdrives are, in my view anyway, much to be encouraged (like Tasman and Campbell). Otherwise one starts to wonder about the purpose of having a Microdrive in the first place. Ian Ross, Renfrewshire At least one company (Romantic Robot) are selling software which will allow users to copy commercial programs to Microdrive; it will be interesting to note whether this will cause any programmers to hit the piracy bandwagon. I suspect the reason there is so little software currently on Microdrive is the cost of the cartridges and their duplication - until Sinclair Research reduce the price of the cartridges, Microdrive owners are likely to find themselves discriminated against. I've said it before and I'll say it again ... life isn't a line of cherries. Ed. THOSE FLICKERING VALUESRegarding the letter from Mike Minchin in the June issue which restates the well-known problem of the 'flickering' of the values returned from the keyboard input ports, here's one solution your readers may like to consider.To divide a binary number by 32 we would move the point five places to the left - so the returned eight-bit binary number from the input port would then, in fact, consist of the three high bits (including the 'naughty' bit 6) as the integer and the five low values as the fraction. We can then subtract the integer. Multiply by 32 and we've a whole number again which, as it doesn't contain bit 6, doesn't flicker. The unpressed value is, of course, 31 (16+8+4+2+1) but we can then simply add 224 to give the original unpressed value of 255. The following short program will, I think, prove the theory: 5 REM PRESS KEYS QWERT 10 DEF FN f(x)=(x/32-INT(x/32))*32 20 LET a=FN (IN 64510)+224 30 PRINT AT 0,0; a 40 G0 T0 20 I hope the above ramblings may be of some interest and use to someone. May I take this chance to thank you for publishing the best magazine on the market. Derek Hirst, Barnsley You certainly may ... and we thank you for your suggestions. Ed. |
JET SET LOONYSeeing your article in issue 4 about Jet Set Willy I felt compelled to write to you about some locations you've missed out. The Gaping Pit seemed the most obvious one, though even I haven't visited it. Secondly, and more importantly, you omitted three major locations; here's how you get to them.Wait on the bow till 11:45pm (Smith time), which may seem an awful long time to you swashbuckling Spectrummers. At that moment, a raft will get tossed up on a large wave and you must then jump on. It takes you to Crusoe Corner (a desert island to us landlubbers). Then you shin up a palm tree to arrive at Tree Tops - The Sequel, from which you catch the bird that travels up towards In The Clouds. From there you can control yourself all over the house (funny things happen when you try to enter the water or the Master Bedroom) and from that point, it should be possible to find The Gaping Pit (though I've not tried it myself). It also clobbers the 'Attic Attack' and makes it possible to go through baddies (fire puts you down where you are, so be careful) whereupon the bird disintegrates. Robin Daines, Chester Hey, he's right ... but if you wait In The Clouds long enough you actually get attacked by a ball of fire coming in from the left that first frazzles Willy, then dumps him inside an ice volcano under Hades, and then - and then - and then - OK, clear off schmuck! Ed DISAPPOINTED DUMPERIn Dumps of Distinction on page 55 of YS, issue 4, you give listings for the Hilderbay, Kempston and Kempston E interfaces. The trouble is I don't have these; could you please tell me what mods have to be done to get the listing to run with my Sinclair ZX Interface 1? By the way, this is the first time I have bought your mag and I like it. Keep up the good work.NJ Ball, Sidcup To get Dumps of Distinction working via Interface 1, add the following lines to the listing. 1000 DATA 207, 49, 24, 16, -1 1300 DATA 197, 229, 207, 30, 255, 193, 201, -1 For some reason my particular printer kept crashing in the middle of the dump. So, if you have a similar problem, I can only suggest you try a lower Baud rate. Andy Pennell. | ||||
| If you're the proud owner of a "clapped-out MX80", try the converted code from Mad Milmps of Durham to get Andy Pennell's Dumps of Distinction working. | ||||||
WHAT THE LORD GIVETH ...I'm writing to give warm and emphatic support to the letter entitled 'Microdriving' - written by John Ashplant - which appeared on issue 5 of YS. | I too have spent a fortune on software. I too have no intention of making money by copying and selling pirated software; and I too wish to get the best advantage of my own paid-for possessions. I enjoy the facility of being able to run programs from my Microdrive, with all that this offers in the way of speed and compactness, and therefore I feel that the obstacles placed in my way are | |||||
| Home | Contents | KwikPik |