(n00b) Significant Conceptual Departures from Amiga?

ENBphant · 1224

ENBphant

  • Newbie
  • *
    • Posts: 1
    • Karma: +0/-0
on: February 19, 2021, 03:03:14 PM
Heyo, new here. Gathering intel for an OS project of my own, maybe the most ambitious thing ever, probably beyond my skills, but who knows.

Looking to take inspiration primarily from Plan 9 and AROS, as they look like the coolest projects around. Issue is, AROS doesn't seem to be, um, documented. The user experience, sure, but the internals specs are drafts at best and outright missing at worst. I'm falling back to Amiga docs for now, as they're more complete, but I'm worried I'll miss some new things from AROS (I know portability and hosted operation in particular were not focuses of the original Amiga). I'm the kind of person who likes to know everything before starting out, rather than fumbling around and half-reinventing a lot of things in convoluted and inefficient ways.

So, what are the most significant new concepts of AROS over Amiga, and where are they documented, if at all? (Ancillary: which concepts from Amiga are rendered obsolete by AROS' innovations?) I'm looking for mechanisms and implementations, rather than APIs, as my goal for now is to understand rather than use.



AMIGASYSTEM

  • Legendary Member
  • *****
    • Posts: 2642
    • Karma: +64/-1
  • AROS One
    • AROS One
Reply #1 on: February 19, 2021, 03:35:12 PM
Have you visited this site?

https://aros.sourceforge.io/


miker1264

  • Legendary Member
  • *****
    • Posts: 1352
    • Karma: +82/-6
Reply #2 on: February 19, 2021, 03:44:21 PM
AROS is in many ways Amiga-like as in it's directory structure but it departs from Amiga in some ways.

The windowing system is Intuition based on Amiga but Graphics drivers are hidds and filesystems are handlers.

IcarosDesktop uses Dual-state PNG icons where Amiga used Legacy IFF Icons. There are many improved Libraries in AROS. Cybergraphics handle drawing better and faster.



magorium

  • Legendary Member
  • *****
    • Posts: 505
    • Karma: +55/-0
  • Convicted non contributor
Reply #3 on: February 20, 2021, 03:51:02 PM
Issue is, AROS doesn't seem to be, um, documented. The user experience, sure, but the internals specs are drafts at best and outright missing at worst.
I guess that can be experienced as being the case.

In origin AROS follow the same basics as amigaOS did with regards to DOS, Graphics, intuition, gadtools etc. so you can indeed use Amiga documentation (for example RKRM's) for that.

Quote
I'm falling back to Amiga docs for now, as they're more complete, but I'm worried I'll miss some new things from AROS (I know portability and hosted operation in particular were not focuses of the original Amiga).
As user Miker also wrote, a new concept is for example the hardware independent device drivers (hidds), but also teh upgrade from intuition to MUI and AHI for audio (both things that Amiga originally not started out with having). Perhaps you are able to get something out of reading https://en.wikibooks.org/wiki/Aros/Developer/Docs as well.


Quote
I'm the kind of person who likes to know everything before starting out, rather than fumbling around and half-reinventing a lot of things in convoluted and inefficient ways.
Well, then you are in luck..... AROS is completely open source and the source-code is freely available  (so you can actually check everything out into detail... and beforehand) ;)

Quote
So, what are the most significant new concepts of AROS over Amiga, and where are they documented, if at all? (Ancillary: which concepts from Amiga are rendered obsolete by AROS' innovations?) I'm looking for mechanisms and implementations, rather than APIs, as my goal for now is to understand rather than use.
From my point of view there isn't actually anything obsolete except perhaps for the hardware banging. But you can do that anyhows when running AROS on original Amiga (compatible) Hardware (although also there it is advised to not to peek in & poke to the hardware registers directly)

Besides that some other new concepts had to be implemented such as miker also wrote such as cybergraphics but for example also trident USB stack. We also have tlsf memory management, support for other modern hardware concepts such as pci/usb/acpi/etc and of course also some modern software/drivers were ported such as mesa/nouveau. But from a simple software developer point of view you only have to deal with such things directly when you have a particular need for it (so it might interest you in case you are doing OS development).

If you look at the abiv1 development then a new concept is for example smp to support multiple cores/threads and there were some discussions with regards to memory protection but for example also integrated legacy emulation. Not all of the latter mentioned discussions ended up being actually implemented/supported though. Some of these things are idea's or concepts that where discussed. Sometimes a developer feels the need to make a proof of concept to see if it is actually possible (that is how smp support started out for example), and if it is deemed successful then ends up in the actual source-tree.

But, in case you wish to know more then i would advise you to pick the brain of one of the AROS system developers (they usually do not come around here and hang around @ slack-eroo)
« Last Edit: February 20, 2021, 04:04:30 PM by magorium »



miker1264

  • Legendary Member
  • *****
    • Posts: 1352
    • Karma: +82/-6
Reply #4 on: February 20, 2021, 04:34:36 PM
All quiet at Slack channels lately. Developers are taking a Siesta.  8)

Well, there is one lone developer on the Slack channels experimenting with things, and of course @deadwood hangs out here fixing things like HDAudio and updating the 32bit sources.

Developers are curious cats.  :) They are always peeking and poking and breaking things just so they can later come back and fix it again. It keeps things interesting.
« Last Edit: February 20, 2021, 04:45:56 PM by miker1264 »



magorium

  • Legendary Member
  • *****
    • Posts: 505
    • Karma: +55/-0
  • Convicted non contributor
Reply #5 on: February 20, 2021, 05:05:01 PM
All quiet at Slack channels lately. Developers are taking a Siesta.  8)
Ah, that is very unfortunate. Sorry that i did not know, i don't do closed-source....

Quote
Well, there is one lone developer on the Slack channels experimenting with things, and of course @deadwood hangs out here fixing things like HDAudio and updating the 32bit sources.
Crapperoo. Indeed deadw00d does hang around here. My bad, sorry.

Quote
Developers are curious cats.  :)
Ask Mazze  :P (although that looks more like a hungry cat)

Quote
They are always peeking and poking and breaking things just so they can later come back and fix it again. It keeps things interesting.
Besides that. What else is one to do during this pandemic ? Work@home, curfew@21:00, no public transport unless required, no alcohol allowed after 20:00, all stores are closed (except shops that sell food), no schools, no visitors allowed except one/day etc. etc. You can only wink at your spouse so many times before even that get's boring.

Seriously derailing a source-tree and see what happens even sounds like fun ... even when you need to fix later on ... wait ... did i not have a git account  somewhere :back laterz: :P
« Last Edit: February 20, 2021, 05:09:01 PM by magorium »