Skip to content
Permalink
Browse files

Added initial support for Atari (thanks Patrice!)

  • Loading branch information
slouken committed Feb 17, 2002
1 parent 08f41ed commit 09352e206c9e34926a4895d01435de93fc974d92
Showing with 5,991 additions and 5 deletions.
  1. +4 −2 CREDITS
  2. +1 −0 Makefile.am
  3. +2 −2 README
  4. +80 −0 README.MiNT
  5. +99 −0 configure.in
  6. +1 −0 docs.html
  7. +5 −0 src/timer/Makefile.am
  8. +149 −0 src/timer/mint/SDL_systimer.c
  9. +137 −0 src/timer/mint/SDL_vbltimer.S
  10. +37 −0 src/timer/mint/SDL_vbltimer_s.h
  11. +2 −1 src/video/Makefile.am
  12. +6 −0 src/video/SDL_sysvideo.h
  13. +6 −0 src/video/SDL_video.c
  14. +31 −0 src/video/ataricommon/Makefile.am
  15. +377 −0 src/video/ataricommon/SDL_ataric2p.S
  16. +203 −0 src/video/ataricommon/SDL_ataric2p060.c
  17. +67 −0 src/video/ataricommon/SDL_ataric2p060_c.h
  18. +95 −0 src/video/ataricommon/SDL_ataric2p_s.h
  19. +47 −0 src/video/ataricommon/SDL_atarieddi.S
  20. +58 −0 src/video/ataricommon/SDL_atarieddi_s.h
  21. +126 −0 src/video/ataricommon/SDL_atarievents.c
  22. +47 −0 src/video/ataricommon/SDL_atarievents_c.h
  23. +145 −0 src/video/ataricommon/SDL_atarikeys.h
  24. +56 −0 src/video/ataricommon/SDL_atarimxalloc.c
  25. +49 −0 src/video/ataricommon/SDL_atarimxalloc_c.h
  26. +187 −0 src/video/ataricommon/SDL_biosevents.c
  27. +46 −0 src/video/ataricommon/SDL_biosevents_c.h
  28. +192 −0 src/video/ataricommon/SDL_gemdosevents.c
  29. +46 −0 src/video/ataricommon/SDL_gemdosevents_c.h
  30. +241 −0 src/video/ataricommon/SDL_ikbdevents.c
  31. +46 −0 src/video/ataricommon/SDL_ikbdevents_c.h
  32. +220 −0 src/video/ataricommon/SDL_ikbdinterrupt.S
  33. +53 −0 src/video/ataricommon/SDL_ikbdinterrupt_s.h
  34. +127 −0 src/video/ataricommon/SDL_xbiosmouseevents.c
  35. +46 −0 src/video/ataricommon/SDL_xbiosmouseevents_c.h
  36. +109 −0 src/video/ataricommon/SDL_xbiosmouseinterrupt.S
  37. +52 −0 src/video/ataricommon/SDL_xbiosmouseinterrupt_s.h
  38. +16 −0 src/video/gem/Makefile.am
  39. +322 −0 src/video/gem/SDL_gemevents.c
  40. +37 −0 src/video/gem/SDL_gemevents_c.h
  41. +158 −0 src/video/gem/SDL_gemmouse.c
  42. +37 −0 src/video/gem/SDL_gemmouse_c.h
  43. +1,064 −0 src/video/gem/SDL_gemvideo.c
  44. +112 −0 src/video/gem/SDL_gemvideo.h
  45. +115 −0 src/video/gem/SDL_gemwm.c
  46. +41 −0 src/video/gem/SDL_gemwm_c.h
  47. +10 −0 src/video/xbios/Makefile.am
  48. +757 −0 src/video/xbios/SDL_xbios.c
  49. +127 −0 src/video/xbios/SDL_xbios.h
@@ -19,11 +19,13 @@ Thanks to everyone who made this possible, including:

* Patrick Trainor and Jim Boucher, for the QNX Neutrino port

* Hannu Viitala for the EPOC port
* Carsten Griwodz for the AIX port

* Gabriele Greco, for the Amiga port

* Carsten Griwodz for the AIX port
* Patrice Mandin, for the Atari port

* Hannu Viitala for the EPOC port

