OSI 500-series (Challenger II)
Prior to (and along with) building the popular Challenger 1P / Superboard machines, OSI produced several models of computer in the form of multiple boards which plug into a bus. These Challenger 2 models consisted of various configurations from a true single board (using a serial port to communicate with a terminal and with on-board RAM) to a system featuring separate cards for the CPU, RAM, video, and floppy-disk interface. OSI went even further to produce a Challenger 3 series which featured three CPUs (6502, 6800, and Z-80) and even a model with a Winchester (hard) drive: a rarity in any personal computer system in the late 1970’s.
There is also a confusing bit of nomenclature here as OSI often labelled their Challenger 2 systems as “Challenger 4P” and “Challenger 8P” when, in fact, they were really simply “Challenger 2 – 4P” or “- 8P” … this was evident when one looked at the front of a box branded “Challenger 8P” to find the model number “C2-8P”. So, you’ll often see people refer to an “8P” but really, it’s a Challenger 2 – 8P”.
This 1978 Ad from Popular Electronics is an early advertisement for 500 series systems including the 500 single-board and C2 systems based on the model 500 CPU board coupled with a video card. Pricing is in $US but at the time the exchange rate for $CDN to $US was almost 1:1 anyway.
CPU Boards (Hardware)
Challenger 2 systems were shipped with a variety of CPU boards which evolved over time from a generic board (shipped with all systems) to boards which were specific to cassette- or disk-based systems.
Model 500 CPU Board:
The oldest board (circa 1977) is the model 500 CPU. It was generic and used for serial or video console systems, both cassette and disk based. This CPU features thirty-two 2102 1K*1 SRAM chips on board for a total of 4K of RAM. As shipped with early BASIC-in-ROM systems, the user was presented with a “C/W/M?” prompt reset. It could be used as standalone single-board computer (using the serial port as a console with an ASCII terminal).
Interestingly, the model 500 CPU board lacks a quartz crystal for a clock: instead, two 74LS123 one-shot chip is used to generate a fast clock (about 1MHz) for normal operation and a low-speed clock (about 500kHz) for wait states when accessing slow memory devices.
Systems using the 500 CPU could be expanded to include a floppy disk by adding a 470 card onto the bus, and video using a 540 video card. Addition of any card, of course, requires a backplane (either 4 or 8 slot depending on the model) and a change in the monitor firmware to support video or disk.
This board had four sockets for 2K masked ROMs to hold BASIC as well as three sockets for 1702 (256 byte) EPROMs for bootstraps. These obsolete chips required +5V and -9V to operate and were likely used as they were the same chips employed in the older 400 CPU board. This code was for a monitor, essentially what we would nowadays call a BIOS, and all communications with the user went through routines in it. The simplest configuration of the 500 was as a single-board machine with the 65A ROM which utilized the on-board serial port for user interface. BASIC in ROM will also, then, use the serial port for all commands and program entry when the 65A ROM was installed.
Another available ROM was the 65V which expanded the system to include video and a keyboard via an additional 440 video board (which featured 32 by 32 video displayed as 24 lines of 24 columns). Later video boards featured more lines and columns.
The desired ROM was installed into socket A6 and mapped to 0xFF00-0xFFFF. A switch could be installed allowing selection serial or video by selecting one PROM or another during boot. Regardless of the system (serial or video), on reset, the console will display “C/W/M ?”: “M” selects the machine-code monitor while “C” is a cold start to BASIC and “W” a warm start to BASIC (which retains the program).
Of course, if only a monitor ROM is installed, but not BASIC in ROM, BASIC must then be loaded by papertape (for the serial version) or cassette tape (for the video version). At least 12K or RAM would be required then since BASIC must reside in RAM.
Cassette storage in either case (serial or video) was an option that required an additional board, a 430B, which featured an ACIA and associated analog circuitry.
As well as serial and video options, a floppy-disk boot PROM, the 65F, was available.
An updated 500B board dispensed with the three 1702 monitor ROM sockets replacing them with a single 2K socket. Several versions of the monitor were held on the same ROM with the desired version (serial, video, or floppy) mapped into the upper 256 bytes using a complex scheme involving a 74148 priority encoder chip. Solder pads on the board allowed the selection of monitor.
The model 500 CPU card is seen here. The CPU is the large chip near the top left, and the empty sockets next to it are for the original monitor ROMs (on obsolete 1702A EPROMs). The three EPROMs to the upper right contain a new monitor (on a 2K EPROM) and BASIC-in-ROM on two 4K EPROMs. In some systems (often upgraded ones), none of these ROMs are installed on the CPU card at all as they can be put into a (newer) memory card on the bus which supports 2K devices such as the model 538 (available only years after the model 500 was produced). Also visible are the thirty-two 2102 memory chips at the bottom of the board – totaling a whopping 4K!
More information on the 500 CPU and modifications which can be made to it may be found at the bottom of this page.
Model 502 CPU Board:
This board was designed specifically for cassette-based systems. Like the 500B it had five ROM sockets (four for BASIC plus a single 2K monitor ROM which mapped 256-byte segments into the memory space via a priority encoder). It used updated 2114 RAM chips (instead of 2102’s) and so had 8K on board. The board also had fewer TTL logic chips since a multitude of decoders for the older memory chips were not required now. A 300-baud cassette interface (ACIA and associated analog circuitry) was integrated. The C2-4P used this board.
The newer 502 CPU has a similar oscillator but often derives its clock from the 540 video card via the bus (jumper selectable) – be careful when diagnosing this board as you might need a video card in the system just to get the clock.
Model 505 CPU Board:
Used in most floppy disk systems, this board has no RAM on board however it did contain a serial port as well as a full floppy disk controller (using a 6850 ACIA, a 6821 PIA, and associated circuitry). It featured three ROM sockets for the older 1702 monitor chips (often unused solder pads and not even socketed) as well as, more commonly, a single 2K ROM socket with a selectable monitor. BASIC was loaded strictly from disk into RAM so no sockets were provided for BASIC ROMs.
Challenger 2 – 8P
The Ohio Scientific C2-8P was available as a cassette-based system (using the model 500 CPU card) which could be expanded to a full-blown system including eight inch disk drives. This older machine (circa 1977, several years before the popular Superboard II) was packaged in a big blue box featuring separate boards for each function in a large expansion box with an 8-slot backplane allowing expansion. The 8P was intended as a machine for research, educational, or small business use.
The basic configuration consisted of a 580 Backframe (8 slot), a model 500 CPU (with thirty-two 2102 SRAM chips for a total of 4K of memory on the CPU board), a 540 Video Card (with parallel keyboard connector), and possibly additional cards for memory and I/O expansion (e.g. a model 550 Serial Card for up to sixteen additional 6850 serial ports or a model 420 RAM card for an additional 4K of SRAM using 2102 chips).
Challenger 2 – 4P
The smallest Challenger 2 system is the 4P, circa 1977. This system is composed of separate boards including a 502 CPU board (an updated version of the original model 500 board), a 540 video card, and a keyboard all mounted in a thin case. With a newer graphics card than older systems, featuring a whopping 2K of video RAM, a 64-by-32 character display was supported. The system featured a four-slot backplane (hence the “4P” designation) of which only two cards were installed in the basic (cassette-based) system allowing further expansion with RAM and floppy-controller cards. The “2P” label identifies this as an older unit (originally branded “2P-4”, later “4P”).
The system was twice the cost of the superboard but featured three-times the video capability and used the OSI standard 48-line bus allowing easy expansion via plug-in cards. You’ll note the 502 CPU card, shown here as the top card in the backplane, features five ROMS (BASIC as well as the monitor, just like the superboard, all on 2K devices) and 8K of RAM in the form of sixteen 2114 chips. The CPU board also contains a 6850 ACIA used for the cassette interface. The later superboard, then, is really just a 502 board with an integral video section as well as integral keyboard (with a significant cost reduction in the process).
I had received this system in late 2008. It featured the usual bugs expected with an older machine (including power supply issues in the form of failed electrolytic capacitors) as well as a failure in one (or more) of the upper 4K of RAM chips. The on-board RAM was clearly expanded after production as the upper 4K are manufactured by a different company than the lower 4K (which was presumably installed by OSI). Removing the upper 4K of RAM, the system boots! The user is presented with the customary “C/W/M ?” boot prompt and, upon booting to on-board BASIC, a 64-character display appears … perhaps the best enhancement of such a system over the Superboard. A simple POKE command allows the user to switch between the default 64-character wide display and a 32-character wide mode … presumably for software compatibility with many games.
You’ll note the lack of a disk boot “D” option on start-up. The 502 CPU board had on-card BASIC ROMs as well as 8K of RAM but lacked a floppy controller – it was intended as a cassette-based system only. Upgrades to include a floppy disk interface were, of course, possible by adding a 470 floppy controller card and more RAM in the form of another card (as well, the monitor ROM must be changed – most owners at this stage would have upgraded to CEGMON anyway which gave the Disk-boot option). This would have populated all four slots. As well as the cassette-based 4P configuration above, OSI shipped a system pre-configured for floppy disk in the form of the “4PMF” version for “mini-floppy”. That version used a 505 CPU which lacks on-card RAM but features a disk controller on the CPU card. Such a system usually consisted of a 505 CPU, 527 memory board, and 540 video card leaving one slot remaining for expansion.
Challenger 2 Disk-based systems
Disk-based Challenger 2 systems were either upgraded cassette-based systems (where the monitor ROM was changed to support floppy drives and a floppy drive controller card added to the backplane) or utilized a model 505 with integrated disk controller hardware. The monitor presented the user with a “D/M ?” or “H/D/M ?” prompt at reset.
The older model 500 cassette-based CPU had multiple ROM sockets (one for cassette- and one for disk-based systems) and so one could select which ROM to boot from. The newer 502 cassette-based CPU had a rather complex priority encoder scheme allowing 256-byte pages from a single 2K ROM to be mapped into the processor allowing switching of boot device. Either CPU required addition of a floppy-disk controller card via the OSI bus.
Challenger 2P – OEM
A unique machine, this Challenger 2 system is housed in a single, elongated (deep) box – physically it resembles the 8P (below) however the box is twice as deep. It features two 8″ floppy drives and has no video card: only a serial port is provided for connection to a serial terminal (although nothing precludes adding a video card and keyboard to a system like this). The system consists of an 8-slot backplane mounted immediately behind the floppy drives with a 505 CPU, 535 memory card, and a 470 card (used only as a parallel printer port in this system). The chassis has two physical power supply modules: one provides +5V at 6A to both all cards and the floppy drives, as well as +12V and -9V to the backplane (used for RS-232 ports as well as some memory cards where the chips required multiple voltages) and the second supply provides +24V for the floppy drives alone.
The 505 CPU has an integrated floppy controller, a single serial port, and a single ROM socket which bootstraps from the disk (the boot options with OS-65 are “H/D/M” since the system could accommodate both floppy disks as well as a hard drive).
Challenger 2 – 8P DF
This beautifully-maintained Challenger 2 – 8P Dual floppy machine is circa 1979. It has a 505 CPU and three 16K memory boards – five of the eight slots on the backframe are occupied.
You can see the Insides of the system as well including the three 520 memory cards near the front of the unit, the 505 CPU at the rearmost slot, and the 540 video/interface board below that.
The system features two eight-inch drives (Siemens FDD 100-8 drives) in a box the same size as the CPU and connected via a large ribbon cable. When booted, the screen prompts “H/D/M ?” … unlike the single-board system this one does not have BASIC-in-ROM on the CPU board (hence the lack of the ‘C’ cold-start option). BASIC is run from the disk.
The system was is great shape but has the usual problems for a system thirty years old, namely dirty drive mechanicals and loose connectors and chips (chip creep). After a quick cleaning the power supplies were disconnected and output voltages verified to ensure the old supplies would not toast the boards (Old supplies sometimes have old capacitors which fail causing the output voltage to go well beyond that expected – I’ve seen an old 5V supply producing 7V). Supplies were reconnected and the system booted. At first, the screen showed random characters but after some ‘wiggling’ of connectors the system was made to boot, once, from the eight-inch floppy drive and was able to perform a ‘DIR’ as seen on the screen shot to the left. Booting is not reliable yet so a bit more work is likely required on the system – either the drive mechanicals are marginal or perhaps simply all that is required is a recalibration of the electronics (the 470 controller has several analog potentiometers). Since I now have a working 8″ drive on the OEM machine, diagnostics and calibration should be trivial.
Debugging a 500-series system (generic)
Check the power supply first to ensure the voltages are correct – I have seen an old ‘5V’ power supply putting-out over 7 volts! After that, power-up the system and check for video output: lack of video output might indicate a problem either with the 540 video card or with the CPU card. Checking the CPU card is simple enough: First, though, determine which CPU is in use. The common CPUs available were the 502 (for a ‘BASIC in ROM’ system like a C4P) and the 505 (for a floppy-based system since the 505 has an on-card disk interface). Aside from the disk interface, the biggest difference is the clock – the 502 has no internal clock. With a 502 board the CPU derives its clock from the OSI bus which is supplied from the 540 video card (which must be installed in this case), with a 505 board an on-card 4MHz crystal is divided by two sections of a 7476 JK flip-flop for the CPU. Either way, a clock must appear at pin 37 on the 6502 chip (phase-0) before anything else will function. With the CPU functioning, the address bus should show a great deal of “random” activity which may be seen on a scope or logic probe.
If the CPU card is running, check the video card – specifically check the waveform of the control lines on the 2114 RAM chips used as video RAM (the two 2114’s closest to the character generator ROM) on the 540 video card. Using a logic-analyzer, or a scope, monitor the /WE (pin 10 on the 2114) and /CS (pin 8) lines as the RESET key is pressed. During a RESET (pushing the key on the front panel), one should see a series of write operations to the RAM … this is how the OSI clears the screen to remove the random ‘garbage’ which appears on power-up (random RAM contents, displayed as ASCII characters). Note that address lines are always active since they are also used for read operations during video display. As well as a reset, pressing a key on boot-up such as “M” (to enter the monitor) will cause a write to the RAM and in the monitor pressing a key such as “0” or “1” will then cause another write. Verify this and it will assure you that the CPU is running properly.
In the above logic-analyzer output, channel 1 is wired to /WE pin, channel 2 to /CS pin, and channels 3 and 4 to address lines A0 and A1 respectively. When the CPU is running normally, no write operations occur (channel 2 was triggered here since channel 1 is always high). Only read operations take place during data display and, as expected, there is a good bit of activity on the 2114 chip address lines.
It might be noted that the video RAM must be relatively fast: it must be rated at 400ns or faster (i.e. the chips in these sockets will not work if they have a “-5” suffix as this indicates a 500ns chip). Use of slower chips may not allow proper data read/write and so strange patterns may appear on the video screen.
Diagnosing/Modifying a model 500 CPU card:
The model 500 board was available as a kit and so a relatively complete description of the board as well as basic diagnostics may be found there to assist in repair. You will need the schematics, regardless, which are also part of the assembly manual to determine how the decoding circuitry works. These can be found at OSI WEB and at Mark’s Ohio Scientific Archive along with many other manuals.
Check the clock first at the 6502 processor on pin 37. It should be around 1MHz. Next, remove the CPU chip and check each section of the 7417 buffers which drive the address lines from the CPU into all other on- and off-board circuitry. This requires a painstaking check of all sixteen elements.
Configure the on-board RAM to start at 0x0000 via the jumpers between F2 and F3 on the bottom left of the card. All four upper address lines (A15 to A12) should be set to “inverted”. At least eight 2102 memory chips are required to give the minimum 1K memory required.
The original model 500 CPU card including areas to be configured and modified for a new monitor and BASIC ROMs as described here.
If the ROM monitor exists, you might be lucky that it is the correct one however there were several available (they are different for video and serial systems, as well as those using floppy disks) and so you might need a specific monitor. If you don’t have one, it is difficult to obtain the 1702A EPROMS OSI used on this early board and even more difficult to find a programmer. The easiest solution is to put the monitor on a 2K EPROM either on an external memory card (which takes 2K devices and can map one into the upper memory area), or to install it on the 500 board itself in the first socket usually reserved for BASIC. That socket must hence be mapped to 0xF800 to 0xFFFF. A simple solution is to take IC-F6 (a 74LS30 eight-input NAND gate) and reconfigure it as a decoder. This decoder, used to decode the block used by the old 1702A monitor sockets, is non longer required if using a 2K device. Simply cut the trace which connects A10 to pin 6 and jumper R/W to pin 6. Now connect pin 8 (the output of the decoder gate) to pin 20 (chip enable) on the monitor ROM. Since those sockets are already designed for 2K devices, jumper them for use with a 2716 (which takes care of the other required signals) and the monitor will be mapped to the correct location.
Mapped to 0xF800 to 0xFFFF, there are a number of options for the monitor however only a 256 byte block is required for a minimal system. With a full 2K, the complete SYNMON can be burned to the ROM so that in the future, one could swap memory locations for a disk-based system (inspect the hex file with an editor and you’ll find the “H/D/M” boot code in there as well). The file CWMHIGH.HEX contains the complete firmware for the 2K monitor ROM as used here (for a video-based system with a 540 card installed) – other variations can be found on the web including the 256-byte minimal version found on the original 1702A ROMs as well as serial versions.
Unfortunately this causes two problems: First, the UART which was mapped on the original model 500 CPU at 0xFC00 (right in the middle of the 2K monitor EPROM we are to install). According to the manual, it was done this way so the port can act as the console in a system without a video card (i.e. a serial-only system). If your system has video, the port is superfluous and the 6850 can be removed, and if a serial system is desired, more logic will be required to map the UART back into the system at the required location.
For cassette operation that on-board 6850 serial port can be relocated to F000 to F001 (the “normal” location for the cassette port on a newer system), or an additional serial port board (like a 550) can be added to the backplane.
The second problem is that you won’t have four sockets to hold BASIC in ROM. This problem is also easy to solve by burning BASIC ROMs 1 and 2 onto a single 4K 2732 and ROMs 3 and 4 to a second 2732. Two of the remaining three sockets on the board can now be configured for the 2732 devices (mainly just by jumpering A11 to pin 21 of those sockets) and using IC-F8 (74LS20 quad-input NAND) outputs to select the chip enables for those two new ROMs. IC-F8 pin 8 decodes addresses 0xA000 to 0xAFFF for BASIC 1/2 and pin 6 decodes 0xB000 to 0xBFFF for BASIC 3/4 … both are 4K blocks.
Diagnosing/Repairing a Model 540 Video Card
In many systems the video card develops faults which will prevent the system from running. Almost all C2 models employ a model 540 card, either A or B revision. These cards have 2K of video RAM and can display 64-column video (by 32 lines). Here’s a quick guide to diagnosing and repairing such a card:
First determine if your card is a revision A or revision B and obtain schematics for it. The “A” board is a basic black&white board which also contains a cassette interface which translates serial data from an external ACIA (e.g. on a CPU card) to the FSK standard used by the Kansas City Standard tape format. The “B” board dispenses with the cassette interface however features colour, adding 1K of RAM to accommodate it which was configured as 2K*4bits (16 colours).
It is easiest to work on the card when it is removed from the system – this will allow 90% of all debugging to be done (all but the interface between the video RAM and the system bus). A working video card will produce a screen of random characters when powered-on, even when removed from the bus. Remove the card and apply 5V power (about 2A) from an external power supply. Connect a composite monitor to the output of the card (pin 7 of J1 is black&white composite, pin 5 is colour composite, and pin 6 is ground). If the video clocking section and character generation logic is working you will see a screen full of characters. If not, the display is often blank possibly with an odd horizontal line so it is time for diagnostics …
Using an oscilloscope (which is pretty much required when doing board-level repairs like this), check for sync signals: /HS (horizontal) should be an asymmetrical square wave mostly high with a thin low-going pulse at 15.7kHz while /VS (vertical) should be a similar waveform but at around 60Hz. If these signals fail to appear, check the 74123 one-shots which generate the thin low-going pulses (these often fail and are socketed accordingly) and ensure these chips are fed with a square wave of the same frequency – These are U4A and U4B on the revision B board. Those square waves are derived from the 3.58MHz crystal via a divider chain of binary counters so check there if the input signals to the one-shots are not present.
Once you know the sync signals are good, check the 7403 gate used to combine and invert these two signals which the pass through a potentiometer and are combined with the video signal via a network of resistors (the 7403 is a quad 2-input open-collector NAND). Careful since black&white and colour boards have some subtle wiring changes and so a potentiometer or several resistors might not be there at all on the colour board.
The video circuitry for the 540 board. The horizontal sync one-shot is shown in the upper left corner and the circuit to generate composite video to the right. Sync signals (combined HS and VS) pull the composite output to zero using an open-collector gate (the 7403) while video signals pass through the resistor network to attenuate them and align them about 0.25V about ground (i.e. above the level of the sync signals). Several potentiometers allow adjustment of the levels.
The black&white composite signal then appears on pin 7 of J1 on the board (with pin 6 being ground). On a colour board the output appears on pin 5 via a driver transistor and another potentiometer that sets the output level.
Here’s a look at some of the signals you should see while diagnosing the 540 card. The Sync signals produced from the 74123 one-shot outputs look like those on the left while the resulting composite video signal appears as per the two right photos. The video signal must have a wide vertical sync pulse (which reaches 0V) followed by video lines consisting of a short horizontal sync pulse (also reaching 0V) with video data following each. Note the levels: sync pulses must fall to 0V while video data reaches a peak level of about 0.75V.
The usual suspects for faults include the 74123 one-shots and the 7403 gate. Of course it is impossible to predict all possible faults – on one board I found a bad potentiometer (R23) which allowed sync signals to be produced but prevented video from appearing … as I mentioned, an oscilloscope is invaluable here.