• Please review our updated Terms and Rules here

Imsai FIF FDC project

jhalbrecht

Experienced Member
Joined
Mar 25, 2015
Messages
93
Location
Mesa, Az
I recently acquired another set of Imsai Calcomp drives and a two board set of an FIF FDC consisting of the FIB and IFM cards as well as all necessary cabling - between the cards, card to rear panel and a ribbon cable from the back of the Imsai to the drive enclosure. I spent a good part of today enhancing my Imsai 8080 page with resources manuals and a couple more images. Trying to gather as much information in one spot.

I call this "The Money Shot" as in way too much money spent on old timey computers I really wanted that FIF set though.

Imsai Full Stack.jpg

Hamlin 7521d Solid State Relay

Hamlin 7521D Electronic Relay.jpg

I opened up the FDD cabinet and noticed this relay. It's obviously added by a user, I'm wondering if anyone might have an idea why? My guess was to control it remotely perhaps from the computer? Like a tape drive control on a Sol-20... Note the ends of the brown and tan wires on the VDC side. I don't like that they apparently swapped HOT and Neutral between the power cord and power supplies. I'm going to bypass it but I'm curious.
 
I wouldn't be surprised if the relay is to cut out the spindle motors on the 8" drives. I've got a set of RX02 drives modified with just a mechanical switch to cut out the spindle motors on one or both drives. Presumably someone was worried about having a disk spun up for hours when there was no actual data access happening. Presumably your Calcomp drives have head load solenoids so it wouldn't be as bad as leaving, say, 5.25" drives with no head load solenoids running long-term, but perhaps there's added wear on the disk from just spinning in the jacket.
 
Yes, the Calcomp drives used in the IMSAI box have head-load solenoids. Not my favorite drives by a long shot--one nasty is that the DC power is on the same 40 pin connector as the signal lines. Stick the connector in "backwards" and you have (a) melted ribbon cable or (b) blown power supply fuse. In comparison to the Shugart SA800, the drives always felt a little chintzy.
 
Blam goes the tantalum

Blam goes the tantalum

Blam goes the Tantalum C21 on the IFM Rev 6 board. I don't have any schematics for the IFM or the FIB boards. Has anyone seen schematics for these boards?

C21 goes from ground to the input of a 7812. of the three or four capacitors there I can read they say 33 25v. I see a .1uf on the input of a 7812 on the MPU-A board. I probably should change them all. Suggestions for value?

IFM blown capacitor.jpg
 
Ifm p0 p1

Ifm p0 p1

I wouldn't be surprised if the relay is to cut out the spindle motors on the 8" drives.

The relay is on the entire primary to the power supply.

Check this out on the IFM board I found a place where those relay wires must have gone.

IFM P0 P1.jpg
 
SIO Configuration

SIO Configuration

I recently acquired another set of Imsai Calcomp drives and a two board set of an FIF FDC...

To recap. I'm attempting to restore this Imsai with Calcomp drives to functionality. The Imsai 8080 and Imsai FDDs look to have been a working set. All the cards had necessary internal and external cables.

I'm working on the SIO now. I'm going to need a console. I'd like to document it's original, or as received, configuration. I've saved images of all the cards as received here.

I'm hoping someone comfortable with the SIO jumper settings can verify how the SIO is currently configured. I've read the manual a couple times. It looks to me like it's configured as RS-232 on I/O port 0 at 1200 baud on the left side edge connector. Looks like the other edge connector baud rate is not set. Eventually I'd like to verify this as console setup or reconfigure as such.

SIO Rev 3 Front.jpg High resolution image of this SIO here

I'm not positive about location A3 pins 7,8,9 and 10. Is that just choosing DCE / DTE? My SIO has A3 pin 7-9 and 8-10 crossed, the example jumpers have them straight 7-10 and 8-9

Imsai SIO Suggested Settings.jpg

