XOR Data Science Computer

image of XOR computer
(click image for larger view)

I was given an XOR Data Science computer in June of 2005. The donor of the computer (Mr. Stan Johnson) said the machine was given to him as well, and he never got around to looking at it, so it was an unknown quantity. There is some information on the web about the machine, but I wanted to try and put together more information for anybody else who wants to get theirs going again.

There is nothing particularly unique about the box; it is a power supply (two, actually), a four slot S-100 backplane, and two disk drives in an enclosure. It would be perfectly possible to use other S-100 cards, or to use these S-100 cards in a different manufacturer's backplane.

The history of the computer is confusing, at least to me. The schematics say the machine was designed by Delta Products, of Huntington, California, including the three S-100 cards that are used in its standard S-100 backplane. Somewhere along the line the company was named "XOR Data Science Inc.". Towards the end of its life, the company was either bought by or renamed themselves US Micro Sales. US Micro Sales vanished abruptly in early 1984, leaving many customers in the lurch.

The Machine

Various configurations were sold. One configuration, XOR-100-12 (the one described in the operator's manual below) was as follows:

The machine I have is somewhat different. The smaller case (9.5" W, 9" H, 18" deep) has four S-100 slots instead of ten, and no doubt the S-100 power supply is also less capable. The disk controller uses the 1795 FDC chip, not the 1791. It has two Mitsubishi M2896-63-02U floppy drives (8" DS/DD).


Most of the following manuals were scanned by Jerry Wright; the S-100-4 manual was scanned and contributed by Paul Beaupre. I did a little fiddling with them to make them smaller and, with their permission, I've posted them here. Thanks, Jerry and Paul! All are PDF files.

Document Title Describes Pages Size
Delta Products DP-CPU-B CPU Manual 43 1.2 MB
Delta Products 64K-DQ Memory Manual 24 427 KB
Delta Products DP-DSK Disk Controller Manual 67 2.0 MB
XOR S-100-12 Computer Assembly and Operating Instructions Operator's Manual 84 2.2 MB
XOR S-100-4 Computer Assembly and Operating Instructions S-100-4 Assembly and Instructions 66 2.2 MB

Monitor ROM

The machine has a 2 KB monitor ROM, appearing at F800 to FFFF in the memory map (actually, at power on it appears 32 times covering the entire memory read space, but an IN instruction at a particular address causes the boot ROM to appear just at its normal location). The commands that I had figured out didn't match what is documented in the user manual, so I disassembled the ROM in my system. The sticky label on the 2716 EPROM says "XP 185", which I assume means it is version 1.85 (the manual refers to revisions 1.82 and later). A while after disassembling, I obtained the original source for the monitor.

However, there are some issues.

Summary of monitor commands:

Dump memory in hex from address AAAA to BBBB. hitting any key stops this mode and is taken as the first keystroke of a new command.
Fill memory from AAAA to BBBB-1 with byte CC
Jump to address AAAA (e.g.. G F800 reboots)
Find the string of bytes CC DD EE FF in memory between addresses AAAA and BBBB.
Shows the current byte at address AAAA and waits for input. Entering CR then moves to the next byte; entering a hex value replaces that value; entering "." Exits this mode.
Block move from AAAA to BBBB for CCCC bytes
Dumps memory in ASCII, 64 chars/line, stopping after each 24 lines, waiting for a CR. Hitting space instead of CR stops this mode.
Gets a "Bank ?" message. Typing in 0 to 7 causes the CPU to set an extended addressing bank register. Unless the system has more than 64 KB of RAM, there is no need to use this command, and should be left at its default state of 0.
Control-C or Control-F
Boot from floppy. Some versions of the ROM allow Control-A to boot from hard disk.

When entering a command, typing "." aborts the command. If a hex number can be specified in fewer than the two or four digits expected for the parameter, the number can be finished by hitting the RETURN key.

Boot Disks

Jerry Wright sent along teledisk images for two boot disks containing utility programs and some source code. Jerry thinks that the boot tracks might not be right in the teledisk image, but that the files are OK. These disk images are for single sided floppies.

The ASCII files on disk 2 are available in a zip file.


Drive Jumpering

The XOR came with either Shugart 801 disk drives or Mitsubishi 2896-63-02U disk drives; I'm sure other types of drives would work as well, but those are what are mentioned in the manual. When I received the machine it has Mitsubishi drives in it, although one was broken (the disk hub was shattered), and the other drive had bad alignment, at least. I bought two replacement drives of the same type, but they used a later revision of the floppy controller electronics (revision G vs. revision C), and the jumpers were very different. I puzzled out most of the jumpers and got it to work, but I was able to buy manuals for this type of drive from Herb Johnson, "Dr. S-100". With the manual I was able to fine tune things. Here is what I ended up with (if not mentioned, it isn't jumpered):

Jumper Use
HUD, not HUN HUD = head unload delay
HUN = head unload normal
WP, not NP inhibit write when write protected
JFG, not JSG connect frame ground to signal ground
A radial head load
B radial head load
C alternate input HEAD LOAD
not X radial head load
SI, not SE use internally generated write current switch
RS, not RM ready standard (vs ready modified)
RFa, not RFb RFa = don't remove
RFb = keep open
IT IN USE terminator
MS, not MO MS = motor on from drive select
MO = motor on from head load
neither jumpered means motor always on
S2 standard side select input
I INDEX output
R READY output
Z, not Y IN USE LED based on drive select
HY, not HR HY = standard ready
HR = hold ready
M2, not M1 USE J1 pin 18 for motor start
PS, not PH PS = head load and'd with standard ready
PH = head load and'd with hold ready
DS1 (or DS2) as appropriate

The combination of (A & B & C & !X) means that the head load solenoid is active when both the drive select signal and the head load signals are active. Jumpering as (A & !B & C & X) means it is active based on the drive select signal. Jumpering as (!A & B & C & X) means it is active based on the head load signal.

The XOR S-100-4 manual also says to remove the jumper at Z and add a wire jumper at Y, but it only affects the "IN USE" LED and I didn't feel like adding wires, so I left the Z jumper in place. The software seems to activate the drive select and head load signals simultaneously anyway.


Here are a few other links of significance on the XOR computer:


If you want to contact me for whatever reason, try me at jim@thebattles.net.