|
|
1.1 ! root 1: ;******************************Module*Header*******************************\ ! 2: ; Module Name: driver.inc ! 3: ; ! 4: ; driver prototypes ! 5: ; ! 6: ; Copyright (c) 1992 Microsoft Corporation ! 7: ;**************************************************************************/ ! 8: ! 9: ! 10: ;!!! Make this match driver.h I want to see the same include structure ! 11: ;!!! for assembler as for C ! 12: ! 13: DDI_DRIVER_VERSION EQU 010000h ! 14: ! 15: ;/* gflDrv */ ! 16: ! 17: DRV_ENABLED_ONCE EQU 1 ! 18: DRV_ENABLED_PDEV EQU 2 ! 19: ! 20: ; Space required for working storage when working with banking on adapters ! 21: ; that don't support two independent read/write windows. The largest supported ! 22: ; bank is 64K; this constant provides for storing four 64K planes. ! 23: ; Mirrors DRIVER.H. ! 24: ! 25: BANK_BUFFER_SIZE equ 10000h*4 ! 26: ! 27: ; Start offsets of planes within the bank buffer. ! 28: ; Mirrors DRIVER.H. ! 29: ! 30: BANK_BUFFER_PLANE_SIZE equ 04000h ! 31: ! 32: PLANE_0_OFFSET equ 0 ! 33: PLANE_1_OFFSET equ BANK_BUFFER_PLANE_SIZE ! 34: PLANE_2_OFFSET equ BANK_BUFFER_PLANE_SIZE*2 ! 35: PLANE_3_OFFSET equ BANK_BUFFER_PLANE_SIZE*3 ! 36: ! 37: ! 38: ; Indicates type of bank justification within banking window. Matches ! 39: ; typedef enum BANK_JUST in DRIVER.H. ! 40: ! 41: JustifyTop equ 0 ! 42: JustifyBottom equ 1 ! 43: ! 44: ! 45: ; Specifies which window is to be mapped by two-window bank handler. ! 46: ! 47: MapSourceBank equ 0 ! 48: MapDestBank equ 1 ! 49: ! 50: ! 51: ; /* This device can have only one PDEV */ ! 52: ; BUGBUG should support multiple PDEVs ! 53: ! 54: DRV_ONE_PDEV EQU 1 ! 55: ! 56: ; Miscellaneous driver flags in pdev.fl ! 57: ;---mirrors driver.h---; ! 58: ! 59: DRIVER_USE_OFFSCREEN equ 02h ; if not set, don't use offscreen memory ! 60: ! 61: ; Maximum width and height handled by this driver (controls buffer sizes). ! 62: ; BUGBUG everything should be allocated to the needed size on the stack, or ! 63: ; should use the work buffer hanging off the DSURF ! 64: ! 65: CX_SCREEN_MAX equ 1280 ! 66: CY_SCREEN_MAX equ 1024 ! 67: cj_max_scan equ (CX_SCREEN_MAX/8) ! 68: ! 69: ; Macro to do a simple RET, with no stack stuff, in a proc. ! 70: PLAIN_RET macro ! 71: db 0c3h ! 72: endm ! 73: ! 74: ; Macro to generate BSWAP, which the assembler doesn't support. ! 75: M_BSWAP macro REG ! 76: ifidni <eax>,<®> ! 77: db 0fh, 0c8h + 000b ! 78: exitm ! 79: endif ! 80: ifidni <ecx>,<®> ! 81: db 0fh, 0c8h + 001b ! 82: exitm ! 83: endif ! 84: ifidni <edx>,<®> ! 85: db 0fh, 0c8h + 010b ! 86: exitm ! 87: endif ! 88: ifidni <ebx>,<®> ! 89: db 0fh, 0c8h + 011b ! 90: exitm ! 91: endif ! 92: ifidni <esp>,<®> ! 93: db 0fh, 0c8h + 100b ! 94: exitm ! 95: endif ! 96: ifidni <ebp>,<®> ! 97: db 0fh, 0c8h + 101b ! 98: exitm ! 99: endif ! 100: ifidni <esi>,<®> ! 101: db 0fh, 0c8h + 110b ! 102: exitm ! 103: endif ! 104: ifidni <edi>,<®> ! 105: db 0fh, 0c8h + 111b ! 106: exitm ! 107: endif ! 108: endm ;M_BSWAP ! 109: ! 110: ; Macro to generate BSWAP equivalent for 386, which doesn't support the ! 111: ; instruction. ! 112: M_BSWAP_386 macro REG ! 113: ifidni <eax>,<®> ! 114: xchg ah,al ! 115: ror eax,16 ! 116: xchg ah,al ! 117: exitm ! 118: endif ! 119: ifidni <ecx>,<®> ! 120: xchg ch,cl ! 121: ror ecx,16 ! 122: xchg ch,cl ! 123: exitm ! 124: endif ! 125: ifidni <edx>,<®> ! 126: xchg dh,dl ! 127: ror edx,16 ! 128: xchg dh,dl ! 129: exitm ! 130: endif ! 131: ifidni <ebx>,<®> ! 132: xchg bh,bl ! 133: ror ebx,16 ! 134: xchg bh,bl ! 135: exitm ! 136: endif ! 137: ifidni <esp>,<®> ! 138: ror sp,8 ! 139: ror esp,16 ! 140: ror sp,8 ! 141: exitm ! 142: endif ! 143: ifidni <ebp>,<®> ! 144: ror bp,8 ! 145: ror ebp,16 ! 146: ror bp,8 ! 147: exitm ! 148: endif ! 149: ifidni <esi>,<®> ! 150: ror si,8 ! 151: ror esi,16 ! 152: ror si,8 ! 153: exitm ! 154: endif ! 155: ifidni <edi>,<®> ! 156: ror di,8 ! 157: ror edi,16 ! 158: ror di,8 ! 159: exitm ! 160: endif ! 161: endm ;M_BSWAP ! 162: ! 163:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.