JAIR 8080 Build Notes
Andrew B's notes from building a Rev 1 JAIR 8080 Card.
High-resolution photos of my completed board:
My primary reference in building this card was the Rev 2.4 'SD Card Image.zip' file located at the bottom of the Rev 1 board page on S100Computers.com. A detailed PDF manual for the board is located in that .zip file. However, there are a few additional notes which other builders may find useful, I have collected them below.
ECOs 1 & 2
These ECOs are described in a post on the S100Computers Google Group -
Josh Bensadon Oct 10, 2016 7:01 PM Posted in group: S100Computers I am pleased to say there are 2 new fixes for the JAIR 8080. Fix #1. Some 16550 chips and some 8250A chips were reported to be not working. Even the UARTS that did work, would occasionally do something weird or not initialize correctly. It has been found that a latch pin on these chips was left floating. The schematic is correct but this pin must have been missed in KiCad. Please install a jumper wire between pin 25 and pin 22 (ground) on the UART chips A5 and A6. Fix #2. Even though the Stack Pointer is initialized with lots of stack space at cold boot, CP/M uses it's own temporary stack within it's code. This stack was not large enough to handle the complexity of writing large files on the SD card (where it had to push more to jump through the FAT). Version 2.5 attached fixes this by having the bios make it's own temporary stack. Thank you to Thomas and Stephen for reporting these errors. A new manual and SD Card files will be updated soon (hopefully by the end of the month). I wish to make some changes to the CP/M Disk Explorer to make it automatically fetch the DPT values like the firmware does. It should be noted, that presently, CP/M Disk explorer must have it's DPT values changed to match the disk-image-file prior to being opened. I also wish to add some more documentation to the manual. Regards, Josh Bensadon
The image below shows the 2 jumpers installed on my board:
SD Card Type & Preparation
The SD card used with the JAIR board should be a plain 'SD' card, not an 'SDHC' or 'SHXC' card. SD cards with capacities < = 2GB are typically plain SD. SDHC and SDXC cards will be labeled as such on the card per the SD specification. The image below shows a suitable SD card for use with the JAIR-8080:
The card needs to be formatted with a single FAT16 partition. The partition 'type' in the MBR partition table must be either type 0x04 (FAT16 < 32MB) or 0x06 (FAT16 > 32MB but < 2GB). Modern Windows OSes format FAT16 partitions as type 0x0E, which is FAT16 > 2GB with INT 13h LBA addressing extension.
In Windows, 3rd party tools such as MiniTools Partition Wizard are needed to create a type 0x06 partition and format it. In Linux, gparted or other similar tools can be used to set the partition type, and the mkdosfs command line tool will format it with the correct FAT16 filesystem. Once the SD card has been formatted, Windows has no problem with using the drive.
To assist other builders, I have created an image file of a properly formatted 1GB SD card containing the Rev 2.5 BIOS.HEX + Rev 2.4 CPMDISKS.TXT, DISK-A.BIN, DISK-B.BIN, DISK-C.BIN, and DISK-D.BIN. This image may be written to an SD card using the cross-platform program Etcher. (Note - Etcher will work from the .zip file directly, no need to extra the entire 1GB file!)
1GB SD Card image - jair8080-2pt5-1gb-sd.zip
Further details on the SD card partition type can be found in this thread on the S100Computers Google Group.
Arrow Electronics - 71.39
Jameco - 73.11
eBay (8224 and 74LS30) - 16.78