Version 1.0 (build 1)
Copyright (c) 2001 by Ultra Force Development
Introduction
Credits
Usage & notes
Building your own slide show ROM
Contact information
Welcome to Ultra Force GBA slide show builder. An easy to use tool to build a GBA ROM from a list of images.
Thanks go to the gameboy advance community for sharing knowledge, information and sources.
Image File Formats support via the very handy GraphicEx library (v9.9)
http://www.lischke-online.de
(c) Dipl. Ing. Mike Lischke
Quick start:
Additional actions:
Remarks:
The source files used to build UFGBASS.BIN can be found in the file SOURCEROM.ZIP. The main code is located in MAIN.C, it is a simple application that initializes the correct screen mode, copies a certain image to the screen and then waits for the press of the left or right button to browse to a different image. The code is kept very simple and is not optimized in any way or using external library functions.
The application attaches the images to the end of the source ROM (after aligning them to a 32 bit DWORD boundary by padding the source ROM with zero bytes) and searches the source ROM to set a pointer to the start of the image data. To locate entries in the source ROM where the pointer should be updated, the application looks for a 64 bit magic number. The 32 bit DWORD following this magic number will be replaced.
The application assumes the ROM will be loaded at 0x8000000.
The following is a code snippet from MAIN.C, it defines the structure used by the slideshow to store the images and an entry is defined where the application will insert the correct ROM address.
/**
* Format of slideshow data:
* u32 count, number of images
* u32 start[], start of every images (count entries)
* u16 pixels, data for every image
*/
typedef struct tagImageList
{
u32 count;
u16 *start[];
} ImageList;
/**
* ImageInfo is used by the slideshow builder to fill in
* the start location of the image list structure.
*/
typedef struct tagImageInfo
{
u32 magic1;
u32 magic2;
ImageList *list;
} ImageInfo;
// will be update by slideshow with start of ImageList structure.
ImageInfo imageinfo = {0x42474655, 0x535341, 0};
web: http://www.ultraforce.com
mailto: info@ultraforce.com