I fired up the Z80 SBC I built and ran "Survey" with and without the SIO in the system. It's indicating to me that the SIO is configured at base port 0. Note the DDT run where I IN through the ports and get some data back on a couple of the ports,.

ImsaiSioPorts.jpg

I found a little monitor program by John Garza in hist files section (Check out hist pictures directory, some cool shots of his bench(s)) I pulled some code to create a little test. Othere monitors and Imsai documents appear to be pointing to base port 0 for a likely console location Base+2 I'm running this code in the Imsai 8080 with the 8080 cpu and Martin's 88-2SIOJP - I'm not doing testing, other than running 'Survey' in the SBC.



Code:
                ; jsio.asm jha 8/2/2018 testing sio
                ; https://wiki.theretrowagon.com/wiki/Imsai_8080
                ; from a Monitor program code by John Garza 
                ; http://jgarza.sdf.org/files/M72.ASM
                
                ;------------------
                ;IMSAI 8080 EQUATES
                
 00FF =         LEDS	equ	0FFh	;IMSAI front panel output LEDs (top left)
 00FF =         SWCH	equ	0FFh	;IMSAI front panel input switches (left)
 0003 =         TTS     equ     03h     ;SIO channel A command port
 0002 =         TTI     equ     02h     ;SIO channel A data port (yes input=output)
 0002 =         TTO     equ     02h     ;SIO channel A data port
 0002 =         TTYDA   equ     02h     ;tty data available (ready to receive?) 
 0001 =         TTYTR   equ     01h     ;tty terminal ready (ready to transmit?)
                
                ;------------------
                ;ASCII characters used
                
 0000 =         NUL				EQU		0		; NULL (ZERO)
 000D =         CR				EQU		0DH		; Carriage return
 000A =         LF				EQU		0AH		; Line feed
 0008 =         CTRH            EQU     8       ; Ctl H Backspace
 007F =         DEL             EQU     127     ; Delete char
 0009 =         TAB             EQU     9       ; Tab char
 0018 =         CTRX            EQU     24      ; Ctl X Cancel
 0013 =         CTRS            EQU     19      ; Ctl S Suspend
 0011 =         CTRQ            EQU     17      ; Ctl Q Resume
 00F7 =         APOS            EQU     (39-'0') AND 0FFH  ;apostrophe
                
 0100               org 0100h
                jcot:               ; loop printing '7'
 0100 DB03          in TTS
 0102 E601          ani TTYTR
 0104 CA0001        jz jcot
 0107 3E25          mvi a,37        ; ASCII 7
 0109 D302          out TTO         ; Try to print to serial terminal
 010B C30001        jmp jcot
 010E               end

This code loops in jcot: and the jz cot never making it to pc 107. I also tried just writing to port 2 without the status test. Nope.

Does anyone have a know working SIO as a RS-232 device at base port 0? Can you comment and/or share an image of your configuration?

Thanks, - Jeff
 
Last edited:
SIO Success

SIO Success

It works! Success.

This code works for me. It echos the keyboard to the screen. I configured the A3 jumpers as in the Imsai documentation. The trick was the software initialization. Now where is channel 1? BASE port + x? I better configure and test it too.

Code:
; jsio.asm jha 8/2/2018 testing sio
; https://wiki.theretrowagon.com/wiki/Imsai_8080
; Originally from a Monitor program code by John Garza hence the EQUates
; http://jgarza.sdf.org/files/M72.ASM
;
; Important init code from VCF forums
; handy VCF threads for configuration
; http://www.vcfed.org/forum/showthread.php?64964-Imsai-FIF-FDC-project
; http://www.vcfed.org/forum/showthread.php?37137-How-to-get-output-from-SIO-with-Intel-8251A-USART
; 

;------------------
;IMSAI 8080 EQUATES

