Related systems:

FAQ - TG16/DUO FAQ

*******************************************************************************
** _____   __   .    __      _  __   _    _   ___                   _____    **
**   |    /  \ /|   /__     /  |  \  |    |  /   \                 /    /    **
**   |   |  __  |  /   \   /   |   | |    | |     |               /   /_     **
**   |    \__| _|_ \___/ _/    |__/   \__/   \___/               /__   /     **
**  ___    _      ___                                              / /       **
** |__    / \    /   \          Compiled by John Yu               //         **
** |     /___\  |   \ |         Email: jky@csa.bu.edu            /           **
** |    /     \  \___\          Last revised: 05/25/95                       **
*******************************************************************************
** The source of information for the TurboGrafx16 and DUO video game systems **
**             Email any comments/questions to jky@csa.bu.edu                **
*******************************************************************************

ACKNOWLEDGEMENTS: Thanks to Ken Arromdee (arromdee@jyusenkyou.cs.jhu.edu)
                  and Steve Pearl (pearl@remus.rutgers.edu) since alot of
                  the stuff in this FAQ were borrowed from their own FAQ's
                  based on the same subject matter. :)
                  Thanks to Bt Garner, the Turbolist, and everyone else who
                  have contributed to the FAQ :)

Information needed:
-- The TurboExpress and TG-16 information are inconsistent in CPU and Mhz.
   What's the deal? :)
-- Joystick pinouts.
-- Why does the TG16CD have two different AC adaptors?  (See Section 4.B)
-- What's the difference between the Coregrafx I and II?
-- Info about TG programming.

Additions/changes since last posting:
-- AC adaptor ratings  (See Section 4.B)
-- An excerpt about TG16 Programming  (See Section 4.G)
-- TG16/Duo Game Scoring Contest  (See Section 8)
-- Save game FAQ.  (See Section 8)
-- A few FTP sites to check out.  (See Section 8)

------------------------------------------------------------------------------

=========================
Contents
=========================

        1  TTI
        2  TG16->Duo Lineage
        3  PcEngine+Compatibility
           A: The Machines
           B: The Games
           C: The Accessories
              -PcEngine->TG16/Duo Adapters
              -PcEngine and TG16/Duo Controllers
        4  Technical/System Specs
           A: Machine Specs
           B: AC Adaptor Ratings
           C: PcEngine/TG16 Hucard pinout
           D: TG16/Duo and 6-button button joystick techs
           E: TG16->Duo joystick converter cable pin-out
           F: Technical Questions Answered by Nimai Malle
           G: An excerpt about TG16 Programming
        5  Other Frequently Asked Questions
        6  Magazines
        7  Shopper's Guide
        8  Other Sources of Info

=========================
1  TTI
=========================
o What is Turbo Technologies and what happened to NEC?
        NEC had joined forces with Hudson-Soft to form a new company called
        Turbo Technologies.  TTI hasn't done very well in marketing Duo, and
        as a result, they are no longer in business.  Turbo Zone Direct has
        risen from the ashes of what was TTI.  TZD is no longer distributing
        hardware and is concentrating on selling software through mail order.
        TZD has promised to continue to port over Japanese titles, and is also
        selling the back log of NEC & TTI games.  The Duo is available on
        clearance from retailers at the price of $100 and the TG16 base unit
        can be found for $20-$40.  New software plans are slow to non-existent
        but there is still alot of US software out there if you're a new user.
        If you're a TG16 oldie like me, the only solution is the still strong
        Japanese market of PcEngine games.  See Shopper's Guide section for a
        list of distributors.


=========================
2  TG-16 -> Duo Lineage
=========================

Back way back when, NEC entered the 16-bit generation US video game market
by promoting the TG16,TG16-CD, and later the TurboExpress portable.

TurboGrafx-16:  -This base unit plays only Hucards (thin, credit-card sized
                 cartridges)
                Assessories:
                1) TurboTap: adaptor allowing 5 player capabilities
                2) TurboBooster: attaches to TG16 expansion port to allow
                                 A/V cable hookup to TV/Stereo
                3) TurboBooster Plus: same as TurboBooster but allows
                                      Hucard game saving on those games
                                      which support the feature

TurboExpress:   -A portable handheld system equivalent to TG16
                -Plays only Hucards
                Assessories:
                1) TurboVision: TV tuner attachment
                2) TurboLink: Connects two TE's together to allow 2 players*
                              * only works for games which support this feature
                3) Car Adaptor
                4) AC Adaptor

TG16-CD:        -Comes as a CD attachment for TG16 base unit.
                -CD plays audio CD's, CD+G's, and CD-ROM2 games (The "2" in
                 CD-ROM2 supposedly refers to CD operating system version 2)
                Features:
                        -Adds A/V output and headphone jack
                        -CD can be removed for use as portable
                        -On screen display to play audio CD's and CD+G's
                        -game save battery feature

                -With the Super System Card (system version 3) upgrade, plays
                 also Super CD** games for the DUO.
                 May be still available from TTI/TurboZone for $65 alone
                 or $95 along with 3-in-1 CD containing Gate of Thunder,
                 Bonk1+2, and bonus Bomberman game (see Shopping section)

After a few years of lack-luster marketing by NEC, NEC joined forces with
Hudson-Soft in forming TTI to promote the DUO and the Super System Card
for the TG16-CD.

DUO:            -The TG16's successor
                -Super CD system 3 built in
                -Plays audio CD's, CD+G's, CD-ROM2 and Super CD** games as
                 well as standard Hucards
                Features:
                        -Faster access time than TG16-CD unit
                        -slimmer design than TG16-CD but no LCD on unit
                        -A/V output and headphone jack
                        -On screen display to play audio CD's and CD+G's
                        -game save battery feature


        ** Super CD:    Using a revised BIOS (Operating system) and more
                        memory (64K upgraded to 256K), Super CD games run
                        faster because of less access time and have better
                        graphics due to the increased memory.
                        Only Super CD games take advantage of this extra
                        memory.  There are some games which are compatible
                        with both System 2 and 3 but will take advantage
                        of System 3's extra memory when it is present.

