Re: Theorizing about hack / mod / expansion of a C64 motherboard.

From: Justin <shadow_at_darksideresearch.com>
Date: Thu, 30 Jul 2020 13:58:12 -0500
Message-Id: <32823FF2-9D78-4157-95B5-CBB6FE895E2E_at_darksideresearch.com>
Ok so to put what I meant in perspective there, what I meant is that at 48x normal speed, using say the word processor in GEOS and similar productivity software for modest spreadsheets would be fine.  40 column might not be great for that, but many of us used it that way back when wearing an onion on your belt was the style of the time - at a tiny fraction of the speed the C64 ultimate can run.  Bank switching the RAM for larger documents etc that would’ve been painful at the time would now be acceptable.  You just really wouldn’t get great 80 column WYSIWYG unless you gave the C64U’s VIC a real 80 column mode.

Likewise at that speed, GEOS should have no problem hosting an email client.  If you could offload TLS and the TCP stack (which it sort of already does) then you might even be able to create an interface for Teams or Slack that would call API’s like bot plugins to implement your interface (like ones you can use now that push from Github for a code check in etc).  Of course you could also just have a terminal session open to another host for email instead.

Obviously GEOS has some task switching capabilities but assuming a universe where people cared enough, you could do some interesting things by using some extra logic on the C64U’s FPGA to store duplicate registers and implement poor man’s hyperthreading.  One way would be to modify GEOS to make It aware of having multiple C64’s and have everything work within the same user context - that was sort of what I meant by an environment in which you accepted you did not have a hardware MMU.

Another approach would be to have the C64 Ultimate itself run multiple C64 instances at once without them being aware. If the FPGA could maintain 1+n sets of registers for the simulated hardware (CPU, VIC, etc) then you could have implement an equivalent of Alt/Windows/Command-tab to make the C64U switch between which virtual C64 (basically, a register and RAM set) was currently actually connected to the display output by having the application processor in the C64U sniff the keyboard.  Even if it the effective clock of your 48Mhz C64 halved to keep it running a second (or three or four for additional clock division penalties) headless C64 you’d still have the equivalent of a tremendously responsive multitasking GEOS environment.  Have them both mount a RAM disk that was mirrored between the two C64 instances and it would be that much cooler.

Justin

> On Jul 30, 2020, at 13:05, smf <smf_at_null.net> wrote:
> 
> I think you might want to try that before you commit to anything.
> 
> I believe the current record for an fpga based 6502 accelerator is
> 48mhz, held by Ultimate 64.
> 
> It's pretty good, but I wouldn't say that it could cope with "modern
> workloads"
> 
> A stand alone system would be much simpler to implement on an fpga, you
> could split it out to hook up to the motherboard sockets later.
> 
> Although I'm not sure I get what the point is of reusing a c64
> motherboard is.
> 
> On 29/07/2020 16:31, Justin wrote:
>> I think multi-core with MMU would be really interesting since then you could use GEOS for some modern workloads.
> 
Received on 2020-07-30 21:00:45

Archive generated by hypermail 2.3.0.