6 ms·
Amiga C Tutorial (2022)
- makach 3y agoThis is the resource page I wished I had growing up. I learned it anyway, but in spite and henceforth poorly. Author should publish this content as a book. I'd buy it.
- stuff4ben 3y agoI was about to comment the same! If teenage me in the 80's and 90's had this information instead of the AmigaBASIC book, I think my career would have been totally different. It would be several more years before I got my head warped by C/C++ in college.
- amiga386 3y agoI guess it depends what reading material was available. You could've had Amiga C for beginners published by Data Becker in 1987. Not to say it's a great book, but it's a good start if you're keen. Or perhaps a book like Amiga Graphics Inside and Out that starts with AmigaBASIC but goes on to include programs in C. Some of these books are preserved today so you see what you missed out on [0] Buying the RKRMs would be expensive, but I borrowed them from my library and read them entirely (... I had a lot more free time then). You could also have written to Motorola and got them to send you the 680x0 Programmers Reference Manual and other books for free! There are all sorts of "what-ifs". If books like the 1980s Usbourne books [1] weren't available, might so many people have become programmers at all? [0] https://amigasourcepres.gitlab.io/page/books/ccplusplus/ https://amigasourcepres.gitlab.io/page/books/ccplusplus/ [1] https://usborne.com/gb/books/computer-and-coding-books https://usborne.com/gb/books/computer-and-coding-books
- ako 3y agoStill have the Data Becker book on my bookshelf, in German: Amiga c fur einstieger. It thought me C and German at the same time. Also had the full series of amiga reference guides, which is actually available online: https://archive.org/details/amiga-intuition-reference-manual/page/n9/mode/2up https://archive.org/details/amiga-intuition-reference-manual... Rom kernel ref guide is also nice to see again: https://archive.org/details/amiga-rom-kernel-reference-manual-exec/page/n5/mode/2up?view=theater https://archive.org/details/amiga-rom-kernel-reference-manua...
- doctor_radium 3y agoCheers! I am gearing up for some OS4 coding eventually (need a PPC Amiga first), and am sure one or more of those books will be helpful. A shame the grandaddy Guru Book has yet to fall into "PD" status.
- icedchai 3y agoI remember that Amiga C for Beginners book! I learned C on my Amiga 500 (with 3 megs of RAM and a 20 meg hard drive) way back in 1989. I also had a couple of those big blue Commodore ROM Kernel books.
- speakspokespok 3y agoAny recommendations for AmigaOS emulators that run on Linux?
- dazzawazza 3y agohttps://fs-uae.net/ https://fs-uae.net/ is pretty much the standard Amiga emulator on all platforms. You'll need to source the ROMs from the high seas.
- mhd 3y agoOr get them legally from Amiga Forever? http://www.amigaforever.com http://www.amigaforever.com
- bluewizardnet 3y agoYou can also get the latest AmigaOS 3.2.2 here: https://www.hyperion-entertainment.com https://www.hyperion-entertainment.com The Clonto gives you AmigaOS 1.0 to 3.1.
- deleted 3y ago[deleted]
- archfrog 3y agoIs it me or is there a bug with pointers on the bottom of http://www.pjhutchison.org/tutorial/pointers.html http://www.pjhutchison.org/tutorial/pointers.html? The author uses this code to dereference a pointer to a structure member: engine = *myvehicle->enginesize; Unless I've forgotten 30 years of C experience, I'd expect this to be: engine = myvehicle->enginesize; But it could be some peculiarity in the Amiga compiler. Now I just wish I had the money to buy an Amiga when I was a kid :-)
- obarthel 3y agoNo, this is a bug. The 'enginesize' data structure member is a float and not a pointer to a float.
- unwind 3y agoAgree, it's broken. It's also assigning string literals to char array struct members in a non-initializing context, which doesn't work. As someone trying to piece together C knowledge from various b0rk3n tutorials (as a pre-Internet teenager in the early 90s) it's pretty provocative. Luckily I healed and levelled up since.
- jandrese 3y agoReminds me a bit of the "Mastering C Pointers" book that was popular in the early 90s and contained a multitude of outright errors. https://wozniak.ca/blog/2018/06/25/1/index.html https://wozniak.ca/blog/2018/06/25/1/index.html
- helpfulContrib 3y agoYou might have the money to buy an Amiga now? https://retrogames.biz/products/thea500-mini/ https://retrogames.biz/products/thea500-mini/ Fact is, with a little LCD and a nice keyboard, one could put the Amiga in the 'loo and have a fair bash at the old school while pushing one out, eh .. ? /oric_telestrat_forever
- tialaramex 3y ago
- Sakos 3y agoOut of curiosity, why would one want to learn programming for AmigaOS today?
- criddell 3y agoFor fun.
- em-bee 3y agoout of curiosity to see how programming on an amiga was like.
- isaiahg 3y agoOddly enough they still sell AmigaOS today with the newest update being a few years ago.
- layer8 3y agoTo broaden your horizon regarding OS API designs.
- obarthel 3y agoIt is a complex, non-trivial operating system which has its merits in terms of design and prudent use of resources. All of this is well-documented and understandable. You can learn how everything works, top to bottom and back again, which is a feature modern operating systems tend to have lost over the years. I would also argue that it is a humane design, meant to be understood.
- atan2 3y agoIf one has a soul, how can one not surrender to the curiosity for how things worked back then?
- MarcusE1W 3y agoIt’s much closer to the hardware than if you program let’s say in Linux.
- helpfulContrib 3y agoAlternative platforms are a great way to sharpen ones chops, and as well be an early newcomer to a potentially engaging, large-scale platform of new users who are tired of the mainstream, of which there are plenty. For the same reason that one might learn Lua to write a quick crank app for the play.date machine .. or write a synth plugin for Zynthian. Alternative platforms are, for a passionate hacker/coder/software person, an extraordinary playground for creative development, both personal and product-wise. All I'm saying is, sometimes it is great to shed the cruft of modern platform development, and have a look at how things could be done - alternatively - in a way that is nevertheless future-useful. The constraints of developing an algorithm at great length in the Amiga environment, may then result in a value increase when you port the right bits elsewhere .. many a bit of C has led such a slippery life, you know...
- Scubabear68 3y agoNo Aztec C!? Heresy!
- amiga386 3y agoAztec C was out of date by about 1990. SAS/C and DICE C were much better, GNU C was available (if not really Amiga-oriented) and then VBCC came along. If you still want Aztec C, it's available here: http://www.clipshop.ca/Aztec/compilers.htm#amiga http://www.clipshop.ca/Aztec/compilers.htm#amiga
- obarthel 3y agoYes, Manx Software Systems lost out to the competition, with the last release being Aztec 'C' 5.0 (with patches) for the Amiga (they also sold the source code to their ANSI 'C' compliant runtime library). Version 5 is one of the compilers available for download from the web site you mentioned. What's absent are the precursors to this release, i.e. Aztec 'C' 3.4a and beyond. I for one would like to complete my own Aztec 'C' 3.6a which I bought back in 1988. I backed up the disks to image files in the 1990'ies, but these original disks had read errors by then. Aztec 'C' was a "classic" compiler which translated what you wrote into assembly language source code (with a peephole optimizer involved), then this was assembled into object code and linked. One of the rare features which no other vendor offered was a custom overlay manager which allowed Aztec 'C' compiled programs to load/unload sections of the program in and out on demand. The default overlay model required that you preplanned which parts of the program had to be in memory at a time, which lacked the flexibility Aztec 'C' offered.
- amiga386 3y agoAre you Olaf Barthel? Much respect! Your Amiga software is fantastic. Thanks for all the things you've written over the years. The overlay system was indeed very unusual, Thomas Richter did a good job describing it in https://aminet.net/package/docs/misc/Overlay https://aminet.net/package/docs/misc/Overlay (and of course it's also covered in Ralph Babel's Amiga Guru Book). That's really interesting that Aztec supported it natively, I never knew that. But it also seemed to be that, if you wanted to, newer linkers (e.g. blink, phxlnk/vlink) combined with appropriate pragmas in the C code, and an example overlay manager from one of these sources, would allow you to make your own overlay executable? I can't say I ever did it myself - the nearest I got to seeing an overlayed executable was seeing Titanics Cruncher or Imploder use the overlay feature to decompress while loading, skipping the whole question of loading/unloading nodes.
- teo_zero 3y agoThe DICE compiler is not mentioned, but I fell in love with it! I wish current OSes had some of the features Amiga had. Hot patching of all syscalls was powerful, if although dangerous by today's standards. Thanks to ARexx every application could easily be made scriptable. DataTypes was the answer to the data interchange problem. And, beyond the SO itself, Aminet predated the packaging systems that are the fortune of Linux distros. The one tool I contributed can still be downloaded today!
- kjs3 3y agoARexx was the thing that made me look at the Amiga and say "wow...this isn't a toy/game".
- mcguire 3y agoI learned C from Schildt's C, The Complete Reference (https://en.wikipedia.org/wiki/C,_The_Complete_Reference https://en.wikipedia.org/wiki/C,_The_Complete_Reference) that didn't either mention that it was Windows specific or that there were other options. :-(