Arcade Card:    -Probably the final expansion for the PcEngine/TG16/Duo
                 There are no plans to release it or any of its games in the
                 US.  Using this card, memory is expanded to 2MB.  The more
                 memory, the better right? :)
                -There are two versions of the Arcade card depending on
                 the type of system you have:
                        1) Arcade Card Duo: for Duo based systems
                        2) Arcade Card Pro: for non SuperCD based CD systems,
                                            it includes both the SuperCD
                                            operating system and the extra
                                            memory on the card
                -If you have a US machine, you have to use a HuCard adaptor
                 for it to work on your machine.
                -Most Arcade Card games are Neo-Geo fighting game ports.


=========================
3  PcEngine+Compatibility
=========================

A: The Machines:
----------------
PcEngine Shuttle:  Japanese counterpart of TG16 but without CD expansion
                   capabilities.  Plays only Japanese HuCards.

PcEngine/CoreGrafx(I/II)/Duo(R):  Japanese counterparts of TG16/Duo.
                                  The Coregrafx models are just remakes of
                                  the original PcEngine with A/V output instead
                                  of RF.  The Duo-R is a toned down Duo
                                  without headphone jack and RF output
                                  (A/V output only).

Supergrafx:  No US counterpart.  (The Supergrafx is an enhanced PC Engine and
             can play PC Engine games without modification.)  There were only
             five games produced exclusively for this machine to take
             advantage of its extra muscle power.  It could be attached to the
             old PCE-CDROM expansion unit with a separate interface unit.

PcEngine GT:  Japanese counterpart of the TurboExpress, and runs PcEngine
              HuCards.  To play PcEngine HuCards on TurboExpress, use
              the same PcEngine->TG16 adaptor.

B: The Games:
-------------
HuCards:        1) PCEngine on TG16/Duo:
                   HuCard games aren't compatible, but you can buy adapters
                   for $20-30 through many mail order places.
                2) TG16/Duo on PCEngine:
                   There is a hardware difference between the two machines
                   which HuCards can read.  Most TG-16 HuCards check it,
                   and won't work on a PCE even with an adapter.
                   (Exception: Night Creatures works.)

   Note:        A Japanese Super System Card can be used with an American
                TG16-CD using a PCE->TG16 adaptor.

CD/SCDs:        All known CDs work both ways without any extra hardware, except
                a few SCDs which come with an extra Hucard for more memory.
                These SCDs require the built in operating system of the Duo.
                (Tough luck for those with the original TG16 or PcEngine CDs.)

   Note:        Altered Beast CD does not work, but that's because of an
                incompatibility with the older CD System 1.0; it won't work
                on a PC Engine 2.0 or SCD either.

Arcade Card:    Only available on PcEngine.  Requires PcEngine->TG16/Duo
                adaptor to work on US machines.  Arcade Card Duo is for
                Duo machines.  Arcade Card Pro is for machines without
                SuperCD System built in (i.e. TG16-CD).

C: The Accessories:
-------------------
PcEngine->TG16/Duo Adaptors:
        -Some existing adapters, namely the WH-301 purple adapters, aren't
         shaped to fit in a Turbo Duo or Turbo Express without some
         modification.  It is also suspected that the WH-301 will not work at
         all with the LaserActive machines.  There are three solutions:
            1) Find one that fits.  There is a "Kisado" type adaptor made in
               part by FAQ contributor David Shadoff.  This is a streamline
               adapter that fits well in TG16/TGExp/DUO machines without any
               modification.  Here's a schematic of it (not drawn to scale):

        +------------------------------------+_+----+#######+   Top View
        |======                                     |#######|
        |======                                     |#######|
        |======                                     |#######|
        |======                                     |#######|
        |======                               _     |#######|
        +------------------------------------+ +----+#######+

        <-- Machine End                        HuCard End -->

                                                      ------\  Side View
                                                      ______|
        =======-------------------------------v-------------/
                                        
                                              ^---Notch for power switch

The card itself is about 75% longer than a standard HuCard, and when
a HuCard is placed in, it leaves about .5 cm between the HuCard and the
machine.

If you are having trouble with the 301 type adapters, then you may want
to track down one of these beasts.  They are currently being re-manufactured
because of recent interest in them.  Contact David Shadoff (daves@interlog.com)

            2) remove the HuCard door off of the Duo
            3) Do some careful cutting on the WH-301 adaptor:
               (Some mail order places may have this done for you)
               Before:      ------------   After:       ____________
                            |          |                \          |
                    ________|__________|         _________\________|

                    <-- Machine End

PcEngine and TG16/Duo Controllers:
        -American Duo controllers are the same PcEngine controllers; they both
         have 8-pin mini-din connectors while the TG16 uses the larger 8-pin
         dins.

        -To use a Duo/PcEngine controller on a TG16, or vise-versa, you can
         either:
        1) Obtain an adaptor.  TTI supposedly makes TG16->Duo cables and
           mail order places like Buy-Rite make Duo->TG16 cables.
           (See also TG16->Duo joystick cable pinouts in Section 4.D)
        2) Open up a DuoPad and a TurboPad and switch the internal plugs of
           each controller.  Make sure both the internal plugs of each
           controller are the SAME type of connectors and that the wiring
           order are the same.  As far as I know, there are two types: a thick
           blocky one and a thin one.  This technique would be useful, for
           example, in turning a PcEngine 6-button pad into a TG16 6-button
           pad.  You will end up with a spare Duo/PcEngine 2-button
           controller.
           Note:  Supposedly, this technique can apply to TurboTaps and
                  DuoTaps as well.
           =======
        ***WARNING:  If nothing works, make sure you shut down your machine
           =======   fast or you might end up with a shorted Tap/Pad! :P

        #### Thanks to johnk@cs.utexas.edu for this section :) ####


=========================
4  Technical/System Specs
=========================

