Table of Contents

AMOS Professional

Allows you to write in AMOS Basic. My language of choice for years.

With FS-UAE

Make sure mouse_integration is disabled in FS-UAE, otherwise the mouse will not move in AMOS Professional. You may have to edit the machine's config file in a text editor if you can't turn off mouse_integration via the UI.

Manual

Doesn't have search functionality unfortunately.

Books

AMOS Pro Command Notes

Source Code

The source is licensed under the MIT License now.

Unofficial Releases

AMOS Pro 2.10 was assembled and released by bruceuncle. It fixes a number of issues.

Tools

Setup

Bugs

Due to a combo of AMOS's use of signed long numbers and the dos/Info() function for retrieving disk free information, you can't install AMOS on a partition larger than 2GB.

Extensions

Extensions are written in Motorola 68000 Assembly Language. You can have 26 of them. You can also call machine language code directly via Pcall and Insert Program.

Existing extension lists

Lots of extensions implement a lot of the same useful functionality, and since there can be only 26, you have to pick and choose.

Variables

In some situations, variables are pass by reference.

All integers are signed longs, so −2,147,483,648 to 2,147,483,647 are supported. You can't even type in a larger number, the first digit gets truncated from 2,147,483,648 in the editor.

If you're doing floating point math, convert as many of the values to floating point as possible before doing more complex calculations. AMOS will sometimes drop the fact that it's supposed to do FP math and will switch back to integer.

Help Files

File format goes here.

Prepping art for use

Ideal pipeline: Krita → GIMP → ArtPRO → AMOS object banks

Issues

PNG output image only uses 8 of 16 possible screen colors

Possible solutions:

If I put all the colors into the indexed palette of the image in GIMP it “works”, but it's super high friction. I need something that can:

IFF Files

AMOS Pro adds an additional chunk called AMSC. This seems to store extra AMOS screen information for the active screen that's being saved:

snippet.asm
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; 					Sauve le AMSC
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Lib_Def	SaveAMSC
; - - - - - - - - - - - - -
	move.l	Buffer(a5),a1
	move.l	#"AMSC",(a1)+
	move.l	#7*2,(a1)+
	move.w	EcAWX(a2),(a1)+
	move.w	EcAWY(a2),(a1)+
	move.w	EcAWTX(a2),(a1)+
	move.w	EcAWTY(a2),(a1)+
	move.w	EcAVX(a2),(a1)+
	move.w	EcAVY(a2),(a1)+
	move.w	EcFlags(a2),d0
	and.w	#$8000,d0
	move.w	d0,(a1)+
	Rbra	L_SaveA1

When you enable compression with Save Iff, it's standard ByteRun1 encoding (tested on DPaint.js). If this is what's meant by the “standard Amos Professional compression system”, then reading compressed AMOS Pro data elsewhere should be pretty straightforward.