GitHub

Containerfile for Stefan "Bebbo" Franke's amiga-gcc toolchain for Linux/AmigaOS cross-development.

This container is based on work by Sebastian Bergmann: Docker Hub.

A ready-to-use image built from this Containerfile is available on Docker Hub. Docker Hub is the canonical image location. The publish workflow mirrors the same version tags to this repository's GitHub Container Registry package.

More information can be found here.

"Hello world!" Example

AmigaOS C API

hello.c from Radosław Kujawa:

#include <proto/exec.h>
#include <proto/dos.h>
int main(int argc, void *argv[])
{
    struct Library *SysBase;
    struct Library *DOSBase;
    SysBase = *((struct Library **)4UL);
    DOSBase = OpenLibrary("dos.library", 0);
    if (DOSBase) {
        Write(Output(), "Hello world!\n", 13);
        CloseLibrary(DOSBase);
    }
    return(0);
}

Standard C Library

hello.c from Radosław Kujawa:

#include <stdio.h>
int main()
{
    printf("Hello world!\n");
    return(0);
}

Compilation

$ podman run -v $HOME:/host -it stefanreinauer/amiga-gcc \
  m68k-amigaos-gcc /host/hello.c -o /host/hello -noixemul

Execution

Container-ized Emulation using FS-UAE

The docker-execute-amiga script used below can be downloaded from here.

$ docker-execute-amiga helloworld

Screenshot

Container-ized Emulation using Virtual AmigaOS (vamos)

$ podman run -v $HOME:/host stefanreinauer/amiga-gcc \
  vamos -C 68020 /host/hello
Hello world!

Read the original on github.com ↗