1
0
mirror of https://frontier.innolan.net/github/AmigaExamples.git synced 2025-12-06 18:45:34 +00:00

(re)Learning how to program an Amiga after a 20 year break

Introduction

This repo is not meant to be an amiga programming guide. If you're looking for the correct way to program an amiga, there are lots of other guides out there. These examples start were I left off around 1990, and we had very bad programming habbits in those days.

I do however try to show exactly what is going on in each example. Wherever possible I try and use constants from the OS includes instead of magic custom addresses etc.

Where possible I will try and write development system programs that show how data is created/converted.

Documentation

Cross development environment

Built on OSX 10.11.3 Notes:

  • My /usr/local is writable by me. You will probable need to add "sudo" to any "make install" lines
  • I have gcc-5.3.0 installed in /usr/local
  1. The fantastic AmigaOS cross compiler for Linux / MacOSX / Windows

    https://github.com/cahirwpz/amigaos-cross-toolchain

git clone git://github.com/cahirwpz/amigaos-cross-toolchain.git

cd amigaos-cross-toolchain

./toolchain-m68k --prefix=/usr/local/amiga build

   
1. autoconf
    ```
    # curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
    # tar xzf autoconf-2.69.tar.gz
    # cd autoconf-2.69
    # ./configure --prefix=/usr/local
    # make
    # make install
  1. automake
    # curl -OL http://ftpmirror.gnu.org/automake/automake-1.15.tar.gz
    # tar xzf automake-1.15.tar.gz
    # cd automake-1.15
    # ./configure --prefix=/usr/local
    # make
    # make install
    

3. pkg-config
    ```
    # curl -OL https://pkg-config.freedesktop.org/releases/pkg-config-0.29.tar.gz
    # tar zxf pkg-config-0.29.tar.gz
    # cd pkg-config-0.29
    # ./configure --with-internal-glib --prefix=/usr/local LDFLAGS="-framework CoreFoundation -framework Carbon"
    # make
    # make install
  1. lha
    # git clone https://github.com/jca02266/lha.git
    # aclocal
    # autoheader
    # automake -a
    # autoconf
    # ./configure --prefix=/usr/local
    # make
    # make install
    

5. libtool
    ```
   # wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
   # tar zxfv libtool-2.4.6.tar.gz
   # cd libtool-2.4.6
   # ./configure --prefix=/usr/local
   # make
   # make install
  1. libpng
    # wget ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-1.6.21.tar.gz
    # tar zxfv libpng-1.6.21.tar.gz
    # cd libpng-1.6.21
    # ./configure --prefix=/usr/local
    # make
    # make install
    

7. pngquant
    ```
    # git clone git://github.com/pornel/pngquant.git
    # cd pngquant/lib
    # ./configure --prefix=/usr/local
    # make
    # mkdir /usr/local/include/pngquant
    # cp *.h /usr/local/include/pngquant/
    # cp *.a /usr/local/lib
Description
Amiga programming examples
Readme 233 MiB
Languages
Assembly 83.7%
C 9.8%
Makefile 6.2%
SWIG 0.3%