Showing posts with label Tandy 1000. Show all posts
Showing posts with label Tandy 1000. Show all posts

Saturday, December 28, 2019

The Gotek Floppy Drive Emulator in the IBM PC World


The Gotek floppy drive emulator is a simple, cheap and little device that, as its name says, emulates a floppy drive.  There are many varieties of these devices and they usually come with a USB port on the front of the unit and a 34-pin header + 4-pin power header on the back.  While originally intended to replace disk drives in industrial, sewing and musical equipment, they can be used with standard PC floppy controllers.  However, as they come they are at best diamonds in the rough, so in this blog entry I will describe how to make these devices more useful for vintage IBM PCs and compatibles.

Saturday, April 7, 2018

Expanding Vintage IBM PC & Compatible Display Options - the GGLabs CGA2RGB Converter

GGLabs' CGA2RGB (courtesy of GGLabs)

Getting a high quality and proper video signal from an IBM CGA or EGA card or an IBM PCjr or Tandy 1000 without their specialized monitors can be difficult.  These computers used specialized RGB monitors to give a high quality solution using digital signals to tell the monitor which color to display.  Unfortunately this standard was not really adopted outside of the expensive PC compatibles and most RGB monitors only accept an analog signal.  When VGA and its analog RGB signal format became standard, support for the older digital RGB format went away.  In this blog entry I am going to examine an inexpensive converter that can help you adapt your vintage PC compatible's digital RGB video output to the more accessible analog RGB video output.


Sunday, July 30, 2017

The Obscure Tandy 1000 Models

When I have talked about the Tandy 1000s in the past, and I know it has been a while, I have focused my discussions on the Tandys that were available to purchase by members of the public at Radio Shack stores.  If you walked into a Radio Shack store in the 1980s and had $1,000 to spend, you could walk out with an IBM PC compatible computer.  The 1000 line was cheap, fully functional as PC clones and played games as well as or better than machines that cost many times their price.  But Radio Shack was not the only source from which you could obtain a 1000, and the 1000 hardware was also available to institutional buyers.  So in this blog entry I am going to pull together every scrap of information I can find on the rarest, most obscure Tandy 1000s in existence.


Tuesday, September 6, 2016

More Keyboard Adapters : The Tandy 1000 Keyboard to Tandy 1000 TL or SL

The earlier Tandy 1000s, the 1000, 1000A, 1000 SX and 1000 TX came with a 90-key Tandy Keyboard.  The Tandy 1000 EX and HX had the 90-key Tandy Keyboard built in.  This keyboard uses its own communications protocol and timing and is not compatible with an IBM PC, XT or AT or their clones.  This keyboard uses an 8-pin DIN plug.

The later Tandy 1000s from the TL and SL onward came with 101-key keyboards.  These keyboards, called the Tandy Enhanced Keyboard, were an autoswitching keyboard that could work in an IBM PC, XT, AT or their clones.  This keyboard uses a 5-pin DIN plug and do not work in an earlier Tandy 1000.

In the technical reference manuals for the TL and SL, which are the last Tandy technical reference manuals available online, the keyboard controllers do mention Tandy 1000 Keyboard compatibility.  These computers have a 7-pin DIN connector even though an XT or AT keyboard only uses four pins.  The schematics indicate that the extra pins are used for Tandy 1000 keyboard-specific signals.


Wednesday, August 31, 2016

The Northgate Omnikey to Tandy 1000 SX & TX Keyboard Adapter

The Tandy 1000 computers, more specifically the early Tandy 1000s, had many good features, graphics, sound, expansion, performance, integrated peripherals.  To save development costs, Tandy imported some of its designs from prior, non-IBM PC compatible computers.  The Tandy 1000 card edge printer port can be traced back to the TRS-80.  The Tandy 1000 joystick ports came straight from the Tandy Color Computer.  And finally, the Tandy 1000 keyboard is the same keyboard used in Tandy's MS-DOS (but not IBM PC) compatible Tandy 2000.

The 90-key Tandy 1000 keyboard is not exactly a pleasure to use.  Its layout is cramped and awkward, its keys are mushy and there is no tactile feedback.  Compared to the IBM PC or IBM PC AT keyboard, it feels cheap.  Typing mistakes are frequent with this keyboard.  It has some odd key omissions.  There is no Scroll Lock, and while there is a separate Home key, there is no separate End, Page Up, Page Down, +, -, or * keys.  The shift keys are too small.  While it does have F11 and F12, software made during the Tandy 1000 (except by Tandy) lifespan rarely used these keys.

Finally, the Tandy 1000 has the dreaded Hold and Print keys.  Both keys are next to important keys like Enter, Alt and Num Lock,  The Hold key acts like a true Pause key, everything is frozen until you hit the Hold key again.  People who do not know or forget how the Hold key works may think their computer has crashed.  However, the really evil key is the Print key.  Press this key twice and, unless you have a printer attached to your computer, your computer will freeze as it vainly tries to print what you are typing on the screen. Your computer will appear to freeze.  IBM avoided this issue by assigning the function to Ctrl+Print Screen.


Sunday, August 21, 2016

Boulder Dash - PC Speed and Joysticks

Boulder Dash was originally released for the IBM PC and PCjr. in 1984 by First Star Software.  The disk included two separate executables, one for the IBM PC and one for the IBM PCjr.  The disk was a PC booter.

The IBM PC executable is serviceable but not particularly impressive.  There is a distinct lack of animation on the title screen and for the amoeba tiles.  There is also no color-cycling effect for the diamonds.   It is debatable whether the game really uses composite color graphics.  Sound effects are weak even by PC speaker standards.

The IBM PCjr executable, on the other hand, is much, much more impressive.  It uses the 3-voice PCjr. chip for music and sound effects.  It supports 16-color graphics with full animation and color cycling.  Despite the PCjr. being slower than the PC, it does not suffer from a lot of slowdown, despite the extra effort.  Compare these pairs of screenshots from the PC and PCjr. executables :


Wednesday, August 17, 2016

The PC Joystick to Tandy 1000 Joystick Port Adapter

IBM PC-compatible joysticks using the DA-15 connector came in all shapes and sizes.  Some have a hat switch, some have a throttle wheel, and many are quite durable.  The CH Flightstick Pro is among my favorite PC joysticks.  Its large enough to fit in my hand, has easy movement and feels very precise.

Unfortunately, Tandy 1000 users do not have many options, thanks to the 6-pin DIN connector the 1000 line used.    The official Tandy joystick line consists of the miserable black box joystick with the single button and non-self centering stick, the Deluxe Joystick which fixes those issues but is still rather boxy and uncomfortable, and the Pistol Stick Joystick, which has a handle but is really basic.  Not many third parties released joysticks with the Tandy plug, but in this blog article, I will tell you how to adapt any standard PC-style joystick to work in a Tandy 1000 joystick port.


Wednesday, August 3, 2016

The Tandy 1000 Digital Joystick Adapter

IBM PCs and compatibles had an analog joystick interface.  The Tandy Color Computer and clones like the Dragon 32/64 computers also had an analog joystick interface.  Inside an PC or CoCo joystick were a pair of potentiometers.  The chief difference between the two interfaces is how the potentiometers were connected.  PC sticks used the potentiometers as variable resistors, wiring two of the three terminals, one of which to +5v and the middle would be connected to the interface's input.  CoCo sticks used the potentiometers as voltage dividers, where all three terminals would be connected, one outer terminal to +5v, one outer terminal to ground and the middle terminal would be connected to the interface's input.

In the early days of home computers, a joystick could be used for more than just playing games.  It could function as a cursor controller like a mouse, which was useful for drawing programs.  It could also be used for flight simulators, where the analog control could be appreciated.  Most home computer games from the 1980s that support a joystick were ported or derived or inspired by the popular home console and arcade games of the time.  Games like Pac-Man, Pitfall and Space Invaders did not really need an analog stick, they usually used digital joysticks.  When platforming games like Super Mario Bros and Prince of Persia became popular, they often or exclusively used digital gamepads.


Saturday, April 23, 2016

Quick Look - Outrun PC Versions

One of DSI/USI's more competent porting jobs from the late 1980s, Outrun received a decent port to the PC.  It was released three times in English-speaking markets.  All versions properly support CGA, EGA, VGA and Tandy and a Joystick.  I have sample screenshots of the 16-color graphics as displayed on EGA, VGA or Tandy, the 4 color graphics of CGA or Tandy and the monochrome Hercules graphics.  I also have attached speech and sound effect sample recordings that played on startup.


Tuesday, April 19, 2016

Winnie the Pooh Tandy/PCjr. Graphics Recolorization


Recently, I learned that Winnie the Pooh had support for Tandy/PCjr. graphics and 3-voice sound.  However, whoever was responsible for the colorization either must have had cloudy memories of the Pooh cartoons or problems with perceiving colors.  I took a screenshot for each character and tried to make them closer to their colors from the Disney films.  I made sure to only use the 16 RGBI colors available to the Tandy/PCjr. and not to do violence to the backgrounds.

The real graphics are on the left side, my retouched graphics are on the right side.

The Pooh Bear doll only needed to turn the shirt from light magenta to light red.


Thursday, January 21, 2016

Tandy Color Computer Mice - A Viable Alternative for Tandy 1000s without a Serial Port?

When Tandy designed its 1000, it helped reduce R&D costs by taking certain portions of the design from other of its computers.  The 1000's keyboard is more-or-less identical to the Tandy 2000's keyboard.  The Tandy 1000's joystick interface and connector was previously used in the Tandy Color Computer.  While neither the Tandy 2000 nor the Color Computer are IBM PC-compatible computers, these interfaces were sufficiently similar to the PC keyboard and joystick interface to work with most PC software.




