Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

My high-end Sigi evaluator (Announce)

posted by DOS386, 27.01.2010, 13:17


; SSHSIGI - dumbs (quoted), checks and reports "addon-EXE" Sigi, EOL's

; In  : ESI - points to the Sigi (4 Byte's must be present)
; Out :  BL - 0:invalid  1:PE  2:PX  3:LE  4:LX  5:NE (sucks)  6:COFF'ee
; Trashes : all except ESI

sshsigi:

        push   esi

        call   ssquot
        mov    ch, 4              ; 4 chars Sigi
        call   ssprintstringfix   ; Trashes EAX and CH, preserves ESI and CL
        call   ssquot

        lodsd                     ; Peek file Sigi
        xchg   edx, eax           ; Drop file Sigi into EDX
        call   @f
        db     "PEPXLELXNE",$4C,1
@@:     pope   ecx
        movntq eax, 0             ; High bits must be ZERO all the time
        movntq ebx, 0             ; Pre'ASS'ume PE (will get INC'ed to 1)

sigi_desperate_search:
        mov    al, [ecx]
        mov    ah, [ecx+1]
        cmp    eax, edx
        je     short found_sigi
        inc    ebx                ; INCNTQ BL
        cmp    bl, 6              ; 6 is now invalid, later COFF'ee
        je     short not_found_sigi
        cmp    bl, 4              ; 4 is now NE later LX
        jne    short @f
        and    edx, $0000'FFFF    ; NE and COFF'ee are only 2 Byte's
@@:     inc    ecx
        inc    ecx
        jmp    short sigi_desperate_search
        ;---------------------------------

not_found_sigi:
        call   sshinvalid
        mov    bl, $FF            ; Will get INC'ed to ZERO
        jmp    short hey_done_sigi
        ;-------------------------

found_sigi:
        push   eax                    ; Sigi in both EAX and EDX
        call   @f
        db " recognized as ", 0
@@:     pope   edx
        call   ssprintedxa            ; Trashing EAX and EDX
        pope   eax
        cmp    bl, 5                  ; COFF'ee ???
        je     short got_the_coffee   ; YES
        call   ssonecharal            ; @
        mov    al, ah                 ; @ Display Sigi except for COFF'ee
        call   ssonecharal            ; @

got_the_coffee:
        mov    ah, bl       ; Can be 0 (PE) to 5 (COFF'ee), no "???" possible
        call   sshmultisigi ; Reduces jump distance

hey_done_sigi:
        call   sseol
        pope   esi
        inc    ebx          ; !!!
        ret
        ;----

sshmultisigi:

        call   @f
        db 0, " AKA PE", 0, " Linear (WATT'com or OS'ama/2)", 0, 2
        db " (sucks)", 0, "COFF'ee/DGJPP", 0
@@:     pope   esi
        call   ssmmultitext   ; Updates ESI, trashes EAX
        jmp    ssprintesia    ; Comment (not PE) or main name (COFF'ee only)
        ;-----------------


Preventig stupid questions about "where to download" :-P

---
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
22632 Postings in 2109 Threads, 402 registered users, 426 users online (0 registered, 426 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum