Volume 2, Number 4 – September 1982

Page 17 of 36

partial bank decodes and are designed to activate the 16K bank of memory rather than a specific 4K block as one might have thought from the circuit and documentation. This means that any 16K Block of memory can only be properly activated by four adjacent decodes since it requires the lower bits of the address bus to select the memory block. When I connected RAM to the 1000H, 2000H, E000H and F000H decade lines, then I was connecting two blocks of the same bank. A bit complex, but whenever I wrote to 2000H the result appeared in E000H and vice-versa. I shudder to think what happened when I read from 2000H! Nevertheless, as the first thing that BASIC does is clear the memory that it is going to work in, it was inadvertantly rubbing itself out as it went along.

It was also the problem of multi-mapping that caused the first attempt to copy into RAM to fail so miserably. The fact that the decodes are partial and rely on the lower address lines meant that the two decodes going to the BASIC ROM were reversing the two 3k blocks in the ROM. So the 4K block that was sitting at 3000H should have been at F000H and the black at 4000H was meant to be at E000H. Using the single ‘C’ command to copy the 8K block caused the disaster, but if I had copied each block seperately to the appropriate destination it would have worked fine (subject to the paragraph above).

Looking through the information above, you can probably deduce that the system I started with would have worked… If not, then this is what you should do, given just 16K.

The 16K of RAM needs to be split into two 4K blocks and an 8K block. The latter goes into the area E000H to FFFFH, but only one of the 4K blocks can sit at 1000H. The last block MUST reside at either 4000H, 8000H or C000H because of the partial decodes. The BASIC ROM must sit at 2000H, 6000H or A000H to make the two halves appear in the right order and be moveable with the ‘C’ command.

Of these, the choice of RAM at C000H and ROM at A000H allows for the greatest expansion of RAM being easily accomodated without changes of software, but it should not be forgotten that there is still a vacant socket (or two) on the Dual Monitor board. With the constant dropping of the price of EPROM, it is not outside the bounds of probability that a 2764 (or two) be installed therein, allowing up to 16K of dedicated programs and data. These could be used to hold ZEAP, NASPEN, DIS-DEBUG and the Bits and P.C.’s Toolkit, or Nascom’s PASCAL system, for example.

Doing this would need further study of the layout of your memory, and the requirements of each bit of software used but the guidelines above should be sufficient for the task. If the requirements overlap to any extent, or if the EPROMS prove too slow, then a copy to RAM at the correct place should work.

Page 17 of 36