Very cool project! I've been getting more and more interested in "bare metal" projects, and one day am just going to dive right in. There's something weirdly unsatisfying about building a Raspberry Pi appliance that boots to Linux just to do a Thing, when it could just boot to the Thing.
Bare Metal Emulation on the Raspberry Pi – Commodore 64
51–60 of 69 posts
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#52In a similar vein for those looking for more: ZX Spectrum https://zxmini.speccy.org/en/index.html Gameboy https://github.com/angeris/CS107E-GB-Emulator 8086 / 80186 https://github.com/jhhoward/Faux86 Dragon32 https://github.com/eyalabraham/Dragon32-RPi-Bare-Metal Those are all I know. :) I dream of a bare metal Amiga!
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#53There is a back and forth in the YT comments where one commenter insists that Linux OS is still running under the hood… So the Linux OS never boots, correct? It’s booting directly from the c64 bin so to speak? Feels very Justine Tunneyish almost..
> Feels very Justine Tunneyish almost.. I'm not sure I get this reference
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#54Does it use a bare metal API like Circle? Are there other APIs like this for other platforms? Or you can use a bare metal compiling environment like Zig or Cosmopolitan?
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#55The 'bare metal' part is interesting, but I'd assume dealing with things like video or audio directly on the HW, especially in modern hardware is a PITA A very bare-bones linux or BSD should add minimum overhead and make things much easier
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#56Earlier quoted context omitted.
> There's something weirdly unsatisfying about building a Raspberry Pi appliance that boots to Linux just to do a Thing, when it could just boot to the Thing. Well, I think here the distinction between Linux the kernel and Linux the OS (may RMS forgive me) is important. I agree that booting a Linux OS to run a single application seems overkill and adds little other than maintenance burden and boot time. The Linux ker…
If you were to do it all from scratch I could agree, but there are projects to allow baremetal code to interact with the different hardware on the Pi (works on a bunch of different models.) https://github.com/rsta2/circle
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#57In a similar vein for those looking for more: ZX Spectrum https://zxmini.speccy.org/en/index.html Gameboy https://github.com/angeris/CS107E-GB-Emulator 8086 / 80186 https://github.com/jhhoward/Faux86 Dragon32 https://github.com/eyalabraham/Dragon32-RPi-Bare-Metal Those are all I know. :) I dream of a bare metal Amiga!
No love for TI or trash 80?
But you know what, do a bare-metal Pi emulation of the Geneve 9640, which is what the TI99 could and should have grown up into, and I will start paying attention.
https://www.old-computers.com/museum/computer.asp?st=1&c=120...
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#58Very cool project! I've been getting more and more interested in "bare metal" projects, and one day am just going to dive right in. There's something weirdly unsatisfying about building a Raspberry Pi appliance that boots to Linux just to do a Thing, when it could just boot to the Thing.
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#59Earlier quoted context omitted.
With a 1982 commodore 64, a tight polling loop could detect a button press within 7 microseconds of its occurence. An onscreen change could be displayed with another 5 microseconds (more if the display happened to be in horizontal or vertical refresh at the event time, but still.) Can any modern system give such tight IO timing?
> With a 1982 commodore 64, a tight polling loop could detect a button press within 7 microseconds of its occurence. Now if they just would have made multiprocessor C64s so that one could have been dedicated to that tight loop ...
Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64
#60Earlier quoted context omitted.
That is pretty friggin awesome. And even more awesome that you can just copy over whatever d64s to the image that I assume are easily accessible in the c64 environment once booted. I was considering trying something like Combian64 but this seems way tighter. Edit ah too bad actually was looking for something that would work with my pi400 but I guess bmc64 only works up to pi3. If anyone could port bmc64 to pi4 or mak…
Unfortunate the Pi 4 is more like a PC with a few layers of turtles between the user and the hardware. Up until then the pi were more like a microcontroller with a UI layer atop. You could peel that back and get at the raw goodies. The newer pi is vastly more complex and requires all these dark processes and proprietary firmware blobs beneath the OS to make it go.
This is not my area of expertise but from my understanding and reading, I would dispute that, strongly.
The Pi 1, 2 & 3 all run the ThreadX RTOS on the GPU as their "firmware" and the Arm core(s) are started by ThreadX:
https://en.wikipedia.org/wiki/ThreadX
Now ThreadX is owned by Microsoft but it wasn't when the Pi was designed and built.
I love your turtles allusion but the Pi never was a simple or clean (or FOSS) design.
The Pi Pico is, relatively speaking, but it's not really a Pi.