* Peter Valchev for nagging me about the OpenBSD port until I got it right. :)

@@ -28,6 +28,7 @@ EXTRA_DIST = \
README.Epoc \
README.MacOS \
README.MacOSX \
README.MiNT \
README.NanoX \
README.OpenBSD \
README.QNX \
4 README
@@ -17,8 +17,8 @@ several other languages, including Ada, Eiffel, ML, Perl, and Python.

The current version supports Linux, Windows, BeOS, MacOS, MacOS X,
FreeBSD, BSD/OS, Solaris, and IRIX. The code contains support for
Windows CE, OpenBSD, NetBSD, AIX, OSF/Tru64, and QNX, but these are
not yet officially supported.
Atari, Windows CE, OpenBSD, NetBSD, AIX, OSF/Tru64, and QNX, but these
are not yet officially supported.

This library is distributed under GNU LGPL version 2, which can be
found in the file "COPYING". This license allows you to use SDL
@@ -0,0 +1,80 @@

==============================================================================
Using the Simple DirectMedia Layer on Atari
==============================================================================

==============================================================================
I. Building the Simple DirectMedia Layer libraries:
(This step isn't necessary if you have the SDL binary distribution)

Do the classic configure, with --disable-shared --enable-static and:

Tos version (should run everywhere):
--disable-audio --disable-threads
Tos does not support threads, so can not support audio, maybe in a future
version audio support will be added via interrupts.

MiNT version (maybe Magic, only for multitasking OS):
--disable-pthreads --enable-pth
Mint and Magic may supports threads, so audio can be used with current
devices, like Sun audio, or disk-writing support. Like Tos, interrupt
audio without threads is more suited for Atari machines.

Then you can make ; make install it.

==============================================================================
II. Building the Simple DirectMedia Layer test programs:

Do the classic configure, then make.

Run them !

==============================================================================
III. Enjoy! :)

If you have a project you'd like me to know about, or want to ask questions,
go ahead and join the SDL developer's mailing list by sending e-mail to:

sdl-request@libsdl.org

and put "subscribe" into the subject of the message. Or alternatively you
can use the web interface:

http://www.libsdl.org/mailman/listinfo/sdl

==============================================================================
IV. What is supported:

Keyboard (GEMDOS, BIOS, Ikbd)
Mouse (XBIOS, GEM, Ikbd)
Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen))
Timer (VBL vector)

- What is missing:
Audio support (TOS)
CDROM support (Metados, /dev/cdrom)
Joystick and joypad support (Hardware)
Threads support (TOS)

- Driver combinations:
Video Kbd Mouse Timer
xbios ikbd ikbd vbl
xbios gemdos xbios vbl
xbios bios xbios vbl
gem gem gem vbl

==============================================================================
V. Environment variables:

SDL_ATARI_EVENTSDRIVER
Set to 'ikbd' to force IKBD 6301 keyboard driver
Set to 'gemdos' to force gemdos keyboard driver
Set to 'bios' to force bios keyboard driver

SDL_VIDEODRIVER:
Set to 'xbios' to force xbios video driver
Set to 'gem' to force gem video driver

--
Patrice Mandin <pmandin@caramail.com>
http://www.multimania.com/pmandin
@@ -909,6 +909,49 @@ CheckAAlib()
fi
}

dnl Set up the Atari Xbios driver
CheckAtariXbiosVideo()
{
AC_ARG_ENABLE(xbios,
[ --enable-video-xbios use Atari Xbios video driver [default=yes]],
, enable_video_xbios=yes)
video_xbios=no
if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
video_xbios=yes
CFLAGS="$CFLAGS -DENABLE_XBIOS"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS xbios"
VIDEO_DRIVERS="$VIDEO_DRIVERS xbios/libvideo_xbios.la"
fi
}

dnl Set up the Atari Gem driver
CheckAtariGemVideo()
{
AC_ARG_ENABLE(gem,
[ --enable-video-gem use Atari Gem video driver [default=yes]],
, enable_video_gem=yes)
if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
video_gem=no
AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
video_gem=yes
CFLAGS="$CFLAGS -DENABLE_GEM"
SYSTEM_LIBS="$SYSTEM_LIBS -lgem"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS gem"
VIDEO_DRIVERS="$VIDEO_DRIVERS gem/libvideo_gem.la"
fi
fi
}

