There is no CPU that is better understood than the 6502 and its cousins the 6510, 6507, 6509, and whatever we’re calling the CPU in the NES. With this vast amount of documentation, just about anything can be done. Want a discrete and un-discreet 6502? Sure thing. It’s the NMOS version, though. Want an emulated version. Sure. With libraries porting the 6502 to every platform ever, there’s only one place left to go: putting a 6502 in a Commodore 64. Make it dual-core, too, so we can run CP/M.
This build is based on one of [telmomoya]’s earlier builds – a soft-core 6510 running on an ARM Cortex M3. The inspiration for this build came from a 6502 emulator running on an Arduino, which got [telmomoya] wondering what would happen if he attached some external RAM, CIA or a SID. Doing this on an Arduino is hard, but there are a few 5 Volt tolerant ARM chips out there, and with a few banks of SRAM, [tel] quickly had an emulated 6502 running EhBasic.
Running an emulated 6502 on an ARM chip is nothing new. What makes this build spectacular is the adaptation to the C64 motherboard. Since [telmomoya] was already breaking out the data and address lines to go to the SRAMs, it didn’t take much extra work to simply build an adapter for the DIP40 CPU socket on a C64. A few 74-series logic chips made the interface easy, and after a bit of soldering, [telmomoya] had a Commodore 64 powered by an ARM chip.
If you’re emulating one chip, you can emulate two, and with the Commodore 64, this leads to a few interesting possibilities. The C64 had a CP/M cartridge — a cartridge that contained a Z80 CPU, sharing the data and address bus with the 6510. This cartridge allowed the ‘toy computer’ C64 to run the ‘business’ CP/M operating system (and the Z80 made the Commodore 128 much cooler). Since [telmomoya] was already emulating a CPU, emulating a second CPU wasn’t really that hard.
It’s a phenomenal build, and great if you’ve ever wanted to speed up VisiCalc.
you can increase c64 speed? to 2x 3x 4 x?
Can we get REU too?
Now that’s a hack.
Well done!
Hack, hell it’s a brain transplant!
A clever, and well suited analogy.
+1
+1
We need more cool things like this. I don’t care if it means fewer articles a week, quality over quantity!
I think that the future for 8bit Turbo-CPUs and REUs is based on microprocessors, being more accesible, cheaper and more practical than ASIC or FPGA based ones.
This project was created as a proof of concept: software-based emulators can work in real-time and in-circuit. This new and unthinked use of a software emulator allows a reconfigurable system. A very easy to reconfigure system, as easy as write C code for instruction set modifications or new functiones implementations.
Now we know that a RasPi powering our 8bit systems only requeries a bit of glue-logic and C code.
Not dissimilar to the Vampire board for Amiga computers which use an FPGA to emulate an m68k chip:
http://www.majsta.com/
Except those aren’t for sale to mere mortals.
I haven’t tried, not owning a Amiga 600 – I do own the remains of an A1000 but would require much effort to get put back together – but they do seem to be available for sale: http://www.apollo-accelerators.com/ and http://www.kipper2k.com/accel600.html
i have been wanting to do this on retro for awhile now just didnt know enough to get it interfaced
we have a new fpga for amiga running 68060 softcore with extra goddies like sse mmx added
vampire 2(apollo-core)
sounds almost as good/fast as running amiga software in winuae on a 10 year old laptop, almost
where is the fun in that we could emulated all this the fun is seeing old hardware do things unthinkable
Just imagine the day this kind of thing will be done by AIs? This impressive feature will be just another answer to the question: “can you do it for me?”.
Are you high?
no, he’s just Jaden Smith
How about Apple 2?
But… But… You don’t have to even open C64 chassis to replace the CPU. All needed signals are available on the expansion port. If you need faster FPGA-based CPU in your C64, just get/build the Turbo Chameleon: http://wiki.icomp.de/wiki/Chameleon
Although the idea of putting Z80 in to run CP/M is cool – we need to add this core to TC64 :)
I tried running commodore with my arm but nothing happen, please help
You need a stronger arm
You need a leg too for the kickstart
Hi. I have a new video about the ARM powered C64 in Dual Core mode (6510 & Z80) playing a SID file. That is, while Z80 executes CP/M, 6510 executes irq-based SID player.
https://youtu.be/InNp8ddqElk
Nice ! I have one C=64 !
If they can use the C.H.I.P. it would be an inexpensive way to boost the C64 at a low cost. Check it out https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer
😀👍 Nice work!
Putting in a cpu from competitor Acorn has a certain perversity…