Sunday, September 25, 2022

Atari 400 - An Atari 2600 on Steroids and More

The Atari 400 and Atari 800 were released by Atari in late 1979 as a follow up to the successful Atari Video Computer System (VCS).  Unlike the VCS, the 400 and 800 came with keyboards as well as more powerful hardware and more RAM.  Having recently acquired an Atari 400, let me talk about some of the issues I have encountered with it.

Sunday, September 11, 2022

Apple II Sound Cards & Gaming - A Niche Precursor to PC-Compatible Sound Cards

The Apple II was distinctive when it was released because it was the first microcomputer and the only one of the "1977 Trinity" of consumer-friendly computers (TRS-80 and Commodore PET being the other two) to come with any kind of audio capabilities built in.  Those capabilities were primitive, a speaker that could be clicked in software by the CPU.  Other computers followed with sound chips built in like the Atari 400 and 800, the TI 99/4 & 4A, the Commodore VIC-20 and 64 and so on.  But the Apple II was more flexible than any of its 8-bit competitors in having expansion slots to allow for less expensive and less bulky expansion options.  Eventually games began to look at some of those expansion capabilities, and in this article we will talk about how they explored them in terms of sound.  

There were many expansion boards for the Apple II that plugged into one of its expansion slots and played better sound than the system itself was capable of playing on its own.  There were cards with Programmable Sound Generators like the ALF Music Card MC16 and MC1, wavetable synthesis devices the Mountain Computer Music System and speech-producing cards like the Software Automatic Mouth (S.A.M.)  These cards either came with their own software and came with instruction manuals informing buyers how to program.  Programs for these cards were limited to the companies that made the hardware or an occasional music teaching program that might have support, although most music programs limited themselves to an Apple speaker.  

Mockingboards and Phasor

Sweet Micro Systems Mockingboard Sound II

Things began to change in 1982 when a company called Sweet Micro Systems released a sound expansion called the Mockingboard.  The Mockingboard was a sound expansion for the Apple II and it initially did not offer much over the competition except for its relatively cheap cost (under $200).  The Mockingboards supported music and sound effects via the General Instruments AY-3-8910 PSG.  This sound chip supported three independent square wave generators, a 12-bit frequency selection and 4-bit volume control as well as envelope generation and noise generation. 

Unlike other companies which offered a music or a speech board, SMS did not really offer a software suite with their cards.  Instead SMS aggressively pursued third parties, in many instances giving away cards in the hopes that they would be used in program development.  Game developers expressed a level of receptivity to a non-Apple product that had previously not existed in the Apple II game developing community since the Sirius Joyport.  SMS would eventually sell ten products under the Mockingboard brand.  

Mockingboard Sound/Speech I

Initially the Mockingboards were sold in four varieties, the Sound I, the Speech I, the Sound/Speech I and the Sound II.  The Sound I had a single AY sound chip and the Sound II had two AY sound chips.  In the Sound II, one AY chip was assigned to the left audio output and the other assigned to the right audio output, permitting stereo sound if both chips were used.  Stereo sound had not been supported in other home computers, the Commodore Amiga, the Roland MT-32 and the Creative Game Blaster were the only other options for stereo sound for home computers until the 1990s.  We will talk more about the Mockingboard Speech cards a following section.

One overlooked feature of the Mockingboards was the usage of the MOS 6522 Versatile Interface Adapter (VIA) chip.  The VIA in the Mockingboards was used for two purposes.  First it was used to adapt the interface of the AY chips to something compatible with the Apple II's bus.  All data to and from the AY chips goes through the VIAs.  The Mockingboard could have done this with 74-series logic for lower cost but the VIA had other capabilities that were vital for a sound card if the programmer wanted to do more than just play sound.    

Mockingboard "Transitional"

Second, the VIA provided hardware timers and interrupt generation via the 6502 IRQ and NMI signals.  Timing is very important for music and the Apple II and II+ did not have any hardware timing mechanisms available without expansion slots.  The Apple IIe and IIc had (different) methods to read the status of vertical blank, which can function as a crude timer as it occurs 59.92x per second, but it is a rather coarse timing mechanism.  But if you want your music to work in a II+, those methods were unavailable.  

