• Please review our updated Terms and Rules here

ISA USB board

Well the booting BIOS does work for me it's just as slow as the original driver was that's all.
I did manage to boot into DOS 6.2 with the boot bios years ago, But for me it was worse than the DOS driver and had other issues with it, I gave up in the end.
 
I did manage to boot into DOS 6.2 with the boot bios years ago, But for me it was worse than the DOS driver and had other issues with it, I gave up in the end.
there were modifications to it. other slowness, I've had no issues.
 
there were modifications to it. other slowness, I've had no issues.
Yes i know, I tried all the modified ones that were posted years ago Including CH375_8K_v15_NoCtrl_final_working_512MB.BIN, Which i tried again recently when you posted it last month, It brought back memories from years ago, I can boot into DOS but doing anything useful was impossible.
 
Yes i know, I tried all the modified ones that were posted years ago Including CH375_8K_v15_NoCtrl_final_working_512MB.BIN, Which i tried again recently when you posted it last month, It brought back memories from years ago, I can boot into DOS but doing anything useful was impossible.
The BIOS code is even more simple than the driver, so it will not be complicated for me to modify it.

But I don't know how it behave with the XT IDE BIOS (About where they both write their variables in memory)
I also don't know if what it is doing (Copy itself to the memory) is normal....
I also can't test.
 
I did more test and code update.
I now have a 8088, 8086, V20/286 Version and a trial for the 16Bit
The 8086 reach 200Kb/s Read on my 8086 (It was 185Kb/s before)
I don't know if the 8086 Version will be faster on a 8088 Or not so I will include both version to test.... (I have no 0888 ready to test currently)

What is strange is that the XT IDE do not unroll the loop and does not do the optimisation I did for 8086.

If OPT_8088 Eq Yes
REPT 64
in al,dx
stosb
ENDM
ret
elseIf (OPT_8086 Eq Yes )
REPT 32
in al,dx
xchg ah,al
in al,dx
xchg ah,al
stosw
ENDM
ret
elseIf (OPT_8086_16 Eq Yes)
dec dx
REPT 32
in ax,dx
stosw
ENDM
inc dx
ret
elseIf (OPT_80286 Eq Yes)
push cx
mov cx,64
rep insb
pop cx
ret
EndIf
 

Attachments

  • CH375V02.zip
    8.9 KB · Views: 19
Last edited:
The BIOS code is even more simple than the driver, so it will not be complicated for me to modify it.

But I don't know how it behave with the XT IDE BIOS (About where they both write their variables in memory)
I also don't know if what it is doing (Copy itself to the memory) is normal....
I also can't test.
copying itself into memory sounds like a speedup like bios shadowing on later machines.
 
copying itself into memory sounds like a speedup like bios shadowing on later machines.
It is to use variables as well. It copy itself on the top of the memory and reduce the total memory size.
 
Hi,

I found a bug that affect both version, I did not set the DIR Flag before doing rep, lodsb and so on.
Please wait for the new version or you may have corrupted data.
 
@Malc tested,
So the 16Bit version for the LoTech board is working :)
And the 8086 Write is faster on 8088 (One instruction less) so in the next release, I will put the 8086 write code in the 8088 Version.

The 16Bit trick is the same as the one used by XT IDE v2, and need nothing to be done as the CH375 is natively 8Bit.
My 8086 can surely work for the XT IDE, but they did not do it, I may propose this.

I will play with a 286 this week. Anyway did anybody test the 286 version ?

V88 : Write = 120.08 Kb/s | Read = 141.49 Kb/s
V86 : Write =127.24 Kb/s | Read = 121.87 Kb/s
V16 : Write = 147.13 Kb/s | Read = 170.24 Kb/s

Then, after the change it will be Write =127.24 Kb/s | Read = 141.49 Kb/s on 8088
 
So the 16Bit version for the LoTech board is working :)
Yep :) Did a bit more testing using a freshly formatted 2Gb flash drive for each test and got slightly faster Write's, only 2 - 3 Kb/s, I would expect to see some speed variations with different flash drives, CF / SD cards. I ran Mediatest and had no problems.

I will play with a 286 this week. Anyway did anybody test the 286 version ?
I intend to test my IBM XT 5162 286 and my IBM 5170 but it'll probably be a few days or so.
 
Hi,

Working on the 286 Version.

I did remove too many delays in the 8086, the 80286 is too fast for this :)
 
260Kb/s Read so far on the 286 8MHz, 300Kb/s can probably be reached with more optimisation, even more with the 16Bit mode.
 
Well done! That's hard to do in a portable way. I did a similar thing back in the 80's for the I/O on some co-processor boards. I did have a bit of hardware assist, in that the IN or OUT operation would add wait states until the data was ready, so no need for delays in the code.
 
Hi,

Here is the V0.22 and the 286 Driver :)

change Log:

30/06/22 V0.22
- BUG Fix : IRQ and Speed parameters were reversed, so the Speed was 3 by Default
- 286 Version tested on 286 8MHz
- Some Useless code removed
- Added some display : DOS Version, Chip Version, Partition number
 

Attachments

  • CH375V022.zip
    10 KB · Views: 43
Done :)

I wanted to do some more test / Adjustment and add some functions to release it.
Just tested on my IBM XT 5160 with stock 8088 and 2Gb flash drive:
V88 driver - Write = 129.25 KB/s | Read = 138.89 KB/s
V16 driver - Write = 150.04 KB/s | Read = 169.12 KB/s
Media Test = Pass :)

Will test my 5162 and 5170 a bit later today.
 
Back
Top