• Please review our updated Terms and Rules here

ISA USB board

Does anyone have the driver source code? I did have a look at the BIOS source - the throughput can be improved dramatically, especially for the lo-tech variant which can use the 16-bit “BIU Offload” trick.
 
Curious if you use it as a dos machine or not? Was looking into them for a friend as a simple dos gaming machine, but curious if there is an ok-ish ms-dos sound driver... Guessing it is a thin client, like a Wyse Cx0
Yes, although it’s something older and a little more generic. (The machine has *no* branding on it, it’s just a Via EPIA 800mhz mini-ITX motherboard in a tiny box with a micro-PSU that needs an external 12v brick.)

The chipset on said board has hardware Soundblaster Pro emulation built in, the one weakness is there is no hardware OPL; you need to load emulation software which sounds fine but takes about 40k of memory, so it’s kind of a hassle to get everything configured. (You need to be very bold and aggressive when it comes to overriding ROMs if you want UMB space, it’s very crowded up there… and it kind of turns into a no-go if you need the USB floppy support, which I live without.)
 
Out of curiosity I challenged trying to find that bizarre USB to RS-232 adapter and after some hair pulling I found exactly *one* listing.

 
I noticed he's using ver 1.9 of the DOS driver, I use ver 1.9A of the DOS driver and have successfully used it with CF or SD in my multi card reader, 1 / 2 / 4 and 32Gb flash drives and spinning rust with the aid of external power in my PC 5150 / XT 5160, It's a lot better in a faster 486 / pentium, I don't have the Chinese card to compare to my Lo-Tech card though.
I haven't seen the 1.9A just the 1.9 and 2.0A and the NOINTR (all on the CD and in the "zip file")... where's 1.9A?
 
Out of curiosity I challenged trying to find that bizarre USB to RS-232 adapter and after some hair pulling I found exactly *one* listing.

Amusingly enough.. on THAT listing.. it suggested another listing down at the bottom for 5 YUAN more.. https://www.taobao.com/list/item/597864069076.htm?spm=a21wu.12321156.recommend-tpp.5
 
See a ton of them on ebay, but SPI interface not serial. I might just try to order a serial one for the fun of it (off taobao) =)
 
See a ton of them on ebay, but SPI interface not serial. I might just try to order a serial one for the fun of it (off taobao) =)
Let us know (when it eventually makes its way on the slowboat) how it goes.. I wish they were on aliexpress vs taobao, but still.
 
I'll place my order next couple days... Kinda spent my retro budget today on a Compaq Portable LOL. I love the idea of a serial uart to usb converter for machines without cf cards. Worth a shot! Would be super handy for those machines with limited expansion, like the portable.


In any event, Ill setup a VOIP number tonight because it seems taobao requires a phone number, and sure as heck not giving them my cell number for verification! ;)
 
Last edited:
I haven't seen the 1.9A just the 1.9 and 2.0A and the NOINTR (all on the CD and in the "zip file")... where's 1.9A?
From what i saw on YT that CD is just someone's unofficial collection of files found around the net, There's lots of revisions around or used to be, I have attached v1.9A
 

Attachments

  • ch375dossys_1.9A.zip
    2.3 KB · Views: 23
I ordered both a serial version and a pair of ISA versions. Will be interesting to see, when they arrive, how useful they are.

The serial version I bought claims SPI, parallel, RS232 and RS485:

It'll be interesting to see what capabilities it actually has.

- Alex
 
The "wait until the NOS serial trackball I ordered comes in" has turned into "figure out why the NOS serial trackball is dead as a post", so I finally took the opportunity to run a benchmark.

I ran CheckIt 3.0 because I had it handy, and it reports:
1155.9k/s transfer (I assume kbits, not kBytes :p )
0.4ms average/track seek
13.60 times IBM PC/XT.

This is based on the following configuration:
EMM 8088 board, with CH376S module attached to provided header.
NEC V40 CPU at 8MHz
All-SRAM system (512k) so no refresh-related overhead expected
Realtek RTG3106 VGA, 1Mb, 16-bit card that seems happy in an 8-bit slot
Wait states: 0 for I/O, 2 for memory above 640k (slow cranky video card), 1 for lower memory
The BIOS from the Gitlab link above. It runs in the V20/186 mode with the speed-up attempts.

