social.linux.pizza is one of the many independent Mastodon servers you can use to participate in the fediverse.
A instance dedicated - but not limited - to people with an interest in the GNU+Linux ecosystem and/or general tech. Sysadmins to enthusiasts, creators to movielovers - Welcome!

Administered by:

Server stats:

1.3K
active users

ytm

Just published Teensy64 firmware for Teensy 4.1 working as a drop-in 6510 replacement for C64 github.com/ytmytm/teensy64

In the fastest mode (none of memory accesses are passed to C64 bus) it's over 40x faster than a stock C64, twice the SCPU speed. This works somewhat like Amiga's fast/slow RAM. You need to write back data in synchronized mode to make it visible to VIC. But you don't need it always (e.g. after prg decrunching).

youtube.com/watch?v=dn2THEtvaW

vs

youtube.com/watch?v=Ob-UH81fgm

GitHubGitHub - ytmytm/teensy64: Teensy 4.1 as a drop-in replacement for C64 CPU - MOS 6510 with additional featuresTeensy 4.1 as a drop-in replacement for C64 CPU - MOS 6510 with additional features - GitHub - ytmytm/teensy64: Teensy 4.1 as a drop-in replacement for C64 CPU - MOS 6510 with additional features

@ytm Makes me wonder what would happen if you took a C64 and sped everything up so it would work with a 4K resolution instead. But keep the rest the same. Well upped address space/memory etc. :)

Mostly just a thought experiment, don’t think it would be useful:)

This on the other hand sounds really neat!

@breadbin @ytm Hypothetically, something like this could be used, in combination with copying the ROMs to on-chip RAM and some clever code, to bank out everything but RAM, and give it all to the VIC-II, only using the 1MHz bus to write to what amounts to 64KB of VRAM.

@mos_8502 That's how it mostly works right now. For simplicity Kernal and BASIC ROMs are stored in Teensy's flash, together with a simple 8k cartridge ROM that you can switch in/out.
In the fastest mode Teensy touches C64 bus only when emulated CPU does I/O write.
There is also a middle ground (~3.4x speedup) when all writes go to the bus.
Another thing that came to my mind are x86 MTRR registers - we might fine tune this and define which memory ranges are synchronized.

@breadbin
I listed my pipe dreams at the bottom of README in that repository :) multiple expansions, mulitple CPU cores. There is plenty of space in 8MBs of Teensy flash.

But you gave me an idea - what if I would replace onboard DRAM with fast SRAM: how much data I could push from Teensy to onboard RAM (for VIC) within 500ns of each CPU clock phase before VIC takes over.

@ytm I think it’s so cool that people are creating these things. There’s a spirit of wonder than newer hardware simply don’t have (but it has other things).

Never stop:)