Upper memory not available in issue 2

A friend send me his issue 2 Spectrum for diagnosis. It boots okay but for some reason won't load games over 16kB. He sent also a Smart Card with integrated diagnostics ROM, which failed the upper memory RAM test, suspecting IC25 and 26. I changed those to new ones but that didn't bring any change.

I did the print peek test and got either 32763 or 32768 as a result (small display so not sure about the result). Pokeing the next address with 85 and 170 however gave the correct result in both cases. I used the logic probe to check A15 but that stays low.

Both upper and lower memories have been upgraded prior. Lows with modified 4164s and highs with regular 4164s. I've understood that the Smart Card shouldn't work with just 16 kB but it does seem to work even in this condition.

Is it the Z80 that should set the A15 high to enable the upper memory and under which conditions? Any other possible things I should check?



  • The address line A15 will only go high when the Z80 CPU actually tries to read or write memory (or input/output ports) with addresses between 32768 and 65535. This is the same address range that the "upper" 32k bytes of RAM is mapped to.

    What was the exact message from the diagnostics ROM ?


  • Can't remember it exactly but it was related to upper RAM and suspect IC25/26. I'll check it when I get home and report back.
  • The error for upper RAM test was "Addressing error: suspect IC25/26".

    Mux tests failed too with FC for IC25 and 00 for 26.
  • ZX-diagnostics has a memory browser mode (hold down the M key at startup), which you can use to write values into upper memory and see how that affects other RAM locations. You may be able to spot a pattern that leads you to the fault.

    It does sounds very much like an addressing issue - another clue would be zx-diagnostics detecting that all upper RAM is faulty on the march and random tests only.

    The Spectrum Resuscitation Thread - bringing dead Spectrums back to life
    zx-diagnostics - Fixing ZX Spectrums in the 21st Century (wiki)
    Sinclair FAQ Wiki
  • Check / inspect / test for short circuits between address lines on the DRAM address bus lines.

    Also test for continuity of the address lines between each DRAM chip and the relevant pin of IC25/26.

    Watch out for differences between the schematic and real PCB traces - the address lines are swapped on some boards.

  • I tested for short circuits between address lines on the 4164s. On each DRAM chip, pin 12 or 11 seemed to have some kind of connection to every other address pin on the chip as the multimeter beeped. Don't know if that's intentional or there actually is a short somewhere.

    Continuities between IC25/26 and DRAMs are as follows:
    IC 25
    4Y A6
    3Y A3
    2Y A4
    1Y A5

    IC 26
    4Y A1
    3Y A7
    2Y A0
    1Y A2

    No continuity errors in any DRAM chip to IC25/26.
  • I did some more checking with the multimeter. Pin 11 on one of the 4164 sockets seems to have a short either to pin 12 or some of the other address lines, depending whether the mainboard is in its casing and the position of the moon.
  • A little update on this. I found the cause of the short. I removed IC25 from it's socket and the pins stopped shorting, when trying continuity. It's not the MUX chip though as I tried the chip from my other Spectrum in the socket and the pins beeped with the multimeter. On the other hand the suspected chip didn't beep in the other Speccy. The motherboards are different revision, though. Issue 2 on the malfunctioning and Issue 3B on the working.

    I'm beginning to run out of things to try out here.
  • One of the mux chips has one pin wired to either 0V or +5V. On the later versions, this is via the memory selection links. This is shown on the schematic.

    I'll have a look at a schematic later...


  • If you use the 4164 chips, does it make any difference which way the lo - hi jumper is set?
  • If all the chips are 64k types, as all the memory on the chips is good, it makes no difference which half of the chip is used.

  • I noticed that one for the legs of the transistor on top of the Z80 had come loose from its soldering. I already soldered the leg back but the computer is missing the TR4 because I used it for another Spectrum, so I'm not able to test it before I get a replacement. Can the loose leg of the have any effect to the memory mapping?
  • edited May 2017
    That transistor ("spider"), TR6 on the schematics, is only used to prevent the ULA from stopping the CPU clock when accessing I/O ports that the ULA should be ignoring. If there are no expansions fitted, it does not matter if it is connected or not. But it is wise to reconnect it before casing up.

    If you have loose wires, use some insulation tape to prevent them touching other circuitry.

    I can't see any reason for the missing TR6 or the loose wire (if insulated) having any effect on the memory mapping. In the Spectrum, A14 and A15 determine the memory map. A14 and A15 low = ROM. A15 low, A14 high = lower RAM, A15 high = upper 32k RAM

    Post edited by 1024MAK on
  • I had an issue with my 16/48k model issue 2 I recently got, it eventually had several upper memory faults, ended up replacing the whole upper memory but the main and first issue was that IC26 pin 10/11 which chooses memory type was left unconnected, once I had connected the link to the correct position it started to play 48k games although there were further issues to fix, in my case I had OKI upper ram, I connected the link next to IC 3 to 0v, I also replaced IC26 as the one in mine was butchered and bodged, got a upper memory kit from Retroleum replaced them now I have a fully working 48k, basically as IC26 link wasn't connected either way ie left floating it would only 'act' as a 16k model.
  • I’ve been looking into this after a long break. I tried with a pair of 74LS157s from another manufacturer and no change. I’ve tried both 0V and +5V on the link next to IC3, even though that should not matter with 4164s. I did try also 8264s and 4532s, making sure that it was jumpered accordingly. No joy. Using Brendan’s diagnostic rom, it does indeed fail on the march and random tests, indicating IC25 and 26 being faulty.
  • Well if the DRAM chips are good, and the IC25 and IC26 are good (are you using chips which are known to work in a ZX Spectrum?) that only leaves the address decoding and control circuitry, the sockets, and the PCB tracks.

    Do you have activity on the /RAS, /CAS and /W inputs (pins 4, 15 and 3) of the DRAM chips? Do you have activity on the S signal on pin 1 of IC25 and IC26?

    Not that the Z80 will have to be attempting access to the upper RAM for /CAS and S to be active. And it will have to attempting writes for /W to be active. So run the diagnostic program.

  • This board is an issue 2, yes?
    Are IC23 and IC24 in sockets?

  • It’s an issue 2, and IC23 and 24 are in sockets as I got replacements to test if they were at fault.

    I’ll check the pins and report back.
Sign In or Register to comment.