The first several Tandy 1000 models, the 1000, 1000A, 1000HD, 1000SX, 1000EX and 1000HX did not come with a built-in serial adapter.  PS/2 ports would come much later to the Tandys.  The 1000SX had five expansion slots, so adding a serial adapter is easy for that machine.  The 1000/A/HD can also accept a standard serial adapter, but they only have three slots and need at least one of them for memory expansion.  The final expansion board had room for a PLUS card to add as a daughterboard, and Tandy sold a serial adapter PLUS card.  This PLUS card the only way you were supposed to add a serial adapter to the Tandy 1000EX or 1000HX.  The EX and HX are the most difficult machines to upgrade because they use the odd PLUS form-factor and BERG-style connectors instead of edge connectors.

Tandy Deluxe Joystick (early model)
The Tandy TRS-80 Deluxe Joystick, Tandy Part No. 26-3012 was marketed for both the Tandy 1000 and Tandy Color Computer lines. It used a black and off-white color scheme with a red and a black button.  The black button does not work in the Color Computer 1 or 2.  It is self centering, but there are a pair of latches on the bottom that you can use to allow for free-form movement of each axis.  It has a pair of trimmer controls to assist in obtaining a proper center for the joystick.

Tandy Joystick (also come with black handles)
Tandy also marketed a pair of cheaper, one-button joysticks, Tandy Part No. 26-3008, that are non-self centering for the Color Computer, but you can still use them for the 1000 line.  Of course, considering how cheap they are, you would have to be truly desperate to put up with them.   These joysticks have a black base, silver or black handle and red button and were sold as a pair.  They do not have any type of trimmers, making them even worse for trying to center a joystick.  Nonetheless, they do technically work in a Tandy 1000.

Tandy Color Mouse - Very Apple Lisa like
Tandy also marketed a pair of mice for both computers.  The Tandy TRS-80 Color Mouse, Tandy Part No. 26-3025, had one button and used a black/red scheme, just like the cheap joystick pair.  The Deluxe Mouse, Tandy Part No. 26-3125 came later but had two buttons and used an off-white color.  Both use the joystick connector, and unlike the joysticks both mice were advertised for the 1000 line.  You could also get Touch Pad that plugged into the joystick port.

Tandy Deluxe Mouse - A bit more like Microsoft's Green-Eyed Mouse
Internally, the Tandy Mice does not use rotary optical encoders like every other ball mouse ever made. Instead the ball moves a pair of potentiometers, just like the Tandy and IBM PC joysticks!  There is no microcontroller inside to encode anything as there would be with a serial or PS/2 mouse.  The Tandy mice are read and function just like a joystick, the only difference being the way you manipulate the potentiometers.  They have no trimmers and are difficult to calibrate because it is not obvious where the mouse "ends".

 I'll spare you from the corny puns I could make about steel balls,
The Deluxe Mouse contains a steel ball and a pair of soft rollers which end in gears which turn the potentiometers.  You can move the ball to a point where the potentiometers will not go further.  Unlike Serial, PS/2 or bus mice, the joystick interface cannot generate an IRQ.  This means that the mouse cannot tell software that it has moved, instead the software must poll the joystick port at regular intervals.  Here are a few photographs of the Deluxe Mouse's internals :





Many DOS games support a mouse cursor, and a couple will work reasonably well on a 4.77MHz or 7.16MHz Tandy system.  The early LucasArts SCUMM games starting with Maniac Mansion and the MacVenture ports like Shadowgate have a cursor which can be controlled with a joystick or a mouse. Wasteland and Dragon Wars also support a cursor, but those games (ported from the Apple II) can be played best by mastering the keyboard commands.

There are a pair of joystick-to-mouse drivers in the wild.  One is JOY.SYS and is loaded in CONFIG.SYS.  This works well with the Tandy Mice.  The other is JMOUSE.COM and can be loaded with AUTOEXEC.BAT.  This works well with regular joysticks but not with the Tandy mice because it requires calibration. The Tandy Deluxe Joystick can work as an ersatz mouse using these programs, but expect some jitter in the cursor and imprecision.  You can download both from here : http://www.oldskool.org/guides/tvdog/utilities.html

Tandy also released the Digi-Mouse, a bus-style mouse that does not work in a serial or PS/2 port.  Its expansion card comes in standard pin connector and PLUS-style form factors.  Both adapters have a real time clock chip on them but are hard to find.  Obviously, both the mouse and clock chip require special drivers, which can also be found at Tvdog's site.  The driver has a Microsoft copyright as viewed in a hex editor.  The Digi-Mouse connector uses a 9-pin connector and can support three buttons and two pairs of quadrature signals, just like a Microsoft Inport mouse.  I would not be surprised if Microsoft's Inport mice could also work with the driver and expansion card, although the signals may require rewiring.  The card uses IRQ3.

Eventually Tandy would release its own serial mice and PS/2 mice.  The Tandy 1000 TX is the first Tandy 1000 to come with a built-in serial adapter, and the later 1000s always had one.  The TL/3, RL, RLX and RSX also support PS/2 mice, but you will have to manually set the IRQ in the mouse driver (except for the RSX) because these systems lack IRQs 8-15 and the PS/2 mouse IRQ is assigned to 2.  They assign the IRQ to 3.

Additionally, Personal Deskmate, which came with the Tandy 1000 EX, comes with the JOY.SYS driver. In fact, with Personal Deskmate, the cursor will be corrupted with any mouse driver except the JOY.SYS driver or the Digi-Mouse driver (see below).  Personal Deskmate 2 and later GUI versions are not picky about the mouse driver loaded.  Unfortunately, the JOY.SYS driver does not like the PCT 286 Express Accelerator Card and will refuse to allow the PCT software to run if the JOY.SYS driver is installed.

The Tandy Deluxe Mouse still shows a jittery cursor with the JOY.SYS driver and many programs.  Low resolution graphics and text modes will not show as much jitter as medium and high resolution graphics modes. Moveover, some games like the high resolution version of Maniac Mansion, do not like the driver and will show some erratic cursor movement.  If you are going to experience jitter, then you may as well use a joystick instead of a mouse.  Ultimately, if you have a joystick with the free-form switches, I cannot recommend using these mice on a Tandy 1000.

Thursday, January 14, 2016

Milestones in the IBM PC Compatible Software Renaissance

Over the past decade (and a bit) people have been writing new software for "oldskool" PC systems like the IBM PC, IBM PCjr. and the Tandy 1000 computers.  Some of these programs have been really impressive or have pushed these systems in ways never envisioned by their creators.  While other systems like the Apple II, Commodore and Atari computers may have had comparatively more software released during the same time period, the early PC world has not lain dormant.  Starting by the year of announcement, I will identify each project I have found particularly worthwhile or noteworthy and explain why they deserve to be here.  I hope this blog entry will serve as a Thank You for all the programmers who put their effort into making new software for the oldest PCs.

2004 - 8088 Corruption

In 2004, Trixter, the creator of The Oldskool PC website and the co-founder of MobyGames, discovered a way to play full motion video on an IBM PC with a CGA card.  He did not have much to work with, an 8088 CPU running at 4.77MHz, 640KB of RAM, and a CGA card that could display 16 colors maximum, and all those colors on the screen only in text mode.  Moreover, in 80-column text mode, many CGA cards would show "snow", random mosquito noise, when refreshed too quickly.

Trixter looked to the 40 column (by 25 rows) mode for his implementation of full motion video.  That mode supports 16 colors, 256 distinct but unchangeable character glyphs, and 8x8 character cell sizes.  Most importantly, each 8x8 character cell can choose from any two of the 16 colors for foreground and background colors.  A single screenshot using text characters this large would often not show recognizeable objects, but at 30 frames per second, video can be much more watcheable.  The 40 column mode has the benefit of only requiring 2,000 bytes to fill the screen compared to 4,000 bytes for an 80-column mode screen or 16,000 bytes for any of the CGA graphics modes.

Of course, the illusion of video is often helped by the use of audio.  Use of the PC Speaker was out because too much time would be spent decompressing and displaying the graphics.  So Trixter targeted the only devices that would work in a PC's 8-bit slot, could output digital audio and were sufficiently common, the Sound Blaster.  8088 Corruption required a Sound Blaster that supported the auto-init DMA commands so the card could keep its digital audio buffer fed with minimal CPU involvement.  The final piece of the puzzle is having a hard drive, preferably a fast one, to hold the video file to be played.

Trixter originally presented 8088 Corruption in 2004 but continually improved the video playback software.  However, just about every year thereafter it saw attention at demoparties and news outlets.  Eventually an encoder was released that converted .AVI files into the TMV format files the 8088 Corruption (called 8088flex) player needs to load.  It can support 60fps video and at least 22kHz 8-bit audio.  The most recent versions no longer require a sound card and have much better buffering than older versions.  Here is Trixter's original 2006 video showing off 8088 Corruption and proving that it was real :



You can obtain 8088 Corruption from here : http://www.oldskool.org/pc/8088_Corruption

2008 - Monotone

The concept of a tracker was not a new one in 2008.  Music tracker programs had first appeared on the Commodore Amiga in 1987 with Ultimate Soundtracker, which have a graphical interface to music programmers so they could assign PCM samples to their music in a programming-friendly format.  The Gravis Ultrasound card was a popular target of early DOS-based tracker programs.  Eventually tracker programs were released for the Adlib OPL2 and OPL3 chips as well as other popular platforms that used chiptune music like the NES, the Sega Genesis and the Game Boy.

Trixter noted that there was no tracker program that worked with the PC Speaker, so he sought to change that.  The PC Speaker is musically a very limited device, essentially a 1 channel square wave with no volume control but a 16-bit frequency divider.  While it could produce digitized and multiple voices by toggling the speaker cone on and off faster than it was designed, there were several disadvantages to this.  First, the resulting volume is often very low.  Second, these techniques require a large amount of CPU time, leaving little time for much else on 8088 and 80286 machines.  Third, the audio can sound very "buzzy" and have a high noise floor, leaving the listener with an uncomfortable experience.  Was there any other way to allow the PC Speaker to sing in more than beeps and boops?

Enter Monotone, a solution for a problem few had.  Monotone is the first and only tracker designed to support the PC Speaker.  Monotone supports 1-4 "voices" for the PC Speaker.  It supports multiple voices by giving a programmer a precise time base to change his sound.  The PC Speaker still plugs away, but the rapid transitioning of the music, facilitated by the program can give the illusion that the PC Speaker is a multi-channel device.  Monotone also supports the Adlib and the Tandy 3-voice sound chip, but both chips have other trackers available to them.  You can compare the PC Speaker version of a song in the first video with its Adlib version in the second video :





You can obtain Monotone from here : http://www.oldskool.org/pc/MONOTONE

2008 - mTCP

You like the Internets, right?  I do too, but those people still stuck with DOS can have a hard time getting online and enjoying it.  Enter mTCP, a suite of utilities developed by VCF forum member mbrutman in 2008. At first he released the utilities separately, starting with IRCjr.  IRCjr. is a very slimmed down IRC client that can be run on any PC and intended for the IBM PCjr.  Since mbrutman is a IBM PCjr. fan and runs the only IBM PCjr. fansite on the web, it would be natural for him to ensure that the client is sufficiently light-weight to work on a PCjr. or a PC.  He also released other programs like a DOS Telnet program and soon began to bundle a whole package of 8088-friendly Internet utilities called mTCP.

mTCP has been continuously updated since 2008.  Using the utilities in the package make it very easy to get online with an Ethernet card and a packet driver.  For the earlier systems, a Xircom PE3 parallel port Ethernet adapter can work with anything with a standard parallel port (except for the Tandy parallel port).  8-bit Ethernet cards usually work just fine with a transceiver, and 16-bit cards often have RJ-45 jacks so you can directly plug them into a router.  Some of these cards are hybrid cards that can work in an 8-bit or 16-bit slot.  Wireless Ethernet adapters can be made to work with older systems.  If you can find a DOS packet driver for the card, and most major brands and chipsets have one, you are all set to play with mTCP.

mTCP provides a host of utilities.  The first one that most people run is DHCP, which obtains all the configuration information you need to get online.  You can use IRCjr for connecting to IRC chat rooms so long as you have the relevant information to connect.  Similarly, if you need to connect to a BBS, you can use the TELNET application.  If your system lacks a real time clock, you can obtain the correct date and time using the SNTP tool.  You can also PING the router to check connectivity.  You can turn your vintage computer into a basic webpage hosting machine with HTTPSERV

My favorite programs are FTP and FTPSRV.  FTP is an FTP client, and you can use it to obtain files from an FTP Server.  This of course includes your own FTP server, making for easy file and directory transfers to and from your old computer to your new computer across the network.  However, being a lazy guy, I prefer to use FTPSRV on my vintage computer.  This allows me to obtain full access to my old computer from my new computer.  I can use the FTP client on the new computer to move, copy, delete files on the old computer's storage devices, and I can send files to them or take files from them.  It sure beats sneakernet.

The genius of the mTCP program suite is how easy it is to use.  Even though it does not come with a web browser or an email client, it can allow you to get on the Internet easily so you can use those programs without any further configuration headaches.  mTCP works on all speeds and stripes of DOS computers, but no program requires more than 256KB to run.  You can download the mTCP suite from here : http://www.brutman.com/mTCP/mTCP.html

2011 - Paku Paku


A new game that can run on the IBM PC?  Who would want to write a new game for that ancient thing?  Enter VCF forum member deathshadow, a man determined.  He was determined to write a Pac-Man clone that played fast with an IBM PC without the 4-color limitations of the official Pac-Man from Atarisoft or PC-Man and other unofficial clones.


Deathshadow decided to use the CGA 160x100 "graphics" mode.  This gave him freedom to use the whole 16-color palette on any display at the expense of resolution.  He decided to keep the aspect ratio of the maze to be true to the original arcade game and to have the maze use the proper orientation.  He used red, cyan, magenta and brown for the ghosts, yellow for Pac-Man and appropriate blues for the mazes and colors for the fruit.  He included all eight types of fruit, both warps and the exact number of dots found on the original arcade.  It saves the high scores and can fit onto a floppy disk.  He did not include the intermissions that the original game had, and I doubt there is a split screen level 256.


Deathshadow cast a wider range of hardware support, his game can support CGA, PCjr., Tandy, EGA, MCGA and VGA graphics adapters.  He quickly added joystick and high score saving support.  He added support for the PC Speaker, Tandy 3-voice sound, Adlib and even CMS/Game Blaster for music and sound effects.  Later he added MT-32 and General MIDI support.  It runs at full speed on an IBM PC with 128KB, even with the joystick reading, although you will have to put up with a bit of snow with many CGA cards.  The game even runs on an unexpanded 128KB PCjr.  Now there is a feat!  He later ported the game to the Commodore 64, which utilizes a 160x200 resolution, smoother graphics and 3-voice music.


You can obtain Paku Paku from here : http://www.deathshadow.com/pakuPaku

2012 - Tandy 85-Color Picture Viewer

Tandy's can only display 16 colors on a screen at once, right?  A VCF forum member called chjmartin2 challenged that idea.  While it technically can only display 16 colors in a 320x200 mode, or in a 640x200 mode for the Tandy TL, SL and later machines, color blending has often been used to try to give the appearance of more color.

Most RGB monitors, even the crappy Tandy CM-5, make most dithering techniques look very obvious.  What chjmartin2 did differently was instead of trying to put two colors next to each other to try to simulate a third color, he displayed two colors in a rapid cycle and relied on the viewer's persistence of vision to make a third color.  By displaying two images 30 times per second, he could obtain a result that, while looking somewhat flickery, could give the impression of greater than 16 colors.  He made a tool that can take 24-bit BMPs and split them into two images which his program would then display 30 times per second, each following the other.

So finally we have a first for the Tandy, the ability to display lifelike images with sufficient color.  Because each combination of two colors does not give a unique third color, 85 colors can be obtained.  His program relied on the GW-BASIC included with Tandy DOS, demonstrating that you do not need to master Turbo Pascal or Microsoft Assembler to produce something cool with an old machine!  He released his program in 2013 and also included a converter that runs in Windows and will convert any 320x200 24-bit BMP image into a pair of files his program can display on a Tandy 1000.  It works on my Tandy 1000 SX and he wrote the program on a Tandy 1000 TL, so it should work with any Tandy 1000 with a built-in Tandy Graphics Adapter.  I do not believe it would run in a PCjr. without modification because of the reliance on Tandy GW-BASIC.

Here is a video demonstrating the picture viewer :



You can download the program from post #49 of this VCF post : http://www.vintage-computer.com/vcforum/showthread.php?35007-Tandy-1000-TL-85-Color-Demo

2013 - INTROjr

This year brought us the first demos for the IBM PCjr. from Hornet.  Hornet is the demo "group" of Trixter and Phoenix.  They not only ran it on a PCjr., premiering it at @party 2013, but also coded the demo on the machine.  Given the chicklet and rubber dome keyboard that the PCjr. uses, that must have been fun.  Trixter wanted a "world first" and in these programs he obtained it.

He targeted the PCjr. because he found a video mode unique to it.  Even the Tandy 1000s do not replicate IBM's hardware sufficiently to make this video mode work.  By accident, he had programmed the PCjr.'s gate array to display each line in 160x200x16 mode twice, giving him something unexpected.  His video mode this uses an effective 160x100x16 resolution, but is not set up the same way as it would be on a CGA card.  Instead of ASCII values and attribute bytes, he has a 160x100 graphics mode where each pixel determines the color of two bytes.  Moreover, there is no interlaced memory organization as there is with other CGA and PCjr. graphics modes.  He and Phoenix made a little demo called INTROjr with several demo-effects like plasma and scrolling text and 3-voice music, and it was widely acclaimed.  Here you can see it for yourself without the extra scanlines :



Later he made a "silly joke game" called SHAKEjr using the 160x100x16 PCjr. graphics mode.  The game requires you to jerk your joystick back and forth as many times as you can within a certain time frame.  Then it tells you how many "microfractures" you made to your joystick.  Video shows people doing the "Harlem Shake" during the "game".  Here is a very tongue-in-cheek video "advertising" SHAKEjr :



While the demo will work in a Tandy 1000, it will show a row of black lines after each row of graphic lines.  This is because the Tandy cannot double the scanlines as a PCjr would.  Nor does DOSBox properly emulate this functionality of the PCjr.  Late in 2015, VOGONS forum member NewRisingSun discovered how any Tandy, except for the original 1000/A/HD, could double the scanlines via another method and released a fixed version of INTROjr that displays properly on the Tandys.

You can obtain INTROjr from here : http://www.pouet.net/prod.php?which=61547

You can obtain SHAKEjr from here : http://www.pouet.net/prod.php?which=61535

2014 - 8088 Domination

Trixter believed that 8088 Corruption was the limit of the IBM PC and CGA's graphics capabilities.  But then he discovered the potential of CGA's high resolution composite color mode.  But the old problems surfaced.  How do you run video at 24fps when you have to output 8x the graphics data on a system so slow as the 8088-based IBM PC?  Moreover, when hard disk interfaces of the time only pushed 90KB/sec, how can you get so much data to the graphics card?

Trixter discovered he could do it if refined his techniques.  When he had finished dancing naked in the streets, he wrote a new video player that made 8088 Corruption obsolete.  Instead of always transferring 2KB per frame as he did with 8088 Corruption, he would only transfer as much pixel data as his demo needed, up to 2KB.  He would only update those portions of the frame that needed updating.  His encoder would do all the hard work on a modern system and leave the video file simply to tell the 8088 which pixels to update and when.  Moreover, instead of just pointing to data and telling the 8088 to fill the graphics memory, he converted that data into code, allowing much faster execution.

He premiered his 8088 Domination decoder @party 2014, an event I was privileged to witness and assist.  The first part of the video uses essentially the same video samples he used for 8088 Corruption back in 2004.  However, by using high resolution color composite mode, the graphics were much clearer.  You could now see something resembling a human face during the Tron sequence.  The second part used the Bad Apple animation to show the detail that can be obtained in black and white.  Here is a video capture of the demo :



Trixter also released a player that allows people to play back video files as his demo did.  He documented the video/animation system as XDC, (X86 Delta Compiler) People can make their own videos, although the process is not as easy as running a video file through a converter.  The XDC format supports graphics in 160x200 resolution (Tandy/PCjr only) or 160x100 resolution at 16 colors or 640x200 resolution in two colors (you can specify B&W or color in the encoder).  The video must be broken down into individual frames in the bmp format which are accompanied by a 8-bit PCM wav file up to 44.1kHz.  Then you use a script file to run it through an encoder in DOS, which makes the XDV file which you can play.

If you want to see just how huge the difference is between 8088 Corruption and 8088 Domination, which Trixter's comparison video here :



Trixter set up a website for 8088 Domination, you can find the player and encoder there : https://x86dc.wordpress.com/

The original demo is hosted here : http://www.pouet.net/prod.php?which=63591

2015 - 8088MPH

2015 began slightly inauspiciously for oldskool PC demos.  GP-01 was a demo that relied on CGA.  Unfortunately the demo did not work on real hardware, it was coded in DOSBox and ran only on DOSBox, making it a DOSBox specific demo.  As CGA may be improved to more closely emulate real hardware, eventually this demo may fail to run on DOSBox.  A VOGONS/VCF forum user named Scali eventually fixed the demo to run on a real IBM PC with CGA.

Much more impressive was the demo 8088MPH, which premiered at Revision 2015 and won first place there in its demo category.  Hornet (Trixter and Phoenix) was only part of this demo this time, the project was comparatively huge.  Also joining in were VOGONS/VCF forum members known as reengine from the group CRTC, VileR(ancour) and the previously mentioned Scali affiliated with the group DESiRE.  Here is the video of the demo as shown at Revision :



The demo version of 8088MPH was extremely picky about the hardware it would run on.  If you did not have an IBM PC, XT, Portable or true clone, you could forget about running all parts of the demo correctly.  Moreover, the demo was designed for an "old-style" IBM CGA card's composite colors.  "New-style" IBM CGA's colors were a bit off.  Finally, the CRT controller on the CGA card had to be a Motorola 6845 and many CGA cards came with a Hitachi 6845.  The demo took advantage of a text-mode feature found on Motorola chip that was not duplicated on the Hitachi chip.

Fortunately, the demo was cleaned up a bit and the developers released a final version.  Now there was official support for new IBM CGA cards and the Hitachi 6845 chip.  Additionally, the program offered a calibration screen so you can tweak the colors to get something close to the intended result.  By some clever pixel positioning, the program could now even tell you whether you had an old or a new CGA card.  Here is the final version of the demo on a new IBM CGA card :



There were several firsts for this demo.  The most visibly spectacular was the demo's ability to display 1,024 colors using 80-column text mode and color composite graphics.  Using color composite graphics with a text mode is usually undesirable, the monitor does not have sufficient bandwidth to keep up with all those color changes, usually making for a blurry mess of text. However, by using certain carefully selected ASCII values, like the U, the !! and the ▓, cutting down the cell size to 8x2 and using different foreground and background color combinations, a vastly greater color palette is possible.

Another first for the demo was implementing a MOD player for the PC Speaker.  While the main two music pieces use songs adapted for Monotone, the final music played during the credits would have taken too much time away from the visual effect earlier in the demo.  The Amiga MOD format supports 4-channel playback.  Playing MODs using the PC Speaker is nothing new, but playing them at an acceptable sample rate with a 4.77MHz 8088 is a lot more difficult.  With some amazing 8088 trickery, they were able to obtain an effective 16.6KHz sample rate from the PC speaker through Pulse Width Modulation..

Because of all these code optimizations and cycle timing, the number of machines on which this demo is guaranteed to run correctly still amount to three, the IBM PC, the IBM PC/XT and the IBM PC Portable (which is really just an XT in a "portable" case).   Even the Tandy 1000SX running at 4.77MHz runs a bit too fast for the Kefrens bars, that portion of the demo will lose sync.  DOSBox will not run that and several other portions of the demo, you may be able to skip them if it does not crash the emulator.  A recent fork of PCem called PCem-X can almost complete the demo, but the Kefrens Bars does not look right and the demo crashes as it tries to play the MOD at the end.

You can find both the demo and the final version of 8088MPH here : http://www.pouet.net/prod.php?which=65371

2015 - MagiDuck


Although not finished, another program of note is a game called MagiDuck.  This game, like Paku Paku, is designed to run on an IBM PC with CGA and 256KB.  The author, VCF forum member mangis, is learning as he goes.  Judging by the beta released in December of 2015, he has learned his craft very well.


MagiDuck is a sidescroller with a vertical orientation with a simple control scheme of three directionals and two buttons, one for shooting fireballs and one for jumping.  Your character, the duck, can jump and float downwards and move left and right and look down.  She can jump on some enemies and collect keys and treasures to score points.  She has four hearts which function as a health meter.  There are passages that open touching switches and levels that only open by finding secret stars.  There are eight kinds of enemies and six different types of special blocks.  There are three save slots and the game tracks your completion level.  The game feels reminiscent of Kirby's Adventure for the NES in this regard.


This game has the feel of a shareware game from the early 90s.  There are only PC Speaker sound effects, no sound card support has been implemented.  Neither Commander Keen 1-3 nor Duke Nukem/Nukum had sound card support either and both are very fun to play.  So is this game, which has 10 levels, 3 secret levels and a boss level.  You can complete any of the levels in any order and the game saves high scores to disk.  The large characters make up much of the challenge because you do not necessarily know what may be in front of you or above you, so you have to be careful.


What makes this game particularly well-suited for the IBM PC is the graphics.  MagiDuck can show all 16 colors on the screen at a time.  It does this by tweaking the CGA 40 column by 25 row mode to show 50 rows and then uses the half-filled character to give two distinct "pixels".  The foreground and background attributes allow each half of the "pixel" to show a different color.  The effective resolution is only 80x50 pixels, half the semi-official CGA 160x100 mode.  What MagiDuck loses in terms of resolution, it gains in that there is no CGA snow to deal with and maintains a smooth framerate.  The game does detect EGA and VGA cards, so it should work in any PC compatible that can run DOS (with the possible exception of the PCjr.) and supports at least a floppy disk.  Hopefully the final version 1.0 will work with a joystick, because these games lend themselves well to Gravis Gamepads.

You can download the latest beta and the prior alpha's of MagiDuck here : http://www.indiedb.com/games/magiduck

Saturday, October 10, 2015

The Journey of the "PCjr./Tandy Sound Chip"

The TI SN 76496, what we today typically refer to as the PCjr./Tandy sound chip, is a long and varied one as it pertains to the IBM PC platform.  Texas Instruments originally developed this simple music chip for use in its TI/99 4 computer, where it was called the TI TMS9919.  Texas Instruments offered the core of this chip as the TI SN79426 and later the TI SN76489 as an off-the-shelf part.  The TI SN76489 found its way into the Colecovision and the Coleco Adam computer as well as many arcade machines.  Additionally, a clone of the chip is integrated into the Sega Master System and Sega Genesis and the Sega Game Gear.

The TI SN76489 can generate three square waves at different frequencies.  The input clock is typically 3,579,545MHz.  For the square wave channels, the input clock is divided by 32 by the chip and then by a 10-bit number in a register to obtain the output frequency for the square wave.  The human ear can perceive sound waves in the range of 20KHz to 20Hz, but the lowest square wave tone the chip can produce at this input clock is about 109.24Hz.

The chip can also generate periodic or white noise for sound effects and percussion.  The channel divides the clock rate by 64, 128 or 256 or uses the rate of square wave generator 3 which drives a linear feedback 15-bit shift register (1 bit is shifted every clock cycle) to produce a pseudo-random pattern of 1s and 0s at a high rate of frequency.  The periodic noise option is output only once every 15 clock cycles compared to the white noise option.

The chip has eight registers, two for each square wave channel and two for the noise channel.  Any write to the chip will select a register and send data to the chip.  However, the frequency for each square wave channel is controlled by two registers, and if the register is not changed, the lower six bits of the frequency for a square wave channel can be updated quickly for frequency sweeps.

The chip uses a 4-bit number to attentuate the amplitude/volume of the each channel and then mixes all four channels into the single output pin on the chip.

Usage in the IBM PCjr.

The IBM PCjr. uses a discrete TI SN76496 (or TI SN76496A) at ZM26.  The TI SN76496 is the same chip as the TI SN76489A except that it has an audio in pin on pin 9 to allow for an external audio source, like a speech synthesis chip, to be mixed into the chip for a combined output.  The TI SN79494 has the audio input pin but only divides the input clock by 4 instead of 32, so it is not a drop in replacement.

IBM did not connect the audio in on pin 9 to anything in the PCjr.  Instead, all sources of audio, the PC Speaker, the TI SN76496 and the audio output pins from the cassette connector and from the sidecar bus (used for the IBM PCjr. Speech Attachment) all go to a audio multiplexer chip called the MC14529.  This chip will determine which of these four sources will be heard at the RCA audio jack, through the TV RF Modulator and through the IBM 4893 PCjr. Display.  Note that the internal speaker in the PCjr. only outputs PC Speaker audio.

IBM assigned I/O ports C0-C7 to the chip in the PCjr., even though it only needs one port.  The chip is write-only and cannot be reliably detected, the system it is part of is what gets detected.

Usage in the Tandy 1000A/HD

The Tandy 1000A/HD use a discrete TI SN76496 at U96.  The first difference in the implementation from the PCjr. is that the audio input pin is used to mix in PC Speaker sound.  This allows both the PC Speaker and SN76496 sound to be heard from the audio multiplexer chip.  The second difference is that you can hear the SN76496 through the Tandy's internal speaker as well as through its RCA audio output.  In fact, the audio selector chip is only connected to the RCA audio jack, so you will always hear the PC Speaker and SN76496 from the internal speaker, which is pretty large and loud.

Unfortunately, the default setting for the multiplexer chip will output only PC Speaker audio to the RCA jack.  Some games, like LucasArts' SCUMM games, will not touch the multiplexer chip, leaving you with only the internal speaker for music and sound effects.  You can avoid this by running a Sierra AGI game or finding a program that will let you set the multiplexer accordingly.

Usage in the Tandy 1000EX, SX, HX, TX

The Tandy 1000EX and 1000SX are similar to the earlier 1000s except now they are using NCR8496 clones of the TI SN76496 as well as the real TI SN76496s.  It is a crapshoot as to which chip you will find in any given EX or SX.  You can find the chip at U15 in the EX and U37A in the SX.

While the two chips work almost identically, there are two differences.  First, the NCR chip requires a 2K resistor instead of a 2.7K resistor for mixing in the PC Speaker audio into pin 9.  Second, the TI chip and the NCR chip behave slightly, but at times audibly differently when it comes to the noise channel.  In the TI chip, any change to the noise control register will reset the shift register.  In the NCR chip, this does not appear to happen.  (This difference in behavior also appears to be true for the registers governing the square wave channels)  The bits used for the feedback register are not the same for the TI and NCR chips.

The SX has a complex connection to the audio multiplexer chip and will require a write to hear the TI/NCR audio from the RCA jack.  This machine has the same problem with the LucasArts' SCUMM games described above. See here for more details : http://nerdlypleasures.blogspot.com/2013/06/ibm-pcjr-and-tandy-1000-sound.html

The EX has a simplified connections to the audio multiplexer chip so that by default PC Speaker and TI audio will always be heard without needing to write to the audio multiplexer chip.  The HX and TX give identical output options to the EX, except its highly likely that in these machines Tandy was exclusively using the NCR chips.  In the HX, U19 contains the chip.  In the TX, it's at U7.

While real TI SN 76496 chips can still be sourced from chip vendors, the NCR 8496 chips seem impossible to find, except in these Tandys.

Usage in the Tandy 1000 SL, SL/2, TL, TL/2, TL/3, RL, RL-HD

These machines embed the NCR version of the TI chip into a custom Tandy chip called the PSSJ (Parallel, Serial, Sound & Joystick).  The PSSJ has acquired a DMA-fed, IRQ-driven DAC/ADC, which uses ports C4-C7.  The DMA used is 1 and the IRQ used is 7, making it impossible to coexist with a Sound Blaster.

The audio multiplexer chip no longer exists in these machines.

The PSSJ chip has an option to allow an extra divisor bit (for an 11-bit divider) to be enabled for the TI/NCR chip, but it is unknown if this feature was ever used.

For some reason, the first note of Greensleeves in the opening of King's Quest I & II is not heard in these systems.

Usage in the Tandy 1000RLX & RLX-HD

The PSSJ chip in these machines is accessed identically to the other Tandy machines, but because these machines have VGA built-in instead of Tandy video, certain games will refuse to play audio through the chip.  Electronic Arts games like Skate or Die and Kings of the Beach will not work with Tandy audio in these machines.  AGI games with interpreter versions below 2.917 will show graphical glitches in the form of "trails" on these machines, but will still produce Tandy sound.

Usage in the Tandy 1000RSX & RSX-HD, 2500 and Sensation!

In addition to the VGA issue of the RLX, these systems are fully AT compatible.  This required them to relocate the PSSJ audio to I/O 1E0-1E7.  IBM decided when it made the IBM PC AT to put the second DMA controller at C0-DF.  It did not appreciate or care that its PCjr. had its TI chip there as well.  The IBM AT was a success and the PCjr. was not, so other companies followed IBM's lead.  Hence Tandy had to relocate the chip.

The result of the relocation broke Tandy music compatibility with most games because they were expecting the chip to be at C0-C7.  The TI chip was always programmed through direct register writes, neither IBM nor Tandy wrote BIOS routines to program the chip.  A few later games, mostly from Sierra, have drivers that support these machines.

The chip's presence is not advertised on the Sensation!, which contains an Adlib Gold clone.  It is there, but it sounds very muffled compared to the earlier computers.

Usage in the IBM PS/1 Model 2011 and 2121

IBM released the PS/1 Audio/Joystick Card as an upgrade for one of the proprietary sockets on the motherboards of these machines.  The PS/1 line was introduced in 1990 with the Model 2011, which uses a 10MHz 286 CPU.  The basic functionality of the TI chip is integrated into the Card, even though its musical capabilities were very unimpressive to everybody by this time.  Adding ISA slots to these machines requires an external expansion box.  It uses I/O address 205.  It can use interrupts, namely IRQ7, but does not use DMA.  Later the Model 2121 was released with support for the Card, it uses a 386SX @ 16MHz.  None of the later PS/1s support the Card.

Interestingly, while the system board supplies a 10MHz Clock signal to the Card, the integrated TI chip is based off an 8MHz signal, which means the clock rate is stepped down somewhere on the Card.  The 8MHz signal is divided by 64 and then by the 10-bit number.  Therefore, if you put the maximum value of 1,024 into the square wave generator, you will end up with a square wave being output at 122.07Hz.

The PS/1 Audio Card has a problem then if fed with pure Tandy music data, it is running the same notes at 11.74% higher frequencies!  Unfortunately, the Tandy is no master of the lower octaves, and IBM's version is even less capable of reaching the lower notes.  The Game Blaster can get all the way down to 28Hz and has three times the channels.

Now this frequency difference can be accounted for the most part if the programmers write a driver that adjusts the speed of the music playback.  However, this was not always done, as can be seen when running the special PS/1 version of Silpheed running on a real IBM PS/1.

Now for some audio comparisons :

Audio Comparison #1 - TI vs. NCR Noise Channel

IBM PCjr Maniac Mansion (low resolution version) :



Tandy 1000TL Maniac Mansion  (low resolution version) :



Audio Comparison #2 - PCjr. Discrete Chip vs. Tandy Integrated Chip

IBM PCjr. King's Quest :



Tandy 1000TL King's Quest :



Audio Comparison #3 - Tandy vs. IBM PS/1

Tandy 1000 Prince of Persia (via DOSBox SVN)



IBM PS/1 Prince of Persia (via IBMulator 0.7)



Advantages of the 160x200 16-color Tandy/PCjr. Resolution

160x200 in 16 colors is a resolution officially only supported on the Tandy 1000s and the IBM PCjr.  Despite having the memory (16K) available, CGA can only do 160x200 in 4 pre-defined colors (by doubling pixels in the 320x200 mode) or 160x100 in 16 colors (by tweaking the 80-column text mode)  EGA can also support 160x200 unofficially either by doubling pixels or adjusting the parameters in its CRT controller, but this was seldom supported on EGA-supporting titles.

One of the most substantial benefits to the 160x200 16-color mode is that it uses half the video memory of the 320x200 16-color mode (16KB vs. 32KB).  The CPU needs only send half as much data to the video memory, improving performance on any machine.

One drawback with the 160x200 16-color mode is that you can only uses 20-columns of text at the standard 8x8 pixel IBM character set.  In this case, developers typically chose two options.  First, they could use their own character set which would fit into a smaller pixel matrix.  Maniac Mansion is an example of this option, it uses 4x8 characters for the Tandy mode and the standard 8x8 characters for CGA, MCGA, EGA or VGA modes.  Second, they could use the 320x200 16-color mode, which is what King's Quest and its sequels use.  In King's Quest, the pixels for the graphics display are doubled, improving performance to a good extent but not as much as if the true 160x200 mode was used.


Another benefit, which is under-appreciated these days, is that games using this mode look very good on a composite monitor.  The IBM PCjr. and the early Tandy 1000s (1000/A/HD/EX/HX/SX/TX) have a composite video output jack.  In a 320x200 mode, these computers show artifact colors that are markedly different from an IBM CGA card.



But in a 160x200 16-color mode, their composite colors correspond to their RGB colors quite well.  This is because in this mode, the pixel clock is the same as the NTSC color burst frequency, 3.58MHz.  Because the pixel clock is aligned with the color clock, the TV's color decoding circuitry can keep pace with the color changes being sent to it.  Even in a psuedo-160x200 game like King's Quest, the doubling of the pixels makes the graphics look as they should, color-wise.

By contrast, the pixel clock in a 320 pixel mode is 7.16MHz and 14.318MHz in a 640 pixel mode.  In those resolutions, the color decoding circuitry cannot keep up, leading to artifact colors.  The timing of the PCjr. and Tandy video controller chips is "off" compared to the IBM PC CGA, leading to different artifact colors. The 320x200 16 color mode does not look good on a composite monitor, the artifacting becomes ugly at this point, especially when it comes to dithering.


The final benefit to the 160x200 mode is that the end result looks acceptable on a video capture device. Capturing 320x200 or 640x200 graphics from a CGA card, PCjr., Tandy or EGA card that gives a good representation of RGB color is much, much more difficult.  First, you need a board that will convert the digital RGB signal to an analog RGB signal and preferably keeps color 6 brown, not dark yellow.  (From the composite video output, color 6 will look closer to dark yellow than to brown.)  Second, you will need a hardware device that can capture 15kHz RGB.  They do exist, but most people would probably use a scan-line doubler and send it to a VGA capture device.



You may think that only a handful of games used a 160x200 mode, but you would be surprised.  Here is a list of forty nine games that primarily use a 160x200 16-color mode for their graphics when run on a PCjr. or a Tandy 1000 :

