Live data from Hacker News

Bare Metal Emulation on the Raspberry Pi – Commodore 64

accentual.com

51–60 of 69 posts

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#51

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.

I suggest checking out circle https://github.com/rsta2/circle since it's basically a library for the pi hardware. I'm doing some experiments with it myself now.

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#52
post #18

In 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!

Maybe PiMiga will hold you over..

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#53

There 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

https://github.com/jart/blink

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#55

The '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

The Circle library handles all of that... Remember, this is just for Raspberry Pi hardware, so it's not like they have to support that many different types of hardware.

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#56
post #50

Earlier 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

Now I don't want to stand in the way of progress, but while I admire the skill and endurance of the contributors, I fail to see the motivation (I only skimmed their readme) for this project. It looks to me one gets a subset of the features of the Linux kernel with a superset of its bugs. And for owners of a Banana Pi (or Orange Pi etc.) not even that.

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#57
post #31
post #18

In 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?

I used the TI-994A. It was rubbish. Horribly constrained by a design that was cost-cut into uselessness.

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

#58

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.

Ultibo is amazing for this kind of stuff:

https://ultibo.org/

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#59
post #24

Earlier 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 ...

You could do processor offloading to the entirely separate 6502 in the CBM 1541 disk drive, like this fractal generator.

https://www.c64-wiki.de/wiki/Mandelbrot-Construction-Set

Re: Bare Metal Emulation on the Raspberry Pi – Commodore 64

#60
post #13

Earlier 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.

> Up until then the pi were more like a microcontroller with a UI layer atop.

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.

Post reply on HN