Ultimate 64 Turbo Mode

Feel free to talk about any other retro stuff here including Commodore, Sinclair, Atari, Amstrad, Apple... the list goes on!
Post Reply
TomXP411
Posts: 1747
Joined: Tue May 19, 2020 8:49 pm

Ultimate 64 Turbo Mode

Post by TomXP411 »


Last June, Gideon, the maker of the Ultimate 64 motherboard, released a firmware update with this little line item:


  • Turbo Mode... The 6510 CPU can now be run faster than 1 MHz.


So I immediately downloaded and installed the new firmware. It turns out that Gideon implemented a 48 MHz mode in the CPU. The way it works is that the CPU and memory work at 48MHz, but the rest of the system runs at the usual 1MHz. So I tested this by running some benchmarks, and BASIC programs do indeed run 48x faster than on a stock 64. 

So how can we use turbo mode in our programs?

As it turns out, there are two legacy methods of turning up the CPU speed on CPU accelerators. The Super CPU by AMD and the Commodore 128 2MHz mode have different methods of speeding up the CPU: https://1541u-documentation.readthedocs.io/en/latest/config/turbo_mode.html#turbo-control-registers


  • In "Turbo Enable Bit" mode, you can write to 53296 (decimal) or $D030 (hex) to enable the turbo mode, at whichever speed is set in the menu. Bit 0 turns turbo on and off. 


  • in "Super CPU" mode, three registers are used: 


    • Writing (any value) to 53370/$D07A sets 1Mhz. 


    • Writing to 53371/$D07B sets 20MHz 


    • 53436/$D0BC is the read-only SuperCPU detect flag. 




  • In "U64 Turbo Control" mode, you write to 53297 or $D031 with the values 0-15. 0 sets the CPU to 1Mhz, 15 sets 48MHz mode, and the other values set the speed based on a table with progressively larger intervals.


I'm not sure how the I/O is slowed down for things like disk and cartridge access. I assume the CPU is being slowed to 1MHz for disk access and interrupts, then goes back to high speed for internal processes. After having a long discussion about this on Lemon64, I have come to the conclusion that anyone writing accelerated code should explicitly switch back to 1MHz mode before accessing I/O, due to the way a lot of programs and processes handle I/O timing. 

 

 

TomXP411
Posts: 1747
Joined: Tue May 19, 2020 8:49 pm

Ultimate 64 Turbo Mode

Post by TomXP411 »


And another new feature: The Ultimate Command Interface can now be used to fast-load data and programs from USB. 

It's super-fast. Like "blink and you'll miss it" fast. 

After rebooting, you should see the new title screen. If you do, try using $ to view the directory on the IEC device.

You can browse to a disk image and then press F5 and set the Virtual IEC drive to that directory. 

Once you've done that, disk access on the virtual IEC drive will be basically instantaneous. 

Make sure to read Scott's post on FB (the link above) and watch the video to understand how it works. 

John Chow Seymour
Posts: 143
Joined: Sun Jul 05, 2020 3:27 pm

Ultimate 64 Turbo Mode

Post by John Chow Seymour »


I wonder how the faster CPU speed affects the use of the SoftSIDs. 

I have not done any work with SoftSIDs or with a SwinSID - I've only ever worked with the original SID in my C64 -- so, 1MHz.  The SwinSID page at C64-Wiki says it can be clocked at up wo 32MHz, but with only a historical C64 to plug one into, I couldn't experiment with running one that fast even if I bought one.

I can't seem to find out any information online about the possibilities of running SID clones at fast clock speeds.  It seems like it would open up new possibilities... maybe I'll have to buy an Ultimate C64 and just do some experiments myself.  But that would take money out of my X16 fund!

When you write about needing to drop back down to 1MHz for I/O, surely that doesn't include audio and video I/O, right?  I mean, can you only ever accelerate for offscreen calculation?

Ffin72
Posts: 45
Joined: Wed Aug 19, 2020 3:38 pm

Ultimate 64 Turbo Mode

Post by Ffin72 »



8 hours ago, John Chow Seymour said:




I mean, can you only ever accelerate for offscreen calculation?



The Turbo Chamelon 64 offers a turbo mode, I do remember a post on Lemon64 where someone had patched a strategy game to speed up the computer's "thinking time" and disabled turbo mode when control was returned to the player.

Post Reply