◆ Accelerator

A2 OverDrive card (16Mhz accelerator card for APPLE ][,][+ //e)

이안김 2020. 10. 24. 20:50

Hi friends and customers,


I glad to introduce this new card.

A2Turbo  A2 OverDrive card is an accelerator for APPLE II

and it accerate your APPLE II CPU 1Mhz to 65C02 16Mhz.

It would be more fun device on your APPLE II.


I've tested many programs and mostly works.

It rarely failed to start a  program but, reboot make it OK.

(I am testing to find non-compatible program with it)


Card looks as under.

(It may be changed when it be revised)


It isn't the final board and I'm still thinking to add some more fun functions for  APPLE II enthuasists.


What this card can do now.

1) Accelerate Your APPLE II  and ][+ up to 16 times

It accerate all of your program.

Even your BASIC Program runs very fast and It would help to you to make game on BASIC.

Of cause, if you use BASIC compiler it would help to make run faster.

Anyway Your Assembly program also runs very fast.



It was the first testing.

Now A2Turbo works 16Mhz.


And run also FDD file games as below. (FDD access testing)


And DISK game (16KB HiRAM acceleration activated)



7.16Mhz Working





2) Accelerate Your APPLE //e with Double HGR up to 16 times

It accelerates your program even in AUX memory and Accelerates DHGR games.

No matter what your programs in APPLE II.


Works on HDD emulator and APPLE //e DHGR accelation.



And 16Mhz test.


3) IRQ and NMI generator

(** I do not allow to copy all or partial technical idea on your commercial products without my permission **)


What is this and use for what?


65C02 CPU provides two types of Interrupts. 

IRQ and NMI.

APPLE II main board doesn't use it.


A2Turbo provides programmable IRQ and NMI function.

User can set IRQ and NMI interval by uS unit.


With this, You can run another program while running.

Interrupts can do another task while running a program.

It intercept CPU processing power to make run another program.


User can define 1uS resolution for IRQ and NMI. (16bits IRQ, 16bits NMI)

It can be used a counter or timer while running.

Even simple time counting clock could be emulated.


I've tested it to make a sound you can even run a BASIC program while generating sound.

I wanted it so I put it into the accelerator.




4) More Memory?

Yes, I prepared two types of extra memories.

One 64KB Saturn card in it. I've tested it to use a virtual disk and works.

It provide multiple 16K RAM functions in APPLE ][ and //e

So no need language card on APPLE ][.

These 16KB blocks calling as Hi RAM and the user can switch the 16KB area to one of 4 banks as the Saturn 64KB card.

Anyway 16Banks are located in $Dxxx(1) $Dxxx(2), $Exxx ,$Fxxx on APPLE II.

448KB RAMWORKS Memory provided


APPLE //e has AUX slot and user could extend memory with it.

A2Turbo card has integrated AUX memory mapper and provided 448KB(RAMWORKS).



Even APPLE ][ could detect AUX memory and can use as under(it is old photo so 384KB but now 448KB)


5) Virtual Slot memory 

(** I do not allow to copy all or partial technical idea to your commercial products without my permission **)


What is Virtual Slot memory?

This is a unique my idea. I didn't see this function on another card.


