VOGONS


Tiny Vortex86-based DOS gaming PC - weeCee

Topic actions

Reply 400 of 423, by rasteri

User metadata
Rank Member
Rank
Member

Just tried XP, it's getting results on par with Linux (21MB/sec reads in roadkil's test), without even installing any special drivers (just the standard microsoft ones). So this appears to be a Win98-specific problem.

Reply 401 of 423, by NachtRave

User metadata
Rank Newbie
Rank
Newbie
ockiller wrote on 2022-05-07, 11:23:

Could it be possible to use an external GPU, one of those USB graphics cards? I don't know the compatibility with old systems like Win98 SE, and don't know if we can still find GPU old enough to be covered by the old drivers. And if it works, if we're limited to USB 1.0 bandwith the performance should be quite miserable, but I found it was an interesting idea.

That is an interesting idea. I haven't personally played around with that, as my funding is much more restricted at this point in time, but it sounds like it could certainly be an idea. I believe the USB here runs at least somewhat up to USB2 spec, so. You never know. I haven't personally tested the speed, but it seemed to play nice with the USB CD drive and read fairly as quickly as it would have on my main modern desktop.

rasteri wrote on 2022-05-07, 15:48:

I'll probe the sd card signals with the different OSs to see if that gives any clues too.

I bet even just a frequency analyzer (if you have one - nice meters tend to include one) on the clock line could also tell a lot, too.

Last edited by NachtRave on 2022-05-08, 00:43. Edited 2 times in total.

Reply 402 of 423, by NachtRave

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2022-05-07, 18:16:

Just tried XP, it's getting results on par with Linux (21MB/sec reads in roadkil's test), without even installing any special drivers (just the standard microsoft ones). So this appears to be a Win98-specific problem.

Might also want to test Win95OSR2 to see if its a Win 9x issue, as well as Win2k to isolate 9x from 2k+. That could help isolate what system component is causing it, by looking at what kind of major system changes were made between OS versions. If we had more detail to that, we might be able to do something simple like a hacked DLL injection vs something much more complex, like an entire system kernel. May also just be able to change some version params on a driver and it'll still work in Win9x. Never know.

