Old Design Design games sources and stuff... (Last update - 02:15:06 11/10/2024)

Software
New files - many thanks to Graham Stafford for providing the complete source to many of his games, I will be adding these to the site as separate games shortly. For the moment they're all in one zip file, have a look in the Graham Stafford section below for it...

Note that lots of formatting information has been lost, some of these files have been recovered using a dissassembler, or pieced together from fragments in slack space on discs, and so on. Basically, what I'm saying is don't assume the text you see here is formatted the way we'd have seen it then, especially for some of the earlier files. The white space may well be completely different, etc, etc.

We designed our own in-house development machines, and our editor/assembler packages for these compressed the source files both for speed and in order to save space. The files published here cover several generations of these machines, and I've had to deduce the file formats for the early ones, so I expect that there may well be some glitches here and there. In particular, all the syntax highlight information has been removed. The original spacing is often lost, comments are stripped from some files, line time/date stamps and source markers deleted.

(Looking at the history of it I think we actually invented syntax highlighting, certainly had it in our tools before any other mention I can find)

Back in 1983 (Halls) the machine I used was called Lurch. I think there's a picture of me holding Lurch on t'web. By 1985 (Dark Star onwards) my machine was called Basil, I'll upload some photos of Basil later; in some respects it was nicer to write code on Basil than on the PC I'm using to write this - Basil had hardware window support so it could soft-scroll text windows in the editor. Hell, I still miss that..

The Z80 sources generate accurate binary (if assembled with zeus). The 68000 sources should be OK, but the NS32000 sources are corrupt - I've expanded them from the tokenised source using the Z80 tokens. Too much trouble to work out the NS32000 ones; the NS32000 was a dog anyway, wish I hadn't wasted time on it.

About a decade ago someone took a box full of Design Design floppies from my factory in Wrexham (MDS). These had nearly all my games sources - it's insanely unlikely, but if anyone reading this knows where they are I'd love to have them back. Because they're gone I have lost nearly all the Amstrad games and some of the Spectrum ones. It doesn't in any real sense matter but I do wonder what comments and observations those sources contained, which are now lost.

We had fun writing this lot; I hope it provides amusement still. To me, much of it seems painfully naive and childish, and if I was to go back and be there again I'd do things differently, but such is life; we wrote games to amuse ourselves, it was fortunate that we were able to make a living selling some of them. I don't suppose there'll be a time like the early daze of the home computer revolution again in a hurry...


NOTE: The available Z80 cross assemblers these days are awful, primitive, limited and often buggy, so I've released a free version of Zeus for the PC. It's nearly a decade old now and has become quite a sophisticated tool, with IDE and emulation. It runs well under emulation in other OS's, so you've no excuse for using a command-line assembler out of the dark ages... unless you like struggling, of course.

N-N-NOTE: Okay, it's now over a decade since I wrote that last paragraph, and the situation as far as available Z80 cross assemblers goes has improved somewhat - something, and I really can't think what, has caused a few people to greatly improve their assemblers, almost invariably in ways that mimic (poorly as a rule) aspects of Zeus, but somehow have absolutely nothing to do with Zeus, and it's only entirely coincidentally they were added after they'd been introduced to the public releases of Zeus... go figure.

Well, I suppose they at least had the sense to steal from the best, or from others who had even if they didn't realise it.

It has also been amusing to hear from people in the games industry telling tales about various in-house assemblers they used back in the 80s that were rip-offs of Zeus, and by rip-off I mean just changing the name and (often) altering the output routine to direct the output through some custom ParaSys-like interface. Some of which we were aware of, others we weren't, and none of which were actually endorsed.

As always kudos to those developers who credit their sources - most do - and perdition to those who don't... sadly, and laughably, as I write this one of the open-sore assemblers that has been stealing ideas hand over fist from Zeus for years is now snidely denying it, with a sarcastic comment crediting me for inventing the DG/DH pseudo-ops only... how sad is that? Perhaps as sad as grumbling about sociopathic behavior in the retro-computing world... I should tell the plagiarising tossers to get a life, but they'd have to steal one from someone else ;)

It's a pity the only part of Zeus that's never ripped-off is the reliability, but in principle writing reliable code requires competence and thieves never work to acquire that; it can't be stolen.

