Skip to content
Permalink
Browse files

Added initial support for Dreamcast (thanks HERO!)

  • Loading branch information
slouken committed Oct 5, 2002
1 parent ac524cf commit b1758ac4d80768e90e46932a47d327484734d0c3
Showing with 2,847 additions and 4 deletions.
  1. +2 −0 Makefile.am
  2. +105 −0 Makefile.dc
  3. +37 −0 README.DC
  4. +1 −0 docs.html
  5. +1 −1 src/audio/Makefile.am
  6. +3 −0 src/audio/SDL_audio.c
  7. +3 −0 src/audio/SDL_sysaudio.h
  8. +6 −0 src/audio/dc/.cvsignore
  9. +11 −0 src/audio/dc/Makefile.am
  10. +245 −0 src/audio/dc/SDL_dcaudio.c
  11. +45 −0 src/audio/dc/SDL_dcaudio.h
  12. +267 −0 src/audio/dc/aica.c
  13. +17 −0 src/audio/dc/aica.h
  14. +1 −1 src/cdrom/Makefile.am
  15. +6 −0 src/cdrom/dc/.cvsignore
  16. +8 −0 src/cdrom/dc/Makefile.am
  17. +176 −0 src/cdrom/dc/SDL_syscdrom.c
  18. +1 −1 src/joystick/Makefile.am
  19. +6 −0 src/joystick/dc/.cvsignore
  20. +8 −0 src/joystick/dc/Makefile.am
  21. +203 −0 src/joystick/dc/SDL_sysjoystick.c
  22. +1 −0 src/thread/Makefile.am
  23. +223 −0 src/thread/dc/SDL_syscond.c
  24. +27 −0 src/thread/dc/SDL_syscond_c.h
  25. +135 −0 src/thread/dc/SDL_sysmutex.c
  26. +27 −0 src/thread/dc/SDL_sysmutex_c.h
  27. +180 −0 src/thread/dc/SDL_syssem.c
  28. +27 −0 src/thread/dc/SDL_syssem_c.h
  29. +98 −0 src/thread/dc/SDL_systhread.c
  30. +29 −0 src/thread/dc/SDL_systhread_c.h
  31. +1 −0 src/timer/Makefile.am
  32. +106 −0 src/timer/dc/SDL_systimer.c
  33. +1 −1 src/video/Makefile.am
  34. +3 −0 src/video/SDL_sysvideo.h
  35. +3 −0 src/video/SDL_video.c
  36. +6 −0 src/video/dc/.cvsignore
  37. +14 −0 src/video/dc/Makefile.am
  38. +164 −0 src/video/dc/SDL_dcevents.c
  39. +42 −0 src/video/dc/SDL_dcevents_c.h
  40. +45 −0 src/video/dc/SDL_dcmouse.c
  41. +35 −0 src/video/dc/SDL_dcmouse_c.h
  42. +477 −0 src/video/dc/SDL_dcvideo.c
  43. +51 −0 src/video/dc/SDL_dcvideo.h
@@ -25,6 +25,7 @@ EXTRA_DIST = \
README \
README.AmigaOS \
README.CVS \
README.DC \
README.Epoc \
README.MacOS \
README.MacOSX \
@@ -40,6 +41,7 @@ EXTRA_DIST = \
VisualC.html \
VisualC.zip \
VisualCE.zip \
Makefile.dc \
MPWmake.sea.bin \
CWprojects.sea.bin \
PBProjects.tar.gz \
@@ -0,0 +1,105 @@
#GL=1

CC = sh-elf-gcc -ml -m4-single-only
AR = sh-elf-ar
KOS_BASE=/prog/kos-1.1.7
INCS = -I$(KOS_BASE)/libc/include -I$(KOS_BASE)/include -I$(KOS_BASE)/kernel/arch/dreamcast/include
DEFS =-DNO_SIGNAL_H -DENABLE_DC

ifdef GL
DEFS += -DHAVE_OPENGL
TARGET = libSDL_gl.a
else
TARGET = libSDL.a
endif

OPTFLAGS=-O2 -fomit-frame-pointer
CFLAGS=-D_arch_dreamcast $(DEFS) $(INCS) -Iinclude -Isrc -Isrc/audio -Isrc/cdrom -Isrc/endian -Isrc/events -Isrc/joystick -Isrc/thread/dc -Isrc/thread -Isrc/timer -Isrc/video $(OPTFLAGS)

