Welcome, Guest. Please login or register.

Author Topic: Maximizing AMOS Professional  (Read 35916 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline saimoTopic starter

Maximizing AMOS Professional
« on: September 02, 2025, 06:22:28 PM »
I have just released a little guide that helps making the most of AMOS Professional. I hope it will turn out to be useful to somebody out there.

From the guide itself:
Quote
This is a little guide for the Amiga developers who use AMOS Professional (for convenience, "AMOS" from now on). It provides information and tips to circumvent some issues of AMOS and to produce better code.
It was born in 2023, when, for personal use, I started documenting the quirks of AMOS that I had found and the tricks I had come up with over the years. Eventually, noticing that AMOS is used more than I had imagined, I thought that it could be useful to other developers as well, so I improved some explanations and added new ones, added some examples, reorganized the contents and converted the document from plain text to Amigaguide.
This guide is by no means a complete bible, as surely there are things that I have never stumbled upon (due to my not using certain features and to the systems I work on) and things that I have forgotten; but it will (most likely) be updated if/when I discover something new or I remember about something. Also, the examples provided do not cover all the possible cases - it is up to the reader to fill the gaps and experiment.
This guide is meant to cover only the software originally published by Europress, but chances are it mostly applies also to later/patched versions.
Feedback and error reports are welcome.

Download: https://retream.itch.io/amiga-tools
« Last Edit: September 06, 2025, 08:59:34 AM by saimo »
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline DownshiftDX

  • Newbie
  • *
  • Join Date: May 2019
  • Posts: 18
  • Country: us
  • Gender: Male
    • Show only replies by DownshiftDX
Re: Maximizing AMOS Professional
« Reply #1 on: September 06, 2025, 04:31:34 AM »
This is a nice guide! Are you planning on adding more? I've hit a couple weird issues over the years with Amos and have a short list of notes going to help ensure I don't hit anything when I compile. I'm also looking forward to trying APEO to see how it impacts my main project.
 

Offline saimoTopic starter

Re: Maximizing AMOS Professional
« Reply #2 on: September 06, 2025, 09:01:39 AM »
This is a nice guide!

Thanks!

Quote
Are you planning on adding more?

Yes, if/when I remember about something or stumble across something new (real life permitting).
I have already updated after the release to add some more content.

Quote
I'm also looking forward to trying APEO to see how it impacts my main project.

I'd be glad if you find it useful.
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Maximizing AMOS Professional
« Reply #3 on: September 06, 2025, 01:20:50 PM »
Quote from: DownshiftDX
Are you planning on adding more?

Yes, if/when I remember about something or stumble across something new (real life permitting).
I have already updated after the release to add some more content.

And now I just remembered that I had a couple of things to say about the Include directive (which actually I had already documented in the sources of the ALS demos), so I have updated the guide.
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline DownshiftDX

  • Newbie
  • *
  • Join Date: May 2019
  • Posts: 18
  • Country: us
  • Gender: Male
    • Show only replies by DownshiftDX
Re: Maximizing AMOS Professional
« Reply #4 on: October 16, 2025, 03:29:03 AM »
After putting an hour or so each night into my game/editor for the last two weeks I finally took the time to do some housekeeping and attempt to compile and try APEO out. A couple years back I made a script to call APCMP from the Workbench menu that copies all the Amos system files to RAM: and then pops up a requester to select the source. I got tired of browsing the directories each time a couple nights ago I moved it into DOpus4 to be called by a button on the currently selected file. I then did the same thing for APEO. Having the buttons to rapidly recompile after making changes in the Amos editor has been great as I have been able to identify some optimizations by moving chunks of code to more sensible spots. I also spent a couple evenings going through your guide trying to rework a few of my loops and carefully considering if/endifs and how they are structured.

I hit only one error during the first attempt to compile that I didn't expect. For some reason I had used Mouse Click as Mouse Click() which the interpreter for Amos didn't mind at all but this broke the compile. After that I was able to compile and then test APEO. APEO makes about 307 changes across the compiled code which starts out around 2500 lines long currently. Is it making a big difference? Not sure but I will take all the performance I can get and it hasn't caused any problems. The game is an adventure-platformer with levels constructed of "rooms" of various sizes up to 63 wide and related height for a maximum of 768 tiles per room. There can be 16 rooms per "level" but the levels can be linked together too. The level editor is being built into it. It is not currently heavy on calculations and I moved to fixed point math a while ago to speed things up. Your notes say that APEO might be more beneficial for programs doing a lot of calculations... For fun I've thought about running Scorched Tanks through it to see if it can make it perform a bit better on low spec'd Amiga's. (My brother's unexpanded A600 comes to mind.)

Anyhow, I appreciate your guide and APEO. Thought you might like to know somebody is putting them to use. (Now if somebody could take it upon themselves to hack basic syntax highlighting into the Amos Pro editor! Save my eyes from the uniform wall of text.)