Main Page | Modules | Related Pages

FAQ - Frequently Asked Questions

Q: I made a demo/game using HEL, do you want it?
A: Of course!


Q: How you convert all the sample graphics?
A: The graphic conversions are all done with make. Open the makefile of a sample project and look for "gfx:" target. That's the graphic conversion command. If you want to execute it, open a HAM Shell ("External Tools | Command Prompt" in VisualHAM) and enter: make gfx


Q: In one of your sample projects I saw you use GBACrusherCL.exe, where can I get it?
A: The program is called GBA Crusher and it's written by John Sensebe. Use google.com or have a look at the gbadev.org forum.


Q: Can I check how many memory my game uses?
A: You can use the following command to display the sizes of sections inside binary files (*.elf;*.a;*.o;etc): ham/gcc-arm/bin/arm-thumb-elf-size.exe -A game.elf


Q: Are there any examples for HEL?
A: Yes, there are! The HEL zip archive you probably just downloaded contains them, just take a look at it. Hint: The folder is called demos


Q: My project needs so long to compile, what can I do?
A: See Improving compile time


Q: Why Window Functions? They are also covered by HAM!
A: Window Functions in HEL are implemented because:


Q: So I can use HEL Library for freeware/commercial/shareware projects?
A: Yes, you are free to use HEL Library as part of your program for any purpose including freeware, commercial and shareware programs, provided some credit is given to me. This can be in the credits-screen for example. Something like "HEL Library by Peter Schraut" is fine!


Q: Why do you have most of the Object functions implemented which are also available in HAM?
A: That's rather easy to explain. All object functions in HAM are 'real functions'. In HEL most of the functions get replaced with macros when you switch to releasemode. This is much much MUCH faster then! Make sure to take a look at the other FAQ entries related to debug/release things too.


Q: When I use the release library, the compiler complains it cannot find the neccessary functions from the Object Module (hel_Obj*).
A: This is because I made a compiler directive switch to use macros instead of functions in releasemode. This is quite less overhead and has a huge performance improvement. So when you use the release library of HEL, you must open the file ham/include/mygba.h and comment out the line:

 #define HAM_DEBUGGER 
For more infomation on this please see Debug and Release Library mystery


Q: How can i speed-up my game?
A: In the debug library, HEL makes pretty much use ASSERT checking. This takes performance and space, -BUT- for the development process I do recommend to use it, because it helps a lot there, since it displays an errorscreen whenever you pass an invalid parameter to one of HEL's functions.
However, if you want to have full speed, use HEL's release library and go into ham/include, open mygba.h and comment out the HAM_DEBUGGER define. Then HEL uses for a lot of functions macros instead and that's really a speed boost ;) The registered HAM library if faster than the freeware version too, just as a side info. For more infomation on this please see Debug and Release Library mystery


Q: Debug and Release Library?
A: Please see Debug and Release Library mystery


Q: When I disable boundschecking using the hel_MapSetBoundsCheck function and scroll outside the map, screencorruption appears.
A: Well, that is why HEL has an option for it. When you disable BoundChecking, HEL does not check anymore if the current position of the map is still inside the (valid) mapdata. When it is not, then appears corruption on the screen. I recommend to leave it turned on.


Q: I want to use background-wrapping with my map, but it seems there is a bug.
A: This does not fit into HEL's concept and so it is not supported. For detailed information please follow this link and read my answer in the forum.


Q: NEW and FREE (malloc / free) are quite slow?
A: Oh well, dynamic memory allocation is slow. Try to avoid it! Use it only for initialization purposes, don't use it in your gameloop or similar things!



Generated on Mon Aug 22 20:43:40 2005 by DoxyGen 1.4.4