3 ms·
Modern systems ? I dunno. I wouldn't use anything like Linux, Mac or Windows - there's just way too much indirection and the system as a whole is just too opaqu
by mark_round 3y ago
Modern systems ? I dunno. I wouldn't use anything like Linux, Mac or Windows - there's just way too much indirection and the system as a whole is just too opaque for a beginner. I think the A500 could make a fantastic platform for systems programming teaching. I mean, it's probably going to be AmigaOS 1.2/1.3 so very basic compared to later releases but there's enough in there to hold attention and create something interesting. Plus it's always nice to have something like the original beige "wedge" to hack on, it's a lot more interesting and "real" than working on an emulator.
I think the thing that would hold you back on an un-expanded A500 would be choice of programming language; a C compiler is probably just too heavyweight to use on a basic machine, particularly if you don't have a hard drive fitted. Assembler would be OK, although possibly a little too low-level. Something like AMOS would fit the bill perfectly though: Would run find on older systems and very quick to create something that would hold the attention like a game or demo. Although that's not really "systems programming" as such.
- zozbot234 3y agoThe best way to develop systems software for the Amiga will probably be cross-development from a more modern platform and programming language. LLVM is getting m68k support which ought to make this feasible in the future, including some recent feature updates https://m680x0.github.io/blog/2023/05/may-updates.html https://m680x0.github.io/blog/2023/05/may-updates.html . Though some basic pieces are still missing, such as support for the Hunk format in the LLVM linker.
- MarcusE1W 3y agoI used to do some systems programming with then M2 Amiga Modula-2 compiler. They had a complete mapping to the systems libraries and I suppose for the general learning experience M2 is more pleasant than C, although that works as well, of course. There was quite a lot of M2 public domain software at that time on the Amiga so that it should be possible to find good examples. That said, system programming on the Amiga is for good or bad much closer to the hardware than e.g Linux, so prepare to see a lot of guru meditations along the way when you have slightly mishandled a pointer or a data type, and there are a lot of pointers ;-) Great fun though.