The Socrates Gameboy Advance Development Engine

The SGADE was started by Jaap Suter and he decided to go open source and share it with the friendly GBA development community. Maintenance and expansion of the library is currently headed by Mark Price.

The SGADE is written in C and Assembly and compiles under GCC. C++ is not used and will not be used in the future. The SGADE does not use the C runtime environment.

The SGADE is tested using Visual Boy Advance, BATGBA, an MBV2 cable and a Flashlinker. Not all functionality may work on all emulators, but everything does work on hardware. I suggest you buy an MBV2 cable and use that for real testing purposes.

The SGADE Mailinglist

If you want to stay updated on the SGADE, I suggest you join the SGADE mailinglist by sending an email to sgade-subscribe@yahoogroups.com. This mailinglist is for everything SGADE related. It's for news, development suggestions, bug reports, and anything else. Do not use the list for general GBADev questions, we have the GBADev mailinglist for that.

Latest SGADE update:

  • July 30th 2002

Current versions:

  • 1.01-stable release
  • 1.02-development (B) release

Latest Changes:
For full details on any version, check the SoRevision.txt file in the release archive for details.

  • July 30th 2002: Uploaded stable 1.01. Tile mode and general-purpose memory manager added.
  • June 9th 2002: Uploaded stable 1.00. See SoRevision.txt in the release for details.
  • February 1st 2002: Uploaded a complete and all new version with too many changes to list. I suggest you just delete your old version of the SGADE and start using this one. Check the documentation to get an impression of the changes. Don't worry though, any old code should work without too much changes....

Current list of contributors:

Current Features:

  • An interrupt manager
  • An sprite memory manager
  • An OAM manager
  • A background memory manager
  • A clock and timer routines
  • Sprite handling
  • Background (tile-mode) handling
  • A simple 3D engine (vectors, matrices, meshes, polygons, etc.)
  • A mode 4 texturemapper
  • A mode 4 triangle filler
  • Lots of other mode 4 rendering stuff (i.e. image (cross)fading)
  • Usefull palette handing functions (i.e. crossfading, greyscales, etc.)
  • Extensive fixed point macros including a fast one-over-LUT
  • Flash memory (SRAM) handling
  • DMA routines
  • Other LUTS like sine, cosine, crossfade, etc.
  • Fast Random number generator using the Mersenne Twister
  • Neat debugging features (a disassembly locator, screen output, assertions)
  • Several external tools (with source), including a palette, image and texture converter, and a code generator.
  • A Visual Studio Workspace
  • An NMake Makefile
  • Extensive documentation

Planned features:

  • Updates to conversion tools to support new Map & Font data types release 1.02
  • Demand loading extensions to sprite manager. release 1.03
  • Event based scripting system.
  • High-level input management system.
Other Possible additions:
  • A Visual Studio Workspace Wizard.
  • A Milkshape3D Mesh Exporter. ?
  • More fonts + And font tool.
  • Suggestions or requests? Join the mailing list and make yourself heard.
  • Have something to share? Join the SourceForge development team.