Rev 1507 | Rev 1551 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1507 | Rev 1508 | ||
---|---|---|---|
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: 1507 $ |
61 | $Revision: 1508 $ |
Line 125... | Line 125... | ||
125 | include "boot/bootstr.inc" ; language-independent boot messages |
125 | include "boot/bootstr.inc" ; language-independent boot messages |
126 | include "boot/preboot.inc" |
126 | include "boot/preboot.inc" |
Line 127... | Line 127... | ||
127 | 127 | ||
128 | if lang eq en |
128 | if lang eq en |
129 | include "boot/booteng.inc" ; english system boot messages |
129 | include "boot/booteng.inc" ; english system boot messages |
130 | else if lang eq ru |
130 | else |
131 | include "boot/bootru.inc" ; russian system boot messages |
131 | include "boot/bootru.inc" ; russian system boot messages |
132 | include "boot/ru.inc" ; Russian font |
- | |
133 | else if lang eq et |
- | |
134 | include "boot/bootet.inc" ; estonian system boot messages |
- | |
135 | include "boot/et.inc" ; Estonian font |
- | |
136 | else |
- | |
137 | include "boot/bootge.inc" ; german system boot messages |
132 | include "boot/ru.inc" ; Russian font |
Line 138... | Line 133... | ||
138 | end if |
133 | end if |
139 | 134 | ||
140 | include "boot/bootcode.inc" ; 16 bit system boot code |
135 | include "boot/bootcode.inc" ; 16 bit system boot code |
Line 393... | Line 388... | ||
393 | 388 | ||
394 | and byte [BOOT_VAR+0x901e],0x0 |
389 | and byte [BOOT_VAR+0x901e],0x0 |
395 | mov eax,[BOOT_VAR+0x9018] |
390 | mov eax,[BOOT_VAR+0x9018] |
Line 396... | Line 391... | ||
396 | mov [LFBAddress],eax |
391 | mov [LFBAddress],eax |
397 | 392 | ||
398 | cmp [SCR_MODE],word 0100000000000000b |
393 | ;== cmp [SCR_MODE],word 0100000000000000b |
399 | jge setvesa20 |
394 | ; jge setvesa20 |
400 | cmp [SCR_MODE],word 0x13 |
395 | ; cmp [SCR_MODE],word 0x13 |
401 | je v20ga32 |
396 | ; je v20ga32 |
402 | mov [PUTPIXEL],dword Vesa12_putpixel24 ; Vesa 1.2 |
397 | ; mov [PUTPIXEL],dword Vesa12_putpixel24 ; Vesa 1.2 |
403 | mov [GETPIXEL],dword Vesa12_getpixel24 |
398 | ; mov [GETPIXEL],dword Vesa12_getpixel24 |
404 | cmp [ScreenBPP],byte 24 |
399 | ; cmp [ScreenBPP],byte 24 |
405 | jz ga24 |
400 | ; jz ga24 |
406 | mov [PUTPIXEL],dword Vesa12_putpixel32 |
401 | ; mov [PUTPIXEL],dword Vesa12_putpixel32 |
407 | mov [GETPIXEL],dword Vesa12_getpixel32 |
402 | ; mov [GETPIXEL],dword Vesa12_getpixel32 |
408 | ga24: |
403 | ; ga24: |
409 | jmp v20ga24 |
404 | ; jmp v20ga24 |
410 | setvesa20: |
405 | setvesa20: |
411 | mov [PUTPIXEL],dword Vesa20_putpixel24 ; Vesa 2.0 |
406 | ; mov [PUTPIXEL],dword Vesa20_putpixel24 ; Vesa 2.0 |
412 | mov [GETPIXEL],dword Vesa20_getpixel24 |
407 | ; mov [GETPIXEL],dword Vesa20_getpixel24 |
413 | cmp [ScreenBPP],byte 24 |
408 | ; cmp [ScreenBPP],byte 24 |
414 | jz v20ga24 |
409 | ; jz v20ga24 |
415 | v20ga32: |
410 | v20ga32: |
416 | mov [PUTPIXEL],dword Vesa20_putpixel32 |
411 | mov [PUTPIXEL],dword Vesa20_putpixel32 |
417 | mov [GETPIXEL],dword Vesa20_getpixel32 |
412 | mov [GETPIXEL],dword Vesa20_getpixel32 |
418 | v20ga24: |
413 | ; v20ga24: |
419 | cmp [SCR_MODE],word 0x12 ; 16 C VGA 640x480 |
414 | ; cmp [SCR_MODE],word 0x12 ; 16 C VGA 640x480 |
420 | jne no_mode_0x12 |
415 | ; jne no_mode_0x12 |
421 | mov [PUTPIXEL],dword VGA_putpixel |
416 | ; mov [PUTPIXEL],dword VGA_putpixel |
Line 422... | Line 417... | ||
422 | mov [GETPIXEL],dword Vesa20_getpixel32 |
417 | ; mov [GETPIXEL],dword Vesa20_getpixel32 |
423 | no_mode_0x12: |
418 | no_mode_0x12: |
424 | 419 | ||
Line 812... | Line 807... | ||
812 | call stack_init |
807 | call stack_init |
813 | call fdc_init |
808 | call fdc_init |
Line 814... | Line 809... | ||
814 | 809 | ||
Line 815... | Line 810... | ||
815 | ; PALETTE FOR 320x200 and 640x480 16 col |
810 | ; PALETTE FOR 320x200 and 640x480 16 col |
816 | 811 | ||
817 | cmp [SCR_MODE],word 0x12 |
812 | ; cmp [SCR_MODE],word 0x12 |
818 | jne no_pal_vga |
813 | ; jne no_pal_vga |
819 | mov esi,boot_pal_vga |
814 | ; mov esi,boot_pal_vga |
820 | call boot_log |
815 | ; call boot_log |
Line 821... | Line 816... | ||
821 | call paletteVGA |
816 | ; call paletteVGA |
822 | no_pal_vga: |
817 | ; no_pal_vga: |
823 | 818 | ||
824 | cmp [SCR_MODE],word 0x13 |
819 | ; cmp [SCR_MODE],word 0x13 |
825 | jne no_pal_ega |
820 | ; jne no_pal_ega |
826 | mov esi,boot_pal_ega |
821 | ; mov esi,boot_pal_ega |
Line 827... | Line 822... | ||
827 | call boot_log |
822 | ; call boot_log |
Line 828... | Line 823... | ||
828 | call palette320x200 |
823 | ; call palette320x200 |
Line 1021... | Line 1016... | ||
1021 | xor edi,edi |
1016 | xor edi,edi |
1022 | mov edx,esi |
1017 | mov edx,esi |
1023 | inc edi |
1018 | inc edi |
1024 | call dtext |
1019 | call dtext |
Line 1025... | Line 1020... | ||
1025 | 1020 | ||
1026 | mov [novesachecksum],1000 |
1021 | ; mov [novesachecksum],1000 |
Line 1027... | Line 1022... | ||
1027 | call checkVga_N13 |
1022 | ; call checkVga_N13 |
Line 1028... | Line 1023... | ||
1028 | 1023 | ||
Line 1039... | Line 1034... | ||
1039 | osloop: |
1034 | osloop: |
1040 | call [draw_pointer] |
1035 | call [draw_pointer] |
1041 | call window_check_events |
1036 | call window_check_events |
1042 | call mouse_check_events |
1037 | call mouse_check_events |
1043 | call checkmisc |
1038 | call checkmisc |
1044 | call checkVga_N13 |
1039 | ; call checkVga_N13 |
1045 | call stack_handler |
1040 | call stack_handler |
1046 | call checkidle |
1041 | call checkidle |
1047 | call check_fdd_motor_status |
1042 | call check_fdd_motor_status |
1048 | call check_ATAPI_device_event |
1043 | call check_ATAPI_device_event |
1049 | jmp osloop |
1044 | jmp osloop |
Line 3799... | Line 3794... | ||
3799 | cmp [SCR_MODE],word 0x12 |
3794 | cmp [SCR_MODE],word 0x12 |
3800 | je dbrv20 |
3795 | je dbrv20 |
3801 | dbrv12: |
3796 | dbrv12: |
3802 | cmp [SCR_MODE],word 0100000000000000b |
3797 | cmp [SCR_MODE],word 0100000000000000b |
3803 | jge dbrv20 |
3798 | jge dbrv20 |
3804 | cmp [SCR_MODE],word 0x13 |
3799 | ; cmp [SCR_MODE],word 0x13 |
3805 | je dbrv20 |
3800 | ; je dbrv20 |
3806 | call vesa12_drawbackground |
3801 | ; call vesa12_drawbackground |
3807 | dec [mouse_pause] |
3802 | dec [mouse_pause] |
3808 | call [draw_pointer] |
3803 | call [draw_pointer] |
3809 | ret |
3804 | ret |
3810 | dbrv20: |
3805 | dbrv20: |
3811 | cmp [BgrDrawMode],dword 1 |
3806 | cmp [BgrDrawMode],dword 1 |
Line 3841... | Line 3836... | ||
3841 | .forced: |
3836 | .forced: |
3842 | push ebp esi 0 |
3837 | push ebp esi 0 |
3843 | mov ebp, putimage_get24bpp |
3838 | mov ebp, putimage_get24bpp |
3844 | mov esi, putimage_init24bpp |
3839 | mov esi, putimage_init24bpp |
3845 | sys_putimage_bpp: |
3840 | sys_putimage_bpp: |
3846 | ; call [disable_mouse] ; this will be done in xxx_putimage |
- | |
3847 | ; mov eax, vga_putimage |
- | |
3848 | cmp [SCR_MODE], word 0x12 |
3841 | ; cmp [SCR_MODE], word 0x12 |
3849 | jz @f ;.doit |
3842 | ; jz @f ;.doit |
3850 | mov eax, vesa12_putimage |
3843 | ; mov eax, vesa12_putimage |
3851 | cmp [SCR_MODE], word 0100000000000000b |
3844 | ; cmp [SCR_MODE], word 0100000000000000b |
3852 | jae @f |
3845 | ; jae @f |
3853 | cmp [SCR_MODE], word 0x13 |
3846 | ; cmp [SCR_MODE], word 0x13 |
3854 | jnz .doit |
3847 | ; jnz .doit |
3855 | @@: |
3848 | ;@@: |
3856 | mov eax, vesa20_putimage |
3849 | mov eax, vesa20_putimage |
3857 | .doit: |
3850 | .doit: |
3858 | inc [mouse_pause] |
3851 | inc [mouse_pause] |
3859 | call eax |
3852 | call eax |
3860 | dec [mouse_pause] |
3853 | dec [mouse_pause] |
Line 4138... | Line 4131... | ||
4138 | inc [mouse_pause] |
4131 | inc [mouse_pause] |
4139 | ; call [disable_mouse] |
4132 | ; call [disable_mouse] |
4140 | cmp [SCR_MODE],word 0x12 |
4133 | cmp [SCR_MODE],word 0x12 |
4141 | je dbv20 |
4134 | je dbv20 |
4142 | sdbv20: |
4135 | sdbv20: |
4143 | cmp [SCR_MODE],word 0100000000000000b |
4136 | ; cmp [SCR_MODE],word 0100000000000000b |
4144 | jge dbv20 |
4137 | ; jge dbv20 |
4145 | cmp [SCR_MODE],word 0x13 |
4138 | ; cmp [SCR_MODE],word 0x13 |
4146 | je dbv20 |
4139 | ; je dbv20 |
4147 | call vesa12_drawbar |
4140 | ; call vesa12_drawbar |
4148 | dec [mouse_pause] |
4141 | ; dec [mouse_pause] |
4149 | call [draw_pointer] |
4142 | ; call [draw_pointer] |
4150 | ret |
4143 | ; ret |
4151 | dbv20: |
4144 | dbv20: |
4152 | call vesa20_drawbar |
4145 | call vesa20_drawbar |
4153 | dec [mouse_pause] |
4146 | dec [mouse_pause] |
4154 | call [draw_pointer] |
4147 | call [draw_pointer] |
4155 | ret |
4148 | ret |