4 ms·
How do you feel about the Amiga 500 as a platform for teaching systems programming? These are a lot more accessible to kids and the like, than the fully loaded
by helpfulContrib 3y ago
How do you feel about the Amiga 500 as a platform for teaching systems programming? These are a lot more accessible to kids and the like, than the fully loaded A600 that only a few of us have stashed in the attic/atop the retrocollection ..
Kids really love retro-computing (I'm a curator at such a museum, also) and the #1 request is - how do I get some hardware to get started?
What of the new-school platforms do you consider a viable answer to that question, Amiga systems-hacking wise?
- glimshe 3y agoHaving done system programming on retro platforms, my recommendation for this specific purpose is to use a great emulator, and the Amiga happens to have UAE which is one of the best emulators around. Debugging will be a lot easier and you deal way less with the grind of using an old piece of hardware. I understand if you want the full retro experience, but the full experience won't necessarily be conducive to better learning.
- bluescrn 3y agoThis. One day I'd like to revisit Amiga coding. I did a fair bit of Blitz Basic and a little bit of 68K ASM back in the day, but learning it was challenging as a teenager in the pre-Internet era. I'd definitely rather edit+compile/assemble code on a modern PC and do most testing in UAE. I don't need the nostalgia of slow reboot cycles and reloading things from floppy disks when my code inevitably crashes/hangs, let alone editing blurry code on a 14" CRT TV...
- actionfromafar 3y agoEven people targeting the real hardware often compile these days on a Mac or PC.
- bluescrn 3y agoThe tricky bit is deployment to the Amiga. My only way to put files onto my Amiga at present is a CompactFlash card (or 3.5" floppies) I don't have ethernet hardware on my Amiga (and may not have enough RAM for that approach), but maybe there's a slower-but-simpler solution with a parallel/serial port link? UAE makes that deployment easy, making a PC folder accessible as an Amiga drive. The downside is the lack of smooth 50Hz (PAL) display. Although I do have a g-sync monitor, so maybe that's a solveable problem these days...
- MagerValp 3y agoThere are lots of options for parallel and serial transfers, check out this article for some good options: http://www.boomerangsworld.de/cms/vc/amiga_transfer.html http://www.boomerangsworld.de/cms/vc/amiga_transfer.html
- Lucretia9 3y agoThe books are all available now, archive.org and other places including this one which is also hosting the wip RKM https://www.retro-commodore.eu/rkrm-wip https://www.retro-commodore.eu/rkrm-wip.
- mark_round 3y agoModern 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.
- actionfromafar 3y agoI think it’s perfect. It’s semi modern, it has everything a modern system has, only less of it. (Except a GPU.) It’s nevertheless very simple, and it’s thoroughly documented. This means you can treat it as an embedded target and code it without any operating system, or you can take advantage of the OS. (AROS m68k if you are putting together a course, rather than the original proprietary ROM files.)
- helpfulContrib 3y agoThanks for the AROS tip, that makes a lot of sense, have duly noted it for future reference ..
- christkv 3y agoThe vampire v4 is great for this as well.