Anyway, enough grumbling... if such a thing is possible... Zeus also includes a useful but profoundly unhelpful Z80 disassembler, one that can (with help) disassemble binary code to usable source code. Please see the documentation, and then shudder and avoid at all costs; Diana has hardly changed since the version I wrote in 1979 (using ZEAP, IIRC) and I leave it that way for historical interest. I got better.

I've added a section for contributions from third-parties, I'll organise this better at some point; they probably deserve a page of their own.


Zeus Z80 Assembler. A PC Z80 cross-assembler, disassembler and emulator. Use it to assemble the spectrum sources on this website...
Now emulates 48K/128K ZX Spectrum timing accurately, plus NASCOM-2, a CP/M SBC, an old homebrew of mine and something called the Z80 Membership Card... Includes the Diana disassembler - this can convert Z80 binary to useful source code.
zeus.exe   1790KB 11/Oct/2024 (Version 4.14) - windows application v4.14 Various changes, see history text.
zcl.exe   745KB 9/Oct/2024 (Version 4.14) a command line only version. Error messages similar to gcc format. Usage "zcl filename".
zeus.txt   168KB 9/Oct/2024 (Version 4.14) - The about/history file for those who use the command line version.
zeus.zip   2419KB 11/Oct/2024 (Version 4.14) - same again but zipped
examples.zip  212KB 30/Jan/2018 All the Zeus example sources below in one zip file. (Updated - added zeus_ex_noflow and zeus_ex_simple.asm, a basic template for homebrew systems)
sourceconvert.exe   653KB 30/Mar/2017 v1.01 This is a windows app that can convert old and nasty Z80 sources to bright, shiny new ones...
Improved to deal with those strange people who put tabs between mnemonics and operands. Some other improvements in comment addition. Removes octal, removes pointless full-stops before pseudo-ops, converts repulsive 0xxxxH to $xxxx, stuff like that.
It's far from perfect, but it can really help when importing old files to Zeus. Now with added colon fiddling! If you like your colon fiddled with, you'll love it...
cpm_app.zip   1841KB 22/Jan/2018 All you need for an example of building/testing a CP/M application to work with Zeus's CP/M emulator. Also contains a virtual cpm drive file full of cp/m software.
cpm_sources.zip   840KB 6/Sep/2016 Grant Searle's CP/M utilities and sources converted to work with Zeus's CP/M emulator. (cpm_app.zip is more recent, use that now)
nascom.zip   241KB 13/Dec/2015 Everything to get started with NASCOM 2 software.
Sources for NAS-SYS3, BASIC, and various games including "The Keys of Kraal" as examples.
homebrew.zip   4231 bytes 15/Dec/2015 A space invader game I wrote in binary back in 1978 or so... it crashes when the game ends; the recovery from reel to reel tape was imperfect.
membership.zip   2142KB 23/Dec/2015 The OS for the "membership card" computer emulator.
examples.zip  212KB 30/Jan/2018 All the Zeus example sources below in one zip file. (Updated - added zeus_ex_noflow and zeus_ex_simple.asm, a basic template for homebrew systems)
zeus_ex1.asm  3029 bytes 28/May/2016 Some documentation for it
zeus_ex2.asm  13KB 28/May/2016 [Revised] Some more documentation for it
zeus_ex3.asm  5468 bytes 28/May/2016 Some more documentation for it
zeus_ex_if.asm  2359 bytes 28/May/2016 Demo source: Conditional assembly - if/elseif/else/endif
zeus_ex_loop.asm  1621 bytes 28/May/2016 Demo source: Conditional assembly - loop/lend
zeus_ex_repeat.asm  1503 bytes 28/May/2016 Demo source: Conditional assembly - repeat/until
zeus_ex_while.asm  1978 bytes 28/May/2016 Demo source: Conditional assembly - while/wend
zeus_ex_files.asm  3281 bytes 28/May/2016 Demo source: Covering multiple source files, output file formats and binary data (updated)
zeus_ex_struct.asm  4672 bytes 28/May/2016 Demo source: Structures (well, -ish)
zeus_ex_ld16.asm  5499 bytes 28/May/2016 Demo source: 16-bit load pseudo-ops
zeus_ex_macros.asm  15KB 28/May/2016 Demo source: Macros
zeus_ex_procedures.asm  21KB 28/May/2016 Demo source: Procedures (local label support) (includes print code example)
zeus_ex_segments.asm  6856 bytes 28/May/2016 Demo source: Segments
zeus_ex_sym.asm  3218 bytes 28/May/2016 Demo source: exporting the symbol table
zeus_ex_maths.asm  1597 bytes 28/May/2016 Demo source: use of the expression evaluator
zeus_ex_editor.asm  4585 bytes 28/May/2016 Some documentation for the editor.
zeus_ex_options.asm  5989 bytes 28/May/2016 [New in v2.10] Some documentation for the new assembler options.
zeus_ex_graphics.asm  3437 bytes 28/May/2016 [New in v2.10] Some documentation for the DG pseudo-op - eases graphical character definition.
zeus_ex_v222.asm  50KB 28/May/2016 [New in v2.22] Example documentation and source for features added in v2.20..v2.22 of Zeus (encryption, checksumming, random numbers, etc).
zeus_ex_v250.zip  6119 bytes 28/May/2016 [New in v2.50] Example documentation and source code for features added in v2.32..v2.50 of Zeus (binary file comparison, etc).
zeus_ex_v264.asm  54KB 28/May/2016 [New in v2.64] Example documentation and source code for features added in v2.64 of Zeus (single-step and breakpoints, etc).
zeus_ex_v280.asm  43KB 28/May/2016 [New in v2.80] Example documentation and source code for features added in v2.80 of Zeus (profiling, etc).
zeus_ex_v352.asm  40KB 30/Mar/2017 [New in v3.52] Example documentation and source code for features added in v3.52 of Zeus (scatterloaded tzx files, 128K loading, etc).
zeus_ex_linkedlists.asm  33KB 28/May/2016 Demo source for some macros that produce linked-list pointers. Amusement really.
zeus_ex_pages.asm  35KB 30/Mar/2017 Example documentation and source code for generating 128K files.
zeus_ex_simple.asm  5375 bytes 30/Jan/2018 A basic example for a simple Z80 homebrew machine with just a serial port, also demonstrates writing various file formats.
zeus_ex_noflow.asm  4776 bytes 30/Jan/2018 Examples of Zeus "noflow" and "zeusdatafollows" and flow warnings in general.
zeus_ex_sprites.asm  23KB 14/Jul/2017 Example code to test the Next sprite support. (Changed sprite port from $xx55 to $xx5B to reflect current hardware changes)
zeus_ex_tape.zip  156KB 11/Feb/2020 Example code demonstrating the "output_tzx" options.
sprites.scr  6912 bytes 14/Jul/2017 A loading screen for the above.
spritetest.tap  9350 bytes 14/Jul/2017 A pre-built tap file for the above.
spritetesta.tap  2779 bytes 14/Jul/2017 A pre-built tap file for the above, saved with mode 2 because ZEsarUX doesn't seem able to load any other kind of tape file. The author didn't like me saying this and wanted me to point out that "In case of custom loaders, it must be loaded as real tape, not as standard tape"... so now you know.
z80test.asm  105KB 30/Mar/2017 An old CP/M Z80 test app converted to run on the Spectrum. Useful proportional print routine, too, and an example of multipass.
tony.asm   23KB 10/Jun/2016 [Needs v3.00 or later] Example of border timing graphics - draws Tony and animates him.
hott2015src.zip   78KB 30/May/2016 [Needs v3.00 or later] 2015 version of Halls, demonstrates many things including "tzx" file generation.
tb.zip   51KB 30/Mar/2017 A working reconstruction of the original Amstrad CPC game. Requireds Zeus v3.50 or later.
fp.def  31KB 12/Oct/2008 Diana definition file - an example file for the Diana disassembler, it disassembles Forbidden Plant (binary below) reasonably accurately.
fp.bin  64KB 1/Oct/2008 Forbidden Planet binary (see above)
rr.def  7042 bytes 22/Oct/2008 Diana definition file - an example file for the Diana disassembler, early start of a definition file for Rommel's Revenge.
rr.bin  64KB 14/Oct/2008 Rommel's Revenge binary (see above)
fp_zeus.zip  90KB 29/May/2016 A large application - Forbidden Planet as a multi-source file. (slightly revised for Zeus v1.7)
on_the_run_zeus.zip  49KB 29/May/2016 Another complete game - On The Run (Spectrum)
nos_zeus.zip  150KB 8/Jul/2016 Another complete game - Nosferatu The Vampire (Spectrum)
kat_trap_zeus.zip  160KB 29/May/2016 Another complete game - Kat Trap (Spectrum)
tony.asm  23KB 10/Jun/2016 The source for a demo showing Tony Thing (the very first Spectrum border graphic) in the border.
ruler.scr  6912 bytes 28/May/2016 The ruler screen for the Tony Thing demo.
zeus1.zip  60KB 30/Jan/2020 Reconstructed source-code for the "original" Spectrum release of Zeus.

