Page 1 of 3
VBA2 progress
Posted: Thu Dec 31, 2009 1:57 pm
by spacy51
During my semester break, I worked on VBA2.
Â
I now understand the ARM core reasonably and I started rewriting the complete graphical subsystem.
Â
I can already process VRAM data and the video registers to produce bitmaps of (character mode) BG layers. (See screenshot)
Â
Instead of rendering only a single line, I process the whole BGs at once, so that should give some nice speed boosts.
Â
Â
I plan to let this new C++ class for managing the GBA's graphical subsystem produce 128x128 ... 1024x1024 bitmap planes, which a hardware accelerated OpenGL renderer will further process with special effects like scaling, rendering, color manipulation and of course combining, clipping & rendering it all to the screen. Maybe this will also look better in higher resolutions. With a few hacking it might even be possible to get real widescreen support on some games.
Sprites are also perfect work for OpenGL instead of a software renderer.
Â
If you want to help me and have a good knowledge of OpenGL, don't hesitate to contact me. I will do the preprocess work and you do the rendering.
Â
Â
You can always find the latest source code at http://code.google.com/p/gbxemu/
VBA2 progress
Posted: Thu Dec 31, 2009 10:29 pm
by Squall Leonhart
Mudlord will want to use Direct3D [img]<fileStore.core_Emoticons>/emoticons/laugh.png[/img]/emoticons/laugh@2x.png 2x" width="20" height="20" />
VBA2 progress
Posted: Fri Jan 01, 2010 6:13 am
by spacy51
Since only OpenGL is platform-independent, and is supported by Qt, I'd go with that.
VBA2 progress
Posted: Fri Jan 01, 2010 8:28 pm
by Squall Leonhart
OpenGL isn't thread safe.
VBA2 progress
Posted: Fri Jan 01, 2010 11:49 pm
by mudlord
What choice do we have?
Â
Fuck it. Count me IN!
VBA2 progress
Posted: Sat Jan 02, 2010 12:09 am
by Squall Leonhart
we could tell linux users to go and sodomise themselves elsewhere? [img]<fileStore.core_Emoticons>/emoticons/tongue.png[/img]/emoticons/tongue@2x.png 2x" width="20" height="20" />
VBA2 progress
Posted: Sat Jan 02, 2010 4:14 am
by mudlord
That will annoy Nach D: We don't want that D:
VBA2 progress
Posted: Sat Jan 02, 2010 7:29 am
by Squall Leonhart
but mudlord, remember we are developers,.. we don't have to develop with usability in mind. sarcasm.
Â
[img]<fileStore.core_Emoticons>/emoticons/tongue.png[/img]/emoticons/tongue@2x.png 2x" width="20" height="20" />
VBA2 progress
Posted: Sat Jan 02, 2010 7:28 pm
by spacy51
Today I made a lot of cleanups to my own code (I'm learning the GBA graphic system while developing, that's why).
Â
Mode 0 now supports processing all 4 BGs with up to 4 256x256 macroblocks per BG. 256 colors x 1 palette and 16 colors x 16 palettes work now flawless, including tile mirroring.
Â
Repetive tasks are unified with arrays as much as possible. Memory of picture data is managed by a small CPicture class (my own code).
All colors are converted to ARGB format as soon as possible in order to make processing easier (no bit masks or bit shifts necessary all the time).
I will later use the alpha channel to let OpenGL handle transparency so I don't have to.
We could even transport the alpha channel to the user so he can export PNGs with a perfectly fine alpha channel if he wants to rip sprites or BG layers. I'm so excited ^^
Â
Next on the list are the sprites and window features.
VBA2 progress
Posted: Sun Jan 03, 2010 7:59 am
by mudlord
Have you thought of rendering modes like Mode7?