dnl Set up the Atari Bios keyboard driver
CheckAtariBiosEvent()
{
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/ataricommon"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS ataricommon"
VIDEO_DRIVERS="$VIDEO_DRIVERS ataricommon/libvideo_ataricommon.la"
}

dnl rcg04172001 Set up the Null video driver.
CheckDummyVideo()
{
@@ -2165,6 +2208,57 @@ case "$target" in
SDL_CFLAGS="$SDL_CFLAGS -F/System/Library/Frameworks/Carbon.framework -F/System/Library/Frameworks/Cocoa.framework"
SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon -framework Cocoa"
;;
*-*-mint*)
ARCH=mint
CheckDummyVideo
CheckDiskAudio
CheckAtariBiosEvent
CheckAtariXbiosVideo
CheckAtariGemVideo
CheckPTH
# Set up files for the main() stub
COPY_ARCH_SRC(src/main, linux, SDL_main.c)
# Set up files for the audio library
if test x$enable_audio = xyes; then
AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
fi
# Set up files for the joystick library
# (No joystick support yet)
if test x$enable_joystick = xyes; then
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
if test x$enable_pth = xyes; then
COPY_ARCH_SRC(src/thread, pth, SDL_systhread.c)
COPY_ARCH_SRC(src/thread, pth, SDL_systhread_c.h)
else
COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c)
COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h)
fi
COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
fi
# Set up files for the timer library
if test x$enable_timers = xyes; then
COPY_ARCH_SRC(src/timer, mint, SDL_systimer.c)
COPY_ARCH_SRC(src/timer, mint, SDL_vbltimer.S)
COPY_ARCH_SRC(src/timer, mint, SDL_vbltimer_s.h)
fi
# MiNT does not define "unix"
CFLAGS="$CFLAGS -Dunix"
;;
*)
AC_MSG_ERROR(Unsupported target: Please add to configure.in)
;;
@@ -2185,6 +2279,7 @@ AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos)
AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos)
AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
AM_CONDITIONAL(TARGET_QNX, test $ARCH = qnx)
AM_CONDITIONAL(TARGET_MINT, test $ARCH = mint)

# Set conditional variables for shared and static library selection.
# These are not used in any Makefile.am but in sdl-config.in.
@@ -2318,10 +2413,14 @@ src/video/bwindow/Makefile
src/video/photon/Makefile
src/video/epoc/Makefile
src/video/dummy/Makefile
src/video/ataricommon/Makefile
src/video/xbios/Makefile
src/video/gem/Makefile
src/events/Makefile
src/joystick/Makefile
src/joystick/amigaos/Makefile
src/joystick/beos/Makefile
src/joystick/bsd/Makefile
src/joystick/darwin/Makefile
src/joystick/dummy/Makefile
src/joystick/linux/Makefile
@@ -16,6 +16,7 @@ <H2>
Major changes since SDL 1.0.0:
</H2>
<UL>
<LI> 1.2.4: Added initial support for Atari (thanks Patrice!)
<LI> 1.2.4: Added support for joysticks on *BSD (thanks Wilbern!)
<LI> 1.2.4: Added a YUV overlay test program (thanks Jon!)
<LI> 1.2.4: Added support for building SDL for EPOC/SymbianOS 6.0
@@ -8,13 +8,18 @@ ARCH_SUBDIRS = $(srcdir)/amigaos \
$(srcdir)/epoc \
$(srcdir)/linux \
$(srcdir)/macos \
$(srcdir)/mint \
$(srcdir)/win32

# Include the architecture-independent sources
COMMON_SRCS = SDL_timer.c SDL_timer_c.h SDL_systimer.h

# Include the architecture-specific sources
if TARGET_MINT
ARCH_SRCS = SDL_systimer.c SDL_vbltimer.S SDL_vbltimer_s.h
else
ARCH_SRCS = SDL_systimer.c
endif

libtimer_la_SOURCES = $(COMMON_SRCS) $(ARCH_SRCS)

0 comments on commit 09352e2

Please sign in to comment.