MCL65+ 6502 Drop-In CPU Accelerator for Apple II

12 posts / 0 new
Last post
Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
MCL65+ 6502 Drop-In CPU Accelerator for Apple II

Hi,

 

I thought I would share one of my recent projects, the MCL65+,  which is a drop-in 6502 CPU replacement board which can run either cycle accurate or in an accelerated mode. It uses a Teensy 4.1 microcontrtoller board which is similar to an Arduino, except much faster (600Mhz).

 

The MCL65+ PCB contains the Teensy and the required voltage-level buffers using through-hole logic to make it inexpensive and easy to produce.

 

I was able to use the MCL65+ successfully in a VIC-20 and an Apple II+.  In both cases I was able to run a number of applications in both cycle accurate mode, and an accelertated mode which appears to be more than 10X faster than the original 1Mhz 6502!

 

All of the design files are open-sourced and on GitHub:  GitHub Source Code Link

There are a number of picures and videos of the MCL65+ on my WordPress website:  WordPress Blog Link

 

I have a number of spare PCB's available if anyone is interested in trying this out and experiencing the World's Fastest VIC-20 and Apple II+ machines!  :) :)

 

Thanks,

-Ted

Offline
Last seen: 6 months 2 weeks ago
Joined: Aug 18 2017 - 16:53
Posts: 164
Hi,a very nice project. But

Hi,

a very nice project. But this is not the fastest Apple II. In 1987 I bought my accelerator board from Schaetzle&Bsteh in West-Germany which ran a 65C02 at 12,5MHz including 144kB fast RAM for emulating a IIe. In 1987! Some years ago we got another 16MHz board.

Regards

Ralf

 

Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
Cool

Cool.   I'm not cerain this is the world's fastest Apple II+; however the superscalar microcontroller is running at 600Mhz+ with everything but the video RAM running from internal memory. :)

Offline
Last seen: 2 years 5 months ago
Joined: Mar 31 2020 - 19:55
Posts: 848
I would be interested in four

I would be interested in four, perhaps more. What 6502 instruction sets do you emulate as options? I'd love to see 65C02 and 65C802 as options!

 

Do you have a speed disable feature built in? I suppose I need to read the docs. 

 

 

Offline
Last seen: 2 years 5 months ago
Joined: Mar 31 2020 - 19:55
Posts: 848
RalfK wrote:Hi,a very nice
RalfK wrote:

Hi,

a very nice project. But this is not the fastest Apple II. In 1987 I bought my accelerator board from Schaetzle&Bsteh in West-Germany which ran a 65C02 at 12,5MHz including 144kB fast RAM for emulating a IIe. In 1987! Some years ago we got another 16MHz board.

Regards

Ralf

The fastest to date is either 16 or 18MHz, but those are cards, not socketed CPU replacements. The fastest socketed CPU direct replacement was the ZIP-8, at 8MHz, AFAIR. In theory, this design could in the future be expanded with a faster core to crush any of those, too.

 

The main two factors are whether it has a good inst set implementation, and whether it is easy to set the speed pre-boot. Clearly, a lot of software that would benefit from this would need full 65C02; itd be nice to support 65C802 for the 16b regs, and all of that; but I would enjoy this in my ][+ to play chess engines and strategy games.

Offline
Last seen: 2 years 5 months ago
Joined: Mar 31 2020 - 19:55
Posts: 848
Looking at the blog, this

Looking at the blog, this seems to clearly block slots 3, 4 and 5. Is there any feasible way to lower its profile to avoid that, as those are rather important slots, such as extending the header card out to hover over the RAM banks?

 

Right now, you basically cannot have both this, and an 80 column video card at the same time, nor a Z80 card. 

 

I might have a look at them KiCAD files and see if I can stretch it to fit in a suitably appropriate spot, and add space for little feet to keep it balanced.

Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
Answers

Hi,

Good questions.  Here are some answers:

- It currently supports the 6502 instruction set but could easily be adapted to the 65C02. It is written in simple C code, so could be adapted to practically anything!

- There is no physical acceleration enable/disable pin at the moment; but I thought one potential solution could be a soft-switch. Maybe a series of keystrokes is detected or some memory address is accessed to enable/disable acceleration or other features.  Snooping things like this would be very easy with an emulated processor.

- Yes the MCL65+ board is currently a little tall, so perhaps a 40-pin ribbon cable extender could be used, or as you said the board could be laid out with the components further away from the slots.  Because it is all through-hole, the PCB cost $5 for ten boards; so respinning would be cheap!

- Because there is 1MB of RAM in the microcontroller, the language card and RAM on the motherboad or expansion slots should be unnecessay -- except for the video memory range which I currently have set as write-through to physical DRAM. 

- One other note is that when using the RAM inside the microcontroller it could not support perupherals which DMA to memory.

 

Thanks,

-Ted

dorkbert's picture
Offline
Last seen: 2 hours 23 min ago
Joined: Apr 12 2009 - 16:33
Posts: 370
Isit DMA compatible?

Isit DMA compatible?

Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
DMA compatible

Yes and no.   If you do not host the DMA memory ranges inside of the microcontroller then a peripheral's DMA would work.  But if all memory is inside of the microcontroller then the physical memory updated by the periupheral's DMA would not be seen by the MCL65+. It is up to you what address ranges are hosted inside of the CPU.   You can support any combination of zero-page, video range (write-through), ROMS, and all, some, or none of the rest of the DRAM.  You could even support memory paging so you could have up to 1MB of RAM. It's an emulated 6502, so you can implement practically anything you wish!

Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
I made a short video on some

I made a short video on some of the MCL65+ acceleration modes which you might enjoy: YouTube Link

 

There aren't many applications/games which can handle this much acceleration. I found that we get about a 20% performance boost and the disk drive works when just the ZeroPage is accelerated; but when other memory address ranges are also accelerated it becomes too fast for the disk drive or the application to work.  BASIC always seems to work with full acceleration...  

 

-Ted

Offline
Last seen: 11 months 4 weeks ago
Joined: Feb 14 2021 - 19:22
Posts: 31
Hi,I listed the MCL65+ bare

Hi,I listed the MCL65+ bare boards on Ebay for anyone who wants to own one. Assembly required, however its only $5!

https://www.ebay.com/itm/154425026770

Thanks-Ted Fried

dorkbert's picture
Offline
Last seen: 2 hours 23 min ago
Joined: Apr 12 2009 - 16:33
Posts: 370
well, that was fast...

well, that was fast...

Log in or register to post comments