Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

TripleFault [4] | 80686 -> 80486 -> 80386 -> 80286 !?!? (DOSX)

posted by DOS386, 19.08.2007, 07:36

> Sure it does.

YES. In latest version only ... previous versions didn't ...

> Search for "203"!

Incredibly easy to find ... as long as you have the correct source and not an obsolete one :no:

Seems to work - prevents (visible) PageFault with HDPMI32 -s and NTVDM Exception ... yeah :lol3:

But seems you "protect" the GDT/LDT search only ... and assume IDT will be accessible and writable if the search (for what exactly ?) runs in a success ?

Well, had to apply 2 cracks before it "worked" in NTVMD ... first cracked off the "TRUE" DOS test -> MTRR's not supported !!! Why ? INT $31/$400 returns 3 in NTVDM (!!!) ... MEVDM used to return 4 ... and DOS/HDPMI correctly returns 6 of course :-) ... and next generation Vi$ta NTVDM MS-DOG subsystem probably reports itself as 80286 ... to be verified ASAP :hungry:

;--- running on NT?

bdone:
           mov ax,$3306  ; GET "TRUE" VERSION NUMBER
           int $21       ; Result in BX
           ; cmp bx,3205 ; MS-DOG NT
           and ebx,$FFFF
           mov eax, ebx
           call sshex32eol

;--- MTRRs supported?

        mov ax,400h
        int 31h          ; Result in CL
        ; cmp cl,4       ; must be at least a 80486
        and ECX,$FF
        mov eax, ecx
        call sshex32eol

        pushfd
        push 200000h
        popfd
        pushfd
        pop eax
        popfd
        test eax,200000h      ; CPUID supported?
        jz @f                 ; Failure, no CPUID
        mov eax, $FFFFFFFF    ; OK
@@:     call sshex32eol

        mov eax,1
        xor edx, edx
        cpuid
        test edx, $1000
        jz @f                 ; Failure
        mov  edx,$FFFFFFFF
@@:     mov  eax,edx
        call sshex32eol

        mov ax,$4C00
        int $21

sshex32eol:
        mov  ecx,8
@@:     mov  dl,0
        shld edx,eax,4
        shl  eax,4
        push eax
        cmp  dl,10
        jb   qq1
        add  dl,7
qq1:    add  dl,$30
        mov  ah,2
        int  $21
        pop eax     ; POPE it back
        loop @b

sseol:  mov dl,13
        mov ah,2
        int $21
        mov dl,10
        int $21
        ret

---
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, 185 users online (0 registered, 185 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum