                             DGBMAX-DOS - Readme
                            ---------------------

How does DGBMAX work ?
-----------------------
DGBMAX combines the selected ROMs into a Multi-ROM-file.  Unlike other software
it uses it's own menu and not the original GBPACK. The DGBMAX-menu doesn't scan
the  ROMs on  the cart  'on the fly'  as GBPACK does.  It gets preprogrammed by
DGBMAX.EXE.
Now  what advantages  does this have?  As  mentioned  in the  NFO-file,  DGBMAX
includes a large INI-file which has predefined colorsets for many games. DGBMAX
reads these palettes  from the  INI-file and  stores them in the MultiROM.  The
DGBMAX-menu then starts the game with the preprogrammed colorset. It also reads
an  alias-name  from the  INI-file which  replaces the old  name taken from the
header.
Another advantage is  that you can  store ROMs in  nearly every size as long as
they fit  into 32k-banks.  This means  that the ROM-size  must be a multiple of
32k. Some examples for this:
- 512k = 16 * 32k. This is a standard-size and does also work with the original
                   GBPACK
- 544k = 17 * 32k. This is a non-standard-size and only works with DGBMAX.
- 1536k (1.5 MB) = 48 * 32k. Non-standard, works only with DGBMAX.
- 1568k = 49 * 32k. Non-standard, works only with DGBMAX.
This  decreases the wasted space  on the flash-card as you  can strip  the ROMs
down to the smallest possible size,  so, for example, people with 16 mbit cards
are now able to actually get 2*8 Mbit games on their cards.


How to use DGBMAX
------------------
DGBMAX-DOS is a command-line-tool. It has the following syntax:

     DGBMAX filename1 filename2 ... filenameX [/r] [/4] [/16] [/64]

Maybe this  looks more  complicated  than it actually is.  You simply  pass the
file-names of the  roms to DGBMAX.  DGBMAX then  will create the  MultiROM-file
MAX.GB and  load it to the  X-Changer if possible.  If you wan't  to pass  more
than one file at once, you can use wildcards.
The option /r  disables the usage of aliases. This option overrides the setting
in the USER.INI.  With /4,/16 and /64 you can specify the Flash-Cart-Size. This
also overrides the setting in USER.INI.

Some examples:
- DGBMAX donkey.gb pinball.gb
  Loads the files donkey.gb and pinball.gb to the Doctor GB-cart.
- DGBMAX donkey*.gb
  Loads all files which start with donkey and have the extension .gb to the
  Doctor GB-cart.
- DGBMAX *.gb /16
  Loads all files in the current directory to the X-Changer if the size of all
  ROMs + menu-ROM (32k) is smaller than 16 MBit (2 MByte).
- DGBMAX *.gb /r
  Loads all GB-Roms in the current directory to the X-Changer, but doesn't use
  the names (aliases) from the INI-files.

The ROMs you wan't  to combine don't  have to be in the directory where DGBMAX.
So you  can include DGBMAX in the  PATH-Variable and call it from anywhere (For
those of you who don't know how to do it: Open C:\AUTOEXEC.BAT in a text-editor
and add the directory where you  installed DGBMAX to the line which begins with
PATH. Don't forget to restart your computer).

=> Harlekin's wise words
---------------------------
ALWAYS REMEMBER:  THIS IS DOS.  NO NICE GRAPHICS,  NO TASK-MANAGERS AND MOST OF
ALL NO SAFETY-NETS.  I TRIED TO FORSEE  ANY POSSIBLE DUMB  USER-MISTAKE I COULD
IMAGINE OF, BUT THERE'LL ALWAYS BE SOME WAYS TO FUCK EVERYTHING UP.  SO PLEASE,
BEFORE YOU  BOTHER ME  WITH ANYTHING,  DOUBLE CHECK YOUR ACTIONS  AND MAKE SURE
YOU KNOW WHAT YOU'RE DOIN'. THEN, AND ONLY THEN E-MAIL ME.
(gee, i had to say this :))


The INI-files
--------------
DGBMAX gets configured by two INI-Files:
- DGBMAX.INI.
  This is the INI-file with many predefined colorsets.  As it gets updated from
  time to time, you  should't put  your  colorsets into  this file because  you
  would have to do it  every time a new  version is released.  For this purpose
  we created the USER.INI:
- USER.INI
  This is the file where you should put your own colorsets. Any setting in this
  file  will  override the  setting from  DGBMAX.INI.  So you can put  your own
  colorets  in this file,  either if you want to create a colorset for game yet
  unsupported or you can override a  colorset from DGBMAX.INI if you don't like
  it.
  The USER.INI has some settings which you can modify:
  - FlashCardSize=4/16/64
    DGBMAX checks the the size of MultiROM-file. You can specify the max size
    here.
  - UseIniAliases=True/False
    Enables/Disables the usage of aliases from the INI-files
  - Path2GBTExe=
    If you wan't DGBMAX to autoflash the generated MultiROM-file, you can set
    the path to GBT1x.EXE here.

