|S P O T ' s P O U R R I|
AGES is a set of four programs (written in ZX Spectrum BASIC + Z80 assembler) for generating solutions to adventure gamebooks such as the Fighting Fantasy series. The four programs are:
Here's an example of using a tokenising idea in a screen designer - "BOB the Screen Builder". The central idea is that each screen is encoded as a single DATA string with a mixture of printable characters and attribute tokens. The block of DATA statements can then be saved as a program segment with the OUT command and then MERGEd into their intended game program. BOB includes code which can be used in the game to print the screens directly from the DATA statements rather than having to READ them into separate variables. (It's not necessary to design a full screen each time, as the MOVE command prompts for an area to be marked and only that part is encoded.)
The routine at 9990-9998 (which is used to save the DATA lines), together with the DEF FNs in line 5, can be saved separately and MERGEd into other programs, as it's an independent program segment saving routine. It just saves selected ranges of lines from BASIC programs; it can also save the variables separately. It creates its own VARS area above the current one and so it needs to go through its exit routine to restore things; just enter 0,0 for the range to quit. It also uses the display file to store some variables, which is the reason for the speckly line which appears at the top of the screen while it's running.
"D'oh! Not another UDG utility!" Well, I guess most everybody did one, and Character Designer is mine; it allows both the character set and UDG set to be redefined. Most of the input is explained in the prompts; two hidden features are that typing "ROM" for the input character set file name will copy the ROM character set to the specifed RAM location as a starting point for a new character set; plus entering the "STOP" symbol at the "Select character =>" prompt will finish the program and allow the new character and UDG sets to be saved. As a bonus item there's an extra file CHARSETS.TAP in the .ZIP archive which has some character and UDG sets I either did myself (including the one I created for the Crash Compo below) or pinched from other programs; this includes character sets from the games Alien, Crusoe, Inferno, and Tir na Nog.
This is my second-prize-winning entry to the Crash Christmas 1985 Swords & Sorcery competition (issue 24). A new monster had to be created for the PSS game Swords & Sorcery, so I did this little story and picture as a Spectrum program Crash Compo - make of it what you will. Don't be fooled - it's not over until the end effect with the terrifying picture of the monster! As an extra entertainment, try to identify the three Kate Bush tunes I made a horrible mess of converting to Speccy BEEPs. All my efforts won me a copy of Swords & Sorcery, several other PSS programs, and a bunch of badges (can't be bad). (The first prize was a Dragon's Lair laser disk machine.)
This is my 'go-faster' version of the Droid Wars competition game printed in Your Sinclair 1 (Jan.1986). The game allows two fighting robots to be designed with various attributes and then to let them slug it out to determine the better design. Refining the design after each contest allows better and better droids to be designed. The competition was to send in the attributes of your best droid and the winner of the play-off would get "two single tickets to the outer worlds with front row seats at the Wars". Hmm ... I didn't enter the competition, but I sent in my souped-up version of Droid Wars, which got a special mention in issue 4, when the winner was announced.
Flasback to YS issue 1 and the Droid Wars challenge. Well, it may not be as big as the Superbowl but a big hand for all those who entered. Talking of big hands, one might come in useful for slippery Jim Grimwood of London who sent in a version of the program that runs three times faster than Max's original. Well, Jim, looks like you'll be moving in to Max's old job.
Anyway, after a lot of violence, Clay Willing's God Droid (returned from his encounter with Sam Slade, eh?) smashed his way to the final to take on Robert Walker's heavy-metal DOR to give Clay the title, the cartoon and, of course, the promised tickets to the outer worlds to see the games. Ah yes ... the tickets to the outer worlds. Space travel and all that. Could we have a word with you Clay?"
The program that started it all! Games Index is the original magazine index program I wrote on a Spectrum 128k back in 1988, which was eventually transformed into the SPOT database running on an Apple Macintosh. The .ZIP archive also includes the last Games Index data files consolidated together in the file GINDEX.TAP, a synopsis of the program features and options in GINDEX.TXT and a listing of the machine code section in GINDEX.ASM.
As storage space quickly ran out on the 128k RAM disk, I included a 'compress' option to remove entries for programs with no reference lines or for publishers with no game entries. I think there is a bug in this machine code routine, as when I came to look at the GINDEX data prior to setting up SPOT I found a number of entries missing which I was sure should have been there, and I think they got overwritten by the 'compress' option. If someone could find the bug I would be grateful. The machine code's all rather clunky as I never became particularly adept with it.
For those people reading the Girl Genius comic series from Studio
Foglio, who don't want to cut up the "Secret Blueprints" issue to make
the decoder wheel, I've done this En/Decoder program in Spectrum BASIC. Enter the
message key and the encoded message and it will decode it; or alternatively it will encode a message.
For those who haven't read the comics, Girl Genius is set in an alternative 19th century Europe "where Mad Science rules the World ... but not very well.". The decoder wheel is a bit like an Enigma device, but comprising just three code wheels and with a simpler mechanism - and made of cardboard. It's still pretty clever, though.
A fun little RPG, Goblin Mountain is from a listing printed in Sinclair User 63 (Jun.1987). Martin Page had several nice 'adventurey' games published in Sinclair User, including: Forest of Long Shadows, a listing in SU.55 (Oct.1986); The Portals of Pthaal, published on SU megatape 14 with SU.85 (Apr.1989); and The Lost City, published on SU megatape 22 (incorrectly numbered 23 in the magazine) with SU.93 (Dec.1989).
The Hex Tools archive contains several utilities for dealing with entering and printing of hex code:
This Hisoft C manual is an edited extract of the key areas of the Hisoft C reference manual for the Sinclair Spectrum. The sections covered are: Introduction, Editor, Preprocessor Commands, Low Level Interface, Function Library. The main sections not covered are: Example Programs, Example Editor Session, Differences from Kernighan & Ritchie, Error Messages.
A neat Pac-Man-style game from a listing in Your Spectrum 12 (Mar.1985). The .ZIP archive with Mac Man also contains the listings for the hex code, hex loader and program loader, as well as an auto-run.TAP version and the write-up from the magazine.
TasWord beware! NewType is my very own Spectrum-friendly 'word processor'. The Edit menu shown on the screen shot is accessed by selecting the Spectrum Edit mode key at any time while typing. This provides the options for block move and delete, page forward and backward, and to change the character and UDG sets. Apart from these features it also supports free cursor motion - so it's a 'full-screen' editor, plus the extended graphics modes can be used to include inverse video, UDGs and to change the paper and ink colours while typing; it also provides document print, save, load and merge options, selected from the "quit input" option on the Edit menu. It only supports overtype mode, though, not insert mode. If running Newtype from an emulator under Windows it will probably be necessary to reduce the emulator speed a lot, as otherwise a lot of multiple characters are output for each one typed, as Windows messes up the timing.
Prompted by a UseNet posting about the difficulty of getting a random plot pattern using the Spectrum's RND function which is both satisfyingly irregular and eventually plots all points in a reasonable time, I eventually managed to devise this function which satisfies both criteria (the machine code version takes about 4 minutes). There are both BASIC and machine code versions in the Random Plot file.
The quicker version of RND which I used is from Toni Baker's "Machine Code Calculator" series from ZX Computing, which was also useful in helping me work out how to use the Spectrum's floating point calculator. That series is conveniently located in the TTFn section of this site.
"Assault of the Ogroids" was a random event adventure table-top game written by Gary Chalk and
published in Sinclair User magazine, together with a small type-in
listing for an accompanying player's aid utility. The original program,
map and text are in the Sinclair User section at The Type Fantastic.
The simple computer-moderation program printed in the magazine still left the player needing to keep a paper record of various actions and allowed them to cheat fairly easily, so I decided to write a fully automated version where the computer recorded and controlled everything and the player only needed to make decisions on what to do next. Rather than just copy the listed game I wrote a general utility which allows any game of that type to be written, which became the three Small Adventure programs (Builder, Runner & Tools). As I rewrote the text of the Ogroids game when setting up the data files for this particular game, I renamed it "Attack of the Ogres".
I hope that the programs might provide a little entertainment. Please send any bug reports or suggestions for improvements to me: jg27paw4 at domain globalnet.co.uk .
This version of Starion is the second published version of the game, released to fix (most of) the bugs in the first version, plus I've also included the patch to fix the error in the OBERAMMERGAU section which caused the game to crash. This fix was not in the final release and was only made available on request from Melbourne House as a printed correction sheet. This version with the final patch is the only version of Starion which can be completed (I'm sure of this as this is one of the few Spectrum games I actually managed to finish). The .ZIP archive also includes the SSD entry I compiled for Starion, which includes full instructions and my full solution for the game.
As I was a bit fed up with doing HTML, I thought that I'd write a Spectrum program with which to read some of the Your Spectrum programming articles I'd been adding on YrUA? - so this is it ... "VU-R". It's a bit "BASIC", but supports: four different character pitches (32,42,48,64); embedded print controls; in-line SCREEN$; skip back/forwards by line, page or section; and runs a demo of the article's program at the end.
This is the manual for "the amazing software sensation" YS MegaBasic - an extended BASIC command set for the Spectrum written by Mike Leaman and published by Your Spectrum magazine in 1984. Although it didn't make the stunning impact on the Speccy scene for which the publishers seemed to have been hoping, it's a substantial and well designed utility. Unfortunately, most of the games-playing Speccy fraternity weren't interested in learning a new programming language - or doing much in the way of programming at all, actually. The 'MegaHTML' manual can be viewed on-line, or the 'MegaZIP' archive downloaded with HTML and plain text versions. There are YS MegaBasic articles in issues 8, 9, 10. 13, 15 & 20; and a YS MegaBasic conversion with the 3D graphics articles in issues 16 & 17.
For those people wanting to have a go at learning machine code, here's some of the tutorials for the ZX Spectrum's Z80 language, published during the 1980s. If a tutorial is available here, then the demo programs in the articles will have been tested and work OK, and a TAP file will be included with the programs already typed in.