IIRC Addison's sold C16 keyboard mechanisms back in the day when they weren't a Dollarama.
The C16 - a Ferrari with no tires ?
- Gyro Gearloose
- Member
- Posts: 471
- Joined: Sun Nov 15, 2015 5:20 am
- Contact:
Re: The C16 - a Ferrari with no tires ?
The price one pays for pursuing any profession, or calling, is an intimate knowledge of its ugly side.
Re: The C16 - a Ferrari with no tires ?
What category does a 'store' fit in when they sell 30 y.o. electromechanical parts in worn out beer bottle crates ?
Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires. -John Steinbeck
- Gyro Gearloose
- Member
- Posts: 471
- Joined: Sun Nov 15, 2015 5:20 am
- Contact:
Re: The C16 - a Ferrari with no tires ?
"fun"
The price one pays for pursuing any profession, or calling, is an intimate knowledge of its ugly side.
- Gyro Gearloose
- Member
- Posts: 471
- Joined: Sun Nov 15, 2015 5:20 am
- Contact:
Re: The C16 - a Ferrari with no tires ?
An odd thing I noticed is that C16s are more expensive that plus/4s on eBay...
The price one pays for pursuing any profession, or calling, is an intimate knowledge of its ugly side.
Re: The C16 - a Ferrari with no tires ?
Well, I did my part for the C16 with the Saruman-TED 64k expansion.
There are many nice software which will work only on a Plus/4 or C16 with expansion nowadays. I was browsing through Psytronik's stuff yesterday.
Look at this guy which is available for free... https://psytronik.itch.io/slipstream
There are many nice software which will work only on a Plus/4 or C16 with expansion nowadays. I was browsing through Psytronik's stuff yesterday.
Look at this guy which is available for free... https://psytronik.itch.io/slipstream
Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires. -John Steinbeck
Re: The C16 - a Ferrari with no tires ?
There is something incredibly fishy about the way TED machines access RAM and it causes weird problems.
Here is a (translated) copy of an e-mail I have sent to another engineer...
The CPU has the bus when CLK is HIGH and the TED has the bus when CLK is LOW. The problem arises at the end of the CPU access to the DRAM so CLK = 1 and CAS = 0.
1. Access to RAM is confirmed only when CAS = 0 because RAS = 0 means either the low addresses are on the bus or a row # to refresh for the DRAM refresh cycle. RAS = 0 becomes irrelevant for static RAM that is connected to the non-multiplexed address bus.
2. When the TED has the BUS it only makes READs so if CLK = 0 then it is absolutely necessary that R/!W = 1.
3. When the CPU has the BUS, it can do READ or WRITE but because of the way the DRAM is handled in this machine, during a WRITE, CAS and R/!W line stay LOW after CLK goes from 1 to 0. So, then, there is a condition that is normally impossible; CAS = 0 and CLK = 0 and R /!W = 0 This condition is equivalent to doing a WRITE when the TED has the bus.
4. At that instant, address lines A0-A7 start to change because refresh cycles arrive 200ns later. The DRAM is not affected because of its multiplexed bus that 'latches' the low address lines at the beginning of the DRAM access cycle. On the other hand the static RAM, especially if it is fast, will see this change of addresses and start writing the data it reads on the data bus to this new address which is a mixture (A0-7) of the row to be refreshed at the next RAS = 0 and the still valid addresses present on A8 to A15.
So, the truth table for the !CS of the static RAM according to the CAS, CLK and R/!W entries should be as follows:
I will include a few scope captures to make this more clear. Presently, on SaRuMan-TED, the solution to this problem is to have a falling edge detector between the CLK signal from the TED and the CE2 input on the SRAM IC. Upon every falling edge of CLK, CE2 receives a low pulse of 200ns which terminates access to the SRAM whether the ending CPU half cycle was a READ or WRITE.
It's truly as if the people who designed this machine purposely made it very complicated to add memory. Adding DRAM can almost only be done by making mods on the board even when using a cartridge. Using SRAM requires needlessly complicated timing tricks.
Here is a (translated) copy of an e-mail I have sent to another engineer...
The CPU has the bus when CLK is HIGH and the TED has the bus when CLK is LOW. The problem arises at the end of the CPU access to the DRAM so CLK = 1 and CAS = 0.
1. Access to RAM is confirmed only when CAS = 0 because RAS = 0 means either the low addresses are on the bus or a row # to refresh for the DRAM refresh cycle. RAS = 0 becomes irrelevant for static RAM that is connected to the non-multiplexed address bus.
2. When the TED has the BUS it only makes READs so if CLK = 0 then it is absolutely necessary that R/!W = 1.
3. When the CPU has the BUS, it can do READ or WRITE but because of the way the DRAM is handled in this machine, during a WRITE, CAS and R/!W line stay LOW after CLK goes from 1 to 0. So, then, there is a condition that is normally impossible; CAS = 0 and CLK = 0 and R /!W = 0 This condition is equivalent to doing a WRITE when the TED has the bus.
4. At that instant, address lines A0-A7 start to change because refresh cycles arrive 200ns later. The DRAM is not affected because of its multiplexed bus that 'latches' the low address lines at the beginning of the DRAM access cycle. On the other hand the static RAM, especially if it is fast, will see this change of addresses and start writing the data it reads on the data bus to this new address which is a mixture (A0-7) of the row to be refreshed at the next RAS = 0 and the still valid addresses present on A8 to A15.
So, the truth table for the !CS of the static RAM according to the CAS, CLK and R/!W entries should be as follows:
Code: Select all
CAS | CLK |R/!W | !CS
----+-----+-----+----
1 | X | X | 1 <- CAS is high so no access no matter the values of CLK and R/!W
0 | 1 | 1 | 0 <- CAS confirms CPU READ RAM access
0 | 1 | 0 | 0 <- CAS confirms CPU WRITE RAM access - It is in the few ns following this condition that there is a bug
0 | 0 | 1 | 0 <- CAS confirms TED READ RAM access
0 | 0 | 0 | 1 <- CAS confirms TED WRITE RAM access which is impossible - this 'anomaly' lasts 90ns after every CPU writes.
It's truly as if the people who designed this machine purposely made it very complicated to add memory. Adding DRAM can almost only be done by making mods on the board even when using a cartridge. Using SRAM requires needlessly complicated timing tricks.
Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires. -John Steinbeck
Re: The C16 - a Ferrari with no tires ?
The absolute Whiskey Tango Foxtrot moment...
What you see above is CAS going low to confirm an access to RAM by the CPU but it is still low when CLK goes low to signal it's time for the TED to have control of the bus. Worst, R/!W stays low too even longer when the TED can NEVER write to memory. A genuinely stupid way of working.
What you see above is CAS going low to confirm an access to RAM by the CPU but it is still low when CLK goes low to signal it's time for the TED to have control of the bus. Worst, R/!W stays low too even longer when the TED can NEVER write to memory. A genuinely stupid way of working.
Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires. -John Steinbeck
Re: The C16 - a Ferrari with no tires ?
Eslapion, If you need any c-16/Plus4 software, Contact me. I think that I may have almost the conplete software catalog of it...
Thanks,
Tony K.
Commodore Collector/Restorer
Melbourne. Florida
Thanks,
Tony K.
Commodore Collector/Restorer
Melbourne. Florida
Re: The C16 - a Ferrari with no tires ?
Bil Herd and his engineering team designed the 264 Series of TED computers as well as the c128....c16,c116,c264 (Plus+4) and c364... so any questions you have should be directed towards him at the c128.com website (Bil's website). I'm sure that he'd be more than happy to try and answer them as he is an actual engineer at heart. You can post his responses here..
Thanks,
Tony K.
Commodore Collector/Restorer
Melbourne. Florida
Thanks,
Tony K.
Commodore Collector/Restorer
Melbourne. Florida
Re: The C16 - a Ferrari with no tires ?
I don't have much question really. I guess the way they did it at the time seems bizarre because the TED has a non-multiplexed bus so it seems built for static RAM but the architecture was less expensive to build at the time using DRAM so they added external multiplexers.
That was the least expensive and fastest way to design these machines at the time. Today DRAM is almost impossible to find and static RAM costs peanuts. This specific delay on the R/W line therefore becomes an issue that can be dealt with the addition of a simple single gate logic chip.
That was the least expensive and fastest way to design these machines at the time. Today DRAM is almost impossible to find and static RAM costs peanuts. This specific delay on the R/W line therefore becomes an issue that can be dealt with the addition of a simple single gate logic chip.
Socialism never took root in America because the poor see themselves not as an exploited proletariat but as temporarily embarrassed millionaires. -John Steinbeck
Who is online
Users browsing this forum: No registered users and 3 guests