LEDS	equ	0FFh	;IMSAI front panel output LEDs (top left)
SWCH	equ	0FFh	;IMSAI front panel input switches (left)
TTS     equ     03h     ;SIO channel A command port
TTI     equ     02h     ;SIO channel A data port (yes input=output)
TTO     equ     02h     ;SIO channel A data port
TTYDA   equ     02h     ;tty data available (ready to receive?) 
TTYTR   equ     01h     ;tty terminal ready (ready to transmit?)

    org 0100h
init:
    mvi a,0    
    out TTS
    out TTS
    out TTS
    mvi a,040h
    out TTS
    mvi a,04eh  ; 8,1,n
    out TTS
    mvi a,037h
    out TTS

inout:               ; loop read from serial, write it to serial. Serial terminal echo.
    in TTS
    ani TTYDA        ; DATA available?
    jz inout
io1:
    in TTS
ani TTYTR           ; ready to receive?
    jz io1
    in TTO          ; read character
    out TTO         ; write
    jmp inout       ; repeat
    end
 
A3 works both ways

A3 works both ways

It works! Success.

This code works for me. It echos the keyboard to the screen. I configured the A3 jumpers as in the Imsai documentation. The trick was the software initialization. Now where is channel 1? BASE port + x? I better configure and test it too.

I tried it with the A3 jumper in both configurations, it works both way. They change DTR and DSR and may be more important if I try some XMODEM... or need handshaking for a printer or modem...
 
Channel B equates

Channel B equates

Now where is channel 1? BASE port + x? I better configure and test it too.

I found the equate for the second channel, channel B (on the right hand side) just add 2. I put both channel equates in the test code. Comment out the one you're not testing.
Code:
; jsio.asm jha 8/2/2018 testing sio
; https://wiki.theretrowagon.com/wiki/Imsai_8080
; Originally from a Monitor program code by John Garza hence the EQUates
; http://jgarza.sdf.org/files/M72.ASM
;
; Important init code from VCF forums
; handy VCF threads for configuration
; http://www.vcfed.org/forum/showthread.php?64964-Imsai-FIF-FDC-project
; http://www.vcfed.org/forum/showthread.php?37137-How-to-get-output-from-SIO-with-Intel-8251A-USART
; 
; works with straight through cable
;

;------------------
;IMSAI 8080 EQUATES

LEDS	equ	0FFh	;IMSAI front panel output LEDs (top left)
SWCH	equ	0FFh	;IMSAI front panel input switches (left)

; channel a
;TTS     equ     03h     ;SIO channel A command port
;TTI     equ     02h     ;SIO channel A data port (yes input=output)
;TTO     equ     02h     ;SIO channel A data port

; channel b
TTS     equ     05h     ;SIO channel B command port
TTI     equ     04h     ;SIO channel B data port (yes input=output)
TTO     equ     04h     ;SIO channel B data port

TTYDA   equ     02h     ;tty data available (ready to receive?) 
TTYTR   equ     01h     ;tty terminal ready (ready to transmit?)

    org 0100h
init:
    mvi a,0    
    out TTS
    out TTS
    out TTS
    mvi a,040h
    out TTS
    mvi a,04eh  ; 8,1,n
    out TTS
    mvi a,037h
    out TTS

inout:               ; loop read from serial, write it to serial. Serial terminal echo.
    in TTS
    ani TTYDA        ; DATA available?
    jz inout
io1:
    in TTS
ani TTYTR           ; ready to receive?
    jz io1
    in TTO          ; read character
    out TTO         ; write
    jmp inout       ; repeat
    end
 
Imagedisk ISA 16 bit AHA-1542cf for boot

Imagedisk ISA 16 bit AHA-1542cf for boot

I recently acquired another set of Imsai Calcomp drives and a two board set of an FIF FDC consisting of the FIB and IFM cards as well as all necessary cabling ...

I've been messing around for a couple days now just trying to swap in an Adaptec AHA-1542cf into one of two machines I have with ISA 16 bit slots. On a 486 I disabled the FDC with a jumper on the controller. Still the floppy on the AHA-1542 didn't seem to be recognized. I could ^a for the onboard configuration of the AHA-1542.... I also tried another computer with the ISA bus with a BIOS disable of the onboard FDC controller. Still the AHA-1542 FDC didn't work.

Last night I bought a Pentium with one ISA 16 slot from a nearby craigslist sale. and I found a couple more AHA-1542cf's. None of the three Adaptec cards have an Intel FDC so hopefully I'll be good to go for Imagedisk, but I can't seem to get any of these three machines to read floppy disks with the Adaptec after disabling their original FDCs.

I seem to remember using this card for SCSI back in the day. I don't remember any trouble with them.

I have switch 5 set off / open.

Any suggestions? before I post in the PC genre forum?
 
Run TestFDC on the Adaptec card first, not all of them use a FDC chip that will do single-density or 128 byte sectors.
 
An FDC chip that can read or write FM will also be 128-byte sector capable. I know of no exceptions.

However, very few PC FDC chips can handle 128-byte MFM sectors. Probably just as well, as there were very few systems that used them. Jade and one of the early Superbrain systems come to mind. When IBM went from FM-128 3740 to MFM-256 System/3 format, they did not include MFM 128 byte in their specs, so naturally most vendors didn't support it.
 
ImageDisk progress; Silly BIOS single floppy

ImageDisk progress; Silly BIOS single floppy

Well this is kinda silly... This BIOS is only supporting one Diskette.... Not like it's going to have an entry for 8" floppy though... ;-)

Before attempting to find and write an 8" boot disk for my Imsai FIF project I'll try a proof of concept first if I can find a California Computer Systems (CCS) boot image. I have a working CCS system that I know boots as I have a bootable media....

StupidBios.jpg
 
Imagedisk Proof of Concept Success!

Imagedisk Proof of Concept Success!

Before attempting to find and write an 8" boot disk for my Imsai FIF project I'll try a proof of concept first if I can find a California Computer Systems (CCS) boot image. I have a working CCS system that I know boots as I have a bootable media....

I didn't find a CCS .IMD image but I did find a CompuPro Z80 .IMD boot disk. I successfully wrote it and booted. Imagedisk system is an eight inch Shugart 801 in Problem Solver Systems single drive cabinet on Pentium III. Imagedisk didn't work for me under win98, but I booted to msdos where it worked fine.

Capture.jpgImagediskSetup.jpg

I found the CompuPro boot .IMD image at Daves Old Computers - Application Software Disks where I didn't find any Imsai disks. Are there any other treasure troves of .IMD files where I might find an IMDOS or preferably CP/M boot disk for an Imsai with a FIF FDC?

Making progress. - Jeff
 
Imsai 8080 MPU-A ROM Monitor success

Imsai 8080 MPU-A ROM Monitor success

I'm hoping that this thread will eventually lead to a boot from floppy from the CalComp eight inch disk. Meanwhile Some relevant information has come up in a couple other threads. There are a few folks that I wanted input from that don't have accounts here hence some discussion at other forums.

I've placed MEMON80 in eprom and installed it at F800 in a Tanner 64k Static RAM board.


I use MEMON80 to load the mpu-a-monitor.hex found in z80pack... I installed my MIO as the monitor is looking at the keyboard parallel port status to determine which device will be input. Without the MIO you'll get erroneous data from a non existent port... I guess my MIO works too. Although I don't have a parallel keyboard hooked up, yet, no keyboard so keyboard port not ready. Hit space on the SIO serial terminal and the Imsai monitor came up.


Code:
IMSAI IEEE MONITOR    VERS 1.0 
?D F800 F810 

F800  F3 AF 57 C3 1F F8 C3 CE FD C3 C3 FD C3 B6 FD C3  ..W............. 
F810  D5  . 
?

Back to learning how to creat some boot media....

WTB Imsai IKB-1 keyboard.

I have a bunch of keyboards but they aren't Imsai! ;-) and look to be large projects on their own.
 
Back
Top