Rev 340 | Rev 529 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 340 | Rev 485 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | 12 | ||
13 | ;****************************************************************************** |
13 | ;****************************************************************************** |
14 | use32 |
14 | use32 |
15 | org 0x0 |
15 | org 0x0 |
16 | db 'MENUET01' ; 8 byte identifier |
16 | db 'MENUET01' ; 8 byte identifier |
17 | dd 0x01 ; header version |
17 | dd 0x01 ; title version |
18 | dd START ; pointer to program start |
18 | dd START ; pointer to program start |
19 | dd I_END ; size of image |
19 | dd I_END ; size of image |
20 | dd 0x4000 ; reguired amount of memory |
20 | dd 0x4000 ; reguired amount of memory |
21 | dd 0x4000 ; stack pointer (esp) |
21 | dd 0x4000 ; stack pointer (esp) |
22 | dd I_PARAM,0 ; parameters, reserved |
- | |
23 | ; include 'lang.inc' |
22 | dd I_PARAM,0 ; parameters, reserved |
24 | include 'macros.inc' |
23 | include '..\..\..\macros.inc' |
Line 25... | Line 24... | ||
25 | ;****************************************************************************** |
24 | ;****************************************************************************** |
26 | 25 | ||
Line 172... | Line 171... | ||
172 | ;****************************************************************************** |
171 | ;****************************************************************************** |
173 | set_language_and_exit: |
172 | set_language_and_exit: |
174 | mov eax,26 |
173 | mov eax,26 |
175 | mov ebx,2 |
174 | mov ebx,2 |
176 | mov ecx,9 |
175 | mov ecx,9 |
177 | int 0x40 |
176 | mcall |
178 | ; cmp eax,5 |
177 | ; cmp eax,5 |
179 | ; jne @f |
178 | ; jne @f |
180 | ; xor eax,eax |
179 | ; xor eax,eax |
181 | ;@@: mov [keyboard],eax |
180 | ;@@: mov [keyboard],eax |
182 | cmp eax,1 |
181 | cmp eax,1 |
Line 192... | Line 191... | ||
192 | 191 | ||
193 | set_syslanguage_and_exit: |
192 | set_syslanguage_and_exit: |
194 | mov eax,26 |
193 | mov eax,26 |
195 | mov ebx,5 |
194 | mov ebx,5 |
196 | ; mov ecx,9 |
195 | ; mov ecx,9 |
197 | int 0x40 |
196 | mcall |
198 | cmp eax,6 |
197 | cmp eax,6 |
199 | jne temp ;@f |
198 | jne temp ;@f |
200 | xor eax,eax |
199 | xor eax,eax |
201 | ;@@: inc eax |
200 | ;@@: inc eax |
Line 252... | Line 251... | ||
252 | still: |
251 | still: |
Line 253... | Line 252... | ||
253 | 252 | ||
254 | cmp word [blinkpar],0 |
253 | cmp word [blinkpar],0 |
255 | jne blinker |
254 | jne blinker |
256 | mov eax,29 ;get system date |
255 | mov eax,29 ;get system date |
257 | int 0x40 |
256 | mcall |
258 | cmp eax,[date] |
257 | cmp eax,[date] |
259 | je gettime |
258 | je gettime |
260 | mov [date],eax |
259 | mov [date],eax |
261 | gettime: |
260 | gettime: |
262 | mov eax,3 ;get system time |
261 | mov eax,3 ;get system time |
263 | int 0x40 |
262 | mcall |
264 | cmp ax,[time] |
263 | cmp ax,[time] |
265 | je sysevent |
264 | je sysevent |
266 | mov [time],ax |
265 | mov [time],ax |
Line 267... | Line 266... | ||
267 | call drawtime |
266 | call drawtime |
268 | 267 | ||
269 | sysevent: |
268 | sysevent: |
270 | mov eax,23 |
269 | mov eax,23 |
Line 271... | Line 270... | ||
271 | mov ebx,8 ; wait here for event with timeout |
270 | mov ebx,8 ; wait here for event with timeout |
272 | int 0x40 |
271 | mcall |
273 | 272 | ||
274 | cmp eax,1 |
273 | cmp eax,1 |
Line 362... | Line 361... | ||
362 | jmp incdecdate1 |
361 | jmp incdecdate1 |
Line 363... | Line 362... | ||
363 | 362 | ||
364 | 363 | ||
365 | key: |
364 | key: |
366 | ;mov eax,2 |
365 | ;mov eax,2 |
367 | int 0x40 |
366 | mcall |
368 | cmp ah,27 |
367 | cmp ah,27 |
369 | jne still |
368 | jne still |
370 | mov dword [blinkpar],0 |
369 | mov dword [blinkpar],0 |
Line 371... | Line 370... | ||
371 | call drawtime |
370 | call drawtime |
Line 372... | Line 371... | ||
372 | jmp still |
371 | jmp still |
373 | 372 | ||
Line 374... | Line 373... | ||
374 | button: |
373 | button: |
375 | 374 | ||
376 | mov eax,17 |
375 | mov eax,17 |
377 | int 0x40 |
376 | mcall |
Line 427... | Line 426... | ||
427 | 426 | ||
428 | cmp ah,1 ; CLOSE APPLICATION |
427 | cmp ah,1 ; CLOSE APPLICATION |
429 | jne no_close |
428 | jne no_close |
430 | close: |
429 | close: |
431 | or eax,-1 |
430 | or eax,-1 |
432 | int 0x40 |
431 | mcall |
Line 433... | Line 432... | ||
433 | no_close: |
432 | no_close: |
434 | 433 | ||
435 | cmp ah,11 ; SET MIDI BASE |
434 | cmp ah,11 ; SET MIDI BASE |
Line 715... | Line 714... | ||
715 | jnz nosetkeyle |
714 | jnz nosetkeyle |
716 | mov eax,21 ; english |
715 | mov eax,21 ; english |
717 | mov ebx,2 |
716 | mov ebx,2 |
718 | mov ecx,1 |
717 | mov ecx,1 |
719 | mov edx,en_keymap |
718 | mov edx,en_keymap |
720 | int 0x40 |
719 | mcall |
721 | mov eax,21 |
720 | mov eax,21 |
722 | inc ecx |
721 | inc ecx |
723 | mov edx,en_keymap_shift |
722 | mov edx,en_keymap_shift |
724 | int 0x40 |
723 | mcall |
725 | mov eax,21 |
724 | mov eax,21 |
726 | mov ecx,9 |
725 | mov ecx,9 |
727 | mov edx,1 |
726 | mov edx,1 |
728 | int 0x40 |
727 | mcall |
729 | call alt_gen |
728 | call alt_gen |
730 | nosetkeyle: |
729 | nosetkeyle: |
731 | cmp [keyboard],1 |
730 | cmp [keyboard],1 |
732 | jnz nosetkeylfi |
731 | jnz nosetkeylfi |
733 | mov eax,21 ; finnish |
732 | mov eax,21 ; finnish |
734 | mov ebx,2 |
733 | mov ebx,2 |
735 | mov ecx,1 |
734 | mov ecx,1 |
736 | mov edx,fi_keymap |
735 | mov edx,fi_keymap |
737 | int 0x40 |
736 | mcall |
738 | mov eax,21 |
737 | mov eax,21 |
739 | inc ecx |
738 | inc ecx |
740 | mov edx,fi_keymap_shift |
739 | mov edx,fi_keymap_shift |
741 | int 0x40 |
740 | mcall |
742 | mov eax,21 |
741 | mov eax,21 |
743 | mov ecx,9 |
742 | mov ecx,9 |
744 | mov edx,2 |
743 | mov edx,2 |
745 | int 0x40 |
744 | mcall |
746 | call alt_gen |
745 | call alt_gen |
747 | nosetkeylfi: |
746 | nosetkeylfi: |
748 | cmp [keyboard],2 |
747 | cmp [keyboard],2 |
749 | jnz nosetkeylge |
748 | jnz nosetkeylge |
750 | mov eax,21 ; german |
749 | mov eax,21 ; german |
751 | mov ebx,2 |
750 | mov ebx,2 |
752 | mov ecx,1 |
751 | mov ecx,1 |
753 | mov edx,ge_keymap |
752 | mov edx,ge_keymap |
754 | int 0x40 |
753 | mcall |
755 | mov eax,21 |
754 | mov eax,21 |
756 | inc ecx |
755 | inc ecx |
757 | mov edx,ge_keymap_shift |
756 | mov edx,ge_keymap_shift |
758 | int 0x40 |
757 | mcall |
759 | mov eax,21 |
758 | mov eax,21 |
760 | mov ecx,9 |
759 | mov ecx,9 |
761 | mov edx,3 |
760 | mov edx,3 |
762 | int 0x40 |
761 | mcall |
763 | call alt_gen |
762 | call alt_gen |
764 | nosetkeylge: |
763 | nosetkeylge: |
765 | cmp [keyboard],3 |
764 | cmp [keyboard],3 |
766 | jnz nosetkeylru |
765 | jnz nosetkeylru |
767 | mov eax,21 ; russian |
766 | mov eax,21 ; russian |
768 | mov ebx,2 |
767 | mov ebx,2 |
769 | mov ecx,1 |
768 | mov ecx,1 |
770 | mov edx,ru_keymap |
769 | mov edx,ru_keymap |
771 | int 0x40 |
770 | mcall |
772 | mov eax,21 |
771 | mov eax,21 |
773 | inc ecx |
772 | inc ecx |
774 | mov edx,ru_keymap_shift |
773 | mov edx,ru_keymap_shift |
775 | int 0x40 |
774 | mcall |
776 | call alt_gen |
775 | call alt_gen |
777 | mov eax,21 |
776 | mov eax,21 |
778 | mov ecx,9 |
777 | mov ecx,9 |
779 | mov edx,4 |
778 | mov edx,4 |
780 | int 0x40 |
779 | mcall |
781 | nosetkeylru: |
780 | nosetkeylru: |
782 | cmp [keyboard],4 ;french |
781 | cmp [keyboard],4 ;french |
783 | jnz nosetkeylfr |
782 | jnz nosetkeylfr |
784 | mov eax,21 |
783 | mov eax,21 |
785 | mov ebx,2 |
784 | mov ebx,2 |
786 | mov ecx,1 |
785 | mov ecx,1 |
787 | mov edx,fr_keymap |
786 | mov edx,fr_keymap |
788 | int 0x40 |
787 | mcall |
789 | mov eax,21 |
788 | mov eax,21 |
790 | inc ecx |
789 | inc ecx |
791 | mov edx,fr_keymap_shift |
790 | mov edx,fr_keymap_shift |
792 | int 0x40 |
791 | mcall |
793 | mov eax,21 |
792 | mov eax,21 |
794 | inc ecx |
793 | inc ecx |
795 | mov edx,fr_keymap_alt_gr |
794 | mov edx,fr_keymap_alt_gr |
796 | int 0x40 |
795 | mcall |
797 | mov eax,21 |
796 | mov eax,21 |
798 | mov ecx,9 |
797 | mov ecx,9 |
799 | mov edx,5 |
798 | mov edx,5 |
800 | int 0x40 |
799 | mcall |
801 | nosetkeylfr: |
800 | nosetkeylfr: |
802 | cmp [keyboard],5 |
801 | cmp [keyboard],5 |
803 | jnz nosetkeylet |
802 | jnz nosetkeylet |
804 | mov eax,21 ; estonian |
803 | mov eax,21 ; estonian |
805 | mov ebx,2 |
804 | mov ebx,2 |
806 | mov ecx,1 |
805 | mov ecx,1 |
807 | mov edx,et_keymap |
806 | mov edx,et_keymap |
808 | int 0x40 |
807 | mcall |
809 | mov eax,21 |
808 | mov eax,21 |
810 | inc ecx |
809 | inc ecx |
811 | mov edx,et_keymap_shift |
810 | mov edx,et_keymap_shift |
812 | int 0x40 |
811 | mcall |
813 | mov eax,21 |
812 | mov eax,21 |
814 | mov ecx,9 |
813 | mov ecx,9 |
815 | mov edx,6 |
814 | mov edx,6 |
816 | int 0x40 |
815 | mcall |
817 | call alt_gen |
816 | call alt_gen |
818 | nosetkeylet: |
817 | nosetkeylet: |
819 | ret |
818 | ret |
Line 820... | Line 819... | ||
820 | 819 | ||
821 | alt_gen: |
820 | alt_gen: |
822 | mov eax,21 |
821 | mov eax,21 |
823 | mov ecx,3 |
822 | mov ecx,3 |
824 | mov edx,alt_general |
823 | mov edx,alt_general |
825 | int 0x40 |
824 | mcall |
Line 826... | Line 825... | ||
826 | ret |
825 | ret |
Line 834... | Line 833... | ||
834 | shl ecx,16 |
833 | shl ecx,16 |
835 | add ecx,12 |
834 | add ecx,12 |
836 | mov ebx,(350-50)*65536+46+BBB |
835 | mov ebx,(350-50)*65536+46+BBB |
Line 837... | Line 836... | ||
837 | 836 | ||
838 | mov eax,8 |
837 | mov eax,8 |
Line 839... | Line 838... | ||
839 | int 0x40 |
838 | mcall |
840 | 839 | ||
841 | mov ebx,(350-79)*65536+9 |
840 | mov ebx,(350-79)*65536+9 |
Line 842... | Line 841... | ||
842 | inc edx |
841 | inc edx |
843 | int 0x40 |
842 | mcall |
844 | 843 | ||
Line 845... | Line 844... | ||
845 | mov ebx,(350-67)*65536+9 |
844 | mov ebx,(350-67)*65536+9 |
846 | inc edx |
845 | inc edx |
Line 860... | Line 859... | ||
860 | 859 | ||
Line 861... | Line 860... | ||
861 | pusha |
860 | pusha |
862 | 861 | ||
863 | mov eax,12 |
862 | mov eax,12 |
Line 864... | Line 863... | ||
864 | mov ebx,1 |
863 | mov ebx,1 |
865 | int 0x40 |
864 | mcall |
866 | 865 | ||
867 | xor eax,eax ; DRAW WINDOW |
866 | xor eax,eax ; DRAW WINDOW |
868 | mov ebx,40*65536+355+BBB |
867 | mov ebx,40*65536+355+BBB |
869 | mov ecx,40*65536+320 |
868 | mov ecx,40*65536+320 |
Line 870... | Line 869... | ||
870 | mov edx,0x93111199 |
869 | mov edx,0x93111199 |
871 | mov edi,header |
870 | mov edi,title |
872 | int 0x40 |
871 | mcall |
873 | 872 | ||
874 | mov eax,8 ; APPLY ALL |
873 | mov eax,8 ; APPLY ALL |
875 | mov ebx,(350-79)*65536+100 |
874 | mov ebx,(350-79)*65536+100 |
876 | mov ecx,282*65536+12 |
875 | mov ecx,282*65536+12 |
877 | mov edx,100 |
876 | mov edx,100 |
878 | mov esi,0x005588dd |
877 | mov esi,0x005588dd |
Line 879... | Line 878... | ||
879 | int 0x40 |
878 | mcall |
Line 880... | Line 879... | ||
880 | add ecx,16*65536 ; SAVE ALL |
879 | add ecx,16*65536 ; SAVE ALL |
881 | dec edx |
880 | dec edx |
Line 941... | Line 940... | ||
941 | 940 | ||
Line 942... | Line 941... | ||
942 | call draw_infotext |
941 | call draw_infotext |
943 | 942 | ||
944 | mov eax,12 |
943 | mov eax,12 |
Line 945... | Line 944... | ||
945 | mov ebx,2 |
944 | mov ebx,2 |
946 | int 0x40 |
945 | mcall |
Line 1138... | Line 1137... | ||
1138 | text_out: |
1137 | text_out: |
1139 | mov eax,13 |
1138 | mov eax,13 |
1140 | mov ebx,175*65536+85 |
1139 | mov ebx,175*65536+85 |
1141 | mov ecx,40*65536+225 |
1140 | mov ecx,40*65536+225 |
1142 | mov edx,0x80111199-19 |
1141 | mov edx,0x80111199-19 |
1143 | int 0x40 |
1142 | mcall |
Line 1144... | Line 1143... | ||
1144 | 1143 | ||
1145 | mov edx,text00 |
1144 | mov edx,text00 |
1146 | mov ebx,10*65536+45 |
1145 | mov ebx,10*65536+45 |
1147 | mov eax,4 |
1146 | mov eax,4 |
1148 | mov ecx,0xffffff |
1147 | mov ecx,0xffffff |
1149 | mov esi,LLL |
1148 | mov esi,LLL |
1150 | mov ebp,text1_strings |
1149 | mov ebp,text1_strings |
1151 | newline: |
1150 | newline: |
1152 | int 0x40 |
1151 | mcall |
1153 | add ebx,8+8 |
1152 | add ebx,8+8 |
1154 | add edx,esi |
1153 | add edx,esi |
1155 | dec ebp |
1154 | dec ebp |
1156 | jnz newline |
1155 | jnz newline |
1157 | mov ebp,text2_strings |
1156 | mov ebp,text2_strings |
1158 | add ebx,8+8 |
1157 | add ebx,8+8 |
1159 | @@: |
1158 | @@: |
1160 | int 0x40 |
1159 | mcall |
1161 | add ebx,8+8 |
1160 | add ebx,8+8 |
1162 | add edx,esi |
1161 | add edx,esi |
1163 | dec ebp |
1162 | dec ebp |
1164 | jnz @b |
1163 | jnz @b |
Line 1227... | Line 1226... | ||
1227 | 1226 | ||
1228 | _midibase: |
1227 | _midibase: |
1229 | mov eax,21 |
1228 | mov eax,21 |
1230 | mov ebx,1 |
1229 | mov ebx,1 |
1231 | mov ecx,[midibase] |
1230 | mov ecx,[midibase] |
1232 | int 0x40 |
1231 | mcall |
Line 1233... | Line 1232... | ||
1233 | ret |
1232 | ret |
1234 | 1233 | ||
1235 | _cdbase: |
1234 | _cdbase: |
1236 | mov eax,21 |
1235 | mov eax,21 |
1237 | mov ebx,3 |
1236 | mov ebx,3 |
1238 | mov ecx,[cdbase] |
1237 | mov ecx,[cdbase] |
Line 1239... | Line 1238... | ||
1239 | int 0x40 |
1238 | mcall |
1240 | ret |
1239 | ret |
1241 | 1240 | ||
1242 | _hdbase: |
1241 | _hdbase: |
1243 | mov eax,21 |
1242 | mov eax,21 |
1244 | mov ebx,7 |
1243 | mov ebx,7 |
Line 1245... | Line 1244... | ||
1245 | mov ecx,[hdbase] |
1244 | mov ecx,[hdbase] |
1246 | int 0x40 |
1245 | mcall |
1247 | ret |
1246 | ret |
1248 | 1247 | ||
1249 | _sound_dma: |
1248 | _sound_dma: |
1250 | mov eax,21 |
1249 | mov eax,21 |
Line 1251... | Line 1250... | ||
1251 | mov ebx,10 |
1250 | mov ebx,10 |
1252 | mov ecx,[sound_dma] |
1251 | mov ecx,[sound_dma] |
1253 | int 0x40 |
1252 | mcall |
1254 | ret |
1253 | ret |
1255 | 1254 | ||
1256 | _lba_read: |
1255 | _lba_read: |
Line 1257... | Line 1256... | ||
1257 | mov eax,21 |
1256 | mov eax,21 |
1258 | mov ebx,11 |
1257 | mov ebx,11 |
1259 | mov ecx,[lba_read] |
1258 | mov ecx,[lba_read] |
1260 | int 0x40 |
1259 | mcall |
1261 | ret |
1260 | ret |
1262 | 1261 | ||
Line 1263... | Line 1262... | ||
1263 | _pci_acc: |
1262 | _pci_acc: |
1264 | mov eax,21 |
1263 | mov eax,21 |
1265 | mov ebx,12 |
1264 | mov ebx,12 |
1266 | mov ecx,[pci_acc] |
1265 | mov ecx,[pci_acc] |
1267 | int 0x40 |
1266 | mcall |
1268 | ret |
1267 | ret |
Line 1269... | Line 1268... | ||
1269 | 1268 | ||
1270 | _f32p: |
1269 | _f32p: |
1271 | mov eax,21 |
1270 | mov eax,21 |
1272 | mov ebx,8 |
1271 | mov ebx,8 |
1273 | mov ecx,[f32p] |
1272 | mov ecx,[f32p] |
1274 | int 0x40 |
1273 | mcall |
Line 1275... | Line 1274... | ||
1275 | ret |
1274 | ret |
1276 | 1275 | ||
1277 | _sb16: |
1276 | _sb16: |
1278 | mov eax,21 |
1277 | mov eax,21 |
1279 | mov ebx,4 |
1278 | mov ebx,4 |
1280 | mov ecx,[sb16] |
1279 | mov ecx,[sb16] |
Line 1281... | Line 1280... | ||
1281 | int 0x40 |
1280 | mcall |
1282 | ret |
1281 | ret |
1283 | 1282 | ||
1284 | _syslang: |
1283 | _syslang: |
1285 | mov eax,21 |
1284 | mov eax,21 |
1286 | mov ebx,5 |
1285 | mov ebx,5 |
1287 | mov ecx,[syslang] |
1286 | mov ecx,[syslang] |
Line 1288... | Line 1287... | ||
1288 | int 0x40 |
1287 | mcall |
1289 | ret |
1288 | ret |
1290 | 1289 | ||
1291 | _mouse_speed: |
1290 | _mouse_speed: |
1292 | mov eax,18 |
1291 | mov eax,18 |
1293 | mov ebx,19 |
1292 | mov ebx,19 |
1294 | mov ecx,1 |
1293 | mov ecx,1 |
Line 1295... | Line 1294... | ||
1295 | mov edx,[mouse_speed] |
1294 | mov edx,[mouse_speed] |
1296 | int 0x40 |
1295 | mcall |
1297 | ret |
1296 | ret |
Line 1373... | Line 1372... | ||
1373 | 1372 | ||
1374 | db 'NOTE: APPLY ALL ' |
1373 | db 'NOTE: APPLY ALL ' |
1375 | db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI SAVE ALL ' |
1374 | db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI SAVE ALL ' |
Line 1376... | Line 1375... | ||
1376 | text2_strings = 2 |
1375 | text2_strings = 2 |
Line 1377... | Line 1376... | ||
1377 | 1376 | ||
Line 1378... | Line 1377... | ||
1378 | header db 'SETUP',0 |
1377 | title db 'SETUP',0 |