Rev 451 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 451 | Rev 485 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; ¨á⥬ ï ¯à®£à ¬¬ ¤«ï ãáâ ®¢ª¨ ¯®¢ëè¥ëå (>60 Hz) ç áâ®â ®¡®¢«¥¨ï |
2 | ; ¨á⥬ ï ¯à®£à ¬¬ ¤«ï ãáâ ®¢ª¨ ¯®¢ëè¥ëå (>60 Hz) ç áâ®â ®¡®¢«¥¨ï |
3 | ; íªà § áç¥â ᨦ¥¨ï à §à¥è¥¨ï |
3 | ; íªà § áç¥â ᨦ¥¨ï à §à¥è¥¨ï |
4 | ; (¤«ï ¯¥à¥å®¤®¢: 1024å768-->800å600 |
4 | ; (¤«ï ¯¥à¥å®¤®¢: 1024å768-->800å600 |
5 | ; 800å600-->640å480) |
5 | ; 800å600-->640å480) |
6 | ; |
6 | ; |
7 | ; ®¬¯¨«¨à®¢ âì FASM'®¬ |
7 | ; ®¬¯¨«¨à®¢ âì FASM'®¬ |
8 | ; |
8 | ; |
9 | ; !!!!!_।ã¯à¥¦¤¥¨¥_!!!!!: |
9 | ; !!!!!_।ã¯à¥¦¤¥¨¥_!!!!!: |
10 | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
10 | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
11 | ;! ⥪ã騩 ¬®¬¥â ¯à®£à ¬¬ ®á¨â (!) å à ªâ¥à, ¯®í⮬㠢ᥣ¤ ! |
11 | ;! ⥪ã騩 ¬®¬¥â ¯à®£à ¬¬ ®á¨â (!) å à ªâ¥à, ¯®í⮬㠢ᥣ¤ ! |
12 | ;! ®áâ ¥âáï ¢¥à®ïâ®áâì ¯®àç¨ ®¡®à㤮¢ ¨ï (â.¥. ¬®¨â®à ). ᮡ¥® íâ® ª á ¥âáï ¢á¥å! |
12 | ;! ®áâ ¥âáï ¢¥à®ïâ®áâì ¯®àç¨ ®¡®à㤮¢ ¨ï (â.¥. ¬®¨â®à ). ᮡ¥® íâ® ª á ¥âáï ¢á¥å! |
13 | ;! â¥å, 祩 ¬®¨â®à ¥ ¨¬¥¥â § é¨âë ®â ¯¥à¥£à㧮ª ¯® ç áâ®â¥. ! |
13 | ;! â¥å, 祩 ¬®¨â®à ¥ ¨¬¥¥â § é¨âë ®â ¯¥à¥£à㧮ª ¯® ç áâ®â¥. ! |
14 | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
14 | ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
15 | ; |
15 | ; |
16 | ;--------------------------------------------------------------------- |
16 | ;--------------------------------------------------------------------- |
17 | 17 | ||
18 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
18 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
19 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
19 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
20 | 20 | ||
21 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
21 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
22 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
22 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
23 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
23 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
24 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
24 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
25 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
25 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
26 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
26 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
27 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
27 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
28 | dd 0x0 ; § १¥à¢¨à®¢ ® |
28 | dd 0x0 ; § १¥à¢¨à®¢ ® |
29 | 29 | ||
30 | include 'MACROS.INC' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
30 | include '..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
31 | 31 | ||
32 | ;--------------------------------------------------------------------- |
32 | ;--------------------------------------------------------------------- |
33 | ;--- ---------------------------------------------- |
33 | ;--- ---------------------------------------------- |
34 | ;--------------------------------------------------------------------- |
34 | ;--------------------------------------------------------------------- |
35 | 35 | ||
36 | START: |
36 | START: |
37 | ; mcall 5,10 |
37 | ; mcall 5,10 |
38 | mov ecx, 1 |
38 | mov ecx, 1 |
39 | mov edx, drvinfo |
39 | mov edx, drvinfo |
40 | push @f |
40 | push @f |
41 | jmp call_driver |
41 | jmp call_driver |
42 | @@: |
42 | @@: |
43 | ; jmp run_launcher |
43 | ; jmp run_launcher |
44 | 44 | ||
45 | mov ecx, 2 |
45 | mov ecx, 2 |
46 | push @f |
46 | push @f |
47 | call_driver: |
47 | call_driver: |
48 | mcall 21,13 |
48 | mcall 21,13 |
49 | ret |
49 | ret |
50 | @@: |
50 | @@: |
51 | ; cmp eax,-1 |
51 | ; cmp eax,-1 |
52 | inc eax |
52 | inc eax |
53 | je run_launcher |
53 | je run_launcher |
54 | ; cmp ecx,280 |
54 | ; cmp ecx,280 |
55 | ; je change_vrr |
55 | ; je change_vrr |
56 | ; cmp ecx,277 |
56 | ; cmp ecx,277 |
57 | ; je change_vrr |
57 | ; je change_vrr |
58 | ; cmp ecx,6 |
58 | ; cmp ecx,6 |
59 | ; je change_vrr |
59 | ; je change_vrr |
60 | ; cmp ecx,7 |
60 | ; cmp ecx,7 |
61 | ; je change_vrr |
61 | ; je change_vrr |
62 | ; jmp run_launcher |
62 | ; jmp run_launcher |
63 | change_vrr: |
63 | change_vrr: |
64 | ; mov ax,cx |
64 | ; mov ax,cx |
65 | ; dec cx |
65 | ; dec cx |
66 | ; shl cx,1 |
66 | ; shl cx,1 |
67 | ; xor edx,edx |
67 | ; xor edx,edx |
68 | ; mov dx,[vidmode+ecx] |
68 | ; mov dx,[vidmode+ecx] |
69 | ; mov ebx,ecx |
69 | ; mov ebx,ecx |
70 | ; shl ebx,2 |
70 | ; shl ebx,2 |
71 | ; add ebx,ecx ; ebx=ebx*5 |
71 | ; add ebx,ecx ; ebx=ebx*5 |
72 | ; shr ax,8 |
72 | ; shr ax,8 |
73 | ; dec ax |
73 | ; dec ax |
74 | ; shl ax,1 |
74 | ; shl ax,1 |
75 | ; add ebx,eax |
75 | ; add ebx,eax |
76 | ; ror edx,16 |
76 | ; ror edx,16 |
77 | ; mov dx,[_m1+ebx] |
77 | ; mov dx,[_m1+ebx] |
78 | ; rol edx,16 |
78 | ; rol edx,16 |
79 | ;mov eax,ecx |
79 | ;mov eax,ecx |
80 | mov eax, 10 |
80 | mov eax, 10 |
81 | cmp cx,277+3 |
81 | cmp cx,277+3 |
82 | je yes_277 |
82 | je yes_277 |
83 | cmp cx,274+3 |
83 | cmp cx,274+3 |
84 | jne yes_280 |
84 | jne yes_280 |
85 | yes_274: |
85 | yes_274: |
86 | add al,10 |
86 | add al,10 |
87 | yes_277: |
87 | yes_277: |
88 | add al,10 |
88 | add al,10 |
89 | yes_280: |
89 | yes_280: |
90 | mov edx, [_m1+eax-2] |
90 | mov edx, [_m1+eax-2] |
91 | lea dx, [ecx-3] |
91 | lea dx, [ecx-3] |
92 | push run_launcher |
92 | push run_launcher |
93 | mov ecx, 3 |
93 | mov ecx, 3 |
94 | jmp call_driver |
94 | jmp call_driver |
95 | run_launcher: |
95 | run_launcher: |
96 | mcall 70,launcher |
96 | mcall 70,launcher |
97 | mcall -1 |
97 | mcall -1 |
98 | launcher: |
98 | launcher: |
99 | dd 7 |
99 | dd 7 |
100 | dd 0 |
100 | dd 0 |
101 | dd 0 |
101 | dd 0 |
102 | dd 0 |
102 | dd 0 |
103 | dd 0 |
103 | dd 0 |
104 | db '/RD/1/LAUNCHER' |
104 | db '/RD/1/LAUNCHER' |
105 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë |
105 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë |
106 | db ? ; system loader will zero all memory after program end |
106 | db ? ; system loader will zero all memory after program end |
107 | ; this byte will be terminating zero for launcher string |
107 | ; this byte will be terminating zero for launcher string |
108 | ; \begin{Serge} |
108 | ; \begin{Serge} |
109 | ; A you really believe it? |
109 | ; A you really believe it? |
110 | ; Áëàæåí, êòî âåðóåò, òåïëî åìó íà ñâåòå! |
110 | ; Áëàæåí, êòî âåðóåò, òåïëî åìó íà ñâåòå! |
111 | ; \end{Serge} |
111 | ; \end{Serge} |
112 | drvinfo: ; 512 bytes driver info area |
112 | drvinfo: ; 512 bytes driver info area |
113 | ; +0 - Full driver name |
113 | ; +0 - Full driver name |
114 | ; +32 - Driver version |
114 | ; +32 - Driver version |
115 | ; +64 - Word List of support video modes (max 32 positions) |
115 | ; +64 - Word List of support video modes (max 32 positions) |
116 | ; +128 - 5 words list of support vertical rate to each present mode |
116 | ; +128 - 5 words list of support vertical rate to each present mode |
117 | org $+32 |
117 | org $+32 |
118 | drvver: |
118 | drvver: |
119 | org $+32 |
119 | org $+32 |
120 | vidmode: |
120 | vidmode: |
121 | org $+64 |
121 | org $+64 |
122 | _m1: |
122 | _m1: |
123 | org drvinfo+200h |
123 | org drvinfo+200h |