Various examples of ZX Spectrum tape loader files generated by Zeus's loader
These are examples of playing with the options available with Zeus's tape loader. It generates tape files with a single statement, with options for the loading screen (shown here) including 128K files with data scattered across any or all of the pages. You just tell it which parts of which page you want the tape file to include and it does everything for you...
h0.tzx   25KB 31/Mar/2017 Halls with option 0 (Normal Design-Design neat loading)
h1.tzx   25KB 31/Mar/2017 Halls with option 1
h2.tzx   25KB 31/Mar/2017 Halls with option 2
h3.tzx   25KB 31/Mar/2017 Halls with option 3
h4.tzx   25KB 31/Mar/2017 Halls with option 4
h5.tzx   25KB 31/Mar/2017 Halls with option 5
h6.tzx   25KB 31/Mar/2017 Halls with option 6

Halls of the Things executables (c) Simon Brattel, Martin Horsley and Neil Mottershead.

halls.zip   962KB 7/Apr/2022 An experimental IBM PC version, in active development.
hott.nex   64KB 11/Feb/2020 A pre-release test candidate for the Spectrum Next. Comments, please... NOTE: At present the Next emulators can't emulate tiles accurately enough to run this, or run it very jerkily. It runs very nicely indeed on the actual hardware, and scrolls smoothly. Source code is provided below.
hottvega.szx   48KB 19/Mar/2015 The release candidate for the Spectrum Vega.
hott2011rc.szx   48KB 31/May/2011 The release candidate of a new emulator-friendly ZX Spectrum release of Halls of the Things.
hott2011_7r_1k.rzx   471KB 31/May/2011 An action-replay file for emulators of me playing the new Halls on the most aggressive settings...
halls.tzx.zip   17KB 1983 The ZX Spectrum release of Halls of the Things.
hallsremix.z80.zip   13KB 1986 A ZX Spectrum remixed version (more interesting mazes) of Halls of the Things.
halls - how she is played.rzx   524KB 1983 & 2007 A walk-through of halls - it can be done...
halls_easy.szx   12KB 1983 Pre-release version of Halls of the Things - ZX Spectrum. This had a strength bargraph, we did away with strength later. Game difficulty set low.
halls_hard.szx   12KB 1983 Pre-release version of Halls of the Things - ZX Spectrum. This had a strength bargraph, we did away with strength later. Game difficulty set high.
halls86.zip   62KB 1991?? An IBM PC version. Unfinished and far, far, far too fast on modern hardware...
halls.zip   962KB 2022 An IBM PC version, in development.

