******************************************************************************* ** _____ __ . __ _ __ _ _ ___ _____ ** ** | / \ /| /__ / | \ | | / \ / / ** ** | | __ | / \ / | | | | | | / /_ ** ** | \__| _|_ \___/ _/ |__/ \__/ \___/ /__ / ** ** ___ _ ___ / / ** ** |__ / \ / \ 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) :) *******************************************************************************