APPLE ][.][+ and //e have slots and each slot consume some of memory location as CNxx and C0Nx

(CNxx is a ROM area and C0Nx and Device I/O area)

CNxx  is can say as below.

SLOT1: $C100-$C1FF

SLOT2; $C200-$C2FF

SLOT3; $C300-$C3FF

SLOT4; $C400-$C4FF

SLOT5; $C500-$C5FF

SLOT6; $C600-$C6FF

SLOT7; $C700-$C7FF

Those Address called ROM area and reserved for Slot ROM.

User can't use it for own purpose and it's fixed by ROM.

It is using for own device in slot for as ROM BIOS or Small I/O function etc..

And some function for APPLE //e.

It called as I/O Address.


I made it to work as RAM.

A2Turbo card can swap this External ROM area to RAM.

So user can use this area as general RAM for Write and Read.

(It doesn't erase your ROM in card)


It can be used for a BIOS for user-defined devices or patch area of present ROM code.

or just use as a more RAM area.


Also, $C800-$CFFD (2KB) can use as RAM.


To use this area, It just need proper define. It provided SLOT configuration to ON RAM or OFF for each slot.


It would be very useful if your program fulled with memory.

Or If your program switching Main to AUX but need more command data area which is need to access on Main and AUX.


Even small program can put into $C800-$CFFD 

Such as Interrupts handler would be a great because AUX or Main switching can't kill this area.


And if you want to update or patch the previous game program but no memory space for the program.

it would be useful area.


Unfortunatelly SLOT1 and SLOT2 can't use this RAM assignment. 

From C300~CFFF area can use for user purpose.


Now you can have more +3.25KB RAM in all your program.


6) DA output and APPLE II Speaker mixing

What is DA?

DA is Digital to Analogue.


I assigned a 8bits port for DIGITAL Output for real world.

Accelerator works very fast in Digital world. but, It want to say(?) somthing to us.

Now it has own port and can say(?) to you.


I added a simgple R2R DA cirtuit for Audio sound.

(Back side have resistors).

It is very a simple circuit and looks not so useful.


But, Watch this vide.


It can play WAV songs on my APPLE IIe.  ^^/

(8Khz WAV sample songs)


And more progressed,

11Khz WAV Sound file playing..


And more 22Khz WAV sound now!!


And more sampling frequency.

Maximum NMI generation is 31960.2Hz (every 32uS)

32Khz WAV plying would be fine with this cycle.

First time, it didn't work properly..

I reduced it for less delay while slot access.

And finally I could play 32Khz WAV file. 

Sound quality may be improved but, I don't feel much different between 22K with 32Khz.


Sound quality much improved 8K < 11K < 16K < 22K<32Khz

(But required more HDD Space and CPU power)


Speaker output pin prepared but, not yet physically connected.

It will intercept APPLE ][ ,//e speaker sound and will it to this DA output port.


It can play one 32MB HDD image 

69Mins on 8K WAV music ,

50Mins on 11K WAV music ,

34Mins on 16K WAV music,

25 Mins on 22K WAV music and

17.4Mins on 32K Wav music.


8K WAV wasn't good o my ear but, 11K WAV music is fine.


This is the status of A2Turbo card.


Those functions are working on a board(Not Disk Emulation included).

It is almost finished but, I'm doing for more..

And designing another revised board for more fun.

Board will be revised and that would be last test version then could release it.


Let's enjoy music which is palying on your old APPLE II.


Thanks a lot

Ian Kim


** And I uploaded several accelerator working videos on Youtube and other stuff.

You may find some more fun videos.

I'm not an English speaker hence I uploaded videos to show as "Seeing is Beliving!"

Anyway, enjoy the videos.




How did I program to play WAV file on APPLE II?



WAV file is simple wave sound data and isn't compressed data.

So, It was easy to handle by APPLE II.


To make sampling rates, It used an integrated NMI interval generator to generate sampling rates.

Interrupts handler sending data on time to DA port for sound.

Main program monitoring buffer and filling data from SD DISK II Plus at the same time.

It used a 12KB buffer(maybe can reduce this size).

Due to the power of NMI, it doesn't lose sampling sync.

So. no need for any clock counting to sync sound and It can read SD DISK II plus data while producing sound.

The program size is less than 1KB and works very efficiently and fast.

SD DISK II Plus is working busy and Accelerator also working nicely to play songs.

And CPU power still has left processing power so can increase sound sampling rates some more.

I think some hobbyists could try other fun things with this NMI/IRQ interval function.




No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document or by any conduct of  Ian Kim. Product names and markings noted herein may be trademarks of their respective owners.