SDL-1.2 port to AmigaOS/m68k
Clone or download
Pull request Compare This branch is 9 commits ahead of HenrykRichter:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
audio include <dos/inline.h> Jun 21, 2018
cdrom initial import Dec 9, 2017
cpuinfo initial import Dec 9, 2017
docs initial import Dec 9, 2017
events initial import Dec 9, 2017
file initial import Dec 9, 2017
gl_dummy initial import Dec 9, 2017
include add some ifdef May 12, 2018
joystick include <dos/inline.h> Jun 21, 2018
main initial import Dec 9, 2017
stdlib initial import Dec 9, 2017
thread include <dos/inline.h> Jun 21, 2018
timer
video
.gitignore Made some fixes so it compiles for MorphOS Dec 10, 2017
BUGS initial import Dec 9, 2017
COPYING initial import Dec 9, 2017
CREDITS initial import Dec 9, 2017
LICENSE Initial commit Dec 9, 2017
Makefile initial import Dec 9, 2017
Makefile.aros initial import Dec 9, 2017
Makefile.bax update for newlib May 12, 2018
Makefile.clib2 initial import Dec 9, 2017
Makefile.cross initial import Dec 9, 2017
Makefile.morphos
PodmienićIntuition.h!.! initial import Dec 9, 2017
README-SDL.txt initial import Dec 9, 2017
README.md initial import Dec 9, 2017
SDL.c
SDL_amigasas.c initial import Dec 9, 2017
SDL_amigasas2.c initial import Dec 9, 2017
SDL_amigastub.c initial import Dec 9, 2017
SDL_cdrom.c initial import Dec 9, 2017
SDL_error.c initial import Dec 9, 2017
SDL_error_c.h
SDL_fatal.c initial import Dec 9, 2017
SDL_fatal.h initial import Dec 9, 2017
SDL_inline.h initial import Dec 9, 2017
SDL_lutstub.s initial import Dec 9, 2017
SDL_lutstubrel.s initial import Dec 9, 2017
SDL_syscdrom.c initial import Dec 9, 2017
SDL_syscdrom.h initial import Dec 9, 2017
SDLstub.c
begin_code.h initial import Dec 9, 2017
close_code.h
docs.html initial import Dec 9, 2017
dummy.c initial import Dec 9, 2017
mmx.h
mydebug.h initial import Dec 9, 2017
readme-amiga.txt initial import Dec 9, 2017
stabs.h initial import Dec 9, 2017

README.md

Disclaimer

The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library designed to make it easy to write multi-media software, such as games and emulators.

The Simple DirectMedia Layer library source code is available from: http://www.libsdl.org/

This library is distributed under the terms of the GNU LGPL license: http://www.gnu.org/copyleft/lesser.html

Introduction

This is one of the ports of SDL to the AmigaOS3/68k platform. I cannot comment much on the origins of the code contributions to this port. I've kept the files I got into my hands, along with the various existing Makefiles.

The main purpose of this branch (based on SDL 1.2.14, AFAIK) was to provide some bugfixes and performance improvements. Towards the latter point, most of the blitting functions have been rewritten in 68k ASM. Also, some of the routines can switch to AMMX usage (where applicable).

This SDL version should work on all Amigas with RTG (Picasso96 or CyberGraphX).

Building

Several Makefiles for different targets are present in this codebase. The one I was using for the AMMX enabled builds is "Makefile.bax". The compilers I've successfully used were gcc2.95 and gcc6.3.1b (20171120).

The static libSDL.a can be built by

make -f Makefile.bax

I assume a cross-compile environment at /opt/amigaos-68k. Change the prefix path as necessary. Compiler, Assembler and Linker binary names might need adjusting, too. Please also have a look at VFLAGS. The old cross-compile toolchain I had was putting the AmigaOS includes into "os-include". The recently released GCC6 toolchain by Bebbo refers to "sys-include" instead.

My regular AMMX build is for libnix. If ixemul or clib2 is desired, then please refer to the other Makefiles to mix up an appropriate environment.

Usage

When compiling SDL programs, I usually set the following flags to gcc:

-noixemul -O3 -fomit-frame-pointer -m68020-60 -msoft-float 

The Linker commands should include -noixemul and -lSDL