Rev 2956 | Rev 3168 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2956 | Rev 3163 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | ;; |
56 | ;; |
57 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
57 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 58... | Line 58... | ||
58 | 58 | ||
Line 59... | Line 59... | ||
59 | include 'macros.inc' |
59 | include 'macros.inc' |
Line 60... | Line 60... | ||
60 | 60 | ||
Line 61... | Line 61... | ||
61 | $Revision: 2956 $ |
61 | $Revision: 3163 $ |
Line 333... | Line 333... | ||
333 | mov eax, [BOOT_VAR + 0x9044] ; version & flags |
333 | mov eax, [BOOT_VAR + 0x9044] ; version & flags |
334 | mov [apm_vf], eax |
334 | mov [apm_vf], eax |
335 | ; ----------------------------------------- |
335 | ; ----------------------------------------- |
336 | mov al, [BOOT_VAR+0x901F] ; DMA access |
336 | mov al, [BOOT_VAR+0x901F] ; DMA access |
337 | mov [allow_dma_access], al |
337 | mov [allow_dma_access], al |
338 | mov eax, 32 ; bpp |
338 | mov eax, 32 ; << bpp |
339 | mov [ScreenBPP],al |
339 | mov [ScreenBPP],al |
340 | mov [_display.bpp], eax |
340 | mov [_display.bpp], eax |
Line 341... | Line 341... | ||
341 | 341 | ||
342 | mov [_display.vrefresh], 60 |
342 | mov [_display.vrefresh], 60 |
Line 343... | Line 343... | ||
343 | mov [_display.disable_mouse], __sys_disable_mouse |
343 | mov [_display.disable_mouse], __sys_disable_mouse |
344 | 344 | ||
345 | movzx eax,word [BOOT_VAR+0x900A] ; X max |
345 | mov eax, 1024 ; << X max |
346 | mov [_display.width], eax |
346 | mov [_display.width], eax |
347 | dec eax |
347 | dec eax |
348 | mov [Screen_Max_X],eax |
348 | mov [Screen_Max_X],eax |
349 | mov [screen_workarea.right],eax |
349 | mov [screen_workarea.right],eax |
350 | movzx eax,word [BOOT_VAR+0x900C] ; Y max |
350 | mov eax,768 ; << Y max |
351 | mov [_display.height], eax |
351 | mov [_display.height], eax |
352 | dec eax |
352 | dec eax |
353 | mov [Screen_Max_Y],eax |
353 | mov [Screen_Max_Y],eax |
354 | mov [screen_workarea.bottom],eax |
354 | mov [screen_workarea.bottom],eax |
Line 355... | Line 355... | ||
355 | movzx eax,word [BOOT_VAR+0x9008] ; screen mode |
355 | mov eax, 0x7055 ; << screen mode |
356 | mov [SCR_MODE],eax |
356 | mov [SCR_MODE],eax |
357 | 357 | ||
Line 358... | Line 358... | ||
358 | movzx eax, word[BOOT_VAR+0x9001] ; for other modes |
358 | mov eax, 4096 ; << may be different! |
359 | mov [BytesPerScanLine],ax |
359 | mov [BytesPerScanLine],ax |
Line 374... | Line 374... | ||
374 | 374 | ||
375 | and byte [BOOT_VAR+0x901e],0x0 |
375 | and byte [BOOT_VAR+0x901e],0x0 |
376 | mov eax,[BOOT_VAR+0x9018] |
376 | mov eax, [BOOT_VAR+0x9018] |
Line 377... | Line -... | ||
377 | mov [LFBAddress],eax |
- | |
378 | - | ||
379 | cmp [SCR_MODE],word 0100000000000000b |
- | |
380 | jge setvesa20 |
- | |
381 | mov eax, 0xDEADBEEF |
- | |
382 | hlt |
- | |
383 | ; === EGA, VGA & Vesa 1.2 modes not supported === |
- | |
384 | setvesa20: |
377 | mov [LFBAddress],eax |
385 | v20ga32: |
378 | |
Line 386... | Line 379... | ||
386 | mov [PUTPIXEL],dword __sys_putpixel |
379 | mov [PUTPIXEL],dword __sys_putpixel |
387 | mov [GETPIXEL],dword get_pixel |
380 | mov [GETPIXEL],dword get_pixel |