gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

OffTopic > 2004mbit compo game & splash screens

#150870 - gauauu - Wed Feb 13, 2008 10:17 pm

To whomever has the code for the 2004 compo cart:

Would it be possible to build a version where the splash screens and slow intro menu thing are skippable? I've been trying to play through some of the games from it on my gba, but I usually only get to play in about 3 minute chunks. That means that a significant portion of my time consists of watching those splash screens over and over. (Which is actually the reason it's taken me until now to actually getting around to PLAYING those games...I always lean towards playing a game that I can get into right away).

#150874 - Lord Graga - Wed Feb 13, 2008 11:26 pm

If you can skip past the init code and locate the functions responsible for the drawing, you can easely skip right through it. Requires ASM knowledge, of course :)

Can't you just download the games each on their own? Or are the splashes built into the games?

#150882 - gauauu - Thu Feb 14, 2008 3:46 am

Lord Graga wrote:
If you can skip past the init code and locate the functions responsible for the drawing, you can easely skip right through it. Requires ASM knowledge, of course :)


True. I might give it a look, but my ASM chops aren't that great.

Quote:

Can't you just download the games each on their own? Or are the splashes built into the games?


Wow, you'd think that I would have thought of that. I get no smart points. I'll take a look and see if I can find the ones I'm interested in.

#150886 - Dwedit - Thu Feb 14, 2008 9:17 am

A while ago I made a sleep mode patching tool for GBA games. I was going to suggest that you use the tool, so you can play the games for a short time then put them to sleep.
However, then I discovered the ugly truth... Most of the games are incompatible with the patch tool, because they disable the Vblank interrupt. These games instead use a battery-munching polling loop to wait for the next frame.
Only Panser Pank, Simonchu 2, Snackman and Space Gems had the vblank interrupt enanbled, so they could be put to sleep. And only Panser Pank and Simonchu 2 bothered to use the system's halt function to wait for vblank, which saves battery power.

I also tested out the games in NO$GBA, and it reported tons of illegal memory access errors. The 2004MBit compo games look more like an example of how NOT to code a homebrew game than anything else.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#150916 - ScottLininger - Thu Feb 14, 2008 10:56 pm

Dwedit wrote:
The 2004MBit compo games look more like an example of how NOT to code a homebrew game than anything else.


Oh, come on! The only "right" way to code a homebrew game is to make one that's fun, which all of these games did marvelously.

-Scott
_________________
Some of my GBA projects

#150919 - tepples - Fri Feb 15, 2008 1:15 am

ScottLininger wrote:
The only "right" way to code a homebrew game is to make one that's fun

As I understand it, gauauu's point is that it's no fun to stare at splash screens all day.

Dwedit's point could be expressed in terms of fun too. It's no fun to stare at a blank screen of a system that's powered off. Batteries die more quickly with games that do
Code:
void vsync() {
  while (REG_VCOUNT >= 160) { }
  while (REG_VCOUNT < 160) { }
}

than with games that do
Code:
void vsync() {
  swiWaitForVBlank();
}

_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#150943 - gauauu - Fri Feb 15, 2008 6:12 pm

tepples wrote:

As I understand it, gauauu's point is that it's no fun to stare at splash screens all day.


True. Although this is really a problem with the compo cart intro more than the individual games. I know it's trendy in commercial games to add non-skippable splash screens so that we are forced to watch a screen for every sub-company that was involved in the game, but I'm surprised they went with that behavior for a homebrew release.

Quote:

Dwedit's point could be expressed in terms of fun too. It's no fun to stare at a blank screen of a system that's powered off. Batteries die more quickly with games that do.....


While that's true, this hasn't affected me in terms of fun with these games. The battery life of the GBA, even without properly managing power, is reasonable enough, and these games are short enough, that I have not had my fun impacted by this. (Note that I'm not disagreeing at all that it SHOULD be done correctly).

ScottLininger wrote:
Oh, come on! The only "right" way to code a homebrew game is to make one that's fun, which all of these games did marvelously.


I agree wholeheartedly that "fun" should be the most important metric. Most of these games did that quite well, which I'm quite happy about. (I'm not sure I'd agree that ALL did, but that's just me being picky and opinionated).