Halls of the Things sources (c) Simon Brattel, Martin Horsley and Neil Mottershead.

hottnext.zip   82KB 11/Feb/2020 Source code for the Next test release of Halls. Also an example of using ParaSys for remote development, but still test code. Nag me (PM) for instructions.
hott2015src.zip   78KB 30/May/2016 [Needs v3.00 or later of Zeus] 2015 version of Halls, has user definable keys
hottvega_src.zip   64KB 14/May/2018 The sources for the Spectrum Vega version of the game
hott2012src.zip   66KB 30/May/2016 The sources for a new emulator-friendly ZX Spectrum release of Halls of the Things.
hott2011rc_src.zip   59KB 30/May/2016 The sources for a release candidate of a new emulator-friendly ZX Spectrum release of Halls of the Things.
halls.asm  242KB 30/May/2016 The complete halls source as one file. Use the zeus.exe assembler (above) to assemble this...
halls83_chars.rtf   77KB 10:10pm 3/Mar/1983 Spectrum (Original 1983 released version) The character set
halls83_front.rtf   20KB 10:10pm 3/Mar/1983 Spectrum (Original 1983 released version) The front end source code
halls83_main.rtf   124KB 10:10pm 3/Mar/1983 Spectrum (Original 1983 released version) The main source code
halls_chars.rtf   79KB 26/Feb/2007 Spectrum The character set
halls_front.rtf   24KB 26/Feb/2007 Spectrum The front end source code
halls_main.rtf   200KB 26/Feb/2007 Spectrum The main source code
halls8256.zip  168KB ?? All the files for the Amstrad 8256 version, plus others? Modified mazes...
halls68k_a.txt   37KB 1988?? 68K version for Warp board. Main code part A
halls68k_b.txt   85KB 1988?? 68K version for Warp board. Main code part B
halls86.zip   62KB 1991?? An IBM PC version. Unfinished and far, far, far too fast on modern hardware...

