home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / p / pcsp2_0.zip / DRV_SRC.ZIP / TRIDENTH.ASM < prev    next >
Assembly Source File  |  1993-01-10  |  2KB  |  108 lines

  1.  
  2. ;Pcspace-Grafiktreiber Trident- 256Farben
  3. ;
  4. ;Zum Erstellen von TRIDENTH.drv:
  5. ; tasm tridenth
  6. ; tlink tridenth
  7. ; exe2bin tridenth
  8. ; ren tridenth.bin tridenth.drv
  9. ;
  10. ; Achtung: Maximallänge der drv datei: 128 Bytes
  11.  
  12. prog  segment para 'code'
  13.  assume cs:prog
  14.  assume ds:prog
  15.  assume ss:prog
  16.  assume es:prog
  17.  
  18. start  proc  far
  19.        ; Einsprung Videomodus initialisieren
  20.        jmp short init
  21.  
  22.        ; Einsprung 64k Bank setzen und Segmentadresse nach ex
  23.        ; in al ist die bank nr.
  24.        jmp short bank
  25.      ;Treiberparameter
  26.  
  27.        db 255 ;Anzahl der Farben-1
  28.        ;Parametertabelle für Initialisierung
  29.        db 5dh ;Modus 0: Auflösung 640*480
  30.        db 5eh ;Modus 1: Auflösung 800*600
  31.        db -1h ;Modus 2: Auflösung 1024*768 (nicht vorhanden)
  32.  
  33.        db "Trident 256Farben" ;Identifizierungstext für Setup
  34.        db 0                   ;Länge kann variabel sein
  35.  
  36.      ;Videomodus initialisieren
  37.      ;Verwedete Register: ax,bx
  38.  init: ;al wurde mit dem Wert der Parametertabelle besetzt
  39.        ;Auflösung nicht vorhanden (Par.-1) wurde schon abgefangen.
  40.  
  41.        xor  ah,ah
  42.        int  10h
  43.        db 0cbh ;retf
  44.  
  45.      ;Videobank setzen
  46.      ;Verwedete Register: ax,dx,es
  47.  bank: xor  al,02h
  48.        push ax
  49.        mov  dx,0a000h
  50.        mov  es,dx
  51.  
  52.        mov  dx,03c4h
  53.        mov  al,0bh
  54.        out  dx,al
  55.  
  56.        inc  dx
  57.        jmp  short $+2
  58.        in   al,dx
  59.        and  al,0fh
  60.        cmp  al,02h
  61.        jb   sgb0
  62.        mov  dl,0ceh
  63.        mov  ax,0506h
  64.        jmp  short $+2
  65.        out  dx,ax
  66.  
  67.        pop  ax
  68.        mov  ah,al
  69.        mov  al,0eh
  70.        mov  dl,0c4h
  71.        out  dx,ax
  72.        db 0cbh   ;retf
  73.  
  74.   sgb0:pop  ax
  75.        mov  ah,al
  76.        test ah,1
  77.        jz   oka0
  78.  
  79.        mov  dx,0b000h
  80.        mov  es,dx
  81.  
  82.   oka0:mov  dx,03cch
  83.        in   al,dx
  84.        or   al,20h
  85.        test ah,2
  86.        jnz  ok1
  87.        and  al,0dfh
  88.  
  89.    ok1:mov  dl,0c2h
  90.        out  dx,al
  91.        mov  al,0eh
  92.        mov  dl,0c4h
  93.        out  dx,al
  94.        inc  dx
  95.        in   al,dx
  96.        and  al,0fdh
  97.        test ah,04h
  98.        jz   ok2
  99.        or   al,02h
  100.  
  101.    ok2:out  dx,al
  102.        db 0cbh   ;retf
  103.  
  104. start  endp
  105.  
  106. prog  ends
  107.  
  108.  end  start