Click Here
home features news forums classifieds faqs links search
6060 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
Home
Features
News
Forums
Classifieds
Links
Downloads
Extras
OS4 Zone
IRC Network
AmigaWorld Radio
Newsfeed
Top Members
Amiga Dealers
Information
About Us
FAQs
Advertise
Polls
Terms of Service
Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
65 crawler(s) on-line.
 15 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 michalsc:  11 mins ago
 davidf215:  1 hr 42 mins ago
 kolla:  2 hrs 10 mins ago
 Jasper:  2 hrs 26 mins ago
 Tomppeli:  3 hrs 45 mins ago
 DiscreetFX:  4 hrs 6 mins ago
 golem:  4 hrs 48 mins ago
 Rob:  4 hrs 53 mins ago
 Fl@sh:  5 hrs 20 mins ago
 miggymac:  5 hrs 38 mins ago

/  Forum Index
   /  Developer Projects Forum
      /  Classic AmigaOS Programming : An introduction - Book out now
Register To Post

Goto page ( Previous Page 1 | 2 )
PosterThread
coldacid 
Re: Classic AmigaOS Programming : An introduction - Book out now
Posted on 18-May-2020 17:33:13
#21 ]
Member
Joined: 27-Oct-2019
Posts: 39
From: Candinavia

My copy finally arrived while I was at the cottage on the weekend. Looking forward to reading through it and experimenting.

 Status: Offline
Profile     Report this post  
olsen 
Re: Classic AmigaOS Programming : An introduction - Book out now
Posted on 23-Nov-2021 18:02:43
#22 ]
Cult Member
Joined: 15-Aug-2004
Posts: 749
From: Germany

I ordered the book last year, curious about what I might find. A good introduction to developing software for the Amiga operating system is a rare thing, and as far as I know nobody has attempted to make one since the early days when publishers such as Sybex did splendid work in this field. I name "Amiga programmer's handbook" (volumes I and II) and "Programmer's guide to the Amiga" as the best books in this field (which I, so it happens, didn't discover until years later, after I had already learned a lot about the craft in my own bumbling ways).

So, what do you find in this book?

The author begins quickly by outlining how you get started with the Native Development Kit, which contains all the basics you need to develop Amiga software. You may need an assembler tool (Asm-Pro being offered as a good choice) or a 'C' compiler (vbcc is offered as a good choice). Then the fundamentals of the system design are covered by starting with the 68000 CPU architecture, its instruction set, constraints and peculiarities. As you may find out very quickly, the author has a proclivity for 68k assembly language development when programming the Amiga. Development using the 'C' programming language is touched upon, but the main point is in covering how to make use of the Amiga operating system using assembly language programming.

After this introduction to the system, the operating system's main components are covered in a form which I would call a "digest" of both the AutoDocs (which are the detailed, but sometimes not detailed enough, pieces of the operating system documentation) and select details one may find only in the Amiga ROM Kernel Reference Manuals (which provide context and show how the pieces described in the AutoDocs fit together). You can learn about the memory management, the multitasking functions, device I/O, the graphical user interface, the building blocks which underpin it, and the dos.library. An entire chapter is dedicated to how you would make use of the trackdisk.device which controls access to the floppy disk drive which you may use to read and store data permanently.

The digests, as I called them, are retellings of what you could find in the AutoDocs, which themselves are already very terse. Which functions are mentioned in these sections apparently is determined by their utility if you want to build something quickly, allowing you to experiment and get a grip on how to develop Amiga software. Portions of the Amiga operating system which are not mentioned here, such as icon.library, could arguably be explored further by having learned in the book how the other operating system components work, and how they work together. As the book's title says, it is an introduction.

These digests are generally well-written, but they also contain curious omissions which might just handicap you if you tried, for example, the graphics.library Flood() function. No mention is made that for Flood() to be used you need use a RastPort with a correctly set up TmpRas and how you would do that. Not knowing how this accomplished, you'll only get memory corruption and worse...

The book covers operating system functionality which would have been available in 1987 but also makes mention of features present only in later operating system versions, such as Kickstart 2.0 and 3.0. The target machines mentioned to develop software for are the Amiga 500, Amiga 500+ and the Amiga 1200. All of these are entry level machines the likes of which people such as myself got their start on back in the day.

Looking back, I would say that this is as good an introduction to Amiga programming as a novice might find who's inclined to favour assembly language programming. Smaller errors (e.g. how to not to use the graphics.library Flood() function) are present but could be revised in later publishing runs. One big obstacle I can see is in that data structures (such as used for the Intuition Window and Screen) are explained in 'C' language syntax which would be a big problem for assembly language programmers, especially novices.

As a hobbyist you might be well-served by this introduction. Compared to the books of yore as published by Sybex I do feel, however, that "Classic AmigaOS programming" fails to build the knowledge you need in order to develop software for the Amiga operating system like Rob Peck's "Programmer's guide to the Amiga" did. Where "Classic AmigaOS programming" tends to be somewhat anecdotal, Rob Peck's book is much more structured in how it teaches the craft. And Eugene P. Mortimore's "Amiga programmer's handbook" is much, much, much better researched and written than the digests offered in "Classic AmigaOS programming" and also strives to document the entire operating system as it was in 1987 (and succeeds: its contents rival if not outshine the AutoDocs of the Kickstart 1.3 days).

As an Amiga software developer who's been around a bit and paid his dues several times over while pretending to have learned something from the Amiga operating system documentation available to him at the time, would I buy "Classic AmigaOS programming" given the options? I sure would do. Would I be on the right path to learn and grow beyond being a hobbyist, content to use a portion of the operating system as I was shown here? No, sadly, not. But then 68k assembly language programming or 'C' language programming on the Amiga is not for everyone anyway, and, you probably might have heard it before, it always was a harsh and unforgiving environment to begin with. Small errors, easily overlooked by the beginner, would be punished harshly and very swiftly. "Classic AmigaOS programming" might just help to run more quickly and more deeply intro trouble without understanding your predicament. As with 'C' language programming, and certainly 68k assembly programming, you'll find enough rope to hang yourself with unless you learn piece by piece first how trouble looks like and how to avoid it. For the likes of me, it can take years, but it can also be fun at the same time. It pays to read the ROM Kernel Reference Manuals and not to get stuck with the AutoDocs. Enough said...

Last edited by olsen on 23-Nov-2021 at 06:04 PM.
Last edited by olsen on 23-Nov-2021 at 06:04 PM.
Last edited by olsen on 23-Nov-2021 at 06:03 PM.

 Status: Offline
Profile     Report this post  
bison 
Re: Classic AmigaOS Programming : An introduction - Book out now
Posted on 24-Nov-2021 22:51:22
#23 ]
Super Member
Joined: 18-Dec-2007
Posts: 1903
From: N-Space

@olsen

Thanks for the review!

_________________
"Unix is supposed to fix that." -- Jay Miner

 Status: Offline
Profile     Report this post  
Trixie 
Re: Classic AmigaOS Programming : An introduction - Book out now
Posted on 25-Nov-2021 6:53:08
#24 ]
Amiga Developer Team
Joined: 1-Sep-2003
Posts: 2016
From: Czech Republic

@olsen

Thanks for the review! I guess the reason why we don't see manuals like those from Cybex back in the day is that the Amiga community lacks real writers: people who can write good, original and well-organized prose, rather than just compile material from various sources. And of course, writing a good manual requires investing a lot of time and effort, which can be difficult to justify given the hobby nature of today's Amiga and the relatively low prospective readership.

By the way, I still have the Peck book, and it really is great!

_________________
The Rear Window blog

AmigaOne X5000/020 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition
SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle