Introduction
“Prometheus — an assembler and monitor for creating programs. The best on the ZX Spectrum.” That is how the advertising leaflet for this program reads in the original. After working with Prometheus for two months, I can honestly say that the leaflet speaks the absolute truth.
Before I begin proving Prometheus’s superiority over every other assembler available for the Speccy—that is, before describing its instructions—here is a brief overview of the program and the reasons behind its creation.
Prometheus was written five years ago by a very industrious man from Czechoslovakia who goes by the pseudonym UNIVERSUM. Industrious? He is the author of a dozen or so utility programs, including ORFEUS, DEVAST ACE, WLEZLEY 7, MR PACK 2 and many others, all created over a period of just three years! But back to the subject. As the author himself wrote in the Prometheus manual, he wanted to create an assembler that combined the advantages of existing utilities (e.g. GENS and OCP ASSEMBLER) while eliminating their drawbacks. The result was a two-part program. Here is a brief overview of its components.
Assembler
- 11 KB in size.
- Recognizes undocumented instructions, such as
INC LXandSUB HX. - The ratio of source text to compiled code is 3.5:1, meaning the source text is 3.5 times longer than the resulting code. By comparison, the same ratio in GENS is 8:1.
- Compilation speed: 2–3 KB/s.
- An editor with syntax checking, so compilation requires only one pass instead of two, as in GENS.
- Block operations: copying, deleting and moving blocks of source text.
- Finds a character string and replaces it.
- Can convert text from GENS format to Prometheus format.
Monitor
- 6 KB in size.
- Performs all the functions available in the DEVAST ACE monitor.
- Extended tracing features for following a program’s execution.
- Lets you specify memory areas to protect against:
- writing data;
- reading data;
- running a program.
- The main panel can be configured as desired.
- A function that measures program execution time in clock cycles.
In 1993, a new, more advanced version of Prometheus was created for the ZX SPECTRUM 128. I warmly recommend it, thanks to its:
- 64 KB of memory for source text (banks 1, 3, 4 and 6);
- a dozen or so new functions that make writing programs easier;
- D40/80 disk driver.
It should also be mentioned that, unlike the 48K version, the 128K version is unfortunately not relocatable.
NOTE! I modified the disk version of Prometheus 128 so that it works with the FDD 3000 disk drive. I also fixed a bug in the GENS function that prevented source text from being converted from GENS format to Prometheus format. To get the modified version, contact the ILLUSION group or me (the address is at the end of this part of the article).
If this introduction has not convinced you, dear reader, of Prometheus’s merits, that is your business (and your loss). But if the program has caught your interest, you will find a detailed description in the next parts of this article. I warmly invite you to read them!
Taking this opportunity, I would like to thank EYE of the Czech group K3L for providing me with Prometheus and its manual.
Contact address
Jordan of Exodus
Krzysztof Borowiński
Armii Krajowej 97
Wesoła
05-075
Share your thoughts about the article