Exciting news this week as Tut-Tut launches on the Jupiter Ace: As a special treat to celebrate, guest blogger George Beckett takes us through his journey in porting the game to the Forth Language an onto the Jupiter Ace.
George has spent the last few months converting the original BASIC source listings and some of the latter adaptations made for the ZX81 and 2020 Spectrum versions of the game.
Join us for a new series of articles as we dig up an ancient micro treasure and explore the depths of game conversion.
George has spent the last few months converting the original BASIC source listings and some of the latter adaptations made for the ZX81 and 2020 Spectrum versions of the game.
Join us for a new series of articles as we dig up an ancient micro treasure and explore the depths of game conversion.
Evolution of Tut-Tut: ZX Spectrum BASIC, ZX81, ZX Spectrum 2020 Edition, Jupiter Ace. |
Porting TuT-TuT to the ACE
Towards the end of August (2019), David Stephenson (a.k.a. zx81adventures) started posting screenshots, on Twitter, from a new ZX Spectrum game that he was working on. The previews showed an arcade, maze game with bright, clear graphics and an Ancient Egyptian theme. What made the game stand out was that David was using Sinclair BASIC to write the entire game: it was to be a type-in game, harking back to the 1980’s home computing scene, when it was not uncommon to invest many hours into typing in, debugging, and playing such games. Given Sinclair BASIC’s sluggish performance and appetite for consuming memory, David needed to employ some careful tuning and compression tricks to achieve reasonable speed from, and to fit the game into, the rubber-keyed 48k Spectrum.Very Early BASIC version of Tut-Tut on the ZX Spectrum. |
The game,
called Tut-tut, was finally published in the online retro-computing magazine
Paleotronic in early November [link],
along with a YouTube review and taster from Villordsutch [link].
Those who did not want to type in the game could download a copy from
Paleotronic’s website. However, the download included a subtle warning that it was
not quite complete: If you wanted to be sure of having the full game, you
needed to invest the time to type it in yourself.
Tut-tut had some similarities to a very rudimentary game I
had made, called Rabbit Run, as part of a series of articles I had written on
programming for the Spectrum Show Magazine (issues 16—26) [link].
I had produced a few different versions, including several BASIC versions, a
machine-code version, and—a little more unusually—a version written in Forth.
The Forth version of Rabbit Run worked surprisingly well, being similar in
speed and size to the machine code version, though being much quicker to write.
I started to think about revisiting my Forth version of
Rabbit Run and using it as the basis for a port of Tut-tut. However, rather
than write it for the ZX Spectrum, I decided I would try to write it for the
Jupiter Ace, a less well-known British micro from the early 1980s that was
unusual in that it had Forth as its built-in language, rather than the ubiquitous
BASIC.
The Ace was developed by Richard Altwasser and Steven
Vickers, who had been designers at Sinclair Research until they left to form
their own company called Jupiter Cantab. The Ace was their first (and only)
computer, and was launched in 1983. The Ace had much in common with the ZX81,
which almost certainly inspired it but, by using Forth instead of BASIC, the
limited RAM (2 kilobytes, built-in, usable) was much less of a constraint than had been the case for the ZX81.
Source -
https://k1.spdns.de/Vintage/Sinclair/80/Jupiter%20Ace/Advertisements/
|
The demise of the Ace signalled a change in the way people
viewed home computers. The hobbyists and electronics tinkerers of the 1970s had
been replaced by a new breed of users who wanted to play arcade-like games and do
useful things such as organise their accounts or run small businesses. The Ace,
which was billed as “the programmer’s computer”, arrived on the scene too late,
after most micro hobbyists had moved on.
I missed out on the Ace, in the early 1980s, instead being
lured by the pull of the ZX Spectrum. However, I probably spent at least as
much time trying to program my Spectrum as I did playing games. I soon outgrew
BASIC, so spent much of my time wrestling with machine code and crashing my
computer. Perhaps if I had started out with an Ace rather than the Spectrum, my
programming would have been more fulfilling (if a little less colourful). In an
attempt to find out if this was the case, I downloaded an Ace emulator (EightyOne),
purchased a copy of the 35th-anniversary Ace User Guide, and set to
work on a new version of Tut-tut.
Tut-Tut on Jupiter Ace. |
The finished product
is available from GitHub [link]
as either a TAP file to be used in an emulator, such as EightyOne, or a source
code that you can type in and modify, consisting of a Forth program occupying
around 4kb once compiled and three assembly language files, which hold various
game data to be assembled and loaded into the Forth program as binary code
blocks.
While based on David’s Sinclair BASIC version, the Ace
version uses the newer levels from the ZX81 version and, thanks to some help
from David, includes the extra features such as bracelets, amulets, and a hidden
treasury for the final level.
The game requires roughly 12kb of memory, so if you are
lucky enough to own a real Jupiter Ace, you will also need a 16kb RAM pack as
well. Alternatively, you could buy and build a Minstrel 4th [link], a modern day Z80 microcomputer that is compatible with the Ace and can run Tut-tut without any problems.
In the next blog post, I will provide some insight into how
the game is written in the hope it will encourage some to have a go at typing
in the game rather than loading it from a tape file. However, for now, I
suggest you power up your Ace (or Minstrel 4th), or install an Ace emulator, and get on with some
Egyptian-themed adventuring.
0 comments:
Post a Comment