Black Cauldron, The
Boulder Dash
Boulder Dash II: Rockford's Revenge
Bruce Lee
California Games
Demon Attack
Donald Duck's Playground
F-15 Strike Eagle
Ghostbusters
Gold Rush!
Indianapolis 500
Jumpman
King's Quest I: Quest for the Crown
King's Quest II: Romancing the Throne
King's Quest III: To Heir is Human
King's Quest IV: The Perils of Rosella
Leisure Suit Larry in the Land of the Lounge Lizards
Lost Tomb
Manhunter 2: San Francisco
Manhunter: New York
Maniac Mansion
Mickey's Space Adventure
Microsoft Flight Simulator (v2.0)
Microsurgeon
Mixed-Up Mother Goose
Mouser
Murder on the Zinderneuf
Ninja
Dr. J and Larry Bird go One-on-One
Pitfall II: Lost Caverns
Pitstop II
Police Quest: In Pursuit of the Death Angel
Rasterscan
River Raid
ScubaVenture
Sea Speller
Silent Service
Slugger, The
Space Quest I: The Sarien Encounter
Space Quest II: Vohaul's Revenge
Starflight
Storm
Super Bowl Sunday
The World's Greatest Baseball Game
Touchdown Football
Troll's Tale
Winnie the Pooh in the Hundred Acre Wood
Wizard and the Princess, The
Zak McKracken and the Alien Mindbenders

Tuesday, March 3, 2015

PC Keyboards I Have Known

IBM PC (Model 5150) Keyboard

While not the first keyboard I have ever used, the original 83-key IBM PC Model F keyboard is easily the most sturdy and well-constructed keyboard I have ever used.  Unlike the Model M, the 83-key uses a printed circuit board on which the keyboard traces are printed.  This circuit board is sandwiched between two pieces of steel.  The keyboard controller and circuitry is located at the top of the circuit board.

The 83-key keyboard can be completely separated and put back together though the use of steel tabs.  It is not something I advise, because once the back metal plate is removed, the key plates will go out of their places.  It is very tedious putting 83 of them back in their places, and the spacebar plate is especially tough to put back in place.  The top steel plate can show corrosion from any water or ill-usage.

The keys are easy to remove.  You can pop them out with a small, flat stiff object.  Once exposed, you will see the springs.  These should be treated with care, because if they get bent out of shape, the key will no longer work correctly.  The springs of a Model F may not be replaceable by those from a Model M.

The springs in the keys are stiffer than Model M springs and require more force to register a keystroke.  The spacebar is huge and also requires a lot more force to register its press.  The keyboard is extremely heavy but does have angle adjusting feet.  The feet require a good deal of strength to move their position.  It also has four cork pads to lie on and the keyboard can be disassembled with a slotted screwdriver.  The cork pads can fall off over time.

The PC Model F keyboard is not compatible with modern PCs, even with a 5-pin DIN to a 6-pin mini-DIN adapter. It is compatible with the IBM PC/XT, Tandy 1000 TL, SL and (with adapter) RL.  The IBM PC Portable uses the same keyboard but a different type of cable.

When you see the layout of the 83-key Model F, you can understand certain early conventions.  *.* makes perfect sense when you see the . and an * key where only two keys separate them.  Users of the IBM PC AT 84-key Model F keyboard lost out, because their . and * keys are not in a straight line horizontally or vertically from each other.  IBM rectified this in the Model M keyboard, the * key is three keys above the . key on the numberpad.  Ctrl Alt Del also made a great deal of sense when the keys were in an L shape.  Finally, when certain games use F1 as a fire key, it makes sense when the function keys are on one side of the keyboard and the directional keys are on the other side.

Even so, this keyboard is very difficult to get used to after using the standard 101/104 Windows key layout.  Ctrl is not in the place where you would expect, the shift keys are way too small and the vertical enter bar is difficult to hit.  The inverted T for the arrow keys is solely missed.

IBM Model M Keyboard

I have three Model M keyboards, one 1390120, one 1390131 and one 1391401.  These are the Model Ms intended for the IBM PC/XT, IBM PC AT and IBM PS/2 series, respectively.  The first two have the silver IBM badge in the upper right hand corner, the last has a oval gray IBM badge in the upper left corner.

The Model M uses two sheets of plastic for a keyboard matrix and they are sandwiched in between a plastic front and a steel rear.  This base is held together by plastic rivets that were melted and flattened during assembly.  They have a tendency to break off after rough usage, but there are so many that it will take many hard drops before enough break off so that the structural integrity of the keyboard is compromised.  Some people have removed them and drilled screw holes in their place.  The PCB containing the keyboard controller is connected to the plastic sheets and LEDs by plastic ribbons that are easily detachable.  The keyboard also has a metal cable that screws into the back plate (presumably to prevent ground loops) and can also be detached with a flathead screwdriver.

These Model Ms use four non-slotted hex screws.  These can be removed via a long-barrel 7/32" bit.  The keyboard cable on all three is detachable and uses a type of connector called an SDL connector.  It looks like an RJ-45 plug but is wider and has plastic clips on the side that lock it in place.  Even without the plastic clips, the friction between the plug and connector is sufficient for ordinary connections.

My 1390120 was made in 1989, after the IBM PC line was discontinued.  My 1390131 is from 1986 and my 1391401 is from 1989, but made earlier than the 1390120.   It has no status LEDs, which is only occasionally irksome.  Unlike my other two Model Ms, its uses a light gray plastic for the top half of the keyboard assembly.  My other Model Ms use black, which makes the keyboard seem much dirtier if looking down into it.  It also loses the stabilizer bars for the numberpad Enter and + keys.  This is a welcome thing, since removing the stabilizer bars (for cleaning) can often break the small plastic tabs keeping them connected in the first place.  The keyboard also had a tendency to shift a little in its chassis, but a little electrical tape solved that problem.

The Model M has the innovation of using removable key caps over the key stems.  This allows the user to customize his keyboard to a much more advanced degree than the Model F keyboards.  If you want a DVORAK layout, you can make it with a minimum of fuss, assuming the operating system supports it. Removing a keycap is pretty easy.  Unfortunately, this is the reason why you often see keyboards for sale with missing keycaps.

Model Ms can be found for very reasonable prices, Model Fs command huge sums due to their relative rarity.  The Model M does not have quite the level of force required of the Model Fs, and the sound is made by the keyboards is slightly less objectionable to others.  

All three of my Model Ms are autoswitching XT/AT keyboards.  They can work in XTs or AT class PCs without any switches.  My Model Ms do not work in my IBM PC Model 5150, but it is hit and miss which Model M keyboards can do this.  Because they are PS/2 compatible keyboards, they will work in just about any PC, even ones released today, either natively or though a PS/2 to USB adapter.  They will also work in a Mac with a USB adapter.

The build-quality on true IBM Model Ms is fantastic.  IBM made Model Ms from 1986-1992 before they handed them over to Lexmark, which in turn sold the designs and the equipment to make buckling spring keyboards to Unicomp.  I highly recommend scoring an original IBM Model M.  

IBM PCjr. Keyboard 7257

My PCjr. has the second version of the PCjr. keyboard.  The 7257 uses molded keys instead of the chicklet-style keys of the original keyboard.  However, both use the same printed circuit board and the same 62 keys.    These keyboards are rubber dome keyboards, but use a capacitative based approach.  Underneath each rubber dome is a conductive carbon pad that will complete the circuit on the PCB underneath.  The PCB is really thin and the keyboard controller is attached to it.  

These keyboard connect via a wireless infrared transmitter or an optional keyboard cable,  The keyboard cable uses an RJ-11 jack on one end and a unique PCjr. connector on the other end.  Wireless operation requires 4xAA batteries and can last for a few months.  If you obtain one of these keyboards, you may be disappointed to find ancient, corroded batteries inside the battery compartment.  Possible damage to the keyboard may have been caused, but at the very least the corrosion needs to be cleaned out.  The battery contact leads will require special attention, preferably with alcohol, white vinegar and Deoxyit in that order.  Fortunately, the PCjr. keyboard is only held together with Phillips screws.  

The PCjr. keyboard is very light compared to other IBM keyboards and virtually silent because of the rubber domes.  The newer keyboard, with its keys practically touching each other and the key symbols printed directly on the face of the key is much more acceptable to people who value a traditionalist IBM keyboard.  The older keyboard had much more space over the keys and labeled the keys above the keys instead of on the keys to accommodate keyboard overlays.  

This is the only rubber dome keyboard I own, and not out of choice but it is the only keyboard that I have that will work with the PCjr.  Using a PC keyboard on a PCjr required a special adapter with circuitry to account for the low level differences between the keyboards. 

Because there are only 62 keys, the remaining keys required key combinations to activate.  The Fn key was included for this purpose, and this Fn key has been used in laptops starting with the IBM PC Convertible in 1986.  The function keys do not exist, thus the equivalent number key and the Fn key serves the same purpose.  Of course, when programs use combinations like Ctrl F5, this becomes more cumbersome.  Most of the numberpad keys were lost.  The arrow keys pulled double duty as cursor control keys.  Typing the \ key required the use of the Alt key, which DOS users probably did not appreciate.  

Using this keyboard, with its mushy keys, does not give a very good tactile experience.  Moreover, due to the slow processing of keys by the PCjr., you will often have to "race the keyboard buffer".  Fast typing or holding down keys can give you a warning beep from the system telling you that the buffer is full and your key press will not be processed.  Also, key presses are not processed during disk accesses and the keyboard is should be ignored during serial port transfers.  

Tandy 1000 Keyboard

I have two of these keyboards, one for my Tandy 1000SX and one for my Tandy 1000TX.  The 1000 keyboards are physically identical each other and to the MS-DOS compatible (but not really IBM PC compatible) Tandy 2000 computer.  Tandy saw that the 2000's keyboard was good enough for the PC compatible 1000s.  I do not know if the 1000 keyboard works in the 2000, but I know it only otherwise works in the 1000/A/HD/SX(AX)/TX.  The all-in-one Tandy EX and HX have keyboard that function and feel like the standalone 1000 keyboard and share the layout, except their status LEDs are not in the keys themselves. 

