Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

since it works perfectly .. never change a running system ? (Developers)

posted by Japheth Homepage, Germany (South), 19.02.2008, 19:21
(edited by Japheth on 19.02.2008, 19:33)

> At least, I fixed this bug and many other bugs in DPMIST32.BIN, and also
> did a few other improvements:
>
> http://board.flatassembler.net/topic.php?t=8316

What are these "many other bugs"? Please supply a list!

I'm not yet convinced that your code contains "other improvements", because the start is not really promising:

        ; Here starting from DOS: DS = ???/PSP | ES = (seg-addr) of PSP
        ; We have exactly 28 bytes left before 0,0,0,0

        mov    ax,$7202            ; 3   -> 3
        push   ax
        popf
        pushf
        pop    bx                  ; 4x1 -> 7
        cmp    ax,bx               ; 2   -> 9
        je     short llmover       ; 2   -> 11 | OK we have at least 80386


Do you know that the NT flag sometimes is "lost" when running under some v86-monitors? AFAIK NTVDM is one of those, for example. V86-monitors can fake the content of the flags register, so you should be very careful with assumptions in this regard.

After all, a test for 80386 is not really necessary, because DPMILD32 won't use 386-specific opcodes before the DPMI host has switched into protected-mode, and no host I know of will switch to protected-mode for 32bit clients on a 80286 - if you're able to find a host which runs on such a cpu at all. So it should suffice to do a very simple test to filter 8086s:

    push sp
    pop ax
    cmp ax,sp
    jnz nono

---
MS-DOS forever!

 

Complete thread:

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