A: Machine Specs:
-----------------
Note:  I left the specs for other video game systems for comparison purposes.
#####  Spec chart from Ken Arromdee's rec.games.video FAQ:
[chart originally by Corey Kirk]
______________________________________________________________________________
|          | Neo Geo  |   SNES   | Genesis  |   TG-16  |    NES   | Sega MS2 |
|----------+----------+----------+----------+----------+----------+----------|
|Bits (CPU)|   8 + 16 |       16 |       16 |    8 + 8 |        8 |        8 |
|Bits (Gx) |       16 |       16 |       16 |       16 |        8 |        8 |
|CPU       |     68000|    65816 |    68000 |   HuC6280|     6502 |      Z80 |
|APU (Aud) |       Z80|  SPC???? |      Z80 |          |          |          |
|MHz       |   12.5, 4|      3.6 |      7.6 |  3.6  3.6|      1.8 |      3.6 |
|Graphics  | 320 x 224| 256 x 224| 320 x 224| 256 x 256| 256 x 240| 240 x 226|
| -2nd mode|          | 512 x 448|320 x 448*| 320x256**|          |          |
|Planes    |        3 |        ? |        2 |        1 |        1 |        1 |
|Colors    |4096/65536| 256/32768|   61/512 |  482/512 |    16/52 |   52/256 |
|Sprites   |      380 |      128 |       80 |       64 |        8 |       16 |
| - size   |  16 x 512|   32 x 32|   32 x 32|   16 x 16|    8 x 8 |    8 x 8 |
|Audio     |   15-lyr |PCM 8-lyr |   10-lyr |    6-lyr |     mono |     mono |
|RAM       | 64K+68Kgx|128K+64Kgx| 72K+64Kgx|  8K+64Kgx|  2K+ 2Kgx|        ? |
|          | (+2K Z80)|          |          |          |          |          |
|----------+----------+----------+----------+----------+----------+----------|
|CD CPU/MHz|        ? |          |68000/12.5| 65802/16 |
|CD RAM    |430K VRAM |          |     768K |  CD= 64K |
|          | 64K SRAM |          |          | SCD=256K |
|          |7 mg DRAM |          |          | ACD= 2MB |
|----------+----------+          +----------+----------+
* The 320x448 mode on the Genesis is the Sonic split-screen mode.
** A 512x256 mode is possible through fiddling with registers, but not
officially supported.

Comment: Some listings of colors are probably a bit too high.  For instance,
the Genesis has 8x8 tiles which use 16 colors from one of 4 palettes each,
which would be 64 colors, except that the 16th is a "transparent" color that
is the same for all 4.  Listings for Genesis colors tend to ignore this and
say "64" instead of "61".  It's unclear how many of the other figures are like
this.

________________________________________________________
|          |  GameBoy |   Lynx   | GameGear | TExpress |
|----------+----------+----------+----------+----------|
|Bits (CPU)|        8 |        8 |        8 |    8 + 8 |
|Bits (Gx) |        8 |       16 |        8 |       16 |
|CPU       |      Z80 |     6502 |      Z80 | 6502 6502|
|MHz (CPU) |      2.2 |      4.0 |      3.6 |      7.2 |
|MHz (Gx)  |          |     16.0 |          |          |
|ScreenSize|     2.6" |     3.5" |     3.2" |     2.6" |
|Graphics  | 160 x 144| 160 x 102| 160 x 144| 256 x 216|
|Colors    | mono (4) |  16/4096 |  32/4096 |  482/512 |
|Sprites   |        8 |    unlim |       64 |       64 |
| - size   |    8 x 8 |    unlim |    8 x 8 |  16 x 16 |
|Audio     |    2-lyr |    4-lyr |    4-lyr |    6-lyr |
|RAM       |      16K |      64K |      24K |  8K+64Kgx|
|----------+----------+----------+----------+----------|
Most systems can change colors on successive scan lines, using more colors
than the ones listed.

The existence of multiple graphics modes also confuses things--it might not be
possible to use all features at the highest graphics mode, as in the lack of
hardware rotation in the SNES 512x448 mode.  I'm not sure if there are
limitations on the double resolution Genesis mode (used for Sonic split
screen).


B: AC Adaptor Ratings:
----------------------

        DUO:
                Input:  120V AC 60HZ 16W
                Output: 10V DC 1000mA
                Center plug is positive, the outer is negative.

        Turbo Express:
                Input:  120V AC 60HZ 13W
                Output: 7V DC 700mA
                Center plug is positive, the outer is negative.

        TG-16:
                Model:  HES-ACA-01
                Input:  120V AC 60HZ 15W
                Output: 10.5V DC 730mA
                Center plug is negative, the outer is positive.

        TG+CD:
                Model:  HES-ACA-02
                Input:  120V AC 60HZ 24W
                Output: 11V DC 1.53A (1530 mA)
                Center plug is negative, the outer is positive.

                Model:  HES-ACA-03
                Input:  120V AC 60HZ 28W
                Output: 11V DC 1.53A (1530 mA)
                Center plug is negative, the outer is positive.

        Note:  When buying replacement adaptors other than these recommended
               by the manufacturer, the general rule is:
                  - Match the generic AC adaptor's DC voltage equal or as
                    close as possible to the manufacturer's adaptor.
                  - Make sure the generic adaptor's current rating (mA/A) is
                    equal or higher than the manufacturer's adaptor.
                  - Make sure the polarity matches!


C: PcEngine/TG-16 HuCard pinout:
--------------------------------
This information was posted by David Shadoff (daves@interlog.com)
and is mostly verbatim:

Notes:
(1) For reference, pin 1 is the short pin (on the left, if the card
    is to inserted forwards), pin 38 is the long pin on the right.
(2) *     - means I think this is what it is
    **    - means I don't know
    (bar) - means it is an active-while low condition (usually denoted
            by a bar over top)
(3) I'm telling you all I know (which really isn't much), and it may
    contain errors, also - I will not be held responsible for errors
    in this list.  (or any damages resulting from the use of, or
    inability to use, this information, etc...)

Pin      Use
---      ---
1        **                           20       D4
2        **                           21       D5
3        A18*                         22       D6
4        A16                          23       D7
5        A15                          24       CE (bar) - chip select
6        A12                          25       A10
7        A7                           26       OE (bar) - output enable
8        A6                           27       A11
9        A5                           28       A9
10       A4                           29       A8
11       A3                           30       A13
12       A2                           31       A14
13       A1                           32       A17
14       A0                           33       A19*
15       D0                           34       R/W (bar over W) - read/write
16       D1                           35       **
17       D2                           36       **
18       Gnd                          37       **
19       D3                           38       +5V

