Skip to content

kyz/amostools

Repository files navigation

amostools - tools to work with AMOS programs

  • dumpamos: extract the contents of AMOS source code and memory banks
  • listamos: list AMOS source code as plain text
  • unlockamos: unlock "locked" procedures in AMOS source code

Usage

Extract banks attached to source code:

$ dumpamos source.amos

Extract sprites, pictures, samples from source or banks:

$ dumpamos source.amos sprites.abk pic1.abk samps.abk

Use input filenames as a prefix for the output filenames:

 $ dumpamos -p source.amos

List AMOS programs:

$ listamos source.amos

List AMOS programs that use 3rd-party extensions:

$ listamos -e extensions/CRAFT.Lib-V1.00 \
           -e extensions/MusiCRAFT.Lib-V1.00 \
           source.amos

$ listamos -e23=extensions/Dump.Lib-V1.0 \
           source.amos   # you can load extensions in non-standard slots

List AMOS programs using the extensions configured in your own AMOS setup:

$ listamos -c myamos/AMOS1_3_Pal.Env -d myamos/AMOS_System source.amos
$ listamos -c myamos/AMOS1_3_Ntsc.Env -d myamos/AMOS_System source.amos
$ listamos -c myamos/s/AMOSPro_Interpreter_Config -d myamos/APSystem source.amos

Unlock AMOS programs with locked procedures:

$ unlockamos Fold.Acc
$ unlockamos *.AMOS

About Extensions

AMOS supports extensions to its core language.

AMOS provides four standard extensions (Music, Compact, Requester, Serial/IOPorts), but many other extensions exist.

Extensions must be loaded into a "slot" to use them. There are 25 slots. When you use extension instructions, AMOS only stores the slot number and a token table offset in your source code.

So, to list programs written using an extension, you need that exact extension, and it needs to be loaded in the correct slot.

listamos has the four standard extensions built in, and for your convenience, the extensions/ directory contains as many extensions as I can find.

Support for other languages

listamos prints source code in the Amiga's native ISO-8859-1 format. Most AMOS programs are plain ASCII text, but if they have accented characters they may not render properly on your screen.

You can either import AMOS code into your editor in ISO-8859-1 format, or you use a tool like iconv to convert to another format:

$ listamos source.amos | iconv -f iso-8859-1 -t utf8 > amosprog.txt

Further resources

About

Tools to list, extract and unlock AMOS Basic files

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages