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 >
Wrap
Assembly Source File
|
1993-01-10
|
2KB
|
108 lines
;Pcspace-Grafiktreiber Trident- 256Farben
;
;Zum Erstellen von TRIDENTH.drv:
; tasm tridenth
; tlink tridenth
; exe2bin tridenth
; ren tridenth.bin tridenth.drv
;
; Achtung: Maximallänge der drv datei: 128 Bytes
prog segment para 'code'
assume cs:prog
assume ds:prog
assume ss:prog
assume es:prog
start proc far
; Einsprung Videomodus initialisieren
jmp short init
; Einsprung 64k Bank setzen und Segmentadresse nach ex
; in al ist die bank nr.
jmp short bank
;Treiberparameter
db 255 ;Anzahl der Farben-1
;Parametertabelle für Initialisierung
db 5dh ;Modus 0: Auflösung 640*480
db 5eh ;Modus 1: Auflösung 800*600
db -1h ;Modus 2: Auflösung 1024*768 (nicht vorhanden)
db "Trident 256Farben" ;Identifizierungstext für Setup
db 0 ;Länge kann variabel sein
;Videomodus initialisieren
;Verwedete Register: ax,bx
init: ;al wurde mit dem Wert der Parametertabelle besetzt
;Auflösung nicht vorhanden (Par.-1) wurde schon abgefangen.
xor ah,ah
int 10h
db 0cbh ;retf
;Videobank setzen
;Verwedete Register: ax,dx,es
bank: xor al,02h
push ax
mov dx,0a000h
mov es,dx
mov dx,03c4h
mov al,0bh
out dx,al
inc dx
jmp short $+2
in al,dx
and al,0fh
cmp al,02h
jb sgb0
mov dl,0ceh
mov ax,0506h
jmp short $+2
out dx,ax
pop ax
mov ah,al
mov al,0eh
mov dl,0c4h
out dx,ax
db 0cbh ;retf
sgb0:pop ax
mov ah,al
test ah,1
jz oka0
mov dx,0b000h
mov es,dx
oka0:mov dx,03cch
in al,dx
or al,20h
test ah,2
jnz ok1
and al,0dfh
ok1:mov dl,0c2h
out dx,al
mov al,0eh
mov dl,0c4h
out dx,al
inc dx
in al,dx
and al,0fdh
test ah,04h
jz ok2
or al,02h
ok2:out dx,al
db 0cbh ;retf
start endp
prog ends
end start