It is interesting to note that pins 6 thru 29 are basically exact
duplicates of the functions of pins 2 thru 25 on a 2764 EPROM.
Obviously, the design of the chip's die was not a complete re-work;
it just sits on a different package.

I got this information from tracing address- and data-paths through
the PC-E to the 2K static RAM (which has a known pinout), and
extending that information by reviewing an NEC data book on their
1-Megabit factory-programmed PROM's (it's an old data book, so I
couldn't go any further).

The TG-16 differs from the PC-E in that the D0-7 datalines are
reversed (actually, the PROM is programmed that way, and the wires
leading to the data bus in the machine are reversed).  I have
shown here, the card pinout (which does not differ).  I believe
that this is the PC-E port pinout (TG-16's just reverse the data
lines' order; swap 0 for 7, 1 for 6, 2 for 5, and 3 for 4).
-
Additional information: to copy a TG-16 game to work on a PC Engine with
copier, reverse the bit order.  There is then a sequence of code which checks
what machine the game is running on: all known examples start with 78 54 A9,
have the letters NEC at offset 15 hex, and an F0 at offset 0B.  If the F0 is
changed to an 80 (changing a conditional jump to an unconditional jump), the
game will work on both PC Engine and TG-16.

This code sequence is usually at the start of the game, but can be in other
places.


D: TG16/Duo and 6-button joystick techs:
----------------------------------------
### Info from Robert Kemmetmueller :

* A regular controller has a single 74HC157 IC (16-pin) in it.  This
    is some kind of "switcher" chip (exact function unknown) that lets
    the console poll the 4 directional switches (U D L R), and then poll
    the other 4 switches (S R I II).
* A 6-button controller has three 74HC157 IC's, and a half-used
    74HC163 IC, and a transistor for the autofire circuit.
* A 6-button controller MUST have an autofire circuit.  The reason
    is, it must continuously toggle between the set (U D L R , S R I II)
    and the set (- - - - , III IV V VI).  The console never knows which
    set it'll get on any given poll, so it has to keep polling until it
    gets BOTH sets.  The way it determines WHICH set it gets is: If it's
    the second set, all four directions will appear to be pushed.

So you can see that even with a normal controller, you can fool the
console into thinking you pushed the nonexistent III IV V VI buttons, by
pushing the control pad in all four directions and pressing S R I II.
This is not physically possible due to the physical design of the
controller, but I did verify my theory by applying bits on tin foil to
all 4 directional contacts of a standard 2-button controller.


o Is it possible to make a SNES->TG16/Duo joystick converter?

::WARNING: Electrotechie mumbo-jumbo about controller guts follows::

The TG-16 controller uses a 74HC157 IC, which is a quad 2-line-to-1-line
data selector/multiplexer with noninverting output.  The console does a
"double-poll", getting the values of the U D L R pad switches once, and
then the R S I II buttons.

The Avenue6 pad uses three of those ICs, one to "double-poll" the usual
(U D L R, R S I II) buttons, another to "double-poll" the (- - - -, III
IV V VI) buttons, and the third IC continuously switches WHICH of those
( ) sets is sent when the console polls.

(The software running on the console never knows which set it'll get on
any given poll, but it can TELL which set because the "- - - -" means
all 4 directions were pushed.  Older titles don't know how to handle
that.  Watch Bomberman go spaztic when your controller is set to type
"B"!)

The other chip in the Avenue6 pad is a 74HC163, a presettable
synchronous 4-bit binary counter with synchronous clear.  I haven't
really figured out what the heck its function is in the Avenue6 pad;
it's probably just part of a glorified slo-mo/turbo circuit, which is
absolutely required for a 6-button TG16 controller to work.

SNES controllers contain two 4021B ICs, which are 8-stage parallel to
serial shift registers.

So a converter that lets you use SNES controllers on a TG16 would
require all the logic from an Avenue6-button controller, PLUS a bunch of
logic circuits (a timer? and ???) to query the SNES controller and queue
the results it serially sent back, in some buffers that the Avenue6
logic could poll at will.

So now you know why nobody's built one.  :-)


E: TG16->Duo joystick converter cable pin-out:  Submitted by Steve Marsh
----------------------------------------------  (marsh@anvil.nrl.navy.mil)

Here are the pinouts for a cable that lets you plug TG accessories
(TurboStick, TurboPad, TurboTap) into a Duo.  The TG uses DIN-8 connectors, and
the Duo uses Mini-DIN-8 connectors.  These should be available at the usual
electronics stores.  You also need an 8-conductor (plus ground/shield) cable.
Hook up the outer shell of these connectors with an additional wire in the
cable, or (preferably) the woven wire or foil shielding in the cable.  Be sure
to make it extra long--it's tough to stretch it later!  $^)

Both diagrams below are based on looking *at* the business end; i.e. the
DIN-8 socket view shows 8 holes, and the Mini-DIN-8 plug represents 8 little
pins. You have to connect the wires from behind these viewpoints.  Also, if
you are making the opposite type of cable (i.e. so you can use 6-button Duo
pads on the TG), you'll have to do the mental gyrations yourself...  $^)


     DIN-8 SOCKET  (TG)            Mini-DIN-8 PLUG  (Duo)

      -------------                     ----##----
     /      4      \                   /    ##    \
    /  3         5  \                 /  1   7   8 \
   /                 \               |              |
  |                   |              | 6   3     5  |
  |  2      8      6  |               \            /
  |                   |                \## 2  4 ##/
   \                 /                   #------#
    \  1         7  /
     \     ###     /
      -----###-----


F: Technical Questions:  Answers given by our "local" TG16/Duo expert
-----------------------  Nimai Malle (nmalle@newssun.med.miami.edu)
                         Nimai used to work for Hudson Soft in Japan as a
                         videogame programmer.

o Could you tell us about the graphic mode in PC-engine?

Well...  (this could get length, but I'll try to summarize)
The PC-Engine and Duo machines do display 16 colors out of a possible 512
per sprite.  There are 16 palettes, each holding 16 colors.  A single sprite
can use one of those 16 palettes.  Therefore, one sprite may use one set
of 16 colors, and another a different set, hiding the limitations of the
16 color limit.  Also a sprite is 16x16 dots in size, so most object are
comprised of a set of sprites.

The PC-Engine can only display one background at a time.  The background is
made up of definable characters all 8x8 pixels in size.  The actual size of
the BG can be much larger than the display area of the TV screen, allowing
scrolling, etc.  As with sprites, there is also a set of 16 palettes, each
with 16 colors for use with BG characters.  Each character can use it's own
palette from those 16.  Which area of the BG is currently displayed on the
screen is determined by scroll registers within the PC-Engine, with (0,0)
being the upper left hand corner.  By writing new values to these registers,
the area being displayed is "instantly" changed.  To scroll, just increment
this register either in the X or Y direction.

o Does the TG-16 really have 482 colors, and a 512x262x482 mode?

The TG-16 has 512 colors.  Some colors are necessarily duplicated.  The BG has
256 colors.  The Sprites have a separate 256 colors.  Both color spaces are
divided into 16 palettes.

In the BG, color 0 of all palettes are equal.  Color 0 of palette 0 determines
color 0 of all the BG palettes.  Even though these color CAN be set indepen-
dently, the screen will not reflect these settings.

In the Sprites colors, color 0 is transparent in all palettes, although it does
peek it's head in a peculiar place; beyond the display width of the BG.
Explanation: The BG display area (in it's most often used setting) is 256x216.
The display width of a television may be adjusted to squash the screen
vertically, or horizontally.  Even normal TV's show a little more that 256
TG-16 dots wide, leaving a black border on the sides.  This border color is
actually controlled by sprite color 0.  The programmer can actually set the
screen width more narrow or vertically shorter, showing more of this area.
It's only use that I've ever implemented was in measuring the CPU load of the
TG-16 during development.

All platform games work this way, basically:

MAIN LOOP
     1)Wait for vertical retrace interrupt...
     2)Check joypad, move characters, etc.
     3)Goto MAIN LOOP

So, when step 2) is reached, the screen will be redrawing at the very top.
Between steps 1) and 2) one could set sprite color 0 to RED.  Then proceed
with all the processing for the game in step 2).  Then, right before step
3), set sprite color 0 to black.  What happens is, a red area to the left
and right of the BG appears starting from the top of the screen, and continuing
down i time, until it's set black again.  The screen is drawn 60 times every
second, so if your red meter is half way down the screen, you know that your
main loop it taking half of 1/60 a second to execute.  If the red goes off
the bottom of the screen, then you've got the dreaded over-sync!!  Everything
starts moving at 1/2 speed.  If this happens right when a particular monster
enters the playing field, then you know he's the culprit.  We even got
fancier, and showed different colors for different routines.  Now we could
"see" our sprite drawing routine in green, say, hogging CPU time, and know
that's where optimization should begin.

o And wouldn't the existence of this mode, combined with the Turbo Express
resolution, mean the TE can't _really_ play all TG-16 games?  (Is this the
Supergrafx's mode?  What _is_ the Supergrafx's mode, anyway?)

Well, NEC doesn't sanction weird resolutions.  As far as I know, there is no
setting that allows more that 256 dots vertically, but I have written games
using 512x256.  Colors are DEFINITELY fixed at 512 (minus duplicates) but when
in 512x256 mode, dithering colors, or displaying alternating vertical bands
of, say blue and red, give a convincing display of purple, so more colors
can be SHOWN this way, but still not true color.

As for TurboExpress compatibility, I think it can handle the 320x256 mode used
in Y's and others, but I've never tested 512x256...  Interesting!
SuperGrafx is a strange beast.  It has the same CPU as the TG-16, but with two
sets of graphic control chips.  This means hex $20000 bytes of VRAM, two BG's
twice as many sprites (making 128).  BUT this meant more work for that little
CPU.  This was the complaint of most developers.  Needless to say, the system
didn't catch on, although *I* think it's games were GREAT!

o More on the Arcade card:

I wrote the Arcade Card libraries that Hudson distributes to it's developers,
so I know what this baby does!

There are four ports to access the memory from the CPU.  Each port is one
word.  Each port can point to a separate address in the arcade card memory.
Settings for the ports are also completely independent.  The addresses are
determined by a "base address" (3 bytes) and an "offset" (2 bytes).  Reading
and writing is possible from all ports, and each can be set to auto increment
or decrement the offset or the base address.  Also, there is a bit one can
"hit" that causes the base and offset to be added, with the result being stored
in the base.  This COULD be used as a fast 3 byte adder.  There is also a
4 byte read/write barrel roller.  Basically, you can store any 4 byte value in
this register(s) and write the number of times you wish to shift or roll to a
5th register and you can read the result immediately.  This is very limited,
but a good hacker could find some tricky little application.  I was able to
optimize division and multiplication routines, also optimized a run length
decoder using this feature...  (I would have rather had a real multiplier and
divider, or floating point, or something, but costs were prohibitive.)


G: An excerpt about TG16 Programming:
-------------------------------------
This is a small discussion about programming on the TG16 by David Shadoff
and Nimai Malle which started on the Turbolist.  However, it is only a
beginning of a discussion on the topic since one of the parties disappeared
mysteriously (Beats me!).  I added it to the faq since it may interest some
people.  If you would like to followup on the following material or have any
knowledge about TG16 programming, please feel free to send comments/info.


### David Shadoff (daves@interlog.com):

This annotates the header that NEC America stuck on the beginning of the
American games, which inhibited their use on PC-Engine machines (as I
interpreted it).  I am still unclear why they did this; Japanese developers
never implemented this change; English-language ports would still have had a
market in places like Hong Kong, Singapore, Taiwan, etc. (but were never
repackaged this way); and US developers would have done better to create a
market over here rather than try to segregate it from day one (as you'll
recall, it was approx 1 year before 1 US developer signed on, and about
18mo-2 yrs before a game came out).  Oh yes... there's the issue of why this
change was never implemented on the US CD-ROM ports either... it seems that
NEC had a complete lack of direction of what they wanted to accomplish with
segregated markets.

I am working from the following assumptions:

(1) That my friend was able to copy the data from a TG-16 card to a PC
diskette reliably (proven - you'll see)

(2) That most cards are very similar (I checked a few, and there seemed to
be 2 or 3 archetypal structures of basically the same code - ie. relocated
or some other minor change).

(aside) I always wondered about KLAX (TG16-vs.-PCE)... were there
differences ?  I never got my hands on the American version.

(3) That although the HU CPU *IS* a custom chip, it is substantially similar
to the 65816 processor (leap of faith, but proven - you'll see).

offset   byte value    instruction    annotation
 00        78            SEI i         Set interrupt disable status

 01        54 A9 FF      MVN xyc       Block move negative; source = FF0000 + x
                                                            dest   = A90000 + y
                                                            length = c + 1
                                                    Data Bank Reg  = A9

 04        53 01         EOR (d,s),y   XOR mem with accum.
                                       (a should either be 00 now, or FF)
                                       effective addr. = A90000 + stack + 1

 06        AD 00 10      LDA a         Load Accum. with mem. at A91000

 09        29 40         AND #         And immed. w/accum. #40 (ie. bit 6)

 0B        F0 0C         BEQ r         Branch if zero to offset 19

 0D        A9 90         LDA #         Load accum. w/ #90

 0F        53 04         EOR (d,s),y   XOR mem with accum.
                                       effective addr. = A90000 + stack + 4

 11        4C 00 40      JMP a         Jump to new location A94000

 15        20 4E 45 43 20              " NEC "


(Please, anybody jump in if I've misinterpreted.... I never coded on a 6502,
so I could be misunderstanding some of these addressing modes).

Here's my guess: It's moving a block of memory from FFxxxx (presumably the
card's contents) onto A9yyyy.  Why? I don't know - presumably checking to
see if there's memory there to write to.  I wish I knew what to expect of
the registers upon entry.  Then, exclusive-or's it (presumably, s is 0FFF at
this point ?), and loads it into the accumulator for testing.  If bit 6 is
not set, it passes the test, and branches to the place where it should go.
If not, it spins off into never-never land (or at least a well-known limbo).

How I tested my work: I changed the BEQ (opcode F0) to a BRA (opcode 80),
and got my friend to test it.  Now I remember... I'm pretty sure it was
Military Madness that started this way... my friend was fed up trying to
understand the Japanese of Nectaris...

This should explain what you see in the FAQ about getting TG games to run on
a PC-E.  Unfortunately, you need a copier, a bit-reversal program, and a PC
to edit the correct byte.

I must credit Jarno Kokko somewhere in Finland for egging me on, stating
that it can/has been done, and is no big deal.  I dug deeper because of this.


### From Nimai Malle (nmalle@newssun.med.miami.edu):
Note: David Shadoff's comments preceded with a "#".

Here's the source for the type of code you are trying to figure out here:
cold_start:
   if 0                  ;protect code (25 bytes)
       sei               ;Set interupt dissable
       csl               ;(Forgot: Only used here in all me sources)
       lda    #$FF       ;Load A-reg with $FF
       tam0              ;Transfer A-reg to Memory map register 0
       lda    $1000      ;Load A-reg with value stored at address $1000
       and    #$40       ;Test bit 6
       beq    NO_PROTECT ;Skip remaining code if bit not set
       lda    #$90       ;Load A-reg with $90
       tam2              ;Transfer A-reg to Memory map register 2
       jmp    $4000      ;Jump to address $4000
       db     ' NEC'
NO_PROTECT:

# Wow.  This really *is* different from the 65816.  Looks like the 6502 was
# evolved along a separate evolution path by Hudson (much like Zilog's Z-80
# versus Intel's 808x).

Some explanation:  (This may be in the FAQ?)
The PC-Engine's processor can only use 16 bit addresses, so it's addressable
memory goes from $0000 to $FFFF.  In order to use more memory, this address
space is divided up into 8 "banks".  One bank is $2000 bytes long.

$0000 - $1FFF   Bank 0
$2000 - $3FFF   Bank 1
$4000 - $5FFF   Bank 2
$6000 - $7FFF   Bank 3
$8000 - $9FFF   Bank 4
$A000 - $BFFF   Bank 5
$C000 - $DFFF   Bank 6
$E000 - $FFFF   Bank 7

There are 8 registers that corespond to the 8 banks.  These are called Memory
Map Registers (MMR).  There are also new mnuemonics to set these registers; two
of which were used in the above code.
So, setting MMR2 to $04 this means that the REAL address of all addresses
between $4000 and $5FFF will be $044000 through $045FFF.  In this way the PC-
Engine has access to a 24 bit address space.

# EEEWwwwww !  This is uglier than the 8086's 24-bit scheme !  I liked the
# 65816's direct-mode register more (less fancy footwork).
#
# BTW, is must be possible to set all 8 MMR's simultaneously (or any
# combination), just by making the second byte have more than 1 bit set, right?

Some of the MMR settings are set upon startup and must never be changed under
normal opperating circumstances.  This code will usually be near the start:

    lda    #$FF     ;$0000 - $1FFF  Reserved for I/O and system registers
    tam0
    lda    #$F8     ;$2000 - $3FFF  Maps to RAM area of PC-Engine
    tam1
    ldx    #$FF
    txs             ;Set stack pointer to $FF
    lda    #$04
    sta    $0400 ;Initialize the color processor (it's registers start at $400)
    lda    #$FD
    sta    $1402    ;Enable IRQ's
    ...

And so on...

# So where in the memory map does the cartridge live ?  At the top ?


=========================
5  Other FAQ's
=========================

o How can American HuCards be played on a Japanese PC Engine?
        Since TG16 HuCards can detect hardware differences of the PcEngine,
        TG16 HuCards cannot be played on a PcEngine.  But since the
        price of the TG16 has come down drastically to $20-40US, it wouldn't
        be much trouble getting another machine to play your American HuCards.

o Can I back up my save memory?
        Yes you can.  You don't have to delete your high scores anymore or kill
        your precious RPG save slots with this gadget.  There is a PcEngine
        HuCard called the Ten no Koe ("voices from the sky") Bank. Its storage
        capacity is 4 times the size of the backup RAM in the TG16/DUO.  Pop
        in the card and you'll be able to save/load save files from a menu
        screen.  Since this is a PcEngine card, you'll need a converter to use
        it on your American machine.  This card can be found for about $50.

o Can I use my TG16-CD/Duo CD player with my computer?
        There was a SCSI adaptor TTI was working on called the DuoLink
        that would connect to the Duo HuCard slot but it never came out since
        it would retail over $100US, while a basic CD setup for a PC at that
        time could have been obtained for about the same amount of money.
        Now, you can find single speed CDROMs for about $50.

o Can I use a generic AC adapter for my Turbo Express?
        The original AC adaptor for the TE works at (7V,700mA).  Your best
        bet is to use a Radio Shack Universal adapter switchable to
        (7.5V,800mA max).  A Lynx AC adapter (9V,1000mA) will work on the
        TE but be forewarned.  Pausing a game for extended periods using this
        adaptor can cause something in the express to burn out.
             ### Thanks to Steve Marsh  ###

o Can a LaserActive system play TG16/Duo games?
        This system plays both laser discs and CD's, and costs $720 but
        costs $480 each for add-on module allowing Sega CD or TG16/Duo
        compatibility.  (Note that a complete Sega or Turbo CD system costs
        less than that).
        Playing PcEngine HuCards may pose some problems tho.
        Many PCE->TG16/DUO HuCard adapters weren't designed with the
        LaserActive in mind.  However, the Kisado board itself is long enough
        to fit into the TG module (unlike the 301 adapter which is far too
        short) but the HuCard connector must be modified so that the card is
        perpendicular to the board rather than parallel (as it is with
        conventional ones).  This could be done by modifying a mostly-
        completed adapter.  Otherwise, another option is to obtain a cheap
        basic TG16 unit with PCE->TG16 adaptor to play PCE Hucards.
        (See also See Section 3: PcEngine+Compatibility)
             ### Thanks to Jeff Hildebrand  ###

o Can I use an older Genesis A/V cable to replace my Duo A/V cable?
        The Duo has a similar 5-pin A/V cable like that of the original
        Sega Genesis.  However, there is only one audio channel through the
        DIN port of the Genesis cable.  You can use the cable on the Duo, but
        only by sacrificing stereo sound in the process.

=========================
6  Magazines
=========================

o Which American Gaming magazines provide the best coverage of the
  TG16 gaming scene?
        Most of the major gaming magazines used to provide lack-luster coverage
        for the TG16/Duo, especially after TTI's down scaling to a mail order
        business.  Anyway, you may wish to check out the magazines on a
        month-by-month basis for PcEngine info.  Popular gaming magazines
        include "Videogame & Computer Entertainment", "Electronic Gaming
        Monthly", and "Game Pro".

o Are there any Turbo only magazines available?
        Well, at least there were.  After TTI's down scaling, there was
        not really much to cover.  I doubt that either two magazines
        still exist.  One still owes me some mags!  Someone give them a call :)

        "DuoWorld" published Bi-Monthly by L.F.P. Inc.
        Single issues are $1.95 and a one year (6 issue) subscription is $9.95
                L.F.P. Inc.
                9171 Wilshire Blvd. Suite 300
                Beverly Hills, CA 90210
                310-858-7100

        "Turbo Force" published quarterly
        Single issues are $3.95 and a one year (4 issue) subscription is $9.99
                Turbo Force
                PO Box 7597
                Red Oak, IA 51591-0597
                1-800-444-2884

o PC Engine Magazines:
        PC Engine Fan is now the only monthly magazine devoted to the PCEngine
        in Japan.  The other magazines which are no longer published were:
                1) Marukashi (Win!) PC Engine
                2) Gekkan (Monthly) PC Engine (Subtitled: Monthly magazine for
                   Game Freaks)
        These magazines contain mostly Japanese text (although there
        is a surprising amount of English) and contain reviews, previews, full
        colour pictures on glossy paper.  They can be purchased at most
        Japanese bookstores for about $7-$8 each.  Some mail order Game
        businesses sell them for about $12-15 each.


