rockbox/apps/plugins/rockboy
Karl Kurbjun a28d74e71c Fix rockboy for the H100's. Thanks for fixing the HW codec players Peter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13708 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 04:26:23 +00:00
..
archos.lds Fix red overlay plugins on archos. Linker scripts weren't prepared for those plugins using plugin library components. 2007-05-08 12:28:34 +00:00
COPYING Removed executable flag 2007-01-09 23:22:14 +00:00
cpu-gb.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
cpu.c Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered. 2007-03-16 21:56:08 +00:00
cpucore.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
cpuregs.h Update for Rockboy: - fix scaling for other color screens than H300 - full menu rewrite to display choices properly - some small tweaks to code - some formatting updates 2006-06-19 01:47:45 +00:00
debug.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
defs.h Update for Rockboy: - fix scaling for other color screens than H300 - full menu rewrite to display choices properly - some small tweaks to code - some formatting updates 2006-06-19 01:47:45 +00:00
dynarec.c Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered. 2007-03-16 21:56:08 +00:00
emu.c Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
emu.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
events.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
fastmem.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
fastmem.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
fb.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
HACKING Source documentation of gnuboy (all there is anyways...) 2005-03-17 13:41:05 +00:00
hw.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
hw.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
input.h Fix rockboy for the H100's. Thanks for fixing the HW codec players Peter 2007-06-25 04:26:23 +00:00
lcd-gb.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
lcd.c Fix rockboy for the H100's. Thanks for fixing the HW codec players Peter 2007-06-25 04:26:23 +00:00
lcdc.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
lcdc.h Update for Rockboy: - fix scaling for other color screens than H300 - full menu rewrite to display choices properly - some small tweaks to code - some formatting updates 2006-06-19 01:47:45 +00:00
loader.c Allow rockboy to run while music is playing with smaller roms. Works on players that do not use the IRAM macros. Only tested on the Gigabeat as I think that is the only player that will run rockboy well with music. Also simplified the sound and reduced the code size a bit. 2007-04-18 07:41:31 +00:00
loader.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
main.c Allow rockboy to run while music is playing with smaller roms. Works on players that do not use the IRAM macros. Only tested on the Gigabeat as I think that is the only player that will run rockboy well with music. Also simplified the sound and reduced the code size a bit. 2007-04-18 07:41:31 +00:00
Makefile Replaced some explicit options for target linking with to be consistent with the sims. 2007-02-15 20:28:08 +00:00
mem.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
mem.h Allow rockboy to run while music is playing with smaller roms. Works on players that do not use the IRAM macros. Only tested on the Gigabeat as I think that is the only player that will run rockboy well with music. Also simplified the sound and reduced the code size a bit. 2007-04-18 07:41:31 +00:00
menu.c Fix rockboy for the H100's. Thanks for fixing the HW codec players Peter 2007-06-25 04:26:23 +00:00
noise.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
palette-presets.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
pcm.h Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
rbsound.c Fix red rockboy builds on archos. Somebody with more rockboy knowledge might want to check this fix ;) 2007-06-24 22:49:59 +00:00
README Removed executable flag 2007-01-09 23:22:14 +00:00
regs.h Update for Rockboy: - fix scaling for other color screens than H300 - full menu rewrite to display choices properly - some small tweaks to code - some formatting updates 2006-06-19 01:47:45 +00:00
rockboy.c Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
rockmacros.h Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
rtc-gb.h Major Rockboy update. 2007-02-06 21:41:08 +00:00
rtc.c Major Rockboy update. 2007-02-06 21:41:08 +00:00
save.c Allow rockboy to run while music is playing with smaller roms. Works on players that do not use the IRAM macros. Only tested on the Gigabeat as I think that is the only player that will run rockboy well with music. Also simplified the sound and reduced the code size a bit. 2007-04-18 07:41:31 +00:00
save.h Rockboy - gameboy emulation for rockbox, based on gnuboy. Still a bit early, but already playable on iRiver H1xx and the simulators. The archos recorder version is currently rather slow... 2005-03-02 23:49:38 +00:00
sound.c Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
sound.h Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00
sys_rockbox.c Sound improvements for rockboy - players now sync the sound (The gigabeat now plays at a steady 60 fps as long as the frameskip is set properly). If a new sample is not available a blank buffer is used. All devices use 44.1 kHz for gameboy sound now so no more high pitched sounds. Added a screen rotation option. Removed unscaled code for devices with a screensize smaller than the gameboy. All buttons are now configurable. Scroll wheel devices still have button configuration problems though. 2007-06-24 16:00:55 +00:00

GNUBOY README


  INTRO

Welcome to gnuboy, one of the few pieces of Free Software to emulate
the Game Boy handheld game console. Written in ANSI C with a few
optional assembler optimizations for particular cpus, gnuboy supports
a wide range of host systems, and has been tested successfully on:

  GNU/Linux
  FreeBSD
  OpenBSD
  BeOS
  Linux/390 (IBM S/390 Mainframe)
  SunOS/Sun Ultra60
  IRIX/SGI O2
  IRIX/SGI Indy
  AIX/Unknown
  DR-DOS
  MS-DOS
  Windows DOS box
  Windows 9x/NT/2k

Additionally, gnuboy should run on any other *nix variants that have
ANSI C compilers and that are remotely POSIX compliant. As gnuboy is
Free Software, you're welcome to fix any problems you encounter
building it for a particular system, or to port it to entirely new
systems.


  EMULATION

gnuboy emulates nearly all aspects of the (Color) Gameboy, including
all of the following and much more:

  Full GBZ80 instruction set.
  Scanline-based LCD engine.
  Ten sprites per scanline limit.
  Support for all CGB graphics extensions.
  Sprite DMA, HDMA, and GDMA.
  All four sound channels including digital samples.
  MBC1, MBC2, MBC3 (including clock), and MBC5 mappers.
  Wave pattern memory corruption when sound channel 3 is played.
  Pad, timer, divide counter, and other basic hardware registers.
  CGB double-speed CPU mode.

Aspects not emulated at this time include:

* Serial IO (link cable).
  Undocumented 'extra' ram in OAM space on Gameboy Color.
  All Super Gameboy extensions.
* GBC, HuC1, and HuC3 IR ports.
* Obscure mappers such as TAMA5.
  Sorting sprites by X coordinate in DMG mode.
  HALT instruction skipping in DMG mode.
  CPU stalls during HDMA and GDMA.

Only the two marked by * are known to affect the playability of
actual games or demos; the rest are just listed for completeness'
sake.


  FEATURES

In addition to basic emulation, gnuboy provides the following
features:

  Highly flexible keybinding and configuration subsystem.
  State saving and loading at any point.
  Very precise timing/synchronization, preserved across save/load.
  Joystick support on Linux, DOS, and all SDL-based ports.
  Fully customizable palettes for DMG games.
  Screen scaling by a factor of 2, 3, or 4 in all ports.
  Hardware-based screen scaling on platforms where it's available.
  Debug traces to stdout.
  Dynamic palette allocation when run in 256-color modes...
  OR simulated 3/3/2 bits per channel in 256-color modes.

For information on configuring and using these features, see the
additional documentation in the "docs" directory.


  COMPATIBILITY

Out of over 300 results reported by testers, all games are known to
work perfectly on gnuboy with the following exceptions:

  Fighting Phoenix (Japanese) may or may not work since it uses the
  HuC1 memory controller, which is not implemented properly. There has
  been no report either way so far.

  Pocket Bomberman (Japanese version, which uses HuC1) runs, but can
  be made to crash if the player jumps into the ceiling in the first
  level. It's not clear whether this bug is MBC-related, something
  else, or an actual bug in the original game.

  Monster Go! Go! Go! (Japanese) is unplayable. The cause of the
  problem is not fully known, but it's either a very bad dump or it's
  using some sort of specialized MBC that's not documented.

  Final Fantasy Adventure has visual problems with the fade between
  screens. Does not affect gameplay.

  Bubble Bobble 2 has some minor tile glitches right before gameplay
  actually begins. Cause unknown. Does not affect gameplay.

  Alone in the Dark is reported to have minor visual glitches. I
  haven't seen it myself so I can't judge their severity.

  Both new Zelda games are reported to have a visual glitch at the
  beginning of the game, and on certain other screens. I haven't seen
  the problem myself, but supposedly it impacts gameplay to some
  extent.

Please report any other incompatibilities discovered directly to
gnuboy@unix-fu.org, so that they can be documented and hopefully
fixed.


  FUTURE / WISHLIST

Here's a brief list of what may appear in gnuboy in the future:

  Screenshots.
  Integrated debugger.
  Super Gameboy support.
  Serial link over the internet.
  Serial link to a real Gameboy with a custom cable.
  Configurable color filters to provide more authentic LCD look.
  Custom colorization of DMG games on a per-tile basis.
  Support for more colorspaces in the hardware scaler.
  Recording audio.
  GBS player built from the same source tree.
  Full recording and playback of emulation.
  So-called "high level emulation" of certain typical dumb loops.

Features that are not likely to appear soon or at all include:

  Rumble support - this would be nice, but SDL doesn't seem to support
  force-feedback yet. We'll see about it in the long-term though.

  Eagle/2xSaI/etc. - probably not feasible since these libraries don't
  appear to be compatible with the terms of the GPL. We might work on
  our own interpolation engine eventually, but that's low priority.

  GUI/GUI-like features - such things are best handled by external
  front-ends. We might eventually add a mechanism for external
  programs to communicate with gnuboy and reconfigure it while it's
  running, however.

  Plugins - NO! The way I see it, plugins are just an attempt to work
  around the GPL. In any case, even if you are adding plugin support
  yourself, you are bound by the terms of the GPL when linking ANY
  code to gnuboy, including dynamic-linked modules. However we'd
  rather not deal with this mess to begin with.

  Compressed ROMs/Saves - this one is very iffy. On most systems, this
  is redundant; *nix users can just pipe the rom through a
  decompression program, and Windows users can just double-click or
  drag files from their favorite GUI unzipper program. Linking to zlib
  isn't really acceptable since it's massively bloated and we don't
  want to include it with gnuboy or add external dependencies. We may,
  however, write our own tiny decompressor to use at some point.

Ideas and suggestions for other features are welcome, but won't
necessarily be used. You're of course also free to add features
yourself, and if they fit well into the main tree they may eventually
get included in the official release. See the file HACKING for more
details on modifying and/or contributing.


  THANKS

Thanks goes out to everyone who's expressed interest in gnuboy by
writing -- users, porters, authors of other emulators, and so forth.
Apologies if we don't get a personal response out to everyone, but
either way, consider your feedback appreciated.


  EPILOGUE

OK, that looks like about it. More to come, stick around...



                                          -Laguna  <laguna@aerifal.cx>