mhudson52 wrote: ↑Sat Dec 01, 2018 2:21 pm
Also tried having only the timer chips installed. Got "K" prompt with one and nothing on the other.
Hi Mike
Timer chips? Confused
There are no differences in the addressing schemes between the ZX81 and TS1000. In both, the ULA partly decodes both the ROM and RAM areas as follows (regardless of the size and how much memory is actually fitted):
All ROM access decodes to 0x0000 to 0x3FFF, and 0x8000 to 0xBFFF
All RAM access decodes to 0x4000 to 0x7FFF, and 0xC000 to 0xFFFF
In each case, if the actual fitted memory is less than the decoded area, you will see repeats (echos, duplicates) of the same physical memory chip(s) throughout the decoded area.
So for an unexpanded ZX81 or TS1000, the 8K byte ROM chip will completely fill the 0x0000 to 0x3FFF (16k byte) area, but will repeat after 0x2000... Same for 0x8000 to 0xBFFF.
The same happens with RAM. For the ZX81, the 1k RAM chip can be accessed at 0x4000, 0x4400, 0x4800, 0x4C00 etc.
The only difference with a TS1000 is that it has 2k bytes of RAM, so instead of the ZX81 1k RAM being present 32 times in the memory map, the TS1000 2k RAM is only present 16 times at 0x4000, 0x4800, 0x5000, 0x5800, etc.
You can prove this for yourself by using PEEK to examine the memory one byte at a time...
Memory expansions either ignore the ULA’s decoding and have their own memory decoding circuitry (e.g. 16k byte RAM packs and greater) or combine the ULA’s decoded output with their own circuitry.
Does your TS1000 work okay with other expansions? If so, can you list them please.
And I am assuming that you have cleaned and inspected the edge-connector on it...
One last try. If you fit RAM chips in only positions 3A and 3B, do you get the inverse K? And if you do, can you POKE numbers into this memory (0, 85, 170 and 255 are good numbers to try) at the relevant addresses and read back the same number with PRINT PEEK?
The only other thing that I can think of, is for you to ask someone else to test one of your boards.
Mark