EXPANDING RAM UP TO 60K
by Piergiorgio Betti
Z80 NE born with two types of RAM memory: a 8 KB static ram card and a 32 KB dynamic ram card.
It was possibile to add more memory cards, in different combinations, obtaining differents memory sizes as shown in this table:
Unfortunately, in every configuration it's not possible to exceed 56 K limit, leaving last 8 KBytes of memory unused, from E000h to FFFh.
That's because in this last memory range there are two regions::
But, after the publication of LX.529 videographic card that use a private memory (not shared), region EC00h-EDFFh is free for everyone that is not using the "old" LX.388 video card. But still it's not possible to exceed 56 KB limit because Nuova Elettronica memory cards banks are based on 8 KBytes multiple, while to use the last free KBytes from E000h a bank of 4 KBytes it's needed, to have a total of 56 + 4 = 60K availbale ram.
Hardware changes
A possible solution is to use two LX.392 32 KBytes dynamic memory cards by forcing the second card (totally populated) to show on the bus only 28K of memory, freeing last 4 KBbytes for the system EPROM.
The "trick" is to disable it when on the bus there are addresses starting from F000h, using a simple 74LS20.
To do it it's possibile to add a little "daughter board" to the memory card, putting the 74LS20 on it and making a little patch around 74LS139, IC10 of the dynamic memory card that has the function to select the two 16K dynamic memory banks.
This is the circuit to add:
There are the patches to do on LX.392 and they are related to IC10:
As told before, in this manner the card can cover all address space up to 64 KB, but the added 74LS20 will disable it everytime on the bus there as an address in the Fxxxh range, freeing addresses for the EPROM, even if it's of one, two, or four KBytes, for an effective total of 60 KBytes of memory.
Some photos of the patch (click on the image to enlarge):
The daughter board | Connectors cabling | IC10 patches |
The software
NE-DOS is a operating system allocated in the low memory starting from address 0h, and this allow it to automatically size available RAM.
So by using the NE-DOS nothing has to be done to use the last 4K just added.
A different thing is for CP/M or SONE as named by Nuova Elettronica.
CP/M uses a different allocation scheme. For CP/M 2.2, that is SONE, the typical RAM usage scheme is the following:
CP/M components positions (CCP+BDOS+BIOS) are fixed at the system boot, so to change from a 56K system to a 60K system some operations to adapt CP/M are needed.
NOTE: a very similar patch is shown in the LX.392 schematics patched by Constantinos Haritakis (that was a Nuova Elettronica developer) that you can download here.