• Please review our updated Terms and Rules here

Need PCOS for M20

Hi Tpaxia
How do you mix 16K and 64k chips. I thought the only way was to switch from 16K to 64K on all motherboard and expansion cards. It is not just a way to fiddle with the ROM, the 64K requires a different refresh addressing, using the jumpers and such on the motherboard.
I did have to make a jumper wire for the address on a modified 32K memory card, making it a 128K card.
Dwight
Well, on the expansion through the regular bus I am using static rams, so I just provide a different mapping prom through a PLD.

On the 128K card (memory BUS) I am just using 64kx4 DRAMs to reduce the chip count. These should be identical to the the
64kx1 on the original 128K expansion boards.

I didn't try them yet on my M20, I am waiting for some components which I should get next week. I'll let you know if both expansions work...
 
Well, on the expansion through the regular bus I am using static rams, so I just provide a different mapping prom through a PLD.

On the 128K card (memory BUS) I am just using 64kx4 DRAMs to reduce the chip count. These should be identical to the the
64kx1 on the original 128K expansion boards.

I didn't try them yet on my M20, I am waiting for some components which I should get next week. I'll let you know if both expansions work...
My point was that if the mother board was setup for 16K DRAM chips, it won't generate the needed refresh for 64K DRAMs. There are jumpers and switches that need to be reconfigured on the mother board to put the right refresh addresses on the right wires.
There is no issue with using static RAM though. One can figure out the memory mapping through the ROM chip. The system can be max'd out to 512K ( you can't get the 1Meg that the CPU is capable of because of the way the OS double maps parts of memory as data or instruction ).
Dwight
 
Just in case someone needs i made two archives from the torrent floating around, with almost all software available in internet for M20
One archive is for using in MAME and tools like WRM20, the other to copy files in GOTEK. Both archives have all the img FIXED with good Sector 0 so they are all working (well somenone does not work, for example Enterprise adventure doesn't boot...boh...). Thanks to tpaxia for some py script, i only made it recursive and fixing sector 0 in trivial way.


https://www.mediafire.com/file/pdhinigoxmqi3js/IMMAGINI_TORRENT_FIXED_SEC0_OK_MAME.ZIP/file

https://www.mediafire.com/file/fclcp8xs31kn34i/immagini_OK_GOTEK.zip/file
 
My point was that if the mother board was setup for 16K DRAM chips, it won't generate the needed refresh for 64K DRAMs. There are jumpers and switches that need to be reconfigured on the mother board to put the right refresh addresses on the right wires.
There is no issue with using static RAM though. One can figure out the memory mapping through the ROM chip. The system can be max'd out to 512K ( you can't get the 1Meg that the CPU is capable of because of the way the OS double maps parts of memory as data or instruction ).
Dwight
You are right! But I have never seen a motherboard itself with 16K DRAMS. Mine has 4164s and all the other pictures of motherboards I have seen have 4164s. Here is the 128K expansion board I built with 41464s...

128KbExpansion.jpeg
BTW, regarding the max memory. I am doing some experiments: if you disconnect the SEGV signal on the higher segments (and change the bios) you can definitely support the additional 7Mb, at least on the expansion bus. I have to disassemble more PCOS to add the additional memory blocks though, but in theory it's possible.
 
You have to be careful. Some of the segments are used the to have code protection. When the data is read from the disk, it uses a different segment to execute from. I know basic does this. The higher memory is usually only mapped once so there isn't as much of an issue. Still, you can never reach the full 1 Meg because of the lower address usage by the OS.
When I wrote some assembly code to get my hard disk initialized and working, I used the same segments for for instruction and data. It was less confusing.
Dwight
 
You have to be careful. Some of the segments are used the to have code protection. When the data is read from the disk, it uses a different segment to execute from. I know basic does this. The higher memory is usually only mapped once so there isn't as much of an issue. Still, you can never reach the full 1 Meg because of the lower address usage by the OS.
When I wrote some assembly code to get my hard disk initialized and working, I used the same segments for for instruction and data. It was less confusing.
Dwight
Yes, but I am talking about segments 16-127. Segment lines SN4-SN6 are fed directly into SEGT so they are not used at all in the M20 software. Unless you disconnect the SEGT line you can’t use them. The SEGT line is also not used at all for segments 0-15…
By disconnecting SEGT you can access the additional memory above 1mb
 
Back
Top