4 ms·
I should have clarified. It couldn't be done with out breaking compatibility with existing apps. If I recall, Amiga Exec's "PutMsg" didn't even take a message l
by icedchai 5y ago
I should have clarified. It couldn't be done with out breaking compatibility with existing apps. If I recall, Amiga Exec's "PutMsg" didn't even take a message length, just a pointer (message) and a port name.
- pjmlp 5y agoAmiga broke compatibility with existing apps across hardware releases anyway, so?
- icedchai 5y agoExec PutMsg / GetMsg is rather foundational. If they changed it, everything would break. With Amiga OS, if you wrote your apps to API spec, compatibility was rarely broken. I remember those big "Rom Kernel Reference Manual" books! I think I still have one collecting dust, at my parents house. But yeah, if you did weird things like mucking with hardware registers directly or used undocumented fields of a struct, then yeah, you could have a problem.
- pjmlp 5y agoChanging graphics and sound chips was more fundamental than OS APIs.
- icedchai 5y agoIndeed, that did happen with some games, especially with the newer CPUs. I remember my A3000 didn't run a bunch of stuff that worked on the 500. I wasn't sure if that was due to the ECS chips or the 68030.
- agent327 5y agoNo, that's not true. Both the hardware and the OS remained compatible, although enough differences crept in that applications could get into trouble anyway. One common problem was when applications assumed all memory was reachable by the custom chips; the later addition of fast ram (which was ram that wasn't slowed down by custom chips accessing it, thus starving the CPU of memory cycles) could break those. Another example is using the upper 8 bits of pointers, which was safe on 68000 but not on 68020 and up which had a full 32-bit address bus. Making assumptions about OS structures was also a favorite of many hackers, and something that invariably broke on later OS releases. However, if you stuck to the API you were fine, and many applications run without problems on all OS releases from 1.2 to 3.1.
- pjmlp 5y agoThere were three generations of graphics hardware and sound chips, anyone doing any kind of serious use of them had to recode their applications to take advantage of the new capabilities.
- rasz 5y agoAfaik there was ever only one Paula.
- pjmlp 5y agohttps://en.m.wikipedia.org/wiki/Amiga_Advanced_Graphics_Architecture https://en.m.wikipedia.org/wiki/Amiga_Advanced_Graphics_Arch...
- icedchai 5y agorasz was still correct about Paula though. The sound chip didn't change. Too bad AGA was too little, too late. If it was released a few years sooner, say with the A3000, it might've been different. ECS barely added anything over OCS, other than extra chip RAM. There were a few modes hardly anyone used.