(Edit: Reason I point this out is because it's essentially what I've seen a lot of the unofficial win98 packs kinda do - use Win2k/XP based system files in a Win98 build, because the interface between things didn't change, or is backwards compatible, meaning we could possibly just simply hack a 2k driver, for instance, to work in 98 without issue if that were to be the case here)

Reply 403 of 423, by rasteri

User metadata
Rank Member
Rank
Member
NachtRave wrote on 2022-05-08, 00:38:

(Edit: Reason I point this out is because it's essentially what I've seen a lot of the unofficial win98 packs kinda do - use Win2k/XP based system files in a Win98 build, because the interface between things didn't change, or is backwards compatible, meaning we could possibly just simply hack a 2k driver, for instance, to work in 98 without issue if that were to be the case here)

oh, btw I did try one of the unofficial win98 service packs but that made no difference to speed

Reply 404 of 423, by rasteri

User metadata
Rank Member
Rank
Member

95OSR2 is actually slightly faster than 98 (0.7MB/sec when copying files rather than 0.5) but still far too slow. I couldn't get roadkil's speed test to run on 95 so I didn't test raw read speeds.

Probing the SD card CLK signal while running roadkil's disk test gives a frequency of 50MHz on all OSs. However, on XP the clock bursts get longer as the transfer block sizes increase, whereas on 98 all the clock bursts stay the same legnth regardless of block size.

I've tried disabling all hard drive optimizations in 98, still no difference.

I don't really see the point in testing more OSs, unless someone can come up with a super compelling test case I've officially reached my "can't be bothered" threshold 😀 (I'll spare you my "It's a DOS gaming machine only" rant this time though 😀

Attachments

Reply 405 of 423, by NachtRave

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2022-05-08, 09:03:
NachtRave wrote on 2022-05-08, 00:38:

(Edit: Reason I point this out is because it's essentially what I've seen a lot of the unofficial win98 packs kinda do - use Win2k/XP based system files in a Win98 build, because the interface between things didn't change, or is backwards compatible, meaning we could possibly just simply hack a 2k driver, for instance, to work in 98 without issue if that were to be the case here)

oh, btw I did try one of the unofficial win98 service packs but that made no difference to speed

Yeah, no worries, when I tried using them it just seemed to make the system more unstable and crash a lot more often, so I quit using them.

Reply 406 of 423, by NachtRave

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2022-05-08, 14:22:

I don't really see the point in testing more OSs, unless someone can come up with a super compelling test case I've officially reached my "can't be bothered" threshold 😀 (I'll spare you my "It's a DOS gaming machine only" rant this time though 😀

Not too surprising with Win95OSR2 given its proximity to 98. I still think you should try 2k and ME. Those were the middle men between 98 and XP, and they may have something different that gives them a much better speed improvement. If we could try to isolate why that is, I think that would help us a lot.

On the flip side, you have established that we're seeing a constant 50MHz clock signal to the SD card, which gives us our theoretical upper limit. We *know* it could go faster, at least in theory (which is at least a good thing), and maybe it does just come down to how the data is being accessed/driver being used.

I still wanna contend that we could potentially hack a 2k or ME driver to work on 98 - might be a bit harder with XP given how much got torn out and redone. It may require some fancy tooling to possibly reroute some calls, may have to do some clever reverse engineering (may have to hit up those Unofficial Win98 packs folks), but I still contend that there is a way.

Anyways, thanks for at least trying. We are stepping closer in the right direction I feel like.

Reply 407 of 423, by Mu0n

User metadata
Rank Member
Rank
Member

NachtRave: it was a joke, I lean way more on the nap side than on the logic analyzer side, I also don't have the dough to reserve for that. I just bought a mac color classic from Japan, I gotta take it easy now.

640K! I also see similar results in MSDOS 6.22 (I never use Windows 98's dos 7) in terms of speed (multiple MB/s), shattering the bulk of the reason to test different mfgers of sd cards. The same brand is used in Win98se and I got the heavy crippling throttling.

1Bit Fever Dreams: https://www.youtube.com/channel/UC9YYXWX1SxBhh1YB-feIPPw
DOS Fever Dreams: https://www.youtube.com/channel/UCIUn0Dp6PM8DBTF-5g0nvcw

Reply 408 of 423, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

Based on the evidence gathered so far, it looks like decent performance should be possible, but something is missing along the way to enable that level of performance under Windows 9x. It's something that could be interesting to look into, at least to get a better idea of what's going on.

Having lower performance in Windows, versus MS-DOS itself, makes sense when you think about it. In order to access a volume from Win9x in this way, you are imposing many restrictions on the system; forcing it to do almost nothing else at the same time, once the request is prepared, switching processor modes (including the rather significant "house-keeping" that goes along with it) and forwarding the request to the DOS/BIOS level. Also, since there will be less memory available, disk access likely has to be broken into a larger number of smaller requests, imposing a further limit on performance.

I had a look through a certain auction site, and boards based on the same architecture all seem to be at least as expensive as trying to build one of these myself. 😮 So, educational interest aside, that's definitely off the table for this year, especially since there's no guarantee of a positive outcome.

Reply 409 of 423, by Oerg866

User metadata
Rank Newbie
Rank
Newbie

Hello everyone,

I'm messing around with a PB-VORTEXDX3 (Vortex86DX3 based SBC) and am having decent success with everything. But I cannot get any of the video drivers that I have to load properly. (1.09.00, 1.13.00 and 1.14.04)

Does someone have the Win98_VGA.zip file from the helpjet website?

unknown.png
unknown.png

The website is sadly down for me 🙁

Best regards,
Eric

Reply 410 of 423, by Oerg866

User metadata
Rank Newbie
Rank
Newbie

OK never mind, looking through private DM&P FTP server files this is a proprietary RDC VGA controller with integrated h264 decoder, seems to only be loosely based on XGI stuff.

I did however find this Windows 98 IDE driver for Vortex86 Pre-DX3, maybe it helps some people.

Attachments

  • Filename
    IDE_driver.rar
    File size
    18.83 KiB
    Downloads
    12 downloads
    File license
    Public domain

Reply 411 of 423, by rasteri

User metadata
Rank Member
Rank
Member
Oerg866 wrote on 2022-05-29, 18:10:

I did however find this Windows 98 IDE driver for Vortex86 Pre-DX3, maybe it helps some people.

Oh wow, I'll have to try that...

Is the DX3's DOS compatibility pretty good? Does disabling cache slow the processor down enough to run speed-sensitive games?

Reply 412 of 423, by Oerg866

User metadata
Rank Newbie
Rank
Newbie

Well..... It's... "so-so"

First of all, Windows 98 works fine with DMA with onboard eMMC as well as mSATA/external SATA drive, it's really fast too. Win98 sees two PCI-ISA bridges but that's fine, just leave the 2nd one alone with its yellow exclamation mark. Getting it to install requires some SYSTEM.INI tweaks before the first boot, there is hardwired 2GB of memory.

LAN is unchanged from previous Vortex86 and works perfectly.

But sadly my board is wired in a way where you can select only external SATA or mSATA, so that you can't connect a 2nd drive as CDROM for example. I did solve that with an ISA sound card with an IDE interface.

At first I had problems with audio buffers missing cycles (suddenly left and right side swapping due to a word being missed in the transfer), which was down to ISA wait states. There is an ominous option in the bios called "NB Function 0 Register 51" . Due to my work on IVXWAIT, which will soon support more chipsets including SiS stuff which Vortex86 is based on, I now know that this register corresponds to the I/O recovery/wait state control, in old SiS chips it was at the same register index. Which was set to 0 wait states by default, setting that up properly fixed it.

Had to reserve DMA/IRQ else CTCM will hang when configuring Sb16PnP stuff, and it was impossible to get it to work with IRQ5.

The biggest problem is that the USB Legacy code causes ISA bus data corruption. If you're playing audio, whenever a USB device does a transfer or gets enumerated, you will hear noticable clicks in the audio due to missed bytes. It works really well otherwise, but that's just a damn shame.

Other than that, the few games I threw at it did work, but some software doesn't. Turbo C++ 3.0 doesn't run, the DPMI server just freezes.

I'm going to solder a PCI adapter for it so I can use an external graphics card (don't know when I will find the time though).

Reply 413 of 423, by rasteri

User metadata
Rank Member
Rank
Member
Oerg866 wrote on 2022-05-29, 23:10:

The biggest problem is that the USB Legacy code causes ISA bus data corruption. If you're playing audio, whenever a USB device does a transfer or gets enumerated, you will hear noticable clicks in the audio due to missed bytes. It works really well otherwise, but that's just a damn shame.

Other than that, the few games I threw at it did work, but some software doesn't. Turbo C++ 3.0 doesn't run, the DPMI server just freezes.

The USB and TurboC bugs also appear to exist on Vortex86SX/DX, unfortunately. PS/2 is a must for Vortex86 it seems

Reply 414 of 423, by Oerg866

User metadata
Rank Newbie
Rank
Newbie

It turns out PC/104+ PCI pinout is rather scrambled compared to a normal PCI connector and I'll have to make a bridge board... Ugh, I hate delays :C

The USB and TurboC bugs also appear to exist on Vortex86SX/DX, unfortunately. PS/2 is a must for Vortex86 it seems

Yeah I figured. I've seen very few good legacy USB implementations from the mid 2000s. Late stuff / Current stuff nails it though, at least in my experience...[*]

Reply 415 of 423, by rasteri

User metadata
Rank Member
Rank
Member
Oerg866 wrote on 2022-05-29, 18:10:

I did however find this Windows 98 IDE driver for Vortex86 Pre-DX3, maybe it helps some people.

Unfortunately this appears to be the same XP driver I hacked earlier. no worky.

Reply 416 of 423, by Mu0n

User metadata
Rank Member
Rank
Member

I tried to install it and Windows would not accept it no matter what I tried. I went into the devices themselves in the device list and tried to force a driver update. I tried installing the .inf file directly. It tells me the driver can't be used for them.

1Bit Fever Dreams: https://www.youtube.com/channel/UC9YYXWX1SxBhh1YB-feIPPw
DOS Fever Dreams: https://www.youtube.com/channel/UCIUn0Dp6PM8DBTF-5g0nvcw

Reply 417 of 423, by Oerg866

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2022-05-31, 11:42:
Oerg866 wrote on 2022-05-29, 18:10:

I did however find this Windows 98 IDE driver for Vortex86 Pre-DX3, maybe it helps some people.

Unfortunately this appears to be the same XP driver I hacked earlier. no worky.

It is not, it contains a MPD + VXD file which is most definitely for Windows 9x.

Also, I don't know how the Vortex86DX is wired, but if for some reason Win98 sees more than 2 IDE channels, you need R. Loew's patches (More specifically, this one: https://rloewelectronics.com/distribute/SATA/1.1a/ ). I haven't tried those yet because the DX3 works beautifully with stock drivers + DMA. But they might help here.

Reply 418 of 423, by rasteri

User metadata
Rank Member
Rank
Member
Oerg866 wrote on 2022-05-31, 19:57:

It is not, it contains a MPD + VXD file which is most definitely for Windows 9x.

Ooops! I *swear* I saw 2000/XP in the .inf file, I must have been looking at the wrong folder...

Reply 419 of 423, by sofakng

User metadata
Rank Newbie
Rank
Newbie

Does anybody have any ideas on how to add a real OPL2/OPL3 chip to this box?

For example, there is an OPL2LPT adapter that outputs OPL2 over a parallel port that can maybe be exposed on the weeCee?

Any other ideas?

I know the Crystal chip onboard supports an OPL2 clone but I'm wondering if we can have authentic sound as well?