lisa-gemdos VS circle

Compare lisa-gemdos vs circle and see what are their differences.

lisa-gemdos

GEMDOS for the Apple Lisa (by cheesestraws)

circle

A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit) (by rsta2)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
lisa-gemdos circle
2 31
22 1,737
- -
10.0 8.9
over 3 years ago 2 days ago
Assembly C
- GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

lisa-gemdos

Posts with mentions or reviews of lisa-gemdos. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-18.
  • The Atari ST's Gemdos
    1 project | news.ycombinator.com | 14 Feb 2024
    The origin story of the GEM stuff is quite interesting. Lee Lorenzen was an employee at Xerox in Texas, and wanted to get some of the ideas from the Star onto commodity x86 hardware (just prior to IBM PC). He made a prototype, presented it, and it went nowhere. Gary Kildall (DR) then recruited him to come work for them doing basically that. He (Lorenzen) later went off to spin up his own company -- which created Ventura Publisher, which was built on a fork of GEM.

    GEM maybe has a bad reputation as a bit of a Mac UI knockoff, but the history is actually deeper than that. Like a lot of things DR did, it got a bit neglected on the market.

    Atari Corp also did a bad job of ongoing maintenance of this stuff. At least not until the latest-80s/early 90s when they suddenly started to iterate on it, hired Eric Smith (author of "MiNT" a unixy multitasking kernel that built overtop GEMDOS) to work on the OS, and pushed out proper multitasking versions... for their 68020/030 machines ... but too late.

    It'd be cool if Landon Dyer (who is a user here) were to comment on this, as he was on the team that ported all this stuff from x86 to 68k. Unfortunately it looks like his blog where he wrote this up (dadhacker.com) seems to be gone (!?), it was great writing.

    I also believe some of the sources from GEMDOS were used as part of the DR-DOS source tree later. All of this is GPL now.

    Also interesting, before the ST, the 68k port of GEMDOS was run on Motorola VME 68k machines, but also on the Apple Lisa. The version running on the latter has since been resurrected, and boots:

    https://github.com/cheesestraws/lisa-gemdos

    Finally, the (GPL'd) EmuTOS source code base basically did all of the heroic work of porting the original DR sources to the Atari ST again, based on the original DR sources. And they have done an amazing job of reproducing Atari/DR's work faithfully.

    https://emutos.sourceforge.io/

    That, and EmuTOS runs lovely on other 68k machines (Amiga, Mac, and Lisa for example) as well as ColdFire machines (the "FireBee" Atari-ish computer, and dev boards). It's a great little 68k/ColdFire operating system that is quite portable and well supported.

    EmuTOS running on Amiga: https://www.youtube.com/watch?v=uxIytWnqQnU

  • EmuTOS: A Modern FOSS Replacement OS for the Atari ST – and the Amiga Too
    8 projects | news.ycombinator.com | 18 Sep 2022
    FWIW having seen the sources for both, GEMDOS isn't based directly off CP/M68k. There are commonalities, and some bits of code shared (executable format for one) but they're entirely separate codebases.

    The first platform to run GEMDOS on 68k was the Apple Lisa. That was the dev machine DR used.

    That's been resurrected in the past few years: https://github.com/cheesestraws/lisa-gemdos

    And in fact EmuTOS itself now boots on the Lisa again.

    I have a feeling the stack-based calling convention may be influenced by the dev period on the Lisa? The reason I say this is that I know Mac OS Classic used this scheme as well: push all args to stack and call TRAP. I suspect because of this that the Lisa did as well, though I couldn't tell you for sure since hardly any docs are out there for that. Atari was not unique in choosing these scheme.

    Now, why Apple did this, I don't know. Maybe it's because they wrote everything in their own bespoke Pascal and that was something about their compiler?

    I am not sure an x86 version of GEMDOS really ever existed so doubt it came from there.

    FWIW you got me interested, so I'm reading the CP/M68k sources right now and from the bits I've read, I do see the stack based calling convention there, as well:

      _bios2:

circle

Posts with mentions or reviews of circle. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-02.
  • MiniScript on a bare-metal Raspberry Pi
    4 projects | dev.to | 2 Mar 2024
    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
    6 projects | news.ycombinator.com | 15 Nov 2023
    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
    4 projects | /r/raspberry_pi | 17 Jun 2023
    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
    4 projects | /r/retroflag_gpi | 25 May 2023
  • Help with C64 Emulation (never used a C64 before in my life)?
    1 project | /r/c64 | 26 Jan 2023
    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
    8 projects | news.ycombinator.com | 1 Jan 2023
    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?
    3 projects | /r/embedded | 2 Dec 2022
    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
    8 projects | news.ycombinator.com | 18 Sep 2022
    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
    1 project | /r/embedded | 1 Sep 2022
    Circle is a C++ bare metal programming environment for the Raspberry Pi.
  • New in this sub, some questions…
    2 projects | /r/TempleOS_Official | 21 Aug 2022
    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

What are some alternatives?

When comparing lisa-gemdos and circle you can also consider the following projects:

Emu68 - M68K emulation for AArch64/AArch32

rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:

Atari-Mac-MagiC-Sources

raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi

pTOS - Port of EmuTOS to the ARM architecture.

MiniDexed - Dexed FM synthesizer similar to 8x DX7 (TX816/TX802) running on a bare metal Raspberry Pi (without a Linux kernel or operating system)

rpi4-osdev - Tutorial: Writing a "bare metal" operating system for Raspberry Pi 4

dts2hx - Converts TypeScript definition files (d.ts) to haxe externs (.hx) via the TypeScript compiler API

8821cu - Linux Driver for USB WiFi Adapters that are based on the RTL8811CU, RTL8821CU and RTL8731AU Chipsets

bareDOOM - DOOM ported to run within the barebox bootloader

Pi1541 - Commodore 1541 emulator for the Raspberry Pi

haxe - Haxe - The Cross-Platform Toolkit