The 1000 keyboard, unlike the Model F PC/XT keyboard, has status LEDs for the Num Lock and Caps Lock keys.  It does not have a Scroll Lock key.  It is held together by Phillips screws and uses square cork feet that can fall off over time.  The keys are susceptible to plastic yellowing from UV rays.  IBM's keyboards never seemed to have this problem.  

The keyboard has 90 keys.  Its F11 and F12 and keys are unique and only generally supported in Tandy Deskmate software.  Its inverted-T cursor control keys are unique only via their low level scancodes, their translated scancodes make them appear like numberpad cursor keys.  Nonetheless, this could cause confusion, which is why some programs require you to put the Num Lock on when using a Tandy keyboard. 

The Function keys are arranged at the top of the keyboard instead of on the sides.  This makes many older PC programs more difficult to use because they were written with the function keys were on the side.  Also, there is no easy way to do *.* because there is no distinct * key, and the \ character requires that Num Lock be off (which it is by default).  Ctrl Alt Del is also awkward due to the position of these keys, but the standalone Tandy systems have a reset button.  

One extremely annoying key is the HOLD key.  The closest key on the Model M keyboard is the Pause/Break key, but on the Tandy keyboard, the HOLD key acts something like a universal pause key. Unfortunately, you may hit this key by accident and it appears like the computer has frozen or crashed.  You have to press it again to unfreeze your program.  The key is right next to the Enter key, making it easy to brush up against.

The Tandy 1000 keyboard was designed by Fujitsu.  The keys use 3rd Generation Fujitsu Leaf Switches and use a linear design.  There is a PCB for the keyboard matrix and a a black metal base for holding the key stems and sockets.  The key caps are high quality double shots, with beige over black.  You can remove them with a chip puller, but I am not sure how to remove the spacebar without damaging the two retention clips on the sides, which acts like a stabilizer bar.  None of the other keys have stabilizer bars.  

While the 1000 keyboard does not use rubber dome technology, the keys feel somewhat mushy to the touch.  There is no question, however, that the keyboard was much improved over the PCjr. keyboard.  However, the shift keys are still too small, the enter and backspace keys are also small and the layout is very cramped feeling.

Tandy Enhanced Keyboard

This Tandy keyboard was used for the Tandy 1000 TL and SL computers and the later computers in the line and its other PC compatible computers after 1987.  The Enhanced Keyboard uses the same layout as the Model M.  Like the Model M, it is an autoswitching XT/AT keyboard.  However, the Tandy Enhanced Keyboard did work in my IBM PC Model 5150, even more versatile.  They come with non-detachable cables with a 5-pin or a 6-pin connector.  Unlike the Model M, the status LEDs are underneath the keycaps of the Num Lock, Caps Lock and Scroll Lock keys.  

The keys on this keyboard feel much stiffer than a Model M keyboard.  The Shift keys and the long Enter and + keys feel like they have large dead areas which feel hard to the touch and will not register a keypress.  To be fair, my Model Ms' right shift key also has this issue to a lesser degree.  

This keyboard is a rebadged Fujitsu keyboard, and has removable keycaps like a Model M.  These keyboards use Type 2 Fujitsu Peerless switches.  The key caps pull off without too much difficulty and use dye sublimation like IBM's keyboards.

Also like a Model M, the key stems sit on top of a rubber dome membrane.  The key action is much simpler, there is a spring underneath the key stem that pushes the key back up once it has pushed the rubber dome down.  Not quite as complex as the switch over membrane technology of the Model M, which use the movement of a spring to shift a piece of plastic that makes the two membranes contact each other.  

Dell AT101W

I found this keyboard at a thrift store for $1.00 sitting on a shelf with half a dozen cheap rubber dome USB keyboards.  I was told there were no returns, but the keyboard looked in good enough shape that I felt the dollar was worth it.  The Dell AT101W is my only 104-key keyboard, and its Windows keys and Menu key are the same size as the Ctrl and Alt keys.  Unlike a 101 keyboard, all the keys on this row until the cursor keys, are convex instead of concave.  A Unicomp 104 keyboard has convex keys on this row, except for the space bar.  The Unicomp's space bar is smaller than the Dell's, consequently the other keys on this row are the same size as a Ctrl or Alt key on a Model M.  

This keyboard uses complicated black ALPS switches.  The keycaps required a tremendous amount of force to remove, and I eventually resorted to using a chip puller, which worked well.  All the large keys have stabilizer bars : both shift and enter keys, the plus key, the backspace key, the numberpad 0 key and the spacebar.  This is a bit of overkill in my opinion due to the longevity concerns, but it eliminates dead spots on the right shift key.

The keyboard is not quite as large or as heavy as a Model M, and the keycaps show signs of UV yellowing.  The PS/2 connector has a purple sheath.  Interestingly, the are three channels underneath the keyboard where you can thread the keyboard cable to the left, right or center of the keyboard.  The keyboard is held together by Phillips screws and plastic tabs that are easy to pry open.  The top of the keyboard assembly is a metal plate that showed corrosion from whatever moisture got into the keyboard, just like a Model F.  

I am using this keyboard to type this article.  Since I acquired it recently, it is the only serious experience I have had with it so far.  There is still a sound when the keys are pressed, but it does not have the same harshness of a buckling spring.  The concave of the Ctrl key has gotten some taking used to.  I do not find that I miss the Windows keys since owning a Unicomp 104 some years ago.  The Menu key has always been almost useless.  Even so, after about two days of typing on the keyboard, I find that it is a very good keyboard for the time.  I make more mistakes than with a Model M, but less than with a nasty cheap rubber dome keyboard.  

Saturday, February 7, 2015

Found PC Game Versions

Updated 07-03-2019

Some time ago, I made an entry about Lost PCjr. and Tandy game versions.  That entry turned into Lost PC Versions as the number of PCjr. and Tandy games dwindled down to very few : http://nerdlypleasures.blogspot.com/2014/09/the-lost-tandy-and-pcjr-game-versions.html

This post discusses games that are now or will be available for the use and enjoyment of everyone.  I have either personally tested each game or know of trusted people who have tested them.  Here in alphabetical order we have the following :

Action Fighter - Tandy
http://www.pixelships.com/adg/epf006.html - Supports 16-color 320x200 graphics and 3-voice sound. Only EGA and CGA versions widely available.

B.C.'s Quest for Tires
There are two versions of this game, one with a Sierra copyright only screen and another with a Sierra and Tandy copyright logo screen.  Regardless of whether the game is played on the PC, PCjr. or Tandy 1000, there is only PC speaker sound effects.  RGB graphics are the same on all three systems, but the PC and Tandy share the same composite color graphics patterns.  If a PCjr. is detected, the game displays different composite color graphics patterns that show appropriate colors on a color composite monitor or TV.

The original Sierra version may only support color composite graphics.  Only a hard drive conversion exists, and there is no proper PCjr. support in it.  Here are some screenshots of the various graphics modes :

BC's Quest for Tires Sierra Version - PC Composite Title Screen
BC's Quest for Tires Tandy Version - PC Composite Title Screen
BC's Quest for Tires Tandy Version - Tandy Composite Title Screen
BC's Quest for Tires Tandy Version - PC and Tandy RGB Title Screen
BC's Quest for Tires Tandy Version - PC and Tandy RGB In-Game Graphics
BC's Quest for Tires Tandy Version - PCjr Title Screen
BC's Quest for Tires Tandy Version - CGA (New) & Tandy Composite In-Game Graphics
BC's Quest for Tires Tandy Version - PCjr Composite In-Game Graphics
Unfortunately, unlike the Tandy Composite Graphics, I have no way of simulating PCjr. Composite Graphics.  (Tandy 640x200 Composite = DOSBox CGA machine type, SVN set to Late CGA, use Hue 140 degrees).  The PC and Tandy use the 640x200 resolution for its composite color graphics.  However, as you can see, Tandy and Sierra put absolutely no effort into making sure color composite graphics looked appropriate for its 1000 series.

Below the Root - Tandy
PCjr. version supports 3-voice music in intro, but this only works if a PCjr. is detected.  The Tandy label release behaves identically on a PC and a Tandy 1000, no changes to the graphics, no PCjr. music on bootup.

The Black Cauldron - Tandy & PCjr.
Retrograde Station released cracked versions of the booter version of this game.  The versions they released were v1.1J, v1.1K, v1.1K Tandy and v1.1m.  None will not work on either a Tandy or PCjr. with the exception of v1.1m.  The DOS-installable AGI2 and AGI3 versions of this game will run just fine on these systems.  All versions have been fixed to run on the PCjr. and Tandy 1000.

Bruce Lee
This booter supports 160x200x16 color graphics and 3-voice music (title screen only) and sound effects when played on a PCjr.  PC and Tandy use CGA graphics, composite or RGB selectable, and PC speaker sound.  Screenshots for all there graphics types are here : http://www.mobygames.com/game/pc-booter/bruce-lee/screenshots  Note that the PCjr. graphics use 20-column text and the PC graphics use 40-column text

Crossfire
The PCjr. disk version of this game, compared to the cartridge or PC disk version has a 3-voice piece of music which can fortunately be turned off.  It also uses more than four colors on the screen at a time and has three speed settings.  Keyboard keys can be redefined and high scores can be saved to disk.  However, the PCjr. cartridge version uses 2x2 sized bullets, whereas both disk versions use a 1x1 pixel   It is easier to progress in the cartridge version for this reason.  Here are some screenshots to compare the Cartridge and Disk versions, and you can find screenshots of the PC CGA disk version at : http://www.mobygames.com/game/pc-booter/crossfire/screenshots

