Start programming assembly with Amiga

Requirements / Suggested stuff

  • Amiga (any version)
  • Assembler (AsmOne, Trash-Em-One or DevPac)
  • Hard Disk

Start with Assembly

Amiga is equipped with 68k CPU family, which may vary from the version of Amiga you use.

There are a lot of resources that cover 68K instructions on the web.

My favourite is Mr Jester 68K page web page. The site offers several examples emphatized with different colours to make the information more human readable.

If instead you need to learn other CPU instructions of newer CPU (i.e. 68020+) you have to look on other resources.

Learn Amiga hardware

Once you get the basic of assembly language, the next step is to get acknowledge of Amiga registers in order to produce the desired effect. Since this page doesn’t aim to teach how COPPER, BLITTER, or PAULA chip, you can read some sources to get deep into:

Starred MediaSoft resources

The Assembler

AsmOne

My favourite assembler is Asm One, a lightweight command line oriented IDE; with just 5 minutes is possible to learn all the basic command required to get into.

There are different version of Asm One made by several authors, however my favourite are 1.02 and 1.20; the latter is available for either KS 1.3 and 2.0.
It is strongly suggested to to look for the ASM ONE 1.02 manual in PDF format. On the last pages there are useful information on Instruction timings, altought these are valid ONLY for MC68000 processor.

AsmOne

Some Asm One commands:

  • a – Assemble code
  • j – Jump to address
  • i – Insert code from external file
  • u – Update file
  • is – Create sine (Asm One 1.07+)
  • wo – Write object
  • wb – Write binary
  • ad – Assemble debug
  • v – View / Change directory

Editor commands:

  • CTRL + S – Search text
  • CTRL + s – Search next text recurrence
  • CTRL + d – Delete line
  • CTRL + c – Copy
  • CTRL + b – Mark text block
  • CTRL + t – Go on top of document
  • CTRL + T – GO to end of the document

Debugger:

  • CTRL + a – Add watch
  • CTRL + b – Add mark
  • CTRL + r – Run
  • CTRL + j – Jump to line

Utilities

If you are planning to produce some demo or games, there are some Amiga software you may consider.

  • Deluxe Paint 3+
  • IFF Kefrens Converter 1.35+
  • ProTracker

Deluxe Paint

Deluxe Paint 3

This is probably the most notable design software for Amiga

IFF Kefrens Converter

IFF KefCon

IFF KefCon is a software that allows to manipulate IFF and convert to RAW data, either in standard or interleaved format. It is also possible to generate the palette code that will be instered in the COPPERLIST, or to generate a mask for the loaded image.

Some features:

  1. IFF-LBM – Save to IFF-LBM format
  2. RAW NORM – Save to RAW
  3. RAW BLIT – Save to RAW INTERLEAVED
  4. SPRITE 4 – Save as RAW SPRITE (16xpx, 4 colors)
  5. SPRITE 16 – Save as RAW SPRITE in ATTACHED MODE (16xpx, 16 colors)
  6. COPPER – Save the palette as a COPPERLIST CODE

ProTracker

Pro Tracker 3.15

ProTracker is a well know software for creating music in MOD format. Check the Manual:_Effect_Reference to read more informations about MOD commands.

Other utilities

  • XnConvert – A format converter tool with a lot of options, it can convert also popular image to IFF
  • Xrns2XMod – A tool that allows to convert XRNS (Renoise song format) to MOD / XM

A note about XnConvert: Despite is very intuitive to use, before converting to IFF format you may need to specify the Bit Depth from the Actions tab otherwise palette color result would screw up.

Starred MediaSoft Demo

Demo 1

Demo 1

Demo 2

Demo 2

Demo 3

Demo 3

Be the first to comment

Leave a Reply

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax


*