=========================
7  Shopper's Guide
=========================

It would be a good idea to check the ads in an American video game magazine.
If you know someone who lives or who is going to Japan, Taiwan or Hong Kong,
it would be a very good idea for him/her to get your Japanese games for you.
Especially for used games, you can get some pretty good titles for very good
prices.  (i.e. My friend found Dracula X for $250HK used, about $32US)

###OLD###       Turbo Technologies, Inc.
                6701 Center Drive West, Suite 500
                Los Angeles, CA  90045
                310-641-4622 (main office)
                310-574-3304 (customer service)
                1-800-366-0136 (Info Line)

###NEW###       Turbo Zone Direct
                13348 Beach Ave
                Marina del Rey, CA  90292
                Tel: 310-574-3300 (note the similarity in phone numbers?)
                Fax: 310-574-3307

Mail Order:  (Third Party Distributors)
                Totally Turbo:          1-800-368-0054

                Turbo Zone:             1-800-995-9203


Other sources for games:
        TTI has called back most of it games from its distributors and has
        turned into a mail order business.  If you want to get the newer games,
        you're gonna have to get them direct or hope some mail order places
        like Buy-Right have them.  Some of the following places still sell
        them at discount prices tho.  Go check!  According to an old ad by
        TTI, the following places sell (or used to sell) the TG16/Duo and
        software: Toys R Us, Babbages, Electronic's Boutique, The Good
        Guys, McDuffs, Software /etc, Video Concepts, Walden Software, and
        through the Sears Catalog.  Other known retailers include Chips &
        Bits.

Sources for Japanese games:
        Just remember that you need an adapter for HuCard games...
        (A more complete list is available in the Japanese Videogame Sources
        list.  See the Other Sources of Info section for more info)