Swapping in the "real 8088" card, with a 4.77MHz timing circuit and no wait states (I don't think it HAS a wait state generator) forces use of the "slower" mode of the disc BIOS.
It gives values of:
1027.5k/s
0.7ms average and track seek
12.09 times PC/XT

Now, this is in no way the end-all be-all of benchmarks; if someone wants to point me at a better benchmark, I'm all ears. But the figures reported earlier in the thread sound to be dramatically lower than what I'm seeing. Is the software designed for the ISA card just bad, or are we benching very different ways?
 
It's best to use one bench mark version I recon. Keeps everyone honest. Trixters TopBench might be worth a shot as well Hk foo.
 
@Hak Foo based on what I can see in the BIOS code, the driver code is awful and will only do about 15KB per second because of the way it is coded. It probably also holds interrupts disabled which causes the PC clock to stop whilst it's executing... hence you see wild (high) results because the benchmark utility sees X data transferred in far less time than has actually passed.

Have a go with my Disk Test utility: https://www.lo-tech.co.uk/wiki/DOS_Disk_Tester

By default it will write then read 4MB. Time those two steps with your watch, then compare the actual transfer rate (4096 / time in seconds) to what it says on the screen.
 
The Chinese Boot ROM Bios is a festering pile of POOP, I have successfully booted into DOS 6.22 using the BIOS but it take's an age and trying to run anything useful is a waste of time, IIRC i tested Checkit 3 years ago and it just locks up my 5160 and had to switch off the computer, Using the DOS driver Checkit ran fine but only see's the primary drive. The DOS Disk Tester and IO test are the one's i have used.
 
🤦 I forgot there was no external clock as a source of authority.

At 4.77MHz, it took about 1 minute 50 seconds to do the "Write Speed" and "Read Speed" tests combined, so that puts it at about 74kBytes/sec on average. This was a second run (the first one took much longer to do "Preparing disc" before the write and read tests, but I didn't get the stopwatch set up the first time). It's on an empty ~480Mb partition (The drive is a 2G eBay special, that the BIOS advertises as 504M to keep with a "safe" geometry. Splitting off a 20M C: partition is much faster than doing a single big one

The test displayed something like 877kb/s write, and 650kb/s read. Is that kilobytes or kilobits? If it's kilobits, that actually feels like we're not getting huge time dilation effects due to lack of interrupts. Although the disc BIOS I'm using does not have a "cli" instruction in it,so it might not actually be disabling anything.
 
It reports in kilo bytes per second so you can see the impact of the clock skew.
 
Does anyone have the driver source code? I did have a look at the BIOS source - the throughput can be improved dramatically, especially for the lo-tech variant which can use the 16-bit “BIU Offload” trick.
Hi,
I did decompile the driver partially and it is obviously extremely Slow.
The speed can be improved by more than 10...

The Best code is of course like in the EMMM Board BIOS, with a simple Loop containing the IN instruction and MOV to memory.
This one can even be optimized with an unrolled loop, IN then STOSB.

The Chip is able to seend data at 6MHz, then 6MB/second, but it has a 16 bytes buffer and it need to load the data from the USB one by one.
At the end, the code to detect the IRQ (Done with Port Pooling as the IRQ are not wired) may be as slow as the one doing the 16 byte transfer.

So, I can really easily modify an existing driver to speed it up. (But I have no board to test)

I see as well that Lo tech did a design with this CH375 chip, but the CH376 chip car interprete FAT32, we can then imagine doing the mapping of .IMG File ans Add Floppy and even CD images emulation with it....
The CH376 has probably a bigger buffer as well (Faster)
They have a Beta BIOS to download but no source..... Strange.

A much better solution can then be to design a board with a CH376, redo the BIOS and a driver and we can then have HDD Boot, Partition mapping/Unmapping by selecting a .IMG, Floppy, CDROM...
Really faster than the current 13Kbps

Another solution explained here already, MAP the chip into the memory space, to be able to use REP MOVSB. But it is usefull only on 8086/8088 and the speed without it is surely more than sufficient.
 
I have a 486 that only has ISA slots (16-bit of course)... I wonder how hard it would be to get this card working with NetBSD.
 
I found the code that is just doing IN AL,DX in the CH375.SYS Driver, and it is literally written with around 40 Instructions...

On a 8086, and up to 286, we can use only one instruction, then the code is minimum 30x slower for this portion that what it should be.

I found anyway a 286 Opcode in there, this is a portion of code not executed all the time but it will obviously Crash on a 8086.

I downloaded the .SYS File form there:

Is there another .SYS File I should use ? More 8086 Compatible ?
 
Back
Top