Order of the Butterfly
Posts: 171 from 2006/10/6
From: Spain
Hi.
I'm writting a simple game engine, aimed to be compatible with classic Amiga and MorphOS (and probably ported for iPhone also). My first implementation use a bitmap for rendering, this bitmap is copied to screen bitmap when all operations are performed, but it doesn't work too fast on my A600 with ACA 630/25mhz. I have tested examples of double buffering from Amiga developer cd and aminet, and i'm getting problems to make it work on MorphOS, i know that exists other methods to perform double buffering, but this method works on AOS 2.0, the problem is that it doesn't work on MorphOS, but it works perfectly on EUAE with WB3.1.
I have opened a screen, allocated a bitmap for double buffering, and then i tried to change screen structure from my custom screen, but the bitmap isn't changed, the example from Amiga developer cd that uses this system to perform double buffer doesn't work on MorphOS.
This is the code that changes the screen bitmap.
Code:
scr->RastPort.BitMap = fb->bm->bitmap;
MakeScreen(scr);
RethinkDisplay();
This double buffering system doesn't work for some reason?
EDITED:
I just finished to implement the double buffer on my code, and it works perfectly on my Amiga 600 and EUAE, but on MorphOS i got corrupted bitmaps, but it's strange, because i made a screenshot with Personal Paint, and the screen isn't corrupted.
Here is the code if anyone wants to try it.
engine.lha[ Edited by BalrogSoft 14.11.2011 - 17:39 ]Balrog Software -
AmigaSkool.netMac Mini - MorphOS 3.8 - G4 1.5Ghz - Ati 9200 64 Mb
Efika - MorphOS 3.6 - Ati 9200 64Mb - 80 Gb HD
Amiga 1200D - OS 3.9 - Blizzard 603e/240mh