Return of the Things sources (c) Neil Mottershead.
The sources for Return of the Things are long-lost, but here's a barely working diassembly (work in progress).
rott.zip   68KB 7/Apr/2022 Source code for Return of the Things, a Diana file, and the binary of the original.

Invasion of the Body Snatchers sources (Spectrum) (c) Simon Brattel and Neil Mottershead.
If you liked this, have a look below and at Return of the Body Snatchers for the PC
iotbs.asm  383KB 19/Jul/2018 A working source for the original version.
iotbs.bin  48KB 19/Jul/2018 The original binary, as if just loaded.
iotbs.scr  6912 bytes 10/Nov/2015 A screen file for it.
Inv 15_7_83.txt   46KB 15/Jul/1983 (Original 1983 release version) Part of the source.
Inv Ai 2_46 AM 6_9_83.txt   40KB 2:46am 6/Sep/1983 (Original 1983 release version) Another part of the source.
Inv Bi 2_46 AM 6_9_83.txt   42KB 2:46am 6/Sep/1983 (Original 1983 release version) Yet another part of the source.

Invasion of the Body Snatchers - revised more colourful version! Now with shields! Ooo!
Spent a few minutes playing about with the source to make it more colourful, Should have done this in 1983...
iotbs2.asm  388KB 19/Jul/2018 The source code for this version, (This is subject to change as I play about).
iotbs2.tzx  19KB 19/Jul/2018 A tzx file for it.
iotbs2.tap  19KB 19/Jul/2018 A tap file for it.
iotbs2.z80  19KB 19/Jul/2018 Guess what! An elephant... oh, no, sorry - just a z80 file for it...

Warlock of Firetop Mountain sources (Spectrum) (c) Simon Brattel and Neil Mottershead. (And Martin Horsley, of course. Lots of Halls in there).
They looked at Halls and asked us to write something like it, but without the magic. They got something without the magic...
woftm.asm  526KB 19/Jul/2018 A single complete source for the orignal version. Assemble this with Zeus and you can play it in the internal emulator.
woftm.scr  6912 bytes 19/Jul/2018 A very simple loading screen for it if you want to generate tape files
woftm.bin  48KB 19/Jul/2018 The binary code of the original game, required if you want to compare the generated code in Zeus.
Puffin FE.txt   19KB 1984 (Original released version) The front end source code
Puffin Source 0,10.txt  29KB 1984 (Original released version) Part of the game.
Puffin Source 1a,10.txt  47KB 1984 (Original released version) Another part of the game.
Puffin Source 1b,9.txt  26KB 1984 (Original released version) Yet another part of the game.

Rommel's Revenge sources (Spectrum) (c) Martin Horsley
This was written by Martin Horsley on a Spectrum using Zeus, which is why the source was broken into small sections and the files are so compressed. It amazed me at the time that he could write such an impressive game just on the machine itself, I certainly couldn't have done that...

These are all the files I now have, so it looks like I've lost one or more files. I presume they're intended to be assembled in order and then run, but these files don't contain any of the data or front-end stuff...

RR_Source1.txt  10KB 1983 One of the Zeus (spectrum) source files.
RR_Source2.txt  12KB 1983 Another...
RR_Source3.txt  3708 bytes 1983 Another...
RR_Source4.txt  10KB 1983 Another...
RR_Source5.txt  266 bytes 1983 Another...
RR_SourceX.asm  114KB 28/May/2016 A Diana disassembly of Rommel's, combined with Martin's sources. Doesn't assemble yet, a work in progress...
rr.def  7042 bytes 22/Oct/2008 Diana definition file - an example file for the Diana disassembler, early start of a definition file for Rommel's Revenge.
rr.bin  64KB 14/Oct/2008 Rommel's Revenge binary (see above)

