
 PocketGB, A Game Boy Emulator for Game Boy Advance
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 EMULATE: Game Boy Only, but with Palette Colors like SGB
 DISPLAY: Text/Tile, Bitmap, Hacked Sync, Super-Hacked Sync, Debug
 MEDIA  : MB & GBA Support
 VERSION: 0.1 alpha

 This is the first release of the alpha version of PocketGB
 It have high speed but very low compatibility
 Some games don't work...and it have is own limits
 Max. GB-ROM in MultiBoot: 128 KiloBytes
      (Only 64 KiloBytes on Debug Mode)
 Max. GB-ROM in GBA-ROM:     8 MegaBytes

 Attention: The PocketGB use a Universal Compatible Bank engine
            It may not work with all games
            Also "CGB Only" game will not work

 The PocketGB v0.1a have 3 Displays Mode, look below to a description...

 Displays Mode:
 ~~~~~~~~~~~~~~
   Text/Tile Mode:
     First mode made, when i saw that started to have sync. problems
      i just started to make the next graphic engine
   Bitmap Mode:
     Second mode made, this one had perfect sync over the screen
     But everything has a price, this mode was very slow, so, i started
      to think about a mode that is faster and sync. at same time
   Hacked Sync:
     Third mode made, this balanced between sync. and speed, this one as also
       the target to make 100% speed emulation, but since it's HACKED, started
       to give problems to some games (Crash on title, too fast/slow sound)
   Super-Hacked Sync:
     Last mode made, this one has to made 100% Graphics/Sound Sync but because
       of high requirement of GBA CPU power to emulate the Raster on LCD, only
       the 100% Timer has made, it make some games run the sound at 100%
   Debug Mode:
     I needed a debug to make the PocketGB and find bugs; Anyway, you can use it
       to debug your demos/games over the PocketGB CPU and maybe report a CPU core
       bug to me :)
     (L Key)           - Step one opcode
     (R Key)           - Step approx. 60 opcodes
     (R then +L Key)   - Step opcodes at max debug speed
     (Select Key)      - Restart the debugger
     NOTE: Make sure that Menu is off before compile to Debug Mode

 What's new?:
 ~~~~~~~~~~~~
   PocketGBonGBA v1.00
   ~~~~~~~~~~~~~~~~~~~
   First version
   Wizard form like PocketSMS, but improved

   PocketGB v0.1a
   ~~~~~~~~~~~~~~
   First version
   5 Display Modes in 10 Compiles

 PocketGBonGBA description:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 "Welcome"
   Just click "Next >>" after reading the text
   Pick the Game Boy File
 "Source GB File"
   Check if the FileName on the box is right...
   If is wrong, just click "Change Location"
   Click "Next >>" if everything is ok
 "PocketGB Mode"
   On top box, pick up your Media Type:
     MBV2, XBOO, DMB, IMB, etc. -> MultiBoot   (128KB Max.)
     Flash Card, XG Flash, etc. -> Flash Card  (  8MB Max.)
     MultiBoot and Flash Card   -> Easy MB2GBA (128KB Max.)
   On bottom box, pick up your Display Mode:
     Text Mode, Bitmap Mode, Hack Mode -> See "Displays Mode"
     +Improved Timer = This will make the timer counting more
                       detailed in each opcode, it slow down
     +Half-Sync      = This will improve the sync by half
                       (Only available on Text/Tile Mode)
   Click "Next >>" if everything is ok
 "Configurations"
   If you want to hide Menu on the emulator, turn off the
     check box "Allow Menu on Emulator"
   If you are using Bitmap mode, more 3 Options will be active:
     "Allow LCD to select screen size" - If it's on, the emulator will
     act like GBA on GB mode, pressing L / R will resize the screen, if
     off, the keys will be locked but will not affect the L+R to
     access the menu
     "Select Wide LCD inleast..." - The previous check box must be active
     to this take effect; this check box will only invert the start up LCD size
     Off: Normal (Just like pressing L) / On: Wide LCD (Just like pressing R)
     "Frames Skip" - This is the initial "Bitmap Skip" on Menu
   Click "Next >>" if everything is ok
 "GB Palette Editor"
   This will allow editing the palettes that the emulator can use on middle play
   The top box picks up the start-up palette (One of six)
   "Palette Bank Editing" - Select the palette bank to edit (Def 1,2,3 and Custom)
   "Palette Layer" - Select layer and color to edit
   Move the Red, Green and Blue bars to change the current color
   You can Left-Click on 4x4 Colors Box to pick Layer & Color (Just like
     "Palette Layer" box), Double Left-Click to pick the color from a "Color Dialog"
     and Right-Click to open "Import/Export" popup
   NOTE: Only "Custom Palette" can be changed on PocketGB menu
   After the editing just click "Next >>" to continue
   Pick the destination of where the PocketGB+Game will be deployed
 "Destination GBA/MB"
   Check if the Destination/FileName on the box is right...
   If is wrong, just click "Change Location"
   Click "Next >>" if everything is ok
 "Finish"
   Check out the report file, if there is something wrong, you can fix by
   clicking "<< Prev." and find the wrong option
   Click "Finish" to create the PocketGB+Game and leave PocketGBtoGBA

 PocketGB description:
 ~~~~~~~~~~~~~~~~~~~~~
 The Keys are:

  [On Game Keys]
 Key      GB
 ~~~    - ~~
 LEFT   - LEFT
 RIGHT  - RIGHT
 UP     - UP
 DOWN   - DOWN
 A      - A
 B      - B
 SELECT - SELECT
 START  - START

  ["Allow LCD to select screen size" menu must be on]
 Key    - Description
 ~~~    - ~~~~~~~~~~~
 L      - On Bitmap Mode, select 1:1 LCD Size (Normal, 160x144)
 R      - On Bitmap Mode, select Wide LCD Size (Wide, 240x144)

  ["Allow Menu on Emulator" menu must be on]
 Key    - Description
 ~~~    - ~~~~~~~~~~~
 L + R  - Enter in the Menu

  [On Menu]
 Key    - Description
 ~~~    - ~~~~~~~~~~~
 LEFT   - Change option
 RIGHT  - Change option
 UP     - Move cursor up
 DOWN   - Move cursor down
 A      - Take action in one option
 L + R  - Leave the Menu

 Options:

 Pal Bnk  - Palette Bank
            This will select the palette colors to be display while playing
 Pal Sel  - Palette Select (Palette Bank must be "Custom")
            This will pick the current Layer to edit the palette colors
            BG/WIN - Background and Window Layer <- Non-Bitmap Mode
                     Background only             <- Bitmap Mode
            OBJ0   - Sprite with attribute 0
            OBJ1   - Sprite with attribute 1
            WN BMP - (none, don't affect)        <- Non-Bitmap Mode
                     Window only                 <- Bitmap Mode
 Pal Col  - Palette Color (Palette Bank must be "Custom")
            This will pick the current color in a layer to be edit
            Color 0 is the brightest while the Color 3 is the darkest
 R Color  - Change Red Intensity over the current color/layer selected
 G Color  - Change Green Intensity over the current color/layer selected
 B Color  - Change Blue Intensity over the current color/layer selected
 BMP Skip - Bitmap Frame Skip (Must be in Bitmap Mode)
            Change of how must frames must skip before drawing to screen
            More Skip = More speed but more harder to play
 Restart  - Restart the game emulated, the configurations will be not erased
 Reset P..- Reset the PocketGB, all configurations changed on menu will be lost

 Recommended Games to use with emulator:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Adventure Island, Batman 3, Cool Spot, Crystalq, DR.Mario, Motocross Maniacs
 Pacman, Paper Boy, Tetris

 Games problems/notes:
 ~~~~~~~~~~~~~~~~~~~~~
 NOTES: UNB = Display unsync on non-bitmap modes
        ROM = GBA-ROM only, cannot run at MultiBoot

 Adventure Island
   Very playable game, graphically ok
   [Best mode: Text or Hack]
 AlleyWay (UNB)
   [Best mode: Bitmap]
 Asteroids (UNB, but look's ok on Hack)
   [Best mode: Hack]
 Batman (UNB)
   [Best mode: Bitmap]
 Batman 2 (UNB)
   Corrupted title menu graphics on non-bitmap modes
   [Best mode: Bitmap]
 Batman 3 / Batman Animated (UNB)
   Music too slow or fast on Non-SuperHacked sync modes
   [Best mode: SuperHack]
 Battle Bull
   Sprites problems on Hack if it's on Bottom of screen but seems
   fixed on Super-Hacked Sync mode
   [Best mode: Text]
 Boxxle
   Sound too slow, fixed in SuperHacked mode
   [Best mode: Super-Hack]
 Boxxle 2
   Sound too slow, fixed in SuperHacked mode
   [Best mode: Super-Hack]
 Bubble Bobble
   Sometimes the game crash (Bad Opcode) when starting a level for
   non-Hack/SuperHack modes
   [Best mode: Hack]
 Castlevania
   Fast sound on title screen but slow sound on game
   Sound fixed in SuperHacked mode but it runs 50% even if it's say 60fps
   [Best mode: Super-Hack]
 Castlevania 2 (UNB)
   [Best mode: Hack(Speed) or Bitmap(Graphics)]
 Centipede (UNB, but look's ok on Hack)
   [Best mode: Hack]
 Choplift
   Sound too fast on Hack mode
   Sprites behind Background on non-bitmap modes while on Map (When changing stage)
   [Best mode: Text]
 ChaseHQ (UNB)
   It crashes the emulator in Hack mode
   [Best mode: Bitmap]
 Contra (UNB)
   Graphics unsync only affect stage 2 and 4
   [Best mode: Hack(Speed) or Bitmap(Graphics)]
 Cool Spot
   On Hacked Mode, pressing "Start" before Title Menu don't work
   [Best mode: Hack]
 Crystalq
   Very playable game, graphically ok, sound ok
   [Best mode: Hack]
 Daffy Duck (UNB)
   Serious GamePlay problems, sound turn mute magically
   [Best mode: ????]
 Darkwing
   Sprites behind Background on non-bitmap modes, BG tile trash while paused
   [Best mode: Bitmap]
 DR.Mario
   Game run too fast, on Hacked Mode only the Sound will run fast
   Sound fixed in SuperHacked mode
   [Best mode: Super-Hack]
 F1 (UNB)
   Very slow music
   It crashes the emulator in Hack mode but not in SuperHack mode
   Sound fixed in SuperHacked mode
   [Best mode: Bitmap]
 Ferrari (UNB)
   [Best mode: Bitmap]
 Final Fantasy 1
   Very fast emulation in Text/Tile Mode
   On Hack mode, the game crashes on Title menu or while playing
   [Best mode: Text(Faster) or Bitmap(Slower)]
 Lamborghini (UNB)
   [Best mode: Bitmap]
 Looney Tunes
   Sprites behind Background on non-bitmap modes
   [Best mode: Bitmap]
 Mario 1 (UNB)
   [Best mode: Bitmap]
 Mario & Yoshi
   This game don't work at all
   [Best mode: ????]
 Motocross Maniacs
   Very slow music into the game
   Sound fixed in SuperHacked mode
   [Best mode: Super-Hack]
 Nemesis (UNB)
   [Best mode: Bitmap]
 Pacman
   Very playable game, graphically ok, sound ok
   [Best mode: Hack]
 Paper Boy
   Very playable game, graphically ok, sound ok
   [Best mode: Hack]
 R-Type 2 (UNB, but look's ok on Hack)
   [Best mode: Hack(Speed) Bitmap(Graphics)]
 Road Rash (UNB)
   Have some screen artifacts while playing
   [Best mode: Bitmap]
 Spy VS Spy
   Title screen crash when Press Start
   [Best mode: ????]
 Tennis (UNB, but is not too serious)
   [Best mode: Hack]
 Tetris
   Very playable game, graphically ok, sound ok
   To run at full speed, use the Hacked-Sync version.
   [Best mode: Hack]
 Zelda (ROM)
   Display unsync on non-bitmap modes (On Intro), rest of the game is ok
   Some odd tile bar is displayed on top of text when chating to peoples
   but only affect Hack mode
   [Best mode: Hack]

 FAQ:
 ~~~~
 Q: Can i use the PocketGB injector with command-line like PocketSMS injector?
 A: No, the PocketGB injector is totally different and needs you to fill the configurations

 Q: Can i load games like Zelda in MultiBoot?
 A: No, see the top of this document to see the MultiBoot GB-ROM space limit

 Q: Can i play Game Boy Color and see the colors on the PocketGB?
 A: No, the PocketGB is only Game Boy, but work with some GBC games that is Game Boy Compatible

 Q: Can i edit any color on PocketGB while i'm playing on GBA?
 A: Yes, you can edit the palette in the menu, but remember that you can only edit 1 palette called "Custom"

 Q: And the others? Like "Def 1", "Def 2" and "Def 3" are for?
 A: They are palettes that you can define in the injector, but only on the injector

 Q: Cool, but i can replace "GB LCD Color" and "Black & White Shade" too?
 A: No, they are fixed palette colors

 Q: Can i import *.PAL files into the injector?
 A: No, only the palettes generated by no$gmb emulator for PC

 Q: That means i can't export the cool palette i made?
 A: Yes, you can import/export if you right-click on the 4x4 colors bar

 Q: The exported palette will work again on no$gmb?
 A: Yes, but it will loose a little (not visible) the intensity quality

 Q: What is that "Easy MB2GBA" for?
 A: Is a special ROM i made in pure ASM that allow MultiBoot and GBA-ROM to be merged, so both
    media will work in the same ROM file

 Q: Cool, can i find that "Easy MB2GBA" tool alone and use it?
 A: Yes, it's on "\bonus\" directory and you can use it for free

 Q: There is another file on "\bonus\" too, what is it?
 A: Not important, is a password maker i done long ago for a Commercial GB game that i played on my old GB

 Q: Oh no! Bad opcode and some weird letters are on the screen, how can i solve the problem?
 A: It means that the game executed an undefined opcode, and the weird letters are the status of the CPU
    before the freeze, you can press the L button to reset...But is normally an incompatible game

 Q: The game i load is making the screen shaking and i can't play, how can i solve this?
 A: Maybe you used the Text/Tile mode or Hack mode, use the Bitmap mode to fix it but runs very slow

 Q: The game crash, but "Bad Opcode" is not displayed and also the PocketGB Menu still working, what happened?
 A: The compatibility is very low, maybe your game/demo crashed or is in infinite loop, and again,
     normally is an incompatible game

 Q: Can i play with my friend using the Link Cable?
 A: No, the PocketGB don't support Link Cable because it will slow down the emulation and also may happed
    unsync over the Link Protocol since the emulator is not running at fixed 100%

 Q: What is the best display mode?
 A: I can't tell, some work with some games, others don't, some give better sync VS fast speed
    There is a little section of this document called "Games problems/notes" that can help you with some games

 Credits:
 ~~~~~~~~
 foolsgold / fools - For allowing me to be a part of PocketSMS, and thanks to him
                     and his PocketSMS source allowed me to build this great emulator
                     with tricks and cheats to speed up code
 JustBurn          - ohhh...it's me :o
                     For being the 100% coder of PocketGB emulator, what else?
 Guyfawkes, Costis
 Woo, Craig        - For being the judges of this great compo ^_^
 Ummmm...i can't remember another people that are related to the compo or emulator :P

 GBAX Game Boy Advance Development (www.gbax.com)
   One of the best Game Boy Advance seller's products (Nintendo and Third Party)

 GBAEmu (www.gbaemu.com)
   The *BEST* site of Game Boy Advance Emulations News and stuff ^_^

 Diclaimer:
 ~~~~~~~~~~
 Any illegal use with this emulator is prohibited by copyright law
 The author accepts no responsibility for using this injector or any other file in the package
 This package don't have any copyright product, all things in this package is all made by the author (me)...
 If you hack, change any doc or sell, it will violate this diclaimer and the author rights (me again).
