METEORITES by Gavin Smyth from ZX Computing Dec'84/Jan'85 METEOR MADNESS Gavin Smyth triumphs again with another all action machine code masterpiece. Remember 'METEORS' on the first games tape for the ZX81? In my opinion, it was the best game on that tape, but it did have a few disadvantages: The graphics could be better. The ship is at the top of the screen and 'moves' down: the opposite would be more convenient. The ship moves across the screen and so can be 'trapped' at the edges with no chance of avoiding the asterisks. Finally, since the game is in BASIC, it is quite slow. This game for the ZX Spectrum (16K or 48K) overcomes all these and has a few extra features. It is written completely in machine code and uses smooth high resolution colour graphics with continuous sound. The ship cannot be trapped at screen edges because it stays in the centre while the meteorites flow past (or into!) it. The program has three separate pixel scroll routines to achieve this and these can easily be altered to be called from BASIC for your own programs. The game also has an eight digit score counter, although so far I have only needed the first four! You are in empty space when a meteorite appears on your long distance green radar screen. Soon you can spot it on visual - as it gets closer, it glows red hot. (Who cares if there is nothing in space to make it glow? It still looks interesting on screen,) Can you avoid all the rocks in the increasingly dense meteor storm? Occasionally, 'antimatter asteroids' show up on the screen - if you can hit these exactly on the nose of the ship, the whole screen is cleared of meteors, giving you a short time to recover. The test for this is simple, so some other meteorites may be found to contain some antimatter! Colliding with anything else reduces the strength of your shields - after five hits, you are spectacularly blown up. Entering the program The method of entering the program is slightly different for 16K and 48K owners, but whichever machine you have, first enter the four line "initial program" listing and SAVE it by SAVE "meteor" LINE 1 on the piece of tape you will use for your final program. Rewind and VERIFY and then leave the tape at this position to record the machine code on once it has been entered. 48K Spectrums Type in the listing of DATA statements and add the 48K loader program to the end of your program. I suggest you save the final program in case any errors get through; although a checksum has been built in, it's not foolproof! RUN your program and correct any errors in lines indicated. Should the program crash then type PRINT a and press ENTER; the number displayed is the line in which something is wrong. Check and correct it. 16K Spectrums Do not type in the DATA listing, but enter the 16K loader program. Run the program and enter the DATA of each line, a whole line at a time. The program will tell you of any errors and you'll have to re-enter the whole of that line. Should the program crash, type PRINT a: GO TO 9033 and press ENTER. Re-enter the line whose number is displayed on the screen. Both Spectrums When the "SAVING PROGRAM" message appears, put your original tape into the recorder (the one with the initial program recorded on it), start recording and press any key as for a usual SAVE. It may be prudent to make a back up copy by typing GO TO 9100, ENTER and saving on a spare piece of tape of tape until you're sure your master is OK. Verify by typing VERIFY "" CODE, rewinding the tape and pressing ENTER and PLAY on the recorder. To test the program type RANDOMIZE USR 31000 and look out! To load in the game on subsequent occasions position the tape at the start and type LOAD "". It will load, auto run, load the machine code and start the game. [The following letter was printed in the Aug/Sep.1985 issue.] The Meteor Madness game - written by Gavin Smythe is a masterpiece - however it does not allow you to terminate it when finished. This can be important when the game is part of a menu-driven program which resides on a microdrive cartridge and controls games, screens, programs, etc. Another key pressed (i.e. 'J' for load) has to be defined. This can be achieved: Key 'j' pressed calls a routine which a) reads the keyboard b) calls, in the control program, two ROM routines, i.e.: 1BB3 (LINE-END) and 1BBF (NEXT-LINE) ad b.) 1 REM * INITIAL PROGRAM * 2 CLEAR 30999 4 RANDOMIZE USR 31000 5 CLEAR:LOAD *"M";1;"run" ad a.) 48K loader program: amend line 440,:"CDF47E00000000000000" (disable val=check in 9000) ADD LINES 1090 DATA "3EBFDBFEE6011280A" 2000 DATA "3EBFDBFEE6002003" 2010 DATA "20EEC9CDB31BCDBF" 2020 DATA "1B000000" SAVE the CODE with 1520 bytes and increase loopcount to 62527. The Flight Simulation game annoys with its yellow border. If anyone wants to change the colour of the Border then: POKE 51147,x will make it possible, where x is the colour (0-1). Save the amended CODE with 32768, 32000. Yours faithfully M. Capek Victoria, Australia. -- Another Fine Product transcribed by: Jim Grimwood (jimg@globalnet.co.uk), Weardale, England --