Yesterday I fitted an internal 16K upgrade to ZX81 #3. I also moved the late revision ULA to this machine, where it gives a better picture than it did when fitted to ZX81 #1. No shadowing, no flickering, lovely crisp bright display from the UHF on a colour TV.
To upgrade to 16K, I followed the Tynemouth instructions, accessed via Wayback machine : https://web.archive.org/web/20200929054 ... rsion.html
This is the reversible version that doesn't require any track cutting - I felt this was safer for me
My soldering was a bit clumsy, but I checked it out with a meter : continuity is good and no shorts are apparent.
I powered it up, and got the K cursor. Success! (maybe)
I successfully ran the CLKFREQ.P program and showed the expanded ZX81 runs faster (separate post) and was happy with this.
I then tried to load some 16K programs. This is where it went downhill.
Using TapeUtils Java program running on a Linux laptop, which has worked well for me with 1K programs so far, I tried to load 3D Monster Maze .
The Zeddy craps out within 1 second of starting to play the audio into it's EAR. Back to a K cursor. I downloaded a different copy of 3D monster maze, this does the same thing.
I tried Mazogs, same result - it fails within 1 second of starting to show the loading noise on the TV.
I then randomly chose Dragon Maze which I hadn't heard of before, and this loaded OK and ran.
I've tried Mazogs and 3D monster maze again today, they still fail.
I note the program size may be relevant. Shown here, as reported by tapeutils :
3D Monster Maze 10553 bytes
Mazogs 12832 bytes
Dragon Maze 4751 bytes
So.. the smaller program loads but the larger ones fail very quickly.
I wondered about memory faults or a failure on my part installing the upgrade.
I found this test program https://sinclairzxworld.com/viewtopic.php?t=2664
Here I compare the results this program tells me with the example shown in the post above :
Code: Select all
RANGE ME EXAMPLE
============= === ========
0K TO 8K IS RAM NO NO
8K TO 16K IS RAM NO YES
16K TO 24K IS RAM YES YES
24K TO 32K IS RAM YES YES
32K TO 40K IS RAM NO YES
40K TO 48K IS RAM NO YES
48K TO 56K IS RAM MIRROR/16K MIRROR/16K
56K TO 64K IS RAM MIRROR/24K MIRROR/24K
MEMORY FOR BASIC 16K 16K
PEEKing RAMTOP shows 32768, which I beleive indicates the ZX81 thinks it has 16K.
I don't know the author's configuration, and I'm not very familiar with ZX81 memory layout.
So, advise please :
What do you think of the output from the program? Does anything look wrong?
Why might a 16K program fail to load within 1 second of starting the loading?
Is there a different/better memory test program that perhaps POKEs and PEEKs all/most available locations to see what is available and detects faults or incompetent wiring by 3rd parties (ie, me)