As mentioned above,  DGBMAX reads the ROM-information from the files DGBMAX.INI
and USER.INI.  If you create a new entry,  you should put it into the USER.INI.
An entry looks like this:
-------------------------------------------------------------------------
Alias
CRC: 0x????
BGPalette: #RRGGBB #RRGGBB #RRGGBB #RRGGBB
OBJPalette: #RRGGBB #RRGGBB #RRGGBB
WINPalette: #RRGGBB #RRGGBB #RRGGBB #RRGGBB
-------------------------------------------------------------------------
DGBMAX identifies the ROMs by comparing the CRC.  If it finds the ROM in one of
the INI-files it reads the  alias and writes it into the Multi-ROM.  This alias
appears  in the  ROM-selection after starting  the gameboy.  Then it  reads the
colors  from BGPalette,  OBJPalette and WINPalette  and writes  them  into  the
Multi-ROM.
Every color consists of three parts,  RR, GG and BB. This is a number from 0 to
31 (decimal)  which describes  how bright the  red, green  and blue part of the 
color is.
If you  create an entry for  a color-rom you can leave  the palette-information
out as color-roms of course use their own colors.
An example (you may use this as a template for new colorsets):
-------------------------------------------------------------------------
After Burst
CRC: 0x23B3
BGPalette: #313131 #310000 #230000 #000000
OBJPalette: #000000 #002300 #001600
WINPalette: #313131 #232323 #161616 #000000
-------------------------------------------------------------------------
This tells  DGBMAX to check for the CRC 23B3 hex. If the  ROM has the CRC 23B3,
it writes the name 'After Burst' to the  Multi-ROM and uses the the four colors
#313131 (white), #310000 (bright red), #230000 (darker red) and #000000 (black)
as  Background-colors.  It  does  the  same  for  the  object-palette  and  the
window-palette.
Please note that  the window-palette  doesn't necessarily mean  the palette for
the  windows.  I just called it  that way because it is  the window-palette  in
many cases.  The gameboy-video-RAM can  hold two screens. The BG-palette is the
palette for the first screen,  the window-palette is the palette for the second
screen.  Many games use the  second screen for  the  window-palette.  But other
games  may use it  the other way  round or use  it  for  screen-buffering  (for
example Street Fighter 2). In this case, bg-palette and windows-palette have to
be the same.  I can't give you  an universal solution for this,  so you have to
figure it out yourself.


Reporting new ROMs
-------------------
I have taken the color-sets  from VGB-MAX.  In many case these color-sets don't
fit 100%. So if you discover a colorset which looks strange,  do not wonder.  I
have  already  checked 180+ roms,  but I can't  check  all gameboy-games alone.
So I'd like you to help me.  You can send me new/corrected colorsets which will
be included in later versions of DGBMAX.INI.
If you
- checked a colorset,
- you created a colorset for a new game,
- you have a color-game which isn't in the INI-File,
please mail  it to me  (j.o.schuemann@gmx.de).  I only want complete entries as
described above (the example for After Burst).


Some words about colorization:
-------------------------------
Though this software is great for recoloring your old GB-games,  there are some
technical barriers which  this software can't overcome.  I will give you an ex-
planation about what is possible and what not:

- different  'scenes':  Recoloring an  old  game  is  like  recoloring  an  old
  B/W-movie  with the  difference that  you must use  the same  colors for  all
  scenes.  This means that  the colors  may perfectly match one scene, but they
  can be wrong for another scene. This is because DGBMAX only sets the palettes
  once,  before the  game  starts.  When  the  game  runs,  the  palette  stays 
  untouched.   Scenes   in  GB-games  are  usually  different  levels.  A  good
  example for this is Super Mario 2:  Using brown as  third background-color is
  good for most levels, but renders the water used in some levels brown.  Well,
  let's just say it is dirty water ;).
- palette changes during game: The GB uses other palettes than the CGB. This is
  obvious as the GB uses monochrome palettes which only describe the brightness
  and  the  CGB  uses  color-palettes.  If  you   use  DGBMAX  or  GBPHACK  the
  GB-games run in CGB-mode though they  are GB-Games.  The problem here is that
  palette-changes  of  GB-games  aren't  recognized  as  they  only  change the
  GB-palettes and not the CGB-palettes, of course.
  In most cases this doesn't  matter,  but some  games use  color-cycling which
  gets completely destroyed if you use the games in CGB-mode (which is the case
  if you use the original GBPACK, the enhanced GBPHACK-menu or the DGBMAX-menu)
- Object-palettes. The GB has two  (monochrome)  palettes for objects. So every
  object  may  be  assigned  to  one  of the two palettes using  an  attribute.
  The CGB on the  other hand knows  eight palettes for objects.  So  a game can
  assign one  of eight  palettes to  an object.  The attribute byte  looks like
  this: 76543210
           | | |
           | +-+-- CGB-palette selection: Bits 0-2=001: color palette 0
           |                              Bits 0-2=010: color palette 1
           |                              Bits 0-2=011: color palette 2
           |                              Bits 0-2=100: color palette 3
           |                              ... and so on
           |
           +------- GB-palette-selection: Bit 4=0     : Monochrome palette 0
                                          Bit 4=1     : Monochrome palette 1
  In CGB-mode, GB-palette-selection is disabled. A game may write a 0 or a 1 to
  Bit 4,  nothing  will  happen.  GB-games  don't  write  data to  CGB-palette-
  selection, so they can only use one object-palette.
  Again this doesn't matter in most cases. But some games get unplayable due to
  this,  for example  soccer-games (FIFA Soccer,  Sensible Soccer) because both
  teams  have the  same color.  You can't distinguish between your own and  the
  other team.
  The  only way to  fix this would  be a patch  for the ROM  which changes  the
  palette-selection-code.


Contact
--------
If you have questions or suggestions you can mail us at:
- j.o.schuemann@gmx.de
  Gameboy-part and DGBMAX.INI-updates
- harlekin-@gmx.net
  DOS-part
Get the latest version of the DGBMAX and DGBMAX.INI at XOOMING.TO/GAMEBOY


Legal stuff
------------
Like every other  free software DGBMAX comes  without any warranty. It is free-
ware which  means you can use/copy  it without paying anything,  but it  is not
allowed to sell this program!
We (the  authors)  are not responsible for  any  data-loss  or  any hardware or
software-damage caused by this software.