2 * Mesa 3-D graphics library
5 * Copyright (C) 1999 Brian Paul All Rights Reserved.
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions:
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 * DOS/DJGPP device driver v1.3 for Mesa
28 * Copyright (C) 2002 - Borca Daniel
29 * Email : dborca@yahoo.com
30 * Web : http://www.geocities.com/dborca
37 * extern unsigned int vesa_gran_mask, vesa_gran_shift;
38 * extern int vl_video_selector;
40 * extern void *vl_current_draw_buffer;
41 * extern int vl_current_stride, vl_current_height;
42 * extern int vl_current_offset, vl_current_delta;
47 /* Desc: VESA bank switching routine (BIOS)
49 * In : EBX=0, EDX = bank number
62 _vesa_swbank: .long _vesa_swbankBIOS
64 /* Desc: void vesa_b_dump_virtual (void);
69 * Note: uses current draw buffer
72 .global _vesa_b_dump_virtual
80 movl _vl_video_selector, %es
81 movl _vl_current_draw_buffer, %esi
82 movl _vl_current_offset, %edi
83 movl _vesa_gran_shift, %ecx
84 movl _vesa_gran_mask, %ebp
91 movl _vl_current_stride, %ecx
92 movl _vl_current_height, %eax
93 movl _vl_current_delta, %ebx
126 /* Desc: void vesa_l_dump_virtual (void);
131 * Note: uses current draw buffer
134 .global _vesa_l_dump_virtual
135 _vesa_l_dump_virtual:
140 movl _vl_video_selector, %es
141 movl _vl_current_draw_buffer, %esi
142 movl _vl_current_offset, %edi
143 movl _vl_current_stride, %ecx
144 movl _vl_current_height, %edx
145 movl _vl_current_delta, %eax
160 /* Desc: void vesa_l_dump_virtual_mmx (void);
165 * Note: uses current draw buffer
168 .global _vesa_l_dump_virtual_mmx
169 _vesa_l_dump_virtual_mmx:
173 movl _vl_video_selector, %fs
174 movl _vl_current_draw_buffer, %esi
175 movl _vl_current_offset, %edi
176 movl _vl_current_stride, %ecx
177 movl _vl_current_height, %edx
178 movl _vl_current_delta, %eax
187 movq %mm0, %fs:(%edi)