See also the TurboGrafx-16/Duo/PC-Engine Mail Order FAQ maintained by
Jeff Hildebrand (jhildebr@mbnet.mb.ca).  It can be found on the TG16/Duo
Mailing List server or received upon request.

                Die Hard
                --------
                19640 Ventura Blvd.
                Tarzana, CA 91356
                Orders/Info/Cust.Service: 818-865-2599
                Calling this number gets the customer service/new release/
                order personnel (they have a automated message thing set up so
                that you can hear about all the new PCE titles that they'll be
                getting in).

                Game Dude
                ---------
                12104 Sherman Way
                North Hollywood, CA 91605
                Orders: 818-764-2442
                Fax   : 818-764-4851

                Japan Video Games
                -----------------
                710 W. Las Tunas, #1
                San Gabriel, CA 91776
                Phone: 818-281-9282
                Fax  : 818-451-5839

                Buy-Rite Video Games
                --------------------
                PO Box 99743                    1924 Captial Boulevard
                Raleigh, NC 27624               Raleigh, NC 27604
                Orders: 919-850-9473            919-834-1355
                FAX   : 919-872-7561
                ATTN  : Mark
                Highly recommended not only because of their good selection
                of Japanese Hucards/CD's, but because they're friendly ;)

                Buy-Rite game list can be found on the WWW.  Use the following
                URL to access:  Compiled by Y. Wei (ywei@eos.ncsu.edu)
                http://www2.ncsu.edu/eos/users/y/ywei/www/buyrite.html

                DonSal Inc.
                -----------
                21 Sumcot Roard RR#1
                Peterborough, Ontario, Canada
                K9J 6X2
                Phone (info) 1-800-477-9583
                Phone: (705) 657-2295
                Fax  : (705) 657-2521


=========================
8  Other sources of info
=========================

NOTE: A "list" is not a mailing list unless it SAYS "mailing list"

TG16/DUO mailing list:  Maintained by Bt Garner (bt@cpac.washington.edu)
        Probably the best source of TG16/Duo info you can find
        out there.  Current topics about the TG16/Duo discussed.  Server
        provides access to game reviews, cheats, game translations, faqs and
        other info (and this FAQ too! :)
        To subscribe:   Send mail to turbo-list-request@cpac.washington.edu
                        with "subscribe" on subject line or on the first
                        line of your email.  You will be subscribed into the
                        mailing list and will be emailed some info on how to
                        use the server.

Turbo Mailing List's Home Page on the World Wide Web:
        Maintained by Jeff Hildebrand (jeffh@iris.mb.ca, jhildebr@mbnet.mb.ca)
        The URL is:     http://www.mbnet.mb.ca/~jhildebr/

TG16/DUO Scoring Contest:  Maintained by Underware Man
                           and Game Zero (gmezero@gz.bomb.com)
        Send mail to tgscores@cyberspace.com for info or connect to the
        following WWW homepage.
        The URL is:     http://www.primenet.com/~gmezero/rip/tgscores.html/

Game Zero Home Page on the World Wide Web:
        Maintained by gmezero@gz.bomb.com
        The URL is:     http://www.primenet.com/~gmezero/

Michael Mahon's Home Page on the WWW:
        Maintained by Michael Mahon (mmahon@kaiwan.com)
        The URL is:     http://www.kaiwan.com/~mmahon/

Ys IV Home Page on the WWW:
        Maintained by Hiroshi Kawai (pasqual@mit.edu)
        The URL is:     http://www.mit.edu:8001/people/pasqual/YsIV.title.html

Hudson Soft Hucard Release list:
        Maintained by Michael Mahon (mmhaon@kaiwan.com) and
        Mark Yoshimi (currently using oedi@netcom.com)
        Can be found on Turbolist Server, at above URL, or
        FTP to: kaiwan.kaiwan.com in directory /users/mmahon

The TurboGrafx-16/TurboDuo/PCEngine Save Game FAQ
        Maintained by Barry Cantin (KerPlunk33@aol.com)
        Can be found on the Turbolist Server.

rec.games.video Video game FAQ:  Maintained by Ken Arromdee
                                 (arromdee@jyusenkyou.cs.jhu.edu)

Anime video games list/FAQ:  Maintained by Ken Arromdee
                             (arromdee@jyusenkyou.cs.jhu.edu)

Video game FAQs FTP site:  Maintained by Andy Eddy (vidgames@netcom.com)
                           Senior Editor, GamePro Magazine
                           ftp to ftp.netcom.com in directory
                           /pub/vi/vidgames/faqs

QuickTime anime videos:  Maintained by Mark Johnson (mjohnson@sol.UVic.CA)
                         ftp to venice.tcp.com in directory
                         /pub/anime-manga/anim/qt
                         QT videos of the intro of Ranma1/2 pt2 and
                         Comic Fantasy MD-CD series.

PcEngine Fan Scans:  Maintained by Wing H. Yi (yokosima@netcom.com)
                     ftp to ftp.netcom.com in directory:
                pub/yo/yokosima/misc       -videogame/anime/manga-related stuff
                pub/yo/yokosima/incoming   -uploads
                pub/yo/yokosima/h          -other stuff

More FTP Sites:
                Videogame and TG16 stuff:
                Maintained by Chris Granz (quest@newline.newl.com)
                FTP: quest.newl.com     Path: /vidgames/turbo/

                Ys Images:
                FTP: venice.tcp.com     Path: /pub/anime-manga/sorted/Ys/Images

-------------------------------------------------------------------------------
Here are some old sources for info.  There are more updated info found
on the TG16/Duo Mailing list server or from those sources above.
-------------------------------------------------------------------------------

TG16 FAQ: maintained by Steve Pearl (pearl@remus.rutgers.edu)
          This FAQ is kinda outdated.  (That's why i made this one.)
          But you may want to look at it anyway.
              Can be obtained by ftp from remus.rutgers.edu in
              /pub/anime/faq/tg16/tg16.faq.Z
              Site includes some other TG16 related stuff as well.

PC Engine Game Directory: A listing of all known PC Engine games with
        as much information on them as possible.  Maintained by Steve Pearl
        (pearl@remus.rutgers.edu) Posted monthly.  Available by email upon
        request.

TG16 Product/Price list: A listing of all current TG16 games and a
        survey of prices from various retail sources.  Maintained by
        Steve Pearl (pearl@remus.rutgers.edu) Posted monthly. Available by
        email upon request.

Japanese video game source list: maintained by Steve Pearl
        (pearl@remus.rutgers.edu).  The list can be ftp'ed from
        romulus.rutgers.edu (128.6.13.2)

:)
(FAQ source)