|
|
1.1 ! root 1: ;---------------------------Module-Header------------------------------; ! 2: ; Module Name: vgaregs.asm ! 3: ; ! 4: ; Copyright (c) 1992 Microsoft Corporation ! 5: ;-----------------------------------------------------------------------; ! 6: ;-----------------------------------------------------------------------; ! 7: ; VOID vInitRegs(void) ! 8: ; ! 9: ; Sets the VGA's data control registers to their default states. ! 10: ; ! 11: ;-----------------------------------------------------------------------; ! 12: ! 13: .386 ! 14: ! 15: ! 16: ifndef DOS_PLATFORM ! 17: .model small,c ! 18: else ! 19: ifdef STD_CALL ! 20: .model small,c ! 21: else ! 22: .model small,pascal ! 23: endif; STD_CALL ! 24: endif; DOS_PLATFORM ! 25: ! 26: assume cs:FLAT,ds:FLAT,es:FLAT,ss:FLAT ! 27: assume fs:nothing,gs:nothing ! 28: ! 29: .xlist ! 30: include stdcall.inc ;calling convention cmacros ! 31: include i386\egavga.inc ! 32: include i386\strucs.inc ! 33: .list ! 34: ! 35: .code ! 36: ! 37: cProc vInitRegs ! 38: ! 39: ; Initialize sequencer to its defaults (all planes enabled, index ! 40: ; pointing to Map Mask). ! 41: ! 42: mov dx,VGA_BASE + SEQ_ADDR ! 43: mov ax,(MM_ALL shl 8) + SEQ_MAP_MASK ! 44: out dx,ax ! 45: ! 46: ; Initialize graphics controller to its defaults (set/reset disabled for ! 47: ; all planes, no rotation & ALU function == replace, write mode 0 & read ! 48: ; mode 0, color compare ignoring all planes (read mode 1 reads always ! 49: ; return 0ffh, handy for ANDing), and the bit mask == 0ffh, gating all ! 50: ; bytes from the CPU. ! 51: ! 52: mov dl,GRAF_ADDR ! 53: mov ax,(0 shl 8) + GRAF_ENAB_SR ! 54: out dx,ax ! 55: ! 56: mov ax,(DR_SET shl 8) + GRAF_DATA_ROT ! 57: out dx,ax ! 58: ! 59: mov ax,((M_PROC_WRITE or M_DATA_READ) shl 8) + GRAF_MODE ! 60: out dx,ax ! 61: ! 62: mov ax,(0 shl 8) + GRAF_CDC ! 63: out dx,ax ! 64: ! 65: mov ax,(0FFh shl 8) + GRAF_BIT_MASK ! 66: out dx,ax ! 67: ! 68: cRet vInitRegs ! 69: ! 70: ! 71: endProc vInitRegs ! 72: ! 73: end ! 74:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.