SRCS = \
src/audio/dc/SDL_dcaudio.c \
src/audio/dc/aica.c \
src/audio/SDL_audio.c \
src/audio/SDL_audiocvt.c \
src/audio/SDL_audiodev.c \
src/audio/SDL_audiomem.c \
src/audio/SDL_mixer.c \
src/audio/SDL_wave.c \
src/cdrom/dc/SDL_syscdrom.c \
src/cdrom/SDL_cdrom.c \
src/endian/SDL_endian.c \
src/events/SDL_active.c \
src/events/SDL_events.c \
src/events/SDL_expose.c \
src/events/SDL_keyboard.c \
src/events/SDL_mouse.c \
src/events/SDL_quit.c \
src/events/SDL_resize.c \
src/file/SDL_rwops.c \
src/joystick/dc/SDL_sysjoystick.c \
src/joystick/SDL_joystick.c \
src/SDL.c \
src/SDL_error.c \
src/SDL_fatal.c \
src/SDL_getenv.c \
src/SDL_loadso.c \
src/thread/dc/SDL_syscond.c \
src/thread/dc/SDL_sysmutex.c \
src/thread/dc/SDL_syssem.c \
src/thread/dc/SDL_systhread.c \
src/thread/SDL_thread.c \
src/timer/dc/SDL_systimer.c \
src/timer/SDL_timer.c \
src/video/dc/SDL_dcevents.c \
src/video/dc/SDL_dcvideo.c \
src/video/SDL_blit.c \
src/video/SDL_blit_0.c \
src/video/SDL_blit_1.c \
src/video/SDL_blit_A.c \
src/video/SDL_blit_N.c \
src/video/SDL_bmp.c \
src/video/SDL_cursor.c \
src/video/SDL_gamma.c \
src/video/SDL_pixels.c \
src/video/SDL_RLEaccel.c \
src/video/SDL_stretch.c \
src/video/SDL_surface.c \
src/video/SDL_video.c \
src/video/SDL_yuv.c \
src/video/SDL_yuv_sw.c \

OBJS = $(SRCS:.c=.o)

TEST = \
test/checkkeys.c \
test/graywin.c \
test/loopwave.c \
test/testalpha.c \
test/testbitmap.c \
test/testcdrom.c \
test/testerror.c \
test/testgamma.c \
test/testgl.c \
test/testhread.c \
test/testjoystick.c \
test/testkeys.c \
test/testlock.c \
test/testoverlay.c \
test/testpalette.c \
test/testsem.c \
test/testsprite.c \
test/testtimer.c \
test/testtypes.c \
test/testver.c \
test/testvidinfo.c \
test/testwin.c \
test/testwm.c \
test/threadwin.c \
test/torturethread.c \

clean:
rm $(OBJS)

$(TARGET) : $(OBJS)
$(AR) rcs $(TARGET) $(OBJS)

@@ -0,0 +1,37 @@
SDL for Dreamcast (beta2)

BERO
bero@geocities.co.jp

http://www.geocities.co.jp/Playtown/2004/

this work with kos-newlib
http://sourceforge.net/projects/dcquake/

compile
- edit KOS_BASE in Makefie.dc for your enviroment
- make -f Makefile.dc

FIXME: The KOS thread files can be found on HERO's site - not in the SDL source.
- overwrite thread/*.c to kos-1.1.7/kernel/thread
- rebuild kos

compile with gl support
- install latest libgl from http://sourceforge.net/projects/dcquake/
- uncomment GL=1 in Makefile.dc
- make -f Makefile.dc clean
- make -f Makefile.dc

install
- copy include/*.h and libSDL.a or libSDL_gl.a for your enviroment

changelog:

beta2
- OpenGL support
- Hardware page flip support

beta
- thread, timer don't tested so much.
- not support OpenGL

@@ -16,6 +16,7 @@ <H2>
Major changes since SDL 1.0.0:
</H2>
<UL>
<LI> 1.2.5: Added initial support for Dreamcast (thanks HERO!)
<LI> 1.2.5: Updated Borland projects for Kylix 3 (thanks Dominique)
<LI> 1.2.5: Added project files for embedded Visual C++ 4.0
<LI> 1.2.5: Added SDL_BUTTON_WHEELUP (4) and SDL_BUTTON_WHEELDOWN (5)
@@ -6,7 +6,7 @@ noinst_LTLIBRARIES = libaudio.la
# Define which subdirectories need to be built
SUBDIRS = @AUDIO_SUBDIRS@
DIST_SUBDIRS = alsa arts baudio dma dmedia dsp esd macrom nas nto openbsd \
paudio sun ums windib windx5 disk mint
paudio sun ums windib windx5 disk mint dc

DRIVERS = @AUDIO_DRIVERS@

@@ -88,6 +88,9 @@ static AudioBootStrap *bootstrap[] = {
#endif
#ifdef DISKAUD_SUPPORT
&DISKAUD_bootstrap,
#endif
#ifdef ENABLE_DC
&DCAUD_bootstrap,
#endif
NULL
};
@@ -153,6 +153,9 @@ extern AudioBootStrap MINTAUDIO_bootstrap;
#ifdef DISKAUD_SUPPORT
extern AudioBootStrap DISKAUD_bootstrap;
#endif
#ifdef ENABLE_DC
extern AudioBootStrap DCAUD_bootstrap;
#endif

/* This is the current audio device */
extern SDL_AudioDevice *current_audio;
@@ -0,0 +1,6 @@
Makefile.in
Makefile
.libs
*.o
*.lo
*.la
@@ -0,0 +1,11 @@

## Makefile.am for SDL on the Dreamcast console

noinst_LTLIBRARIES = libaudio_dc.la
libaudio_dc_la_SOURCES = $(SRCS)

# The SDL audio driver sources
SRCS = SDL_dcaudio.c \
SDL_dcaudio.h \
aica.c \
aica.h

0 comments on commit b1758ac

Please sign in to comment.