view README.AmigaOS @ 1120:8e1fde455471

Patch by me to fix crash described below. --ryan. To: sdl@libsdl.org From: Rainer Deyke <rainerd@eldwood.com> Date: Tue, 16 Aug 2005 01:08:18 -0600 Subject: [SDL] Bug report: SDL_CreateRGBSurface with SDL_HWSURFACE crashes If SDL is in full-screen mode with a hardware video surface on OS X, SDL_CreateRGBSurface with SDL_HWSURFACE crashes. The crash occurs on line 109 of SDL_Surface.c. This was tested on OS X 10.3.9 with both SDL 1.2.8 and the latest CVS. Here is a small C++ program that demonstrates the problem: #include "SDL.h" #include <stdio.h> namespace { void wait_for_key() { SDL_Event e; printf("%d\n", SDL_GetAppState()); while (SDL_WaitEvent(&e)) { if (e.type == SDL_KEYDOWN || e.type == SDL_QUIT) return; } } } int main(int, char *[]) { SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen = SDL_SetVideoMode(640, 480, 32, SDL_FULLSCREEN | SDL_HWSURFACE); SDL_Surface *s = SDL_CreateRGBSurface(SDL_HWSURFACE, 640, 480, 32, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask); wait_for_key(); if (s) SDL_FreeSurface(s); SDL_Quit(); printf("Success!\n"); return 0; }
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 18 Aug 2005 06:46:32 +0000
parents 75a95f82bc1f
children 6d2e1961661a
line wrap: on
line source

This is the porting of 1.2.0 version of SDL (the latest stable one)
to AmigaOS/68k.

All the bugs known of the past version have been corrected. And I've
added all the new SDL features.

This version of SDL needs Cybergraphx V3 (r69+) or CyberGraphX V4
and AHI v3+. Probably it works also with P96 or CGXAga, but it's 
untested.

This version is available as linked library for SAS/C and GCC, only 68k this 
time, a powerup (ppcemu compatible) and a morphos version will be ready quite 
soon (i hope).

Implemented:

- 8/16/24/32bit video modes, both fullscreen and windowed.
- Hardware surfaces.
- CGX blitting acceleration.
- CGX colorkey blitting acceleration.
- AHI audio (8/16 bit, with any audio format), always uses unit 0 for now.
- Thread support (maybe not 100% compatible with other implementations)
- Semaphores 
- Window resizing and backdrop windows (NEW)
- Joystick/Joypad support.

To do:

- CDRom audio playing support
- OpenGL (A guy was working on it but I've lost his tracks :( )

The SAS/C library is distributed with debug info attached, to strip debug info 
simply add STRIPDEBUG argument to the linker.

NOTE: SDL includes debug output using kprintf, to disable it add to your 
project a function like this:

void kprintf(char *a,...)
{
}

Otherwise you can redirect the debug to a console window with sushi, sashimi or
similar tools (the default output is the internal serial port). 

For info, support, bugfix and other feel free to mail me:

Gabriele Greco (gabriele.greco@aruba.it)

You can find also a small SDL Amiga page at:
http://ggreco.interfree.it/sdl.html