Crossfire - PCjr. Cartridge Version Title Screen
Crossfire PCjr. Cartridge Version - In-Game Screen
Crossfire PCjr. Disk Version - Title Screen
Crossfire PCjr. Disk Version - In-Game Screen 1
Crossfire PCjr. Disk Version - In-Game Screen 2
Crossfire PCjr. Disk Version - Game Over Screen
Demon Attack
The Tandy version of this game comes on disk and will not run in a PCjr.  It requires a joystick, has a title screen but looks, sounds and plays exactly like the PCjr. cartridge version.  The title screen screenshot can be found here : http://www.mobygames.com/game/pc-booter/demon-attack/screenshots

Demon's Forge
There was a PCjr. release of this game and Mastertonic re-released it later with 16-color 320x200 graphics support for Tandys.  Unfortunately it's Tandy detection relied on the absence of a DMA controller, which was present in most models.  Additionally, the Retrograde Station image (Mastertronic) was broken for the PCjr. and machines with an 8088 or 8086 CPU.  The DOS conversion has since been fixed to run on the PCjr., 8088/8086 machines and DMA-equipped Tandys.  No 3-voice sound support.  Screenshots of all three modes can be found here, with a caveat : http://www.mobygames.com/game/pc-booter/demons-forge/screenshots  The caveat is that the CGA with RGB monitor should show red, not magenta, in the screenshots.  The game has since been patched to work on DMA Tandys and the PCjr.

Donald Duck's Playground
The Retrograde Station booter image was broken so that the game would refuse to work if it detected a PCjr. or Tandy 1000.  It would only give CGA RGB or Composite Color and PC Speaker sound.  It has since been fixed.  I have since found a true DOS installable version of this game, but I cannot be certain whether it was actually released.

Falcon - Tandy
http://www.mobygames.com/game/dos/falcon/cover-art - Box with the Tandy sticker specifically advertises 16-Color/Enhanced Sound Version Included!  The Tandy version came on a separate 5.25" disk, and while the non-Tandy releases came on one 5.25" and 3.5" disk, I believe that unless the disk has the Tandy sticker, it will not include the Tandy version.  No EGA support.

Hardball - Tandy
This box indicates that a Tandy upgrade disk existed : http://www.mobygames.com/game/hardball/cover-art/gameCoverId,211542/  Also, the graphics selection screen also instructs the user to insert disk 3 for Tandy (disk 1 is CGA and Hercules, disk 2 is EGA).  Because you had to send away for it, it is rare.  The Tandy support is like Test Drive, only the Tandy graphics are be supported, not the Tandy sound chip.

King's Quest I
This game in its AGI form was constantly in print from 1984 to at least 1990.  Sierra kept periodically updating it as their AGI engine evolved.  I recently acquired version 1.0U, which uses AGI interpreter 2.272.  This was one of the earliest AGI engine versions to support hard disk installation, but like version 1.1A of Space Quest and 1.01 of King's Quest III, there are no drop down menus.  The Escape key pauses the game.  To change the animation speed, you need to type slow, normal or fast.  F4 does not do the "see object" function."  You quit with Alt + Z, just like the later release.  Here is the title screen :

King's Quest v1.0U, note the erroneous red leaf in the lower right corner
King's Quest II
Tandy released a version for the 1000 computers, Tandy version  under its own label, but it works in a PC and PCjr.  Here is the title screen :

King's Quest II Tandy Version - Title Screen
The game is otherwise identical to version 1.1H.

Lost Tomb
This game supports 160x200x16 color graphics and 3-voice music and sound effects when played on a PCjr.  PC and Tandy use CGA graphics and PC speaker sound.  Screenshots of both graphics types here : http://www.mobygames.com/game/pc-booter/lost-tomb/screenshots  Note that there is no choice with a PC, the graphics you get depends solely on the monitor.

Microsoft Flight Simulator 2.12
There are separate versions of 2.12 for the PC and Tandy, and both use the same composite color and RGB graphics and both use PC Speaker sound.  The difference is in the keyboard support.  In the PC 2.12 version, the PCjr and PC keyboards are supported, and in the Tandy 2.12 version, the Tandy 1000 and Tandy 1200 keyboards (the latter functions identically to the PC keyboard) are supported.

All 2.xx versions of Microsoft Flight Simulator support the PCjr. and all offer a 16-color low resolution 160x200 graphics mode in addition to the 320x200 4-color high resolution graphics mode.  This 16-color low resolution graphics mode is offered in the Tandy version for the Tandy 1000. I am not sure about the 2.13 or 2.14 versions.  Also, there does not appear to be 3-voice sound support on the PCjr., despite what MobyGames thinks.

The graphics patterns for the color composite mode are the same for the PC and Tandy versions, but when a PCjr. is detected, they are somewhat different.  Also, the Tandy version will work in a PC because the Tandy 1200 (an XT clone) is supported, but not in a PCjr.  Here are some screenshots of each version :

Microsoft Flight Simulator 2.12 PC Version - Composite Title Screen
Microsoft Flight Simulator 2.12 PC Version - Composite In-Game Screen (Old CGA)
Microsoft Flight Simulator 2.12 PC Version - Composite In-Game Screen (New CGA)
Microsoft Flight Simulator 2.12 PC Version - RGB Title Screen
Microsoft Flight Simulator 2.12 PC & Tandy Version - RGB In-Game Graphics
Microsoft Flight Simulator 2.12 Tandy Version - Composite Title Screen
Microsoft Flight Simulator 2.12 Tandy Version - Composite In-Game Screen
Microsoft Flight Simulator 2.12 Tandy Version - RGB Title Screen 
Microsoft Flight Simulator 2.12 PC Version - PCjr. Low Resolution 160x200 16-Color RGB In-Game Graphics
Microsoft Flight Simulator 2.12 PC Version - PCjr. High Resolution 320x200 4-Color RGB In-Game Graphics
Microsoft Flight Simulator 2.12 PC Version - PCjr. Composite In-Game Graphics

Music Construction Set - IBM Music Feature
http://www.vintage-computer.com/vcforum/showthread.php?44477-WTB-Music-Construction-Set-(IBM-Music-Feature-edition) - Apparently there exists a version of EA's Music Construction Set with explicit support for the IBM Music Feature Card.  The card is rare and this version is much rarer.  It has been found and described here :
http://nerdlypleasures.blogspot.com/2015/02/electronic-arts-music-construction-set.html
It still supports the PC Speaker and especially the Tandy 3-voice sound, because the system requirements sticker indicates the software works on Tandy 1000s, but the IBM Music Feature itself will not fit inside a Tandy 1000's case!

Oil's Well
The Retrograde Station booter was broken so that it would not load past the title screen with the PCjr.  The original disk was not dumped perfectly, so the issue cannot be truly fixed until it is.  In the meantime, there is a fix that allows the game to work in the PCjr. with the RGB colors corresponding to the composite colors of the CGA.  PC Speaker sound only.  Here are some screenshots of the "fixed" PCjr. version :

The title screen is absolutely correct, the Retrograde Station booter would get that far on a PCjr.

Oil's Well - PCjr. Title Screen
Oil's Well - PCjr. Level 1 Screen (Does not show color cycling)
Oil's Well - PCjr. In-Game Screen 1
Add captionOil's Well - PCjr. In-Game Screen 2
Oil's Well - PCjr. Game Over
Compare with the CGA screenshots here :
http://www.mobygames.com/game/pc-booter/oils-well-/screenshots

One on One
The Tandy release only works on a Tandy 1000, all other Tandy releases work on a PC, PCjr. or both.  No other differences from the Electronic Arts version.

Styx - PCjr.
http://www.mobygames.com/game/styx/cover-art - Styx came in a version for the PCjr., and while it looks identical to the PC version, it supports 3-voice sound.  https://youtu.be/vbH95Bzu_DQ

Super Boulderdash (I & II)
The Retrograde Station booter image was broken so that the game would refuse to work if it detected a PCjr. or Tandy 1000.  It has since been fixed, so players can enjoy 160x200x16 graphics and 3-voice sound.  The original Boulderdash games only support PC and PCjr.  The 16-color graphics look like this:
http://www.mobygames.com/game/boulder-dash/screenshots
http://www.mobygames.com/game/boulder-dash-ii-rockfords-revenge/screenshots

Test Drive - Tandy
http://www.pixelships.com/adg/epf006.html - Supports 16 color 320x200 graphics, just like EGA.  No 3-voice sound support.

Touchdown Football
Tandy released a version, and on the copyright screen, the announcer will say "Imagic and Tandy present" rather than "Imagic and IBM present".  The same voice is used, and must be run on a 4.77MHz 8088 machine to hear the voice with the proper pitch.  You can hear voice samples from both the Tandy and PCjr. versions in this blog entry : http://nerdlypleasures.blogspot.com/2014/09/non-pc-speaker-digitized-sound-part-ii.html

Gameplay is the same, but the game will probably run too slowly on a PCjr.  Here is a screenshot of the copyright screen :

Touchdown Football Tandy Version - Copyright Screen
You can find screenshots of the IBM copyright screen, the title screen and in-game screens (common to both versions) here : http://www.mobygames.com/game/pc-booter/touchdown-football/screenshots

Ultima II - Revenge of the Enchantress - PC & PCjr.
All the available versions are from the Origin Systems re-release, either from one of the Ultima compilations or from the Ultima Trilogy.  The original Sierra On-line release is not available.  The Sierra release for the IBM PC has differences in the text and different sound effects.  Sierra also released a version for the IBM PCjr. which has the graphic patterns re-arranged so they give appropriate colors on a color composite monitor, see here : http://www.vogons.org/viewtopic.php?f=7&t=41889

Wizard and the Princess
This game was originally released for the PC under IBM's label as Adventure in Serenia.  Sierra later released the game for the PCjr. under its original title and used 320x200 graphics.  Still only supports PC Speaker sound and will not run on a Tandy with more than 128KB.  You can see screenshots of the RGB CGA, composite color CGA and PCjr graphics here :

http://www.mobygames.com/game/pc-booter/hi-res-adventure-2-the-wizard-and-the-princess/screenshots