8501 replacement for C16 Plus4: work in progress...

MCes

Member
Joined
Sep 30, 2013
Posts
977
Country
Italy
Region
Rome
A little board that can fit inside C16 and Plus4 into CPU socket...


It's based on a 65C02 (so it can't has the illegal opcodes).
It has the 8501 spec that are used in C16 Plus4:
1) the 7bit I/O
2) it can run @2MHz
3) it manage the GATE signal for R/W holding (prevent RAM corruption)
4) time spec respected from clock input line (slave CPU)
5) It don't need any ROM replacement and work also with 1541 and datassette, also with auto turbo...

For example a 6510 based solution don't meet the points before,
but a FPGA based solution could meet them and implement also the execution of the illegal opcodes

The prototype:
 
Last edited:
I wondered when someone would tackle the timebomb issue on all the C16s and +4s. Most excellent that you've decided to go for it!
 
this project is ready for be fitted into PLUS4 computer,
but I want to explore the possibility of a small upgrade into port management strategy:
now it corrupt data into RAM in $0000/$0001, it don't care because this address are covered by port registers.
It's true only for the PLUS4 that has 64K RAM,
but in C16 under the port registers the RAM locations $000/1 are reachable via their mirrors ($4000/1, $8000/1, $C000/1)
so I want to try an improvement of compatibility by preserving the integrity of RAM data under the port registers,
it may be not important, but I want to try!
 
Last edited:
I wondered when someone would tackle the timebomb issue on all the C16s and +4s. Most excellent that you've decided to go for it!

Don't worry. It is on my todo list. I am going to create an FPGA replacement for 8501. Just too busy at the moment with other stuffs.
While this board is really nice I don't like to lose the possibility of using illegal codes. A lots of games were crunched with routines using illegal opcodes. Probably instead of 6502C a normal 6502 could have been used, although I am not sure whether they can run on 2MHz.
 
I wondered when someone would tackle the timebomb issue on all the C16s and +4s. Most excellent that you've decided to go for it!

Don't worry. It is on my todo list. I am going to create an FPGA replacement for 8501. Just too busy at the moment with other stuffs.
While this board is really nice I don't like to lose the possibility of using illegal codes. A lots of games were crunched with routines using illegal opcodes. Probably instead of 6502C a normal 6502 could have been used, although I am not sure whether they can run on 2MHz.

It has been done:
https://www.sellmyretro.com/offer/details/mos--7501~~8501-cpu-replacement-for-c16~~116~~+4-30475
 
I wondered when someone would tackle the timebomb issue on all the C16s and +4s. Most excellent that you've decided to go for it!

Don't worry. It is on my todo list. I am going to create an FPGA replacement for 8501. Just too busy at the moment with other stuffs.
While this board is really nice I don't like to lose the possibility of using illegal codes. A lots of games were crunched with routines using illegal opcodes. Probably instead of 6502C a normal 6502 could have been used, although I am not sure whether they can run on 2MHz.

It has been done:
https://www.sellmyretro.com/offer/details/mos--7501~~8501-cpu-replacement-for-c16~~116~~+4-30475

The FPGA solution cost (more than 53€, 60$) is not cheap enough to be used by all owner of fried C16/PLUS4,
I'm trying to pull down the cost to 35€ (39$) that sound more good for who want to fix own C16/PLUS4.
(NOTE: the cost is pulled down to 29€!)

For a lot of people the no-execution of the illegal opcode is considered an acceptable limitation
(somebody offers a solution 6510-based that has serious HW incongruences, it need patched kernal (only PAL version available) and HW modify for using the tape unit and it's not compatible with sped loaders....)
 
Last edited:
ok: :thumbsup2:
I have a stable release that preserve the port registers mirror ram (can be useful only in C16...),
now it need some stress test ( a friend of mine can be the right guy to do it... ;) )
 
Last edited:
A friend of mine will start a "stress test" period with a lot of games/peripherals (old and new),
I suppose that he will start on weekend....
He will tell us if this project is stable as it seem to be.

Be tuned!
 
Good news: my friend tested it on C16 and on PLUS4 with cassette/floppy/self-turbo/presentations/ecc...
With original processor or with my replacement kit: the same behavior!

It's better than what i was hoping, because the absence of illegal op-code make it not 101% compatible (100% is LEGAL, 101% is ILLEGAL.... ;) )
but I'm happy that this absence make damage so limited to be not detected in stress-test!

The new CPU C-MOS technology make a gift: now my Commodore is absorbing 80mA less!
Less current, less heat inside computer, less temperature inside computer: other fragile chips inside the computer can having better life (PSU also...)

For thermal point see also: https://www.amibay.com/showthread.php?106641-PLUS4-(C16)-how-lowering-temperature-for-TED-CPU-chips
 
Last edited:
I found a demo that use the krill's loader and illegal opcodes,
the illegal opcode can't be compatible,
but I want to try to make my project compatible with krill loader....
 
Last edited:
Now I have in my hand the jiffydos for PAL, and it work with my project.

A "krill's loader" programmer was so kindle to make a little modify to eliminate 1 illegal opcode (ONE!!!)
and to give me a version of V166 demo with no illegal opcodes: it work!

Now I can suppose that CPLD design (that perform also the I/O port emulation) has no problem:
the only limit knowed (and not superable) is the not possibility to execute the illegal opcodes.

I just have to test it again with the new PCB I got and make it (finally) available.
 
Last edited:
ok,
now I have to prepare the announcement for the sale, the price of my 85MC01 will be:

29€+untracked shipping cost: PPal "FOR FRIENDS" (I can't be responsible for untracked shipping)
29€+tracked shipping cost + PPal fees: PPal "COMMERCIAL"
 
Last edited:
So I am in need of a CPU for my c16, and found your thread here. What exactly are you selling? PCB only or full package?
 
Some people want that own CPU could manage the illegal opcode for the best compatibility....
OK!

from the "85MC01" experience...... the "CPU4C16"!
a CPU replacement (specific for the C16 shape) that use a selected 6502 N-MOS core: it manage the illegal opcodes
cpuC16.JPG

Features:
A) normal sw N-MOS 6502 behaviour (as 8501, illegal opcode included)
B) The I/O bits are at right places: the self-turbo routines (loaders) will work
C) R/W line is put on 3state and HOLD as 8501 timings spec
D) TBC (Time Base Corrector) technique applied to help the CPU, also into the "worst case", for matching the correct bus timings
E) each 6502 that I use on it are selected for 2 specs: 1) it has to be an N-Mos, 2) it has to match to the specifics timings (more than 2MHz)

Remember that N-MOS 6502 chips are discontinued, often on market the sold chips are refurbished and relabelled with a label different to the old one:
chips marked as "6502" may not be N-Mos as it have to be, and vice versa (C-MOS, so no execution of the illegal opcode).
I found a chip labelled as "W65C02S" (10MHz C-MOS) that is a 1MHz N-MOS!!!!!

https://www.amibay.com/showthread.php?112514-8501-7501-CPU-substitute-specific-for-C16-(CPU4C16)

My personal C16:
new2C16.JPG

https://plus4world.powweb.com/forum/38827?fbclid=IwAR0_CVyOO4KjHJRIpl89QJsIw7c-uujlfePKxoI6PXv7ehp2pC7tgC41Le8


P_20200608_104916.jpg
 
Last edited:
Back
Top Bottom