Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sebastianbergmann/container-amiga-gcc

Containerfile for AmigaOS Cross-Compiler Toolchain
https://github.com/sebastianbergmann/container-amiga-gcc

amigaos container gcc

Last synced: about 2 months ago
JSON representation

Containerfile for AmigaOS Cross-Compiler Toolchain

Awesome Lists containing this project

README

        

# Containerfile for AmigaOS Cross-Compiler Toolchain

`Containerfile` for [Stefan "Bebbo" Franke](https://github.com/bebbo)'s [amiga-gcc](https://github.com/bebbo/amiga-gcc) toolchain for Linux/AmigaOS cross-development.

A ready-to-use image built from this Containerfile is available on [Docker Hub](https://hub.docker.com/r/sebastianbergmann/amiga-gcc/).

More information can be found [here](https://amiga.sebastian-bergmann.de/presentations/2017/evoke/amiga-software-development-in-2017).

## "Hello world!" Example

### AmigaOS C API

`hello.c` from [Radosław Kujawa](https://github.com/Sakura-IT/Amiga-programming-examples/tree/master/C/hello-world-amiga):

```c
#include
#include

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](https://github.com/Sakura-IT/Amiga-programming-examples/tree/master/C/hello-world):

```c
#include

int main()
{
printf("Hello world!\n");

return(0);
}
```

### Compilation

```
$ podman run -v $HOME:/host -it sebastianbergmann/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](https://raw.githubusercontent.com/sebastianbergmann/docker-execute-amiga/master/docker-execute-amiga.sh).

```
$ docker-execute-amiga helloworld
```

![Screenshot](screenshot.png)

#### Container-ized Emulation using Virtual AmigaOS (vamos)

```
$ podman run -v $HOME:/host sebastianbergmann/amitools:latest \
vamos -C 68020 /host/hello
Hello world!
```