Lo-tech ISA ROM Board

From Lo-tech Wiki
Jump to navigation Jump to search
ISA-ROM-Board-Assembled.jpg

The Lo-tech ISA ROM Board (currently rev.3) is a simple and cheap to make 8-bit ISA board that provides a 32 or 64KB ROM via a flash chip, which can be (re)programmed a practically limitless number of times directly within the host PC via the lo-tech XT-CF flash utility. The board supersedes the Lo-tech 8-bit ROM Board.

This board can be purchased online via the TexElec Store.

Features

  • Can be used to store any ROM image (or images) in any PC with an ISA slot
  • In-system re-programmable via the lo-tech XT-CF flash utility
  • DIP switches allow address base selectable between 8000h and F800h and configuration as either 32KB or 64KB
  • DIP switch settings printed on board solder side
  • Can be used in IBM Personal Computer XT System Board Slot 8.
  • Uses only through-hole components, for simple home assembly.

To buy this and other PCBs, please visit the lo-tech shop.

PCB

The Lo-tech ISA ROM Board rev.3 PCB supersedes the Lo-tech 8-bit ROM Board, and has a revised BoM.

Use of this design is provided subject to the lo-tech.co.uk Terms and Conditions.

FAQ

How can I buy a PCB or kit?

Please visit the Lo-tech Shop

Do you offer ready-made boards?

The Lo-tech PCBs and kits are offered primarily as self-assembly kits.

Is there an assembly guide?

Please see Lo-tech PCB Assembly - General Notes.

How does it work?

The ISA bus consists of address signals ('address lines'), data lines, and read/write command lines. For each bus cycle, the address lines are set first, and the values held. Then on the next cycle, the read or write command signal is asserted, instructing the selected device to present or store data.

The values on the address lines are matched to the values set with the DIP switches by IC2, and when the values match the chip-select (ROM-CS) signal is asserted on the flash chip IC1. Next, the read or write command line is asserted, causing the flash chip to present or store data at the specified address.

The DIP switches provide a logic 1 or 0 (high or low) by being connected directly to 0V on one side, and to 5V on the other via 10K-Ohm "pull up" resistors. In the ON position, the connection to 0V 'wins' and a logic low (0V) is observed. In the OFF position, the only connection is to 5V via the resistors, so a logic high (5V) is observed.

To work in IBM Personal Computer XT System Board Slot 8, the card echos the read command back to the PC via a 'Card Select' line (ISA pin B8), which is done by a pair of NOR gates wired together in IC3. IC3 is an 'open collector' device, meaning it only drives the signal to a logic low (0V) - when ISA B8 is not driven by IC3, another device in the PC can drive it instead.

Bill of Materials

In addition to a blank PCB, these following parts are required to build a functioning board. When ordering a complete kit, everything in the table below, or equivalents, are included.

Part Device Package Qty Farnell Mouser
IC1 SST39SF010A-70-4C-PHE DIP-32 1 1896595 804-39SF010A7CPHE
IC2 74HCT688N DIP-20 1 382504 771-74HCT688N
IC3 74LS33N DIP-14 1 2076566 -
R1, R2 Carbon Film Resistor 10K - 2 9342419 279-CFR25J10K
RN1 10k Bussed Resistor Network Bournes 4608X-101-103LF 1 9356371 652-4608X-1LF-10K
C1..3 0.1uF Ceramic Capacitor C025-030X050 3 2112751 581-SR205E104MAR
C4 10uF Electrolytic Capacitor E2-5 1 8767084 647-UVR1C100MDD
Sw1 MULTICOMP MCNDS-08-V DIP16 1 9471596 774-2068ST
IC Socket (DIP32) - DIL32 1 1654375 571-1-390263-2
IC Socket (DIP20) - DIL20 1 1101349 571-1-390261-6
IC Socket (DIP14) - DIL14 1 1101346 571-1-390261-3
  • Board design permits the use of a range of DIP-32 flash chips or 1, 2 or 4Mb:
  • Regardless of the chip used, the first 32KB or 64KB (only) will be mapped into the PC address space
  • Base address configuration per DIP Switch Settings

DIP Switch Settings

Summary

Switch Function On Off
1 Slot-8 Function Enabled Disabled
2 ROM Enable Enabled Disabled
3-8 Address Selection (see below) - -
  • For 32KB operation, set 3 as required, 7 Off and 8 On
  • For 64KB operation, set 3 On, 7 On and 8 Off

32KB Address Mapping

Base Address Sw3 Sw4 Sw5 Sw6 Sw7 Sw8
8000h* On On On On Off On
8800h* Off On On On Off On
9000h* On Off On On Off On
9800h* Off Off On On Off On
A000h On On Off On Off On
A800h Off On Off On Off On
B000h On Off Off On Off On
B800h Off Off Off On Off On
C000h On On On Off Off On
C800h Off On On Off Off On
D000h On Off On Off Off On
D800h Off Off On Off Off On
E000h On On Off Off Off On
E800h Off On Off Off Off On
F000h On Off Off Off Off On
F800h Off Off Off Off Off On

* Note that these ranges aren't valid for option ROMs in PC architecture.

64KB Address Mapping

Base Address Sw3 Sw4 Sw5 Sw6 Sw7 Sw8
8000h* On On On On On Off
9000h* On Off On On On Off
A000h On On Off On On Off
B000h On Off Off On On Off
C000h On On On Off On Off
D000h On Off On Off On Off
E000h On On Off Off On Off
F000h On Off Off Off On Off

* Note that these ranges aren't valid for option ROMs in PC architecture.

Sample ROM Image Files

8-bit IDE

A customised build of the XTIDE Universal BIOS (based on build r443) to enable CompactFlash media to be used connected to a standard 16-bit ISA IDE controller but installed in an 8-bit XT-class machine. The IDE controller must be using standard ports 1F0h and 3F0h.

Testing with with Diamond Flower MIO-400 KF REV F and Goldstar Prime 2 controllers, and expected to work with any standard IDE controller using the specified port addresses.

See http://code.google.com/p/xtideuniversalbios for official builds of the XTIDE Universal BIOS and source code.

Note, this is now an officially supported operating mode of the XTIDE Universal BIOS.

High-Density Floppy

XT compatible BIOS images to run high-density floppy drives, for example from 16-bit ISA multi-IO cards.

See Also