Dark Star sources (Spectrum) (c) Simon Brattel.
New - I've added a reconstructed source for the Spectrum version.
ds2012src.zip   68KB 27/Mar/2012 The sources for a new emulator-friendly ZX Spectrum release of Dark Star. Reconstructed using Diana and fragments of old sources
ds_dev.zip  75KB 13/Mar/2012 NEW - working recreation of the Dark Star sources - a work in progress. Added analogue joystick support...
Surface spekki most of towers 5_00pm 1_4_84.asm   36KB 5:00pm 1/Apr/1984 An early version. Source compatible with zeus.exe, see above.
dsu_1.szx  3820 bytes 5:00pm 1/Apr/1984 The above file assembled and running. Controls are Q/A fast/slow Z/X left/right N/M up/down and H/J/K for fire. Try flying slowly forward and shooting...
Dark Star + coloured thingys 2_35am 14_6_84.asm   381KB 2:35am 14/Jun/1984 Most of it. Source compatible with zeus.exe, see above.
dsu_2.szx  16KB 2:35am 14/Jun/1984 The above file assembled and running (grafted onto the released front-end code, which provides the key-scan routines for it).
Loader v2 Wednesday 05_36_49 am 21_08_85.txt   4508 bytes 5:36:49am 21/Aug/1985 Tape loader for it?

Forbidden Planet (Spectrum) (c) Simon Brattel
New - revised the sources
fp2012src.zip   69KB 27/Mar/2012 The sources for Forbidden Planet. Updated for emulators but can (optionally) generate the original code.
fp.asm  558KB 28/May/2016 The complete source code for the Spectrum version of Forbidden Planet, for use with the Zeus assembler provided on this site.
This has the whole project as a single file. See above...
fp_zeus.zip  90KB 29/May/2016 The complete source code for the Spectrum version of Forbidden Planet, for use with the Zeus assembler provided on this site.
This is a multiple-source version. See above...
fp_zeus_2_10.zip  84KB 8/Dec/2008 The complete source code for the Spectrum version of Forbidden Planet, for use with the Zeus assembler provided on this site.
This is slightly changed to take advantage of features available in Zeus v2.10 onwards.
fp_spin.asm  530KB 3/Oct/2008 The complete source code for the Spectrum version of Forbidden Planet. Various ugly changes to work round bugs in the zx-spin assembler. [muffled noises]

Tank Busters sources (Various: Amstrad CPC, Lurch/Basil, Amiga) (c) Simon Brattel...
These need organising. Mixed targets in here...
tb.zip   51KB 30/Mar/2017 A working reconstruction of the original Amstrad CPC game. Requireds Zeus v3.50 or later.
tbnew.sna   64KB 30/Mar/2017 A CPC snapshot built using the reconstructed source
tb.sna   64KB 21/Apr/1995 A CPC snapshot from 1985
TB 4b Friday 05_28_29 am 29_03_85.txt   60KB 5:28:29am 29/Mar/1985 A front end source
TB Sunday 04_33_39 pm 30_12_84.txt   37KB 4:33:39pm 30/Dec/1984 A version of the main source?
TB Sunday 05_25_13 pm 30_12_84.txt   37KB 5:25:13pm 30/Dec/1984 A version of the main source?
TB Sunday 06_02_33 pm 30_12_84.txt   39KB 6:02:33pm 30/Dec/1984 A version of the main source?
TB Main Friday 08_03_00 pm 15_02_85.txt   46KB 8:03:00pm 15/Feb/1985 A version of the main source?
TB Main Monday 02_06_48 am 18_02_85.txt   50KB 2:06:48am 18/Feb/1985 A version of the main source?
TB Main Thursday 03_36_31 pm 21_02_85.txt   49KB 3:36:31pm 21/Feb/1985 A version of the main source?
TB Main (Half-size) Thursday 04_13_17 pm 21_02_85.txt   49KB 4:13:17pm 21/Feb/1985 A version of the main source?
TB Main 4b Friday 04_23_48 am 29_03_85.txt   71KB 4:23:48am 29/Mar/1985 A main source?
TB Subs + N 7a Friday 01_53_02 pm 29_03_85.txt   75KB 1:53:02pm 29/Mar/1985 A version of some common subroutines source?
tank_amiga.txt   111KB 1988?? 68K battlezone demo for Commodore Amiga.
ta_data.bin   2048 bytes 1988?? 68K battlezone data file, sin lookup? Part of demo for Commodore Amiga.
ta_mountains.bin   24KB 1988?? 68K battlezone data file, mountain data lookup? Part of demo for Commodore Amiga.

