PDA

View Full Version : Tei computer



Roland Huisman
April 27th, 2017, 02:05 PM
Today I've picked up an old TEI S100 system. It has a 8085 CPU. The previous owner used
it for a decade as an external floppy drive on an IBM compatible machine... How low can you go.
Well it probably saved the machine it's live... :-)

The machine has a very, very nice construction. A pleasure to look at.
Unfortunately the floppy controller is missing. There are only a CPU , I/O and memory board.

The drives are MPI B52 models. DSDD, that is why they could work on an IBM compatible...
I found out that Tei had an FDC-2 and FDC-3 floppy controller card. The FDC-2 has
an 1771 and the FDC-3 an 1791. I would expect that the machine had an FDC-3 controller
because only this controller could use the full capacity of the floppy drives...

But FDC-2 or FDC-3, it doesn't matter. I can't find any software for this machine.
Does anyone have software images for these Tei machines?

37987 37988 37989
37995 37994 37990 37991 37992 37993
37996 37997 37998 37999 38000 38001

This is a bit special... A constant voltage transformer in this computer...
You can see the AC capacitor at the arrow. http://www.circuitstoday.com/cvt-constant-voltage-transformer
38010

Thanks in advance!

Regards, Roland

glitch
April 28th, 2017, 05:37 AM
Nice find! As you've noted, TEI did make some really well built boxes, I've got one of their smaller units...10 slots I think? CVT like yours, but the CVT in mine is *very* loud, almost like there's a loose lamination or something. I've got an 8080 CPU and 16K of TEI static RAM in mine, those are the only TEI boards I currently own.

I've avoided buying a TEI floppy controller for the same reason you've encountered -- no software, no documentation! There are many examples of customizing CP/M for 1771 or 1791 FDCs of course. I'm currently using a North Star MDC-A4 single-density hard sectored controller in my TEI chassis, when I use floppies with it.

Roland Huisman
April 28th, 2017, 12:03 PM
Thanks for your reply! This is your cpu card?
http://www.glitchwrks.com/2016/05/31/tei-8080-cpu

Interesting to see that jump address. I guess you can jump to the
start address of a floppy controller or an address on an eprom board?

There is a dipswitch on my cpu board, and an 2716 eprom.
I don't think the dipswitch is for a jump startaddress. But maybe there
are a few preset jump addresses in ROM selected by the dipswitches?

I want to read the rom to check what's in it. My programmer
can read only 2732 and bigger. So I have to make a little converter.

Regards, Roland

glitch
April 28th, 2017, 12:10 PM
Yes, that's my CPU board! The jump address lets you jump into whatever code you like, a monitor EPROM or a bit of boot code, et c.

Your board probably just jumps into the EPROM on power-up and/or reset -- many S-100 boards simply turned off the bus drivers and caused the first few reads to come from the EPROM, regardless of what was in the system. In that case, the first three bytes of the EPROM are usually a jump into the proper EPROM address. Some boards implemented it as a hardware jump (like my board) but it was tied to the address selected for the EPROM. The boards may or may not support /PHANTOM for the EPROM. I've seen other arrangements where writing to the EPROM address range would actually write to memory, so the EPROM could copy itself into RAM and then switch off.

Roland Huisman
April 29th, 2017, 01:15 PM
Here you can find the content of the eprom on the cpu board: 38140

In a text editor you can see these text strings:
"Stock Control International micro DOLPHIN"
"Met welke drive wilt U beginnen ?" (Dutch for: with which drive do you want to start?)
"MEER DAN 10 RETRIES !" (Dutch for: more than 10 retries !)

So the eprom is modified by "Stock Control International" which once sold this computer.
You can also find "Stock Control International" on the black label on the back of the machine.

To display these start up texts, the eprom must also contain information about the serial card.
And besides that, the start address of the original fdc must be in it too...

I wonder if there is a debugger in it. There is quite a lot of code in it...
Maybe someone recognises the code?

Does anyone know a good 8080 disassembler for Windows?

Regards, Roland

nib
April 29th, 2017, 04:03 PM
For a disassembler, try DASMx (http://myweb.tiscali.co.uk/pclare/DASMx/). It does very good multi-pass disassembly and it lets you input your own symbol table to define labels or regions. I used it for a monitor ROM. The best part is that you can run it once and then use that output to define symbols before running it again. By doing a few iterations, you can build up a better assembly source as you figure out the code.

Roland Huisman
May 3rd, 2017, 01:08 AM
Thanks, I will try the DASMx. I'm really curious what to find....

Roland Huisman
June 17th, 2017, 10:00 AM
I've been looking at the cpu board for a while. And figured out that the
8 dip switches are for address setting. Funny how a few addresses were swapped.
The read out is done by two DM74L85s.

The switches in the on state give a zero. The address seems to be set at F0xx
I wonder, what would this address be? The floppy start address? Or the EPROM address? Or...?

S1 = A15 (off = 1)
S2 = A12 (off = 1)
S3 = A14 (off = 1)
S4 = A13 (off = 1)
S5 = A11 (on = 0)
S6 = A10 (on = 0)
S7 = A9 (on = 0)
S8 = A8 (on = 0)

39149

Regards, Roland

Roland Huisman
June 17th, 2017, 02:32 PM
Hmm a short test... I've put in E800 (Northstar FDD controller start address) with the switches.
Pulled out the CPU board out of my Northstar Horizon and put in the Tei controller.

After hitting reset the floppy starts to read. So then I think it is a Jump address...

I don't see anything appearing on the screen. I guess CP/M crashes because
this board has a 8085 and not a Z80...

But why on earth is there an eprom if there is a jump address? The original address
setting is F0xx. So I wonder if F0xx is the start address of the eprom...
I think I'm going to burn a jmp E800 in an eprom and see what happens then.

Sadly no documentation at all about these Tei CPU 85 boards...

Regards, Roland

glitch
June 17th, 2017, 03:04 PM
CP/M will run on an 8085, but if you have a version that does use Z80 opcodes, yes, it will crash! North Star DOS will also work with an 8080/8085 unless it has been customized for a system with a Z80.

The EPROM may be a ROM monitor, to allow doing system maintenance without having to boot a diskette. Many ROM monitors are like this, and also support jumping to a floppy boot routine (looks like yours does that, since you found a string asking which floppy to boot from).

Roland Huisman
June 18th, 2017, 04:19 AM
So I've put in an EPROM C3 E8 00. Lets see. Nope.. Nothing...
And then I thought, hey there was something about that address. Low Byte first then the High Byte.

So tried again. Now with: C3 00 E8 in the EPROM. And yes! The FDC starts to read!
The dip switches on F0xx seem to be the start address of that EPROM.

So you can use this board without EPROM and just put in a jump address to a FDC controller or whatever.
Or you can put in a monitor program or whatever in that EPROM and just set F0xx in the dip switches....



CP/M will run on an 8085, but if you have a version that does use Z80 opcodes, yes, it will crash! North Star DOS will also work with an 8080/8085 unless it has been customized for a system with a Z80.

Well, I've no idea if and how the CP/M for the Northstar is optimised for the Z80. My first guess is that it is optimized
because the Northstar primary is a Z80 machine. (As far as I know never sold with a 8080, please correct me if I'm wrong.)

I don't know if I have NS-Dos. Have to look...


The EPROM may be a ROM monitor, to allow doing system maintenance without having to boot a diskette. Many ROM monitors are like this, and also support jumping to a floppy boot routine (looks like yours does that, since you found a string asking which floppy to boot from).

Yes you are right. After turning on this machine if should display that message before booting at all.
The little problem here: Nothing shows up on the serial port. Maybe this has something to do with
the missing floppy controller.

At lease I know now how to use the CPU board.

The serial card can be a problem as well... Maybe I can run the eprom code in an emulator to see
which addresses are used to output the text messages... This should tell a bit more about the serial card.

The 64K memory card is probably set with a little memory hole for the fdc etc...

I could just put in a new known board set in the Tei machine. Then it will run in no time.
But I prefer to figure out these original cards... Otherwise it isn't a Tei machine any more...

It seems your Tei CPU board has an empty socket too. Would that be a front panel connector?
http://www.glitchwrks.com/2016/05/31/tei-8080-cpu

Regards, Roland

glitch
June 18th, 2017, 06:08 AM
Yes, that's an IMSAI-style front panel connector in the top right corner.

You can get CP/M for the North Star controller without Z80 code as North Star originally sold their single-density controllers as a separate product for S-100 system owners. I currently use a North Star single-density controller with my IMSAI, with an 8080 CPU board. I believe Mike Douglas or Martin Eberhard has ported CP/M 2.2 to the North Star single density controller as well, so there's that if the North Star double density CP/M does in fact include Z80 opcodes.

CP/M may also be getting stuck at the console I/O initialization or one of the character output routines -- if your serial console port isn't at the address that it's expecting, it could be sitting there waiting for a flag bit to flip in the status register, which will never happen if the UART is at the wrong address. It does look like your serial I/O board uses Intel 8251A UARTs, like the North Star, so it's probably possible to address it appropriately for unmodified North Star CP/M and North Star DOS. You can probably disassemble the ROM monitor and figure out which I/O ports it's using.

Of course, if the monitor ROM isn't signing on, and you haven't changed any switch settings on the serial I/O board, there may be something wrong with the I/O board, or your serial cables, et c. I'd attach a serial light box to the port and figure out if it's something as simple as needing a null modem cable, first!

Roland Huisman
June 18th, 2017, 06:39 AM
Yes, that's an IMSAI-style front panel connector in the top right corner.

Great. Does the connector have the same pinout as well?


You can get CP/M for the North Star controller without Z80 code as North Star originally sold their single-density controllers as a separate product for S-100 system owners. I currently use a North Star single-density controller with my IMSAI, with an 8080 CPU board. I believe Mike Douglas or Martin Eberhard has ported CP/M 2.2 to the North Star single density controller as well, so there's that if the North Star double density CP/M does in fact include Z80 opcodes.

Interesting! The only software I have is that what came with the machine.
I've got several versions for different memory sizes. But they all boot up like:

32K CP/M vers 2.2 Horizon rev 1.2.0 QD
Product of North Star Computers,Inc.


CP/M may also be getting stuck at the console I/O initialization or one of the character output routines -- if your serial console port isn't at the address that it's expecting, it could be sitting there waiting for a flag bit to flip in the status register, which will never happen if the UART is at the wrong address. It does look like your serial I/O board uses Intel 8251A UARTs, like the North Star, so it's probably possible to address it appropriately for unmodified North Star CP/M and North Star DOS. You can probably disassemble the ROM monitor and figure out which I/O ports it's using.

Hmm maybe my story was not clear... Until now I've only put in the Tei CPU board in the Northstar.
So the rest of the I/O in the Northstar is in the same place. I used the terminal output of the Northstar.

Before I tested the Tei CPU board in the Northstar I've tested the Tei computer itself with all the Tei boards I have. (CPU, serial and mem)
And in that original configuration nothing shows up at a serial port of the Tei. So I wonder if that is because of the missing FDC...
The EPROM should have the config data for the three 8251 uarts on the TEI I/O board. Otherwise it could never display a startup text.

On the other hand, if I only swap the Northstar memory board with the Tei memory board, the Northstar refuses to boot either...
I wonder if there is a difference between the memory boards. Or maybe a defect in the Tei memory board.
( I have an expandoram board which works in my 'Altair' but this card also doesn't work in the Northstar
And the Northstar memorycard doesn't work in my Altair... On the expandoram is a 8080 setting. What's the difference?)


Of course, if the monitor ROM isn't signing on, and you haven't changed any switch settings on the serial I/O board, there may be something wrong with the I/O board, or your serial cables, et c. I'd attach a serial light box to the port and figure out if it's something as simple as needing a null modem cable, first!

Yes, baby steps... Now I know the CPU board is doing at least something... :-)