• Please review our updated Terms and Rules here

Trantor T130B + IBM 5150 = defeated JDT

With the BIOS disabled and MA13B loaded, the BIOS version shouldn't matter.

I've been running my tests on an old 386; it's probably time to drag out the XT and see what happens.

Stay tuned...
 
Okay, the XT (compatible) came out and I installed the T130B and a Conner CFP2107E 2GB SCSI (a curious drive; the sticker has "Seagate ST32107WC"--it probably came from the time that Seagate was having Conner for dinner).

It boots and works fine (it takes forever to tot up the free space when I do a DIR). SCSITEST passes and reports the correct disk setup. So I got to wondering--I know it's an XT-compatible (even with IBM ROMS), but could I have a V20 installed?

A quick check with DEBUG executing a 0F 20 instruction (Add BCD string) shows me that I am indeed running a V20.

So, maybe that's the difference. For what it's worth, the SCSIWorks! manual says that a PC AT is the minimum ante for the code--so perhaps the BIOS is the same. Could be that the BIOS ROM and SCSIWorks! utilities have some 186/286/V20 instructions embedded.

At least that's my guess.
 
A quick trip through the BIOS ROM confirms my suspicion.

At offset 116FH = REP INSB
At offset 1173H = REP INSW
At offset 11F8H = REP OUTSB
At offset 11FCH = REP OUTSW

These appear to be the only 186/286-specific instructions.

The good news is that since this is an 8-bit card, the *W form of the I/O instructions are useless anyway (probably intended for a 16-bit implementation of the card). That lends some space to patch inline versions of the instructions in 8088 form as IN AL,DX STOSB LOOP and LODSB OUT DX,AL LOOP... You'll need to recompute the ROM checksum, but that's easy.

This also explains why the T130B works on Tandy 80186 systems as well as my V20-equipped XT.
 
Why was Great Hierophant able to get the T130B working in his 8088-based 5150, whereas JDT cannot? It would appear that the BIOS versions are the same (2.14).
 
old dissassembler & 186

old dissassembler & 186

Chuck(G) said...V20
Nice catch.
I just realized that operantly my disassembler doesn't speak V20, I got this:
Code:
882E:116C  F3 6C EB 02 F3 6D			db	0F3h, 6Ch,0EBh, 02h,0F3h, 6Dh

I started looking more closely, and it's definitely '186 or higher code:
Code:
000010DD C9               leave

EDIT:
And another block of non-8088 code:
Code:
000011F5 F36E             rep  outsb	
000011F7 EB02             jmp	0000011FBh
000011F9 F36F             rep  outsw
end EDIT:

Chuck(G), what version of the card's BIOS are you using, anyway ?
Does anyone have a early version of the card, and can supply a EPROM dump ?
Is it just me, or doesn't seem weird that they'd release a 8-bit card that needs a '186 or better to run ? Where V20-type clones & upgrades that popular ?
patscc
(Methinks I'll take another look at the TMC-850M BIOS version 8.5)
 
Last edited:
2.14

2.14

Great Hierophant, can you post a dump of your actual EPROM, just to make sure it's actually the same thing we're all looking at ?
Also, what are the checks# printed on the two PAL's on the card ?
EDIT:
One more thing, I can't seem to find the thread on which Great Herophant's T130B started working, so would you guys mind posting the model of the hard drive that it worked with ?

patscc
 
Last edited:
Pat, my 2.14 BIOS code doesn't line up with yours. My ROM shows the last byte at 1538H, followed by FFs to the end of the ROM.

The ID string at 001B is as follows:

Code:
 db 'IBM Compatible SCSI BIOS.',0Dh,0Ah
 db 'TSROM: SCSI BIOS, Version 2.14',0Dh,0Ah
 db 'Copyright (C) 1989-92, Trantor Systems, Ltd.',0Dh,0Ah,0
 
-3 offset

-3 offset

Possibly because I set my origin to be after the two-byte header & 1-byte length field. The end's line up, other than that. I'm using the file that you posted the link to awhile back.
patscc
 
Okay, in that case, that's not a LEAVE instruction, but rather part of a SUB CX,CX:

Code:
10DE sub_0_10DE      proc near
10DE                 push    cx
10DF                 sub     cx, cx
10E1
10E1 loc_0_10E1:
10E1                 in      al, dx
10E2                 test    al, 4
10E4                 jz      loc_0_1102

G.H.'s T130B thread is here.

And forget what I said about 186/286 code; it turns out that the BIOS makes a check and uses the subroutines at 1202 and 120d if it's an 8088. False alarm.
 
Last edited:
????

????

sub cx,cx translates to 29 C9
The dump I'm working from has 2B C9 in that location, where the 2B is the tail-end of base-relative + index ADD instruction.

What gives ? The C9 I'm looking at is at 10DDh, so on yours I think it should be at 10E0h.
patscc
 
SUB CX,CX can be coded either way--try it with DEBUG. MASM codes it as 2B (DEBUG, however, codes it as 29, which works, but is a bit screwy). That's the nice thing about x86 opcodes--there's often more than one way to express an operation...

The preceding byte at 10DE is a PUSH CX, which matches the POP CX at 1102. I don't know what you're using as a disassembler, but I'm using IDA Pro.
 
IDA wins

IDA wins

Well, I dug around in the listing the two dissassemblers I was using generated, and 11B1 there's a call to 10DB, except neither one of them used reference to synchronize the entry at 10DBl they both started disassembly at 10D3, so I guess I'll have to be using a Windows-based dissassembler from now on.
patscc
 
update. I am able to boot to the DSAS drive w/ card bios enabled, however any attempt to write to disk locks the system. I can read any data, I can execute applications that dont write to the disk.
Current card settings:
1->8
1,0,0,0,1,0,0,0
IRQ5, 0WS is open

If I disable bios and load ma13b.sys on a boot floppy, I can read and write to the hard disk with no problems. I even copied my dos and dos apps directory to the hard disk over laplink.

I tried loading ma13b.sys in the config.sys file on the hard drive and booting to the drive. It booted and loaded ma13b.sys. However , again, any attempt to write to disk locked the machine.

ideas? =)
 
Ah, now here's a problem I can relate to.

I ran into the exact same issue you've described when attempting to use a T130B in an 8088-based Tandy 1000SX.

I am using an 8088 based IBM 5150... interesting...

I have a NEC V20 on the way from a member of this board who was generous enough to offer it... I cant wait to try it.
 
Yes, it lists the hard disk make & model and "Drive C:" at the end before beginning the boot.
 
Back
Top