| |
Repose
Registered: Oct 2010 Posts: 222 |
Linux for C64
Yes, this is real. Requires REU.
https://github.com/onnokort/semu-c64 |
|
| |
Krill
Registered: Apr 2002 Posts: 2855 |
"The screenshots took VICE a couple hours in "warp mode" (activate it with Alt-W) to generate. So, as is, a real C64 should be able to boot Linux within a week or so."
I wonder how much a banked memory expansion rather than REU would shave off of the boot time. =) |
| |
Mr. SID
Registered: Jan 2003 Posts: 424 |
FWIW, this takes a bit more than 2 hours to boot to the shell prompt on a U64 with 48MHz turbo enabled.
So I'm sure it won't be weeks on a real C64, probably just about 4 days... |
| |
Repose
Registered: Oct 2010 Posts: 222 |
I'm sure this could be sped up dramatically, in fact it would be an excellent application of my mathlib. The REU access is unnecessarily slow, as it would require setting up a c64 and reu address then storing the command to transfer, all one byte at a time :( You could speed this up so many ways, such as transferring say 32 bytes to zero page then running an interpreter there, like some kind of first level cache.
I don't think this needs to be seen as unpractical and ridiculous. I'm keen to write the RISC emulator in assembly. I've been doing similar work already - I wrote the TI Emulator. TI Emul for the C64
static uint32_t op_mul(uint32_t insn, uint32_t a, uint32_t b)
{
/* TODO: Test ifunc7 zeros */
switch (decode_func3(insn)) {
case 0b000: /* MUL */
return a * b;
I'm sure this is using a lot of CPU time, with all the addressing and pointer arithmetic in C... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11151 |
Quote:I don't think this needs to be seen as unpractical and ridiculous. I'm keen to write the RISC emulator in assembly.
You'll spend a year or two on making the thing twice as fast - go for it! |
| |
Repose
Registered: Oct 2010 Posts: 222 |
Quote: Quote:I don't think this needs to be seen as unpractical and ridiculous. I'm keen to write the RISC emulator in assembly.
You'll spend a year or two on making the thing twice as fast - go for it!
A Micro-VM might be the answer:
https://www.theregister.com/2023/08/29/freebsd_boots_in_25ms/ |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
DO IT!! |
| |
Krill
Registered: Apr 2002 Posts: 2855 |
Quoting ReposeA Micro-VM might be the answer "Micro-VM" appears to be just a newfangled fancy term for the not so new concept of para-virtualisation.
But what would this mean on a C-64? Calling native functions for I/O? What else? Doesn't seem to promise much of a speed-up. |
| |
wil
Registered: Jan 2019 Posts: 46 |
Incredible work with the Linux port via the RISC emulator approach on the C64. But when it comes to UNIX-like OSs for the C64, I prefer LUnix Next Generation:
https://lng.sourceforge.net/
It runs on a stock C64 and boots in less than 2 minutes. It is not a Linux, though. |
| |
Repose
Registered: Oct 2010 Posts: 222 |
There is also ACE.
http://csbruce.com/cbm/ace/
WINGS for SuperCPU
http://www.symbos.de/mirrors/wings.webhop.org/index.html
C64OS (pay)
https://c64os.com/
The open-sourced GEOS
https://www.pagetable.com/?p=869
Wheels upgrade to GEOS
https://commodore.software/downloads/download/436-geos-upgrades..
A few other ones are here:
https://www.c64-wiki.com/wiki/Operating_System |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
I wonder who could code the fastest risc-v (with ima extensions) emulator for 6502/c64 ... Who could have the fastest linux boot wr on the c64..? |