Return of the Body Snatchers (PC) (c) Simon Brattel...
This ran smoothly at frame rate on a 20MHz '286, if you run it under XP or Vista on a modern PC it jerks badly - but you can get around this by running it under DOSBox, a DOS emulator that I highly recommend.
ROTBS.exe   69KB 1992 Return of the Body Snatchers - a PC follow up to IOTBS.
ROTBS.ZIP   606KB 1992 All of the source code for Return of the Body Snatchers... Assembles under MASM or TASM.
ROTBS.ICO   766 bytes 1992 An icon for it
rotbs_avi.zip  3557KB 18/Sep/2008 A zipped avi file showing me entirely failing to survive on the easy setting. (Some unusual extra options set)...

Doctor Strangefruit (PC) (c) Simon Brattel and Dave De-Leuw...
An unfinished platform game. Would have been nice, I suspect.

This ran smoothly at frame rate on a 30MHz '486, if you run it under XP or Vista on a modern PC it jerks badly - but you can get round this by running it under DOSBox, a DOS emulator that I highly recommend. If you use DOSBox, make sure you give the game enough CPU cycles. These are shown in the caption line. While it's playing hit Ctrl-F12 until the game runs very smoothly. It needs about 12,000...

[snip]
Strangefruit removed a dog-eared, loose-leaf notebook from an inside pocket and placed it reluctantly on the desk, as if parting with an art treasure of great value.
Pratt reached over and picked it up, holding it by one corner, as one might retrieve a piece of used toilet-paper that had missed the bowl. It was not in keeping with Pratt's idea of documentation and did not appear to merit being on such an executive desk.
"Might I ask what this is about ?" asked Pratt, who didn't want to have to read it to find out.
[snip]

STRANGE1.ZIP   212KB 1993-ish Half the sources and executables. Put in ("C:\whatever")
STRANGE2.ZIP   147KB 1993-ish Other half of 'em. Put these in a subdirectory "GAMECODE" under the gameroot ("C:\whatever\GAMECODE")... Run G.BAT

Graham Stafford's files

on_the_run_zeus.zip  49KB 29/May/2016 Graham's "On The Run" for the Spectrum in Zeus-compatible source format. Revised (27 Aug 2010) so it uses $NNNN hex numbers.
kat_trap_zeus.zip  160KB 29/May/2016 Graham's "Kat Trap" for the Spectrum in Zeus-compatible source format.
nos_zeus.zip  150KB 8/Jul/2016 Another complete game - Nosferatu The Vampire (Spectrum) (updated slightly 11/2018)
graham_games_src.zip  880KB 26/Aug/2010 Most of Graham Stafford's games as M80 (CP/M) Z80 sources. 2112, Kat Trap, Nexor, Nosferatu and On The Run... Tidier sources than mine, the utter bastard! (updated slightly 11/2018)
hexconv.exe   170KB 27/Aug/2010 A windows tool that reads source files containing leading-zero hex numbers and converts them all to $format, so 01234 => $1234, for example. Also strips the strange characters (0x8A) out of Grahams sources.

Various sources/bits and pieces

