Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Secure Socket Extremism in DOS | You maybe have a Page Foul (DOSX)

posted by DOS386, 04.01.2008, 07:52
(edited by DOS386 on 04.01.2008, 10:28)

> hopefully fixed a few things.

Not really :no:

> It seems to run in WinXP, QEMU/FreeDOS, and pure FreeDOS

Great ... but :confused:

HDPMI32: same PF :no:

D3X (world's first :clap: executable): starts, but other bugs (for example you append the dest ext to src filename, "file not found" :no: , and, for DOS you of course should truncate ".paq8blah8junk8dfjhgdf" to ".PAQ" or ".PQ8" :yes:

> For one thing, I don't really know what I'm doing, it's a bit out
> of my league. Anyways, even if I ignored this, it works under XP.
> But my goal is to work (also) under pure DOS.

Anyway, to brew an EXE working both under Windaube and DOS, the way is MINGW and a Win32 executable, and HX :yes: , rather than DGJPP and NTVDPMI :no:

> PAQ8o8 is the latest PAQ8 series compressor/archiver, and I made it
> automatically detect NOASM/MMX/SSE2 instead of requiring

Great ... but the bugs should go away first :-|

> I didn't try with HDPMI32. Actually, I was using XP, and now I'm using
> Vista. I'm somewhat limited in what cpus I can try at the moment.

Tried to install DOS besides XP or Vista ? :clap:

> Under QEMU, it reports a page fault. But PMODETSR (from my disk #2) seems
> to work, at least with HIMEMX.
> need to try in real DOS (eventually), but in QEMU, trying SSE2 w/
> PMODETSR under JEMM386 crashes QEMU! (Doh!)

QEMU bug ...

> wish I could use the same DOS binary under Vista that works fine under XP

MINGW + vice-versa, see above ... :hungry:

> Problem: SSE2 doesn't work without OS support (e.g. which DOS doesn't
> implicitly have). I weakly tried, but I'm not sure I did it correctly.

Question of just 3 bits in CR registers ? And you call this "OS support" ? :lol3:

> SSE5 is AMD's latest, to be implemented in 2009. SSE4.1 and SSE4.2 are
> Intel's crud to be released sometime next year (??). SSSE3 is only supported
... blah ... blah ... blah

Remember the MMX "revolution" ? The "new high performance" FPU of 80387 ? The "new great" FPU of 8087 ? And finally the 8080 dealing with just bytes, no FPU at all :lol3:

> Under real DOS? QEMU or BOCHS? CWSDPMI or other DPMI host?

HDPMI32 (as written above, CWSDPMI seems not to emulate CR accesses, and I don't like it too much anyway), and, native pure DOS (isn't it natively slow enough ? :clap: )

> JEMM386 or HIMEMX?

NO.

> Most of my problems are lack of cpus to test.

Lack of DOS installations / lack of effort to install DOS :-P

> QEMU is probably not 100% accurate/reliable.

Indeed. QEMU is known to neglect intentionally various "protection" checks :clap:

> doesn't work with OpenWatcom (yet) because of different calling conventions

OK, when you compile with WATCOM, there is DOS/32A

> Would it be so horrible for JEMM386 or even HDPMI32 to automagically

I see definitely no point for JEMM386, and little point for HDPMI32. Last but not least, as you wrote above, your DGJPP executable requires DPMI, not XMS or even worse EMS, so your complaining about JEMMEX is not really helpful here, just leave it aside :hungry:

Anyway, from your bug symptoms, I think I have "found" the bug, it's indeed a page fault, no way related to SSE, caused by a faulty memory access, that's why I/you get no PF with paging-inactive DPMI hosts without EMM386, because PF's simply don't exist then :clap:

And, with buggy code, occurrence of PF's indeed can depend from HIMEMX or EMM386, thus if you get such "random" PF's then you have a corrupt memory access or "wild" pointer :clap: BTW, I also had similar problems (but without DGJPP) in the past :-| Finally, presence of HIMEMX or JEMMEX MAY NOT AFFECT the availability of SSE (or RDMSR/WRMSR or whatever) from DPMI - you get what the DPMI host gives you (Ring0 or Ring3, CR emulated or not), EMM386 can only "push" a paging-inactive host to use paging and allow a PF to occur and point you to your bug :clap:

You should add some debug info: "Now will CPUID" - "CPUID done, result:" ... - "Now try to enable SSE, writing CR's" - "SSE enabled" to see where your bug is (probably NOT in SSE at all). :hungry:

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 293 users online (0 registered, 293 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum