view README.AmigaOS @ 1544:ab1e4c41ab71

Fixed bug #33 Mike Frysinger wrote: > with libsdl-1.2.9, some games (like bomberclone) started > segfaulting in Gentoo [...snip...] > the last change in the last hunk: [...snip...] > if i change the statement to read: > (table[which].blit_features & GetBlitFeatures()) == GetBlitFeatures() > bomberclone no longer segfaults on my box Alex Volkov wrote: > The test "(table[which].blit_features & GetBlitFeatures()) == > table[which].blit_features)" is correct, and the previous > "(table[which].cpu_mmx == SDL_HasMMX())" was actually broken. I think there is potentially a slightly different cause of the above problem. During the introduction of the Altivec code, the blit_table struct field 'alpha' got changed from a straightforward enum to a bitmask, which makes perfect sense by itself. However, now the table driven blitter selection code in SDL_CalculateBlitN() can choose the wrong blitters when searching for a NO_ALPHA blitter because of the following code: int a_need = 0; ... (a_need & table[which].alpha) == a_need && When searching through the normal_blit_2[] table, a SET_ALPHA blitter (like Blit_RGB565_ARGB8888) can now be selected instead of a NO_ALPHA one, causing alpha channel bits to appear in a non-alpha destination surface. I suppose this could theoretically be an indirect cause of the segfault mentioned above. I *think* this can be fixed by changing to int a_need = NO_ALPHA;
author Sam Lantinga <slouken@libsdl.org>
date Wed, 15 Mar 2006 15:47:49 +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