galactic.zip  457KB 1984? The unfinished source for Galactic Patrol in a form that zeus can assemble. (aka. Martin's spinning around game.) (c) Martin Horsley.
emu_hb.zip  195KB 1979 One of my first programmes and a PC emulator to run it - a space invaders game (of course). Written in 1979 or so... Unzip the files into a directory and run EmuHB.exe
sp_inv.asm  35KB 1984 Ye Olde space invaders. Spectrum. This was hidden in Dark Star (hold I down during load)... Compatible with the Zeus assembler provided on this site. See above...
invad.txt  35KB 9/Dec/1989 Another Z80 space invaders, nicer source. This was written for Virgin, part of some airline games console...
tetris.txt  17KB 1/Apr/1991 A version of tetris for the PC. Complete source for the game, but without some other files it can't be linked.
AVR_Invaders.rtf  96KB 16/May/2005 Same again, written in AVR assembler (Zeus format - converted from the Z80 source).
si_emu.zip  204KB 16/May/2005 A PC emulator for the AVR space invaders - i.e. an AVR emulator written in Delphi.
MartinSource.zip  13KB 1984? The unfinished source for Martin's spinning around game. (c) Martin Horsley.
Morse thingy + mess Tuesday 05_38_30 pm 26_02_85.txt   6188 bytes 5:38:30pm 26/Feb/1985 A morse code transmitter that pissed wookie off...
Spectacle Editor am 12_54 11_9_84.txt   33KB 12:54:00pm 11/Sep/1984 The text editor used for editing Spectacle pages
Ass11.txt   83KB 11:47:32pm 4/Aug/1986 Part of the development tools, a Z80 cross assembler.
Ass68.txt   187KB 4:21:00am 10/Sep/1990 Part of the development tools, a 68000 cross assembler.
Editor20.txt   96KB 1985? Part of the development tools, a text editor.
ns32000.zip   90KB various 1988 Some NS32000 development files. Assembler, editor, mandelbrot and hopalong demos. Basic OS.
msx.zip  76KB 1986 Various MSX files. A memory manager written for Abdul - the code that got me kicked out of my own company... [grin]
da_z80.asm   96KB 10:14:02am 22/May/1989 Some typical Design Design commercial code. Part of an air traffic control console. (slight mods for zeus-ish)
rel_4.asm   117KB 01:48:31pm 25/Jun/1991 Some typical Design Design commercial code. A solder reflow oven controller. (slight mods for zeus-ish)
vibe.rtf  207KB 2007 Source code for an AVR based vibrator. Replacement for the PIC in an Ann Summers toy - who'd want their friends having sex with a PIC?
acal.asm  235KB 1991 .. 1995 Source code for a VT100/VT914 terminal, used industrially (including various locomotive diagnostic displays)

Games-related files provided by "Friends of Design Design"...
Contributions from third-parties - received with thanks :)
desdes_loader.asm  10KB 29/Oct/2008 [revised] Robert Crawford has kindly used Diana to disassemble the tape loader we used to use on the Spectrum. This is the reconstructed source...
Rather better commented than the original, by the look of it...
invade_load_v1.0.def  2567 bytes 29/Oct/2008 [revised] His Diana definition file
inv_load.bin  63KB 21/Oct/2008 The binary he was working from.

Utilities, various...

tzx_display.exe   666KB 19/Feb/2019 v1.42 Quick And Dirty windows app I hacked together for displaying the contents of tzx files. Now with batch mode and laser assembler file decoding, see the "help" menu.
zeus68k.exe   1052KB 27/Sep/2017 A 68K version of Zeus that might be useful to assemble the 68K files above. See the about/history.
zeus6x09.zip   1209KB 22/Jan/2018 A 6809 and 6309 version of Zeus. Rather more competent than the usual simplistic two pass Motorola assemblers. See the about/history.
zeusscmp.exe   4000KB 27/Sep/2023 An SC/MP version of Zeus. Hard to imagine Zeus handling something as nasty as the SC/MP, but there you go...

Various pictures

Basil.jpg  1043KB Basil, still running perfectly after more than 23 years... Bet the machine the monitor's standing on won't...
B_Side.jpg  891KB Basil from the side. CPU, Misc, VDU, FDC, SCSI and flying winchester boards.
B_CPU_T1.jpg  1042KB This is Basil's main CPU board, component side.
B_CPU_B1.jpg  1088KB This is Basil's main CPU board, wiring side. Wiring this took a couple of days...
B_Detail.jpg  935KB Closeup of the wiring.
zeuspara.jpg  205KB 23/Oct/2008 A picture of zcl.exe running as a backend assembler in my ParaSys IDE.
Videos
Tank Busters (Bare-metal ARM Cortex)   Starting from nothing, the first code on a homebrew ARM Cortex board, this shows how much of Tank Busters can be written in a single day (afternoon and evening sessions).
Dark Star mode (Bare-metal ARM Cortex)   Same code as above, but with a change to Z to move the viewpoint above the plain.
Dark Star mode (Bare-metal ARM Cortex)   About an hour's more playing - nicer explosions (changing fragment colour dynamically).
Third party tools and utilities:
  Adobe Acrobat Reader
(necessary to read the PDF files on this site)
DOSBox   The DOSBox PC emulator - this will allow the PC files to be run perfectly, even under windoze XP and Vista. Thanks Bill :(

 

Home Author: crem@cix.co.uk
Copyright 2008, Design Design. All rights reserved.