RomCombiner BBC BASIC utility
Introduction and History
RomCombiner allows individual Z88 Applications to be combined into one external device. It cannot be used to add applications to the internal Flash chip in slot 0.
Historically, combinations had been made by Wordmongers, Ranger Computers and Steve Marsh for the Z88 User Group using the larger 128K or 256K EPROM cards. These were hard crafted and beyond the skills of the Z88 user. Gary Lancaster wrote the first version that allowed users to read applications or combinations from ROM devices, combine them, check that the target EPROM has been erased properly and then finally blow the combined result into it.
When the flash card and OZ 4.2 were produced, RomCombiner was modified so that applications could be added on these devices as well.
Download
Romcombiner v2.13 (now supports the same flash memory types as OZ 5.0)
To function correctly on the Z88, Romcombiner requires the three files RomCombiner.bas, romcombiner.bin and RomUtil.bas. These need to be either copied to the emulator, or transferred to the Z88. Start BBC BASIC, and launch using:
RUN "ROMCOMBINER.BAS"
To save typing you could, in Filer, select and execute the bundled RomCombiner.cli file which automates that action.
Prerequisites
As you are reading this on the internet, you already have one item, a computer that you can download the applications from. To demonstrate how to use this program, OZvm the Z88 emulator is being used so that screen shots may be used. Using the emulator has other advantages, these are:-
- Use the larger 1M RAM and 1M Flash cards to store and build applications (even though you may not have one for your Z88)
- Importing and exporting files from the main computer to OZvm directly.
- Saving the state of the emulator at key points which can be returned to if a mistake is made.
Finally you need a link from your computer and the Z88, like Eazylink2 and a cable, so that your compilation can be used on a real Z88.
The other way of using this software is on your Z88 directly, but in both cases you still need the link.
Planning
This description is assuming that a Flash card is used for the compilation. We start with adding some applications and then plan a larger compilation which needs a number of points to be considered. This requires planning and then execution. We will be using the Pareto principal (80% planning, 20% doing).
Flash and EPROM cards may be used for Applications and/or the File Area. The main difference between these cards is how they are erased. The EPROM card is put into an eraser, exposing the chip to UV light. This erases everything on that card. The Flash card is erased within the Z88 itself and has the added bonus that it can be erased in 64K sectors. This means that the file area can be erased, whilst retaining the application area. If using a Flash card, to avoid wasted space, ensure the - Application area is laid out to fully consume 64K sectors.
Since January 2023, RomCombiner supports SST Flash memory which uses a 4K sector size, allowing it to erase individual 16KB banks - the Z88's own unit of allocation.
Each application is allocated a letter called a Key and a name which can be changed i.e. P for PipeDream. The second time and third time the key letter is used, a Z or ZZ is prefixed before that letter. If that letter is used again, it will be no longer available and will not be shown - i.e. ZP and ZZP. - A Key letter may only be used 3 times
It may be desirable to group applications into functions like, Word Processor, Communications, Files, Test, System Programs Database Utilities by - Changing the order.
Using RomCombiner
To get to know this program, you may find reading and working through the example(s) to get an idea what it can do for you. Alternatively, browsing through the commands may be your approach. ROMupdate can also be used, so where do we start? How about a quick overview so that you can decide where to go next.
Overview
Before Z88 Applications can be used, 16K image files need to be created from the EPROM or Flash cards they are supplied on. This will read that card which can be read in any slot | |
This allows you to
| |
When using EPROMs, this checks that all the locations have been erased. This is used before saving the image to it. | |
This command is used for EPROMs and Flash cards. The EPROM can only be written to in Slot 3. | |
The Flash card is erase here, either in 64K blocks or completely. | |
This joins up the 16K files so that they can be used with the emulator. This is a redundant command now, as the emulator can accept the 16K files now. | |
I have never used this command so you will have to wait for its description. | |
Quit end running the program. |
This is the document planning area
Considerations - using existing compilations
Make a list of applications required
from which existing compilation
Three columns are used to sort
- Order displayed on the Z88
- Applications order (as loaded on the ROM)
- Order of the additional applications
Getting the applications - ROM or Download
An example
Recent updates