Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07939 Core Minor Always Apr 11, 2021, 00:35 Apr 22, 2021, 19:22
Tester ICEknight View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Acknowledged Driver zx.cpp
Version 0.230 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 07939: zx81: Incorrect default amount of RAM
Description Current ZX-81 emulation acts as if the system had 16K of RAM, but the system's default was 1K.
It seems to be always running as if a RAM expansion cartridge was plugged in, with no possibility of disabling it (no slot options in this core).
Steps To Reproduce Load a RAM test program that I'm attaching with:

Which is entered like:

Test results will show "16K" on screen.
Additional Information The second RAM test I'm attaching is not working currently, I don't know if it's because of another bug.
Github Commit
Regression Version
Affected Sets / Systems zx81
Attached Files
zip file icon zx81 ram (45,393 bytes) Apr 11, 2021, 00:35 Uploaded by ICEknight
zip file icon zx81 ram test (41,819 bytes) Apr 11, 2021, 00:36 Uploaded by ICEknight
zip file icon ram test (918 bytes) Apr 11, 2021, 00:52 Uploaded by ICEknight
zip file icon ram test 2 (940 bytes) Apr 11, 2021, 00:53 Uploaded by ICEknight
There are no relationship linked to this issue.
User avatar
Apr 11, 2021, 00:53
Added savestates in case that the File Manager won't work.
User avatar
Apr 11, 2021, 02:43
You can set the size of RAM via command-line.
By default, zx81 is set up to use 16k so it is not completely useless. You could argue it should be the default state, but I would assume you'd get a fair bit of the opposite - pleading for more than 1K and I presume that 16k was chosen to be the mainstream common standard configuration people used.

                <device_ref name="ram"/>
                <ramoption name="1K">1024</ramoption>
                <ramoption name="32K">32768</ramoption>
                <ramoption name="48K">49152</ramoption>
                <ramoption name="16K" default="yes">16384</ramoption>

If you use -ram 1k, it should start the machine with 1024 bytes. Other sizes are also available.
You do have other computers which have hardware which is above standard issue so this isn't a unique case.
User avatar
Apr 11, 2021, 06:35
If the default was 1k I'd expect much of the software to fail, and the casual user wouldn't know what to do.

16k seems quite reasonable.
User avatar
Apr 11, 2021, 18:20
I don't really care whether 1K or 16K is the default. But if your RAM test works as expected after you select 1KB RAM, this bug report can be closed as invalid.
User avatar
Apr 11, 2021, 21:57
edited on: Apr 12, 2021, 00:36
The ZX-81 only ever came equipped with 1KB of RAM on-board and the current emulated system has 16KB installed by default, which can only be achieved on a real system through modding.

On the other hand, its clones the TS1000 and the TS1500 came equipped with 2KB and 16KB, respectively.

Maybe the defaults in MAME should be those of the as-is, unmodded systems?
User avatar
Apr 21, 2021, 14:02
Acknowledging only to continue discussion, if needed.

My opinion is that the machine is pretty much unusable with any most cassette software produced if 1K were set as the default. I'm not discounting there are a few selections built to fit within the 1k, but 16k allows most all other cassettes to load and run correctly as expected. We have numerous other machines with added storage mediums which are not part of the "base" machine. A default configuration, likely, is the driver developers choice in the end.
User avatar
Apr 21, 2021, 21:06
As has already been mentioned, the ZX81 defaults to 16K as that was the most common configuration, and also avoids false bug reports from users trying to run 16K software on a 1K machine.

Even if the expansion slot was emulated then I'd still have a 16K RAM pack inserted by default.

This bug report should be closed.
User avatar
Apr 22, 2021, 19:22
edited on: Apr 22, 2021, 19:23
The current default configuration is that of a modded system.

I think this should stay open as a reminder for whoever sees this and can add proper 16K expansion support (and set it as default, which seems to be the actual desired default configuration).