circle
crosstalk
circle | crosstalk | |
---|---|---|
31 | 10 | |
1,733 | 356 | |
- | - | |
8.9 | 3.6 | |
11 days ago | almost 4 years ago | |
C | C | |
GNU General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
circle
-
MiniScript on a bare-metal Raspberry Pi
If you're a developer and feeling adventurous, you can also try building it yourself. The source is all on GitHub. It uses the circle-stdlib project (which is circle plus some additions to support much of the C and C++ standard libraries) as a submodule; hopefully I've set that up correctly, but you could always clone that separately and place it in the MiniScript-Pi folder. Check out circle's build instructions for info on setting up your toolchain. (Mac users: be careful with the configure script, which does not work properly on MacOS; find me on Discord and I'll help you fix the script or configure manually.)
-
Bare Metal Emulation on the Raspberry Pi – Commodore 64
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.
-
Assembly coding without OS
You can also run a Pi without an operating system, programming it in C or C++ probably. See for example: GitHub - rsta2/circle: A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit)
- Bare Metal Emulators and launcher for RetroFlag GPI v1
-
Help with C64 Emulation (never used a C64 before in my life)?
BMC64 is VICE in a trenchcoat unikernel / bare-metal framework called Circle: https://github.com/rsta2/circle
-
Smalltalk-80 on Raspberry Pi: A Bare Metal Implementation
It uses the circle library (https://github.com/rsta2/circle) to provide a minimal runtime (mainly to interface with the hardware).
-
How do I get started with making my own Linux based OS on Embedded Hardware?
I experimented with circle the other day (https://github.com/rsta2/circle) Looks promising, and most likely within your knowledge of C/C++ development.
-
EmuTOS: A Modern FOSS Replacement OS for the Atari ST – and the Amiga Too
Natively would be amazing but a vast amount of work.
The way Apple moved classic MacOS from 680x0 to PowerPC was to write a tiny kernel emulator, with an API to run native stuff on the metal, and run more or less the whole OS under emulation, profile it and just translate the most speed-critical bits.
That's a lot of work for a FOSS project but given the performance delta between 1980s 680x0 and 2020s ARM, total emulation of the whole thing should be perfectly fine. It's how the PiStorm Amiga upgrade works.
https://amigastore.eu/853-pistorm.html
So all I envision is something like Aranym:
https://aranym.github.io/
... running on top of Ultibo, say:
https://ultibo.org/
Or maybe Circle:
https://github.com/rsta2/circle
-
Solutions for >1GHz microprocessor with option for bare metal or freeRTOS
Circle is a C++ bare metal programming environment for the Raspberry Pi.
-
New in this sub, some questions…
The only other reasonable option would be to port it to a new platform which is popular that has a few well documented hardware interfaces so as not to create a hellish nightmare writing drivers. Maybe then you could do a one-off port to that platform (though you might have to re-target the HolyC compiler to target it instead if it is not x86_64). The Raspberry PI seems like a decent option here since there is already a baremetal C++ library supporting USB, keyboard, mouse, sound, video, and as an added bonus UART, I2C, SPI, GPIO. You would have good code examples for porting all the necessary drivers. But obviously this would still be a lot of work and the compiler would need to be re-targeted and user space adapted for running on ARM. That being said backwards compatibility is strong, ARM seems actually interested in keeping it that way (at least for now). The library I'm talking about is here: https://github.com/rsta2/circle
crosstalk
-
Making Smalltalk on a Raspberry Pi (2020)
I don't know why this popped up again now, but it's nice to see that some people are still interested in this little Smalltalk 80 system (I'm the author, happy to answer your questions...).
Code at https://github.com/michaelengel/crosstalk
-
Ask HN: What software stack to select for this boot to code computer?
Your concept looks nice, it reminds me a bit of the Lisperati: https://www.hackster.io/news/the-lisperati1000-is-a-cyberdec...
So, did you consider Lisp or maybe Smalltalk? Plan 9 or Inferno might also be options.
Plan 9 comes in different variants, the "classic" one (with a Raspberry Pi port by Richard Miller) or 9front, an Inferno porting tutorial can be found at https://github.com/yshurik/inferno-rpi
Lisp and Smalltalk can run with or without Linux underneath, e.g. on the Raspberry Pi.
Bare-metal Lisp is available with interim: http://interim-os.com
Finally, bare-metal Smalltalk is available in my crosstalk system: https://github.com/michaelengel/crosstalk
Of course, Lisp and Smalltalk can also run hosted under Linux, e.g. using Squeak (https://squeak.org), Pharo (https://pharo.org) or InterLisp (https://github.com/Interlisp/medley).
Or - a crazy idea - build an emacs-only machine. That would be fun! :)
- Smalltalk-80 on Raspberry Pi: A Bare Metal Implementation
-
Allwinner D1 Xv6 Port
Author here - this xv6 port to the D1 (based on the riscv64 xv6 version developed at MIT) is an experimentation vehicle for me and my students since working with qemu alone can be a bit boring and it's easier to test some feature in a tiny OS. Of course, it's also fun to work on it...
"...won't be big and professional like gnu." :)
Based on the experiences with xv6, we are also working on porting some other non-mainstream systems to RISC-V hardware, including Plan 9, Inferno, Oberon, Smalltalk-80 (see my Raspberry Pi bare metal ARM version at https://github.com/michaelengel/crosstalk) and the f9 microkernel.
If you have any questions about the xv6 port just ask.
Shameless plug - I'm looking for a PhD student to work on OS/compiler/architecture-related topics in my research group here at Bamberg University (in the northern part of Bavaria in Germany).
If you know someone who might be interested, please let them know...
-
On Learning Smalltalk
What if those already-used tools weren't as-good for writing Smalltalk programs?
----
> … its own OS and GUI.
Well there are examples of bare metal Smalltalk (I'm guessing we could say the same of Java?)
https://github.com/michaelengel/crosstalk
- Are there any materials that go through the internals of smalltalk and/or teach you how to implement a smalltalk-like language?
-
Symbolics Lisp Machine demo Jan 2013
Well, you can run a bare metal Smalltalk-80 on the Raspberry Pi.
https://github.com/michaelengel/crosstalk
-
I bought 200 Raspberry Pi Model B’s and I’m going to fix them
- NetBSD (https://wiki.netbsd.org/ports/evbarm/raspberry_pi/)
- FreeBSD (https://wiki.freebsd.org/arm/Raspberry%20Pi)
- Interim Lisp OS (http://interim-os.com - this runs on Raspi 2 only, so porting to the ARM v6 in the Raspi 1 would be a nice project) - btw., this is a project by Lukas Hartmann, who is also the creator of the open MNT Reform ARM laptop (https://mntre.com)
- (shameless plug) my bare metal "crosstalk" Smalltalk-80 (https://github.com/michaelengel/crosstalk)
I'm pretty sure this list isn't complete...
Some operating systems are not supported at the moment:
- OpenBSD only seems to support the Aarch64-based models 3 and 4
- Haiku seems to be looking for a maintainer for the Raspberry port
What are some alternatives?
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
Smalltalk - By the Bluebook implementation of Smalltalk-80
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
medley - The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
MiniDexed - Dexed FM synthesizer similar to 8x DX7 (TX816/TX802) running on a bare metal Raspberry Pi (without a Linux kernel or operating system)
xv6-d1 - Port of MIT's xv6 OS to the Nezha RISC-V board with Allwinner D1 SoC
rpi4-osdev - Tutorial: Writing a "bare metal" operating system for Raspberry Pi 4
littlesmalltalk - Archive of Little Smalltalk (with updates to work on modern platforms). Also collects forks and documentation on this historic system.
dts2hx - Converts TypeScript definition files (d.ts) to haxe externs (.hx) via the TypeScript compiler API
pharoRaylib - Pharo Smalltalk bindings for Raylib game library
8821cu - Linux Driver for USB WiFi Adapters that are based on the RTL8811CU, RTL8821CU and RTL8731AU Chipsets
SOM - SOM - Simple Object Machine