Mockingboard A

So unless you wanted to count 6502 CPU cycles, you were limited to very short sound effects and music during gameplay on an Apple II.  I do not know of any other Apple II music boards that came with hardware timers and did not use AY chips, so timing music would have required more CPU cycles to drive these boards than the Mockingboard.  The inclusion of a Programmable Interval Timer in the IBM PC is the reason why the PC Speaker can play music and more than simple sound effects during a game and the Apple II speaker cannot.  In the original Mockingboards, each AY or SC-01 chip was accompanied by a VIA.

Mockingboard C

Votrax, the maker of the SC-01 had filed for bankruptcy in 1983 and the SC-01 would shortly be discontinued.  The chip fab, Silicon Systems Incorporated, was making a new speech chip Votrax had just finished developing prior to its bankruptcy, the SC-02.  SSI renamed the chip as the SSI-263.  This chain of events encouraged SMS to revamp their product line and discontinue their older products.  At first they released a card in new packaging and sold it just as "Mockingboard"  This card has two AY-3-8913 chips, two sockets for SSI-263s, two VIAs but these big chips are laid out on the board vertically whereas every other SMS Mockingboard uses a horizontal layout.  This card has the designation SSP-2000 on the back  of the board.  In this configuration each VIA would send and receive data from an AY chip and an SSI chip.  

This Mockingboard turned out to be a transitional product as SMS soon further revamped their Mockingboard line with four new products.  SMS named these products the Mockingboard A, Mockingboard B, Mockingboard C and Mockingboard D.  The base Mockingboard would be sold as the Mockingboard A, which had the same functionality as the Transitional Mockingboard but uses a more traditional horizontal layout for its chips.  This card has the designation SSP-2000C on the back of the board.  The Mockingboard B is just a SSI-263 speech chip, sold as an upgrade for the Mockingboard A.  The SSP-2000C board with one SSI-263 speech chip would be sold as the Mockingboard C.  The Mockingboard D was an external box with two sound chips and a socket for a speech chip which communicated with the Apple II via a serial port.  It came with a power supply and a DIN-5 cable, intended to connect to the serial ports of the Apple IIc.   

Mockingboard M

The final Mockingboard product is  called the Mockingboard M and only has one socket for an SSI-263. The board revision is SSP-2000D. Removal of one of the SSI-263 sockets made sense as stereo speech made little sense.  This card has an input for the Apple Speaker and is the only one with a 3.5mm jack.  It also appears to have been bundled with Mindscape's Bank Street Music Writer.

In 1986, a company called Applied Engineering (AE), which was well-known for its Apple II peripherals, developed the Mockingboard-compatible Phasor card which came with four AY sound chips, two VIA chips and two sockets for SC-02 speech chips.  The Mockingboard was cloned back in the day several times as the card used off the shelf chips and many times since, which I will talk about below.

Applied Engineering Phasor

I have been able to personally confirm that 35 games and 3 music composition programs that supported the Mockingboard during the its portion of the Apple II family's long lifespan (June 1977- November 1993).  Other games were mentioned in magazine ads at the time, but the available versions of these games do not produce any sound with a Mockingboard.  Some claimed games may never have been released while some of the music programs which have claimed support have not been archived.  SMS and AE also released software along with their cards.  The first games with support bear 1982 copyright dates but 1983 was the year when the greatest support by third parties was evident.  There are a few more games in 1984 and 1985 but very little after that time.  There were thousands of games released for the Apple II, so these 35 games are basically a drop in the bucket.  

There are also at least 11 homebrew games released since the discontinuation of the Apple II line and many, many demos which take advantage of the Mockingboard.

Mockingboard and Compatibility

Street Electronics Echo+

Street Electronics, which made the Echo line of sound cards, released the Echo+ which has a single VIA and two AY-3-8913 sound chips but does not appear to be Mockingboard compatible.  It uses the TMS5220 speech chip, which is totally incompatible with the SC-01 or SC-02. The Cricket is similar to the Mockingboard D but uses the TMS chip and requires specific software support for Cricket.  It is quite possible to control two AY chips with a single VIA, the Phasor does this in its "native" mode and has an Echo+ compatibility setting.  

In terms of compatibility, all Mockingboards, other than the Mockingboard D, and the Phasor work the same for purposes of the AY sound chips.  Stereo sound boards provide 6 voices of sound but requires two AY chips.  You will find the stereo reversed if a game allows you to select a Sound 2 and you have a Mockingboard A or later and vice versa.  The 12 voice sound support of Ultima V requires two Mockinboards with two AY chips each or a Phasor card.  The Mockingboard D requires specific support by software and will not work with software that only supports expansion slot Mockingboards.  If a program is compatible with the Mockingboard D, it is noted on my list.  

Mockingboard D

A bigger compatibility issue with the Mockingboard is with the Apple II mouse.  Apple assigned the mouse communication ports and firmware to use those memory locations reserved for Slot 4, which just happens to be the most popular slot for the Mockingboard.  Most games expect the Mockingboard in Slot 4 and most mouse programs expect the mouse card (for an Apple IIe) to also be in Slot 4.  The IIc and IIc+ have a modern solution which gets around this issue, and the IIgs can disable its emulation of the Mouse Card for Slot 4 for 8-bit software via the GS/OS Control Panel without disabling the mouse for 16-bit software.  With the IIe, you'll be working Slot 4 if you routinely switch between mouse-controlled programs and Mockingboard programs.  There are several Mockingboard games in Total Replay which will remap Mockingboard accesses to any slot, so that helps quite a bit.

The Ensoniq synthesizer in the Apple IIgs has no Mockingboard compatibility.  Ultima IV and Ultima V may not work in an Apple IIgs with a Mockinbgoard or Phasor without a patch disk being loaded.  One on One will hang instead of run if run in a system with a 65C02 like the Enhanced Apple IIe or a system which simulates one like the Apple IIgs.  

Speech Chips and Speech Devices

The two speech chips which found support in Apple II games were the Votrax SC-01 and SC-02.  The SC-01 could produce 64 phenomes of sound and could be programmed to select from four inflection settings.  User adjustments to the master clock signal sent to the chip via a potentiometer can vary the speed of the speech.  

The SC-02 was significantly more advanced than the SC-01 but is physically and programmatically incompatible with the earlier chip.  While it also has 64 phenomes, it has many more inflection settings and adds articulation transition, filter frequency, speech rate and amplitude adjustment settings.  The result can be a more natural, less robotic sound than its predecessor.  

The SC-01 was a popular speech synthesis chip when used in pinball (Mars God of War, Rocky) and arcade games (Wizard of Wor, Gorf, Q*Bert, Reactor).  The SC-02 was not nearly as popular as its predecessor, finding very few mainstream uses.  The SC-01 commands a high price due to their demand for pinball and arcade machines, while the SC-02 commands a similarly high price due to its rarity and obscurity.  

The SC-01 found its most notable use in the home with the Votrax Type 'n Talk (TnT).  The TnT was distinctive in that, unlike most other speech chip products, it was not tied to a single console or home computer platform.  This external box communicated via an RS-232 serial interface, so any home computer which had such an interface could use the TnT.  Inside the TnT was an 6850 ACIA UART, a 6802 CPU, 4KiB of ROM and 1KiB of RAM as well as the SC-01.  All this extra hardware was necessary so that the TnT could turn ASCII text into speech.  

Judging by the 1981-82 copyright dates, the Scott Adams' Graphic Adventures, which were text based adventure games updated with graphics, were the first Apple II games to use anything other than the internal speaker to produce sound.  As you might expect, the text portion of these adventures could be spoken to you if you had the Votrax connected to a serial card.  The Commodore VIC-20 versions of Adventures 1-6 could also do this with a TnT, but the VIC-20 versions came on cartridges and did not display graphics.

Internally, the SC-01 found its way into the Mockingboard Speech 1 and the Sound/Speech 1.  The Speech I card solely supported speech synthesis and presumably used one SC-01 and one VIA.  The Sound/Speech I had an AY chip and an SC-01 and a VIA for each chip.  The Sound/Speech 1 board has a separate volume control wheel for the speech chip as well as a pitch control wheel and splits music to one speaker output and speech to the other speaker output.  I have never seen a photo of the Speech 1 board (or a Sound 1 board for that matter), but games that have options for Speech 1 and Sound/Speech 1 run under the same emulator, so I assume they work pretty much identically.

All the Mockingboards from the Mockingboard A and beyond offer SSI-263-sized sockets (if they offer speech sockets at all).  Except in two known instances, games will either work with the Sound/Speech or Speech 1 boards, or the "new" Mockingboards, but not both.  

MIDI Interfaces

Passport Designs MIDI Interface

There were many MIDI interfaces for the Apple II, but only one saw support in a game.  Ultima V supports the Passport Designs MIDI Interface.  Ultima V supports mono-timbral MIDI devices will send one Program Change message to change the instrument per song.  Ultima V gives the player suggestions on what instrument to choose for each song and allows you to choose the slot in which the Passport card is located.

Modern Solutions

While Mockingboards were popular as far as Apple II sound cards go, they are not ubiquitous like the more common Apple II expansion cards like the Disk II controllers, Language Card, Super Serial Card and the 64K cards. Original Mockingboards are rather hard to come by, and just as often found inside system as they are standalone.  Except for the Mockingboard M and the Phasor, they use a 4-pin header for connecting to audio and a custom cable ending in two RCA male plugs, so you're likely going to have to build a cable to get audio out of them if you're hunting for an original board and the cable is not included.

Currently, ReactiveMicro (RM) sells a clone of the Mockingboard A and a clone of the Phasor.  I own both and can state the build quality on the cards is good and they work.  They sound rather muffled by comparison to emulation of the AY chips, especially the Mockingboard, but that is squarely laid the doors of SMS and AE.  The RM cards have a flaw that the originals do not have, however.  On the original cards, SMS and AE used adjustable potentiometers to set the volume of the left and right speaker outputs, RM uses fixed resistors on their cards.  The problem lies in that these amplifiers were intended to power passive speakers, so the output becomes rather hot if powered speakers are being used.  This can lead to audio distortion and clipping, or in the case of my Phasor, wavy video output from my Apple II.  It can also lead to volume imbalances and audio bleed.  I had to replace the fixed resistors with a potentiometer on the Phasor to eliminate the wavy video output.

It should be noted that the AY chips are strong enough to drive a line input without any assistance from an amplifier or a pre-amp.  You can easily take a common point where the three audio output channels of each chip or pair of chips is combined and send that directly to the headphone jack on these cards.  Of course when dealing with speech chips things become more complicated.

A South Korean hobbyist named Ian Kim made a Mockingboard that can be installed in the Apple IIc computers.  The Mockingboard 4c and 4c+ plugs into the CPU socket of the Apple IIc and IIc+, respectively.  These bypass the compatibility issues of the Mockingboard D, which was the "official solution" for the slot-less Apple IIc and IIc+.  

There are also clones of the Passport Designs MIDI Interface from a2heaven and Ian Kim.  In these cases, the clone are superior to the original card because the clone has ENIG or Gold plated slot contact pins while the original cards used silver-colored HASL finish over their contact pins.  HASL finishes will wear out much more quickly over repeated insertions and removals of the card than an ENIG or Gold plated finish.  I have seen Mockingboard clones sold on eBay from Hong Kong that also use HASL on their contact pins and these should be avoided.  Ian Kim's solution ditches two of the non-essential DIN-5 ports but adds a Waveblaster header for MIDI sound devices.  

On the speech front, I am afraid there are no complete solutions widely available yet for the Apple II.  There is a pin-compatible SC-01 hardware emulator but it needs an adapter to fit into a modern Mockingboard.  The adapter is fairly simple, but I do not know if the designer will make it available beyond a private group.  There is no hardware emulator for the SSI-263 and the only software emulator which supports it, AppleWin, does not sound nearly as good as the real chip. 

Look here for photographs of boxes and package materials.