• Please review our updated Terms and Rules here

Need help when use isa-to-usb card in IBM 5160!

See this page on Modem7's site re: booting from 720k, I just had a quick look in the zip that pietja posted and in the readme it states that ch375dos.sys supports DOS 3.x to 7.x
Hi everyone,thanks for your help,I finaly connected a 3.5" floppy drive to 5160,and it can boot from a 720k floppy disk now.I also add the CH375 dos driver to config.sys,and remove the bios rom from the card. After reboot it works great. Usb stick can be accessed as C: drive.

But till now It still can not boot from usb disk,I think the bios onboard need some modification.If it can detect the CTRL key has been pressed,maybe it can boot correctly.I wrote emails to the developer of this card,asking for the bios source code,At the beginning he refused me,but finaly he gave me a copy,and he don't want the source code to be public.So if you want to help to fix the bios,please send me a message.
The developer also told me the code 0000:0417 is the address where bios stores keyboard scancode,he use the value to test whether the ctrl key is pressed.But no matter how many times I pressed the key,it just can't see.Next I will try to make 5160 boot from usb disk.Thanks again!
 

Attachments

  • 20150824_230116.jpg
    20150824_230116.jpg
    95.8 KB · Views: 7
I think is better to have an real open source bios for this chip.
The datasheet should be the main source of information and the code you got from the developer should only be used if the datasheet is unclear.

I suspect they developed this card on a more modern machine on which the bios does work and has a more modern chipset that hase the memory not directly connected to the isa slot, otherwise they would have found the problem with the bad address decoder.
 
I think is better to have an real open source bios for this chip.
The datasheet should be the main source of information and the code you got from the developer should only be used if the datasheet is unclear.
Yes,open source BIOS would be better.
 
Last edited:
Yes, in e.g. Pentium machine, under 640KB is filled from system RAM and ISA bus is not even in the picture.
 
update:
The boot rom can read MBR from usb disk to memory and run it now,but the MBR code faild to boot,and output a string "missing operating system".I check the usb disk with Winhex, the boot sector seems all right.
If I format the usb disk as ZIP drive ,the system just hung when running MBR code.


ps:Because of address decoding problem the system can use 96kb memory.
 

Attachments

  • 20150930_181901.jpg
    20150930_181901.jpg
    99.8 KB · Views: 4
I found the ram size is not enough for dos 7.0 ,and ZIP mode usb may work.
I can't make a dos 3.0 usb boot disk now,it's hard to find a dos version which can boot with 96kb ram.
 
This is how you can mod the card so the address decoder works.
It involves soldering 1 74LS11 chip to the card.
View attachment 25936


If the bios provided by the manufacturer works with the 8088 and 8086 you still need to change a few bytes in the bios if you want to use it on a different i/o address but that is all mentioned in the readme.

Thanks pietja,please ignore my soldering skill,I add a 74ls11 as you wrote,and it did fix the address decoder.Now all 640kb memory can be used.
Unfortunaty booting from usb seems not work.Maybe the bios onboard has some problem, it can't emulate harddrive exactly.Hope someday xtide may support ch375:)
 

Attachments

  • 20151011_173135.jpg
    20151011_173135.jpg
    93.9 KB · Views: 14
I have got the same card recently and did a bit of testing with it.

First of it came without a mounting bracket, so i made one myself out of a sheet of stainless steel.
Attached is a pdf file you can use to make your own bracket. Inside the pdf is also the original eagle file.
Bracket.jpg

For testing the card i used my two oldest PC's, the Olivetti M24 and Tandon TM 7305 (80286-12).
I used the v1.3 bios on a network card and the v1.9 driver for the testing.
The usb drive i used is the CF card from the corresponding system in a CF to USB adapter.

On the Olivetti the CH375 bios would display the famous error (or in another language depending of the bootsector on the disc)
Code:
Non-System disk or disk error
Replace and press any key when ready
After pressing enter the CH375 bios is loaded again with the same error, so you are stuck in a never ending loop.
Booting the Olivetti without the bios from a floppy with the driver works fine.

The only strange part was that if i used the CF from the 286 with the Olivetti is that it would fill the screen with numbers counting up if the Olivetti was running with a 8086.
If i relapsed it with an NEC V30 it would do the "normal" boot loop, but that has more to do with the bootsector i guess.


Testing with the 286 also give the same Non-System disk error but after pressing enter the systems boots successfully from the usb drive, or displays the boot select menu depending on the setting in the system bios.


I have also run Microsoft Diagnostics on both systems.

On the Olivetti the usb drive is detected as followed when using the driver:
Code:
C:   Floppy Drive, 3.5" 1.44M
       265 Cylinders, 64 Heads

And on the 286 with the driver as:
Code:
C:   Floppy Drive
       1 Cylinders

Using the bios on the 286 gives this:
Code:
C:   Fixed Disk, CMOS Type 0
       489 Cylinders, 8 Heads
       512 Bytes/Sector, 32 Sectors/Track
     CMOS Fixed Disk Parameters
       306 Cylinders, 4 Heads
       17 Sectors/Track

Using the bios and driver at the same time results in two driver letters in dos, both going to the usb drive without problems.

So in the end i still don't know why de bios wont work in an Olivetti or a 5160.

I could not get the v1.5 bios to work because of the "Press CTRL to start E-DISK" issue.
If you have a working v1.5 bios i would like to see if that makes a different but i don't have much hope for it.
 

Attachments

  • Bracket.pdf
    8.4 KB · Views: 11
I have got the same card recently and did a bit of testing with it.

First of it came without a mounting bracket, so i made one myself out of a sheet of stainless steel.
Attached is a pdf file you can use to make your own bracket. Inside the pdf is also the original eagle file.
View attachment 27107

For testing the card i used my two oldest PC's, the Olivetti M24 and Tandon TM 7305 (80286-12).
I used the v1.3 bios on a network card and the v1.9 driver for the testing.
The usb drive i used is the CF card from the corresponding system in a CF to USB adapter.

On the Olivetti the CH375 bios would display the famous error (or in another language depending of the bootsector on the disc)
Code:
Non-System disk or disk error
Replace and press any key when ready
After pressing enter the CH375 bios is loaded again with the same error, so you are stuck in a never ending loop.
Booting the Olivetti without the bios from a floppy with the driver works fine.

The only strange part was that if i used the CF from the 286 with the Olivetti is that it would fill the screen with numbers counting up if the Olivetti was running with a 8086.
If i relapsed it with an NEC V30 it would do the "normal" boot loop, but that has more to do with the bootsector i guess.


Testing with the 286 also give the same Non-System disk error but after pressing enter the systems boots successfully from the usb drive, or displays the boot select menu depending on the setting in the system bios.


I have also run Microsoft Diagnostics on both systems.

On the Olivetti the usb drive is detected as followed when using the driver:
Code:
C:   Floppy Drive, 3.5" 1.44M
       265 Cylinders, 64 Heads

And on the 286 with the driver as:
Code:
C:   Floppy Drive
       1 Cylinders

Using the bios on the 286 gives this:
Code:
C:   Fixed Disk, CMOS Type 0
       489 Cylinders, 8 Heads
       512 Bytes/Sector, 32 Sectors/Track
     CMOS Fixed Disk Parameters
       306 Cylinders, 4 Heads
       17 Sectors/Track

Using the bios and driver at the same time results in two driver letters in dos, both going to the usb drive without problems.

So in the end i still don't know why de bios wont work in an Olivetti or a 5160.

I could not get the v1.5 bios to work because of the "Press CTRL to start E-DISK" issue.
If you have a working v1.5 bios i would like to see if that makes a different but i don't have much hope for it.

I'm doing some research on the DBR(dos boot record) code,trying to find out why it can't work with 8088 machines.I guess some interrupt service routines may be different.
I upload a working v1.5 bios:"CH375ROMv1.5(No Ctrl Key).BIN",it's 4k aligned&checksum 0,No need to press ctrl key.
 

Attachments

  • CH375ROMv1.5(No Ctrl Key).zip
    1.7 KB · Views: 11
Finally I found a USB disk can make a little difference .When I look through the bios soucecode,I found a CHSTOLBA function,in which the writer assume the disk has 0x20 sectors per track,and 0x40 headers.So I tweaked a usb disk to that CHS parameters,then convert the disk to zip mode,and format the partition as a boot disk(freedos),replace the freedos kernel.sys with odinfreedos(for 8088 ).This time I saw something different:

20151015_204138.jpg

20151015_203230.jpg
You can see that there was an error when the freedos kernel initialize the disk, but at least the kernel has been loaded and started.
The error may be caused by a call to int 13h, ah=8,the kernel want to know parameters of the disk ,but the bios reported a wrong number. Some change to the ch375 bios may solve the error.

And the BIOS has serious compatibility problems,even the same disk can't boot again after reboot:

20151015_203543.jpg

And I found this can only be done with my sandisk cruzer blade 8G disk,this disk is recognized as a fixed disk in windows.
I think the bios needs a lot of work to do.

I don't know why text in this post can't be seen in chrome explorer....
 
Last edited:
Out of interest what flash drives have you tried, Have you tried any smaller ie: 2 gig and less ?
 
Out of interest what flash drives have you tried, Have you tried any smaller ie: 2 gig and less ?
I used a 16MB (Olivetti) and a 64MB (286) CF card that have been formatted on a XT-IDE controller.
They both have the boot sector written using fdisk on MS-DOS 6.22 (The OS on those cards).
 
Maybe the bios needs to see a smaller 2 gig or less flash drive as "fixed" and not "removable" tho you'd have to flip the RMB on the Kingston if it can be done, Another thing you could try is the HP USB Disk Storage Format Tool ( SP27213 ). I don't have one of those cards so unfortunately can't try it :-(
 
I used a 16MB (Olivetti) and a 64MB (286) CF card that have been formatted on a XT-IDE controller.
They both have the boot sector written using fdisk on MS-DOS 6.22 (The OS on those cards).

What CF adapter did you use, are you sure it's bootable, I have 1 here somewhere and it's not bootable just a reader, I have another that i can read and boot from. Is the CF card seen as fixed or removable ?
 
If have a cheap USB1.1 card reader with the GL641USB chip that windows 7 shows as a removable drive that i can boot from.

I can boot of both CF cards with this reader when i put the CH375 with bios in my 286.
The exact same CF cards with reader on the same CH375 with the same bios on the Olivetti cant boot.

So for me the only difference is the system everything is used on.
 
Ahh i see, So for the bios a 286 or better is required if one wants to boot from the card.
 
ineverland was able to load the freedos kernel from a usb drive on a 8088.

Both my Olivetti (8086 or V30) and 286 gave the "Non-System disk" error which is stored and executed from the usb drive.
So i don't think the bios is using 268 instructions.

ineverland should be able to compile the bios from source code so then you can guarantee that its only using 8088 instructions.

When i have time i will post some screenshots of both systems.
 
Back
Top