PogoShell FAQ

(Updated 05 Jan - 2003)

TOP QUESTION: I cant execute roms or play mods etc on my type of flashcart

For old visoly-cart owners (64Mbyte carts and 128MByte turbo-carts)

Use the "-old" option when executing makefs.

If this makes your rom-image too large then that's just too bad, there is nothing to do about it except removing some plugins or roms.

Note that roms (anything ending with .gba or .bin, including plugins) needs to be aligned to specific locations inside the cart, that's what makes the image so big. So if you just want to use PogoShell to select between a few games (like with the regular menu) just remove the .plugins directory and you should have a lot more space to play with.

Also note (again) that this only applies to GBA roms. Data files (mods, bmps, nes-roms, spectrum games etc) does not have to be aligned and are currently always placed after all roms inside the cart.

DETAILED EXPLAINATION:

All romfiles that are written to a flashcard must be aligned to certain
positions or they can not be run.

The possible start positions for roms are very restricted on older carts,
for instance, on the first 8MByte (64MBit) cart there are only four possible
positions to place roms, like this:

0    32                          4096 5028                        8192 (END)
|____|___________________________|____|___________________________|

1    2                           3    4

And since pogoshell is placed at the 1st position you can only fit two more
large roms into the cart. Also note that PogoShell versions after v1.0 is
larger than 32KByte so it will overlap the 2nd start-position and leave room
for only two more roms, one small and one big.

On newer carts, you can put roms on any even 32KByte position, like this:

0    32   64   96   128
|____|____|____|____|____ ......

For other types of carts (EZFlash, F2A, GBA Wise Box etc)

As I don't own this it's very hard to add support for them. F2A-carts should be the same as visoly and should work (confirmation?). Other carts may have a different way of changing the romstart (ececuting roms) or may not support multiple roms at all.

What is Pogoshell?

First of all, Pogoshell really is only useful to people who own a Gameboy Advance and a flashcart. It uses special features of flashcarts that is not yet supported by any emulator.

Pogoshell is (at it's simplest) a replacement for the menu-program you get when you put several roms on your flash cart. But it's more than that since it actually uses a filesystem with directories so you can put roms along with other files just like you would on your computer. Pogoshell can be extended to handle different file types (like playing music, running nes and spectrum games, viewing pictures etc).

It also has an SRAM filesystem that lets you have much more than 4 saves at a time on your flashcart.


What do I press to...

If you are unsure of what the keys does, just press select and you should get a messagebox telling you what you can do.

When running from an emulator I can't execute ROMS

No emulator emulates the special features of flash-carts (yet) so you can only do things handled internally by PogoShell - you can not execute roms or any file that requires a plugin (a plugin is just a rom that takes arguments).

Binfiles over 128Mbit doesn't work

They do work, but not in most emulators (like Visual Boy Advance which wraps ROM memory at 0x09000000). Note that even if you can run Pogoshell in an emulator you still can't execute roms.

I want to use old savefiles with PogoShell

PogoShell unpacks it's savefile to SRAM bank 1 whenever you start a game and repacks it from that bank when you start the shell again - so if you have a save for a game (A raw 64KByte sramfile) you can just do this:

You can use the same technique to get raw savefiles from PogoShells savefiles too of course...


You should support writing to the file-system

The rom filesystem is just that; a Read Only filesystem. While it is possible to write to a flashrom it just isn't practical. I might allow simple changes that are actually saved in SRAM instead (like show/hiding files and dirs).

Large compressed files (mods) does not work

A compressed files must be uncompressed to RAM, so if the uncompressed size of a file is larger than 256KByte it will not work.

The GUI is slow - cant you use sprites?

Since I want this to be portable (especially to the GP32) I don't wnat to use too many GBA specific features...

I cant unpack the archive!

I usually use tar+gzip as it give better compression than zip and is supported by most windows programs - but since this confuses some users (and also IE has a habit of unpacking gzip-files without removing the gz extension) I will propably use zip in the future :9

You should support zipped roms!

While in theory it actually is possible (you can flash to ROM from GBA code, but it's slow and you can only do it in large blocks) it's not really practical. And you would have to leave 8MByte of the flashcart empty to have somewhere to unpack to. (Well actually there are ways around that too but that would be require shuffling cart-images around in rom, aghk! :)

I want to change the graphics

It's possible by changing the icons.bmp and editing gui.cfg. Check the README included in pogoshell

The textviewer is sort of crappy...

I know, it has some problems. Write a better one! (see below) - or wait until I fix it :).

I cant execute [this rom]

Some roms don't seem to work - it propably depends on the state of hardware registers, memory etc. I'll look into it. Also remember that extensions are case-sensitive right now so make sure your .gba or .bin extensions are lower case.

It should handle WAV, HTML, [something else]

Write a plugin for it or hope someone else does. Check the modplay.tgz archive on the PogoShell site for more info. I will add some more internal handling (BMP and better TXT at least), but more than that I dont know.

How do you exit the Modplayer?

START+SELECT (which happens to be the way to Reset in my library so that's how you get out of GBAFrotz, Level9 & Magnetic Scrolls too).

Will the sourcecode be released?

It has been released. See the homepage or sourceforge.