Bootstrap
logo Floppy Disk Controller

Floppy Disk and Serial Controller

Last revision of this chapter: February 9, 2025

Image created with AI in Bing Image Creator by retrocmp.de

A few month ago, I was able to buy two unpopulated circuit boards that someone had left over for very little money. The "ISA Floppy Disk and Serial Controller" by Sergej Kiselev (from 2012). The special thing about this controller is that it is suitable for the IBM 5150 and can read and write both FM and MFM (FDC: PC8477BV). It also has a serial interface. In combination with an MDA, HGC or CGA card, both form a perfect team.

Test System

IBM PC 5160 (16-64KB)

Note: The RAM combination of 64+640=704KB only works with the Super BIOS and an MDA or HGC card! With a CGA card even 736KB would be possible!

See here for the 1st MB memory map.

Project Diary

Assembly and Soldering

(16.01.2021)

ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Sergej Kiselev

The FD controller (PC8477) is not listed in the BOM. I got three on ebay US (NOS) for very little money. Beware of cheap bids from Asia! For the other parts you have to pay about 31 EUR without VAT (Mouser, Dec 2020).

BOM Mouser
Bill of materials (BOM) - Mouser

And already done! Soldering took a maximum of two hours, with a break for lunch. After all, it's supposed to be fun.

ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Sergej Kiselev

The PCBs are of good quality and the components could be soldered without any problems.

ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - ROM configuration

A First Quick Test

(16.01.2021)

Switch SW1: Serial port configuration

Switch SW2: EEPROM & ROM address configuration

A quick test: IBM 5150, 64KB, Super PC/Turbo XT BIOS v3.1 (Jon Ρetrosky and Ya'akov Miles) / Hooray, it works perfectly. I only had to delete all the preset floppy drives in the floppy BIOS first, then set up a 360K as physical and logical drive 0, save the floppy BIOS and that was it!

I had to use MS-DOS 2.11 or PC-DOS 2.0 because PC-DOS 3.30 is too large for the 64 KB RAM.

ROM Address Selection

(17.01.2021)

Update: 20.01.2021
Strange, three days ago it worked perfectly with the start addresses 0xF0000, 0xF2000 or 0xF4000. Today it no longer does. No idea why. I have now set the FDC BIOS to the address 0xEE000; see blow SW2-2.7. And yes, I have set the „Expansion ROM search start and end segment“ correctly in the Super PC/Turbo XT BIOS.

Switch SW2: EEPROM & ROM address configuration

See here for the 1st MB memory map.

What a pity, it would have been too good if it had worked out with the F addresses. Then I could have assigned a full third page (0xE0000-0xEFFFF) with HIGH RAM.

Lo-tech 1MB RAM Board

(21.01.2021)

The Lo-tech 1MB RAM board by Kevin R. Williams (texelec).

With the following configuration, 704KB of conventional memory are available for DOS (640KB + 64KB). Furthermore, there are two complete pages (2 x 64KB) in the UMB as so-called HIGH RAM (Not to be confused with High Memory Area - HMA). See screenshot (1) below.

Lo-tech DIP switch settings
Lo-tech DIP switch settings (Page = Segment => 4 digits)

USE!UMBS (V2.0)

To be able to use these two blocks (2.5, 2.6) in the UMB, you still need further software to be able to load drivers into the HIGH RAM. I use USE!UMBS by Marco van Zwetselaar for this.

Read the USE!UMBS Documentation very carefully. There are lots of information in here. The USE!UMBS.SYS has a special feature. You have to patch it with DOS DEBUG for your very special segment settings (start segment and length). Once you understand how it works, it is quite simple.

My start segment is: C000 / length is: DFFF - C000 = 1FFF


-----
segment  length
C0 00    1F FF
 \ /      \ /
 / \      / \
00 C0    FF 1F -> DEBUG byte sequence

00 00    00 00 -> END mark
-----
DEBUG USE!UMBS.SYS
-E153
16B7:0153 AB.00 23.C0 AA.FF 1A.1F CF.00
16B7:0158 C4.00 AB.00 12.00
W
Q
-----
CONFIG.SYS

DOS=UMB
DEVICE=USE!UMBS.SYS
-----

USE!UMBS (V2.2)

... to be continued ... maybe ...

Some Screenshots

(13.06.2021)

ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Screenshot (1)
ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Screenshot (2)

In screenshot (2) you can the ISA FDC BIOS configuration menu. Just press F2. Here you can set your floppy drives and write the new BIOS back, if you have a EEPROM and writing is enabled (SW2.2 ON).

ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Screenshot (3)
ISA Floppy Disk and Serial Controller - Sergej Kiselev
ISA Floppy Disk and Serial Controller - Screenshot (4)