Using a Custom ROM with ZX Spectrum 48K
Klive lets you replace the built-in ZX Spectrum 48K ROM with any compatible 16K ROM image of your choice. This is useful when you want to test or develop against alternative ROM implementations, patched ROMs, or diagnostic ROMs.
This feature is only available for the ZX Spectrum 48K machine model. Other Spectrum models (128K, +2E/+3E) are not affected.
Selecting a Custom ROM
Open the Machine menu in the Emulator window. Under the ZX Spectrum 48K machine, you will find two ROM-related commands:
- Select ROM File… — opens a file picker to choose a ROM image
- Reset to Default ROM — removes the custom ROM and restores the original Spectrum 48K ROM
Click Select ROM File… and browse to your ROM file. Klive accepts files with the .rom and .bin extensions (as well as any other extension via the All Files filter).
The selected ROM file must be exactly 16,384 bytes (16K) in size. If the file is smaller or larger, Klive will reject it and display an error message.
Once a valid file is selected, the machine is restarted automatically with the new ROM. The path to the ROM file is stored in the project configuration, so it will be reloaded automatically the next time you open the project.
Resetting to the Default ROM
To go back to the original ZX Spectrum 48K ROM, click Reset to Default ROM in the Machine menu. Klive will ask for confirmation before switching back:
Are you sure you want to reset to the default ZX Spectrum 48 ROM?
Confirm with Yes and the machine will restart with the built-in ROM.
The Reset to Default ROM menu item is only enabled when a custom ROM is currently active.
How the ROM Path Is Stored
The ROM file path is saved in the config section of the Klive project file (.klive) under the sp48RomFile key. As long as the file exists at that path when the project is reopened, the custom ROM will be used automatically — no extra steps required.