diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/ETFONT.FNT b/kernel/trunk/sec_loader/trunk/kolibri_ldm/ETFONT.FNT deleted file mode 100644 index ca248381dc..0000000000 Binary files a/kernel/trunk/sec_loader/trunk/kolibri_ldm/ETFONT.FNT and /dev/null differ diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/booteng.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/booteng.inc deleted file mode 100644 index 270148e2e4..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/booteng.inc +++ /dev/null @@ -1,98 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;; booteng.asm the module for Secondary Loader ;; -;; ;; -;; KolibriOS 16-bit loader module, ;; -;; based on bootcode for KolibriOS ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;====================================================================== -; -; BOOT DATA -; -;====================================================================== - -d80x25_bottom: - db 186,' KolibriOS is based on MenuetOS and comes with ABSOLUTELY ' - db 'NO WARRANTY ',186 - db 186,' See file COPYING for details ' - db ' ',186 - line_full_bottom -d80x25_bottom_num = 3 - -msg_apm db " APM x.x ", 0 -vervesa db "Version of Vesa: Vesa x.x",13,10,0 -novesa db "Display: EGA/CGA",13,10,0 -s_vesa db "Version of VESA: " - .ver db "?.?",13,10,0 - -gr_mode db "Select a videomode: ",13,10,0 - -vrrmprint db "Apply VRR? (picture frequency greater than 60Hz" - db " only for transfers:",13,10 - db 186," 1024*768->800*600 and 800*600->640*480) [1-yes,2-no]:",0 - - -ask_bd db "Add disks visible by BIOS emulated in V86-mode? [1-yes, 2-no]: ",0 - -bdev db "Load ramdisk from [1-floppy; 2-C:\kolibri.img (FAT32);" - db 13,10,186," " - db "3-use preloaded ram-image from kernel restart;" - db 13,10,186," " - db "4-create blank image]: ",0 -probetext db 13,10,13,10,186," Use standart graphics mode? [1-yes, " - db "2-probe bios (Vesa 3.0)]: ",0 -prnotfnd db "Fatal - Videomode not found.",0 -not386 db "Fatal - CPU 386+ required.",0 -btns db "Fatal - Can't determine color depth.",0 -fatalsel db "Fatal - Graphics mode not supported by hardware.",0 -pres_key db "Press any key to choose a new videomode.",0 -badsect db 13,10,186," Fatal - Bad sector. Replace floppy.",0 -memmovefailed db 13,10,186," Fatal - Int 0x15 move failed.",0 -okt db " ... OK" -linef db 13,10,0 -diskload db "Loading diskette: 00 %",8,8,8,8,0 -pros db "00" -backspace2 db 8,8,0 -boot_dev db 0 ; 0=floppy, 1=hd -start_msg db "Press [abc] to change settings, press [Enter] to continue booting",13,10,0 -time_msg db " or wait " -time_str db " 5 seconds" - db " before automatical continuation",13,10,0 -current_cfg_msg db "Current settings:",13,10,0 -curvideo_msg db " [a] Videomode: ",0 - -mode0 db "320x200, EGA/CGA 256 colors",13,10,0 -mode9 db "640x480, VGA 16 colors",13,10,0 - -usebd_msg db " [b] Add disks visible by BIOS:",0 -on_msg db " on",13,10,0 -off_msg db " off",13,10,0 -;readonly_msg db " only for reading",13,10,0 -vrrm_msg db " [c] Use VRR:",0 -preboot_device_msg db " [d] Floppy image: ",0 -preboot_device_msgs dw 0,pdm1,pdm2,pdm3 -pdm1 db "real floppy",13,10,0 -pdm2 db "C:\kolibri.img (FAT32)",13,10,0 -pdm3 db "use already loaded image",13,10,0 -pdm4 db "create blank image",13,10,0 -loading_msg db "Loading KolibriOS...",0 -save_quest db "Remember current settings? [y/n]: ",0 -loader_block_error db "Bootloader data invalid, I cannot continue. Stopped.",0 - -_st db 186,' Ŀ',13,10,0 -_r1 db 186,' 320x200 EGA/CGA 256 colors ',13,10,0 -_r2 db 186,' 640x480 VGA 16 colors ',13,10,0 -_rs db 186,' ????x????@?? SVGA VESA ',13,10,0 -_bt db 186,' ',13,10,0 - -remark1 db "Default values were selected to match most of configurations, but not all.",0 -remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 -remark3 db "If the system does not boot, try to disable the item [b].",0 -remarks dw remark1, remark2, remark3 -num_remarks = 3 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootet.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootet.inc deleted file mode 100644 index 4655bf20c3..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootet.inc +++ /dev/null @@ -1,119 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;; kolibri_ldm.asm the module for Secondary Loader ;; -;; ;; -;; KolibriOS 16-bit loader module, ;; -;; based on bootcode for KolibriOS ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;====================================================================== -; -; BOOT DATA -; -;====================================================================== - - -d80x25_bottom: - db 186,' KolibriOS based on MenuetOS and comes with ABSOLUTELY ' - db 'NO WARRANTY ',186 - db 186,' See file COPYING for details ' - db ' ',186 - line_full_bottom -d80x25_bottom_num = 3 - -novesa db "Ekraan: EGA/CGA",13,10,0 -vervesa db "Vesa versioon: Vesa x.x",13,10,0 -vervesa_off=20 -msg_apm db " APM x.x ", 0 -gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, " - db "[3] 1024x768, [4] 1280x1024",13,10 - db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, " - db "[7] 1024x768, [8] 1280x1024",13,10 - db 186," EGA/CGA 256 vrvi: [9] 320x200, " - db "VGA 16 vrvi: [0] 640x480",13,10 - db 186," Vali reziim: ",0 -bt24 db "Bitti pikseli kohta: 24",13,10,0 -bt32 db "Bitti pikseli kohta: 32",13,10,0 -vrrmprint db "Kinnita VRR? (ekraani sagedus suurem kui 60Hz" - db " ainult:",13,10 - db 186," 1024*768->800*600 ja 800*600->640*480) [1-jah,2-ei]:",0 -;askmouse db " Hiir:" -; db " [1] PS/2 (USB), [2] Com1, [3] Com2." -; db " Vali port [1-3]: ",0 -;no_com1 db 13,10,186, " No COM1 mouse",0 -;no_com2 db 13,10,186, " No COM2 mouse",0 -;ask_dma db "Use DMA for HDD access? [1-yes, 2-only for reading, 3-no]: ",0 -ask_bd db "Add disks visible by BIOS emulated in V86-mode? [1-yes, 2-no]: ",0 -;gr_direct db 186," Use direct LFB writing? " -; db "[1-yes/2-no] ? ",0 -;mem_model db 13,10,186," Motherboard memory [1-16 Mb / 2-32 Mb / " -; db "3-64Mb / 4-128 Mb / 5-256 Mb] ? ",0 -;bootlog db 13,10,186," After bootlog display [1-continue/2-pause] ? ",0 -bdev db "Paigalda mluketas [1-diskett; 2-C:\kolibri.img (FAT32);" - db 13,10,186," " - db "3-kasuta eellaaditud mluketast kerneli restardist;" - db 13,10,186," " - db "4-loo thi pilt]: ",0 -probetext db 13,10,13,10,186," Kasuta standartset graafika reziimi? [1-jah, " - db "2-leia biosist (Vesa 3.0)]: ",0 -;memokz256 db 13,10,186," RAM 256 Mb",0 -;memokz128 db 13,10,186," RAM 128 Mb",0 -;memokz64 db 13,10,186," RAM 64 Mb",0 -;memokz32 db 13,10,186," RAM 32 Mb",0 -;memokz16 db 13,10,186," RAM 16 Mb",0 -prnotfnd db "Fataalne - Videoreziimi ei leitud.",0 -;modena db "Fataalne - VBE 0x112+ on vajalik.",0 -not386 db "Fataalne - CPU 386+ on vajalik.",0 -btns db "Fataalne - Ei suuda vrvisgavust mratleda.",0 -fatalsel db "Fataalne - Graafilist reziimi riistvara ei toeta.",0 -badsect db 13,10,186," Fataalne - Vigane sektor. Asenda diskett.",0 -memmovefailed db 13,10,186," Fataalne - Int 0x15 liigutamine ebannestus.",0 -okt db " ... OK" -linef db 13,10,0 -diskload db "Loen disketti: 00 %",8,8,8,8,0 -pros db "00" -backspace2 db 8,8,0 -boot_dev db 0 ; 0=floppy, 1=hd -start_msg db "Vajuta [abcd] seadete muutmiseks, vajuta [Enter] laadimise jtkamiseks",13,10,0 -time_msg db " vi oota " -time_str db " 5 sekundit" - db " automaatseks jtkamiseks",13,10,0 -current_cfg_msg db "Praegused seaded:",13,10,0 -curvideo_msg db " [a] Videoreziim: ",0 -mode1 db "640x480",0 -mode2 db "800x600",0 -mode3 db "1024x768",0 -mode4 db "1280x1024",0 -modes_msg dw mode4,mode1,mode2,mode3 -modevesa20 db " koos LFB",0 -modevesa12 db ", VESA 1.2 Bnk",0 -mode9 db "320x200, EGA/CGA 256 vrvi",0 -mode10 db "640x480, VGA 16 vrvi",0 -probeno_msg db " (standard reziim)",0 -probeok_msg db " (kontrolli ebastandardseid reziime)",0 -;dma_msg db " [b] Kasuta DMA'd HDD juurdepsuks:",0 -usebd_msg db " [b] Add disks visible by BIOS:",0 -on_msg db " sees",13,10,0 -off_msg db " vljas",13,10,0 -;readonly_msg db " ainult lugemiseks",13,10,0 -vrrm_msg db " [c] Kasuta VRR:",0 -preboot_device_msg db " [d] Disketi kujutis: ",0 -preboot_device_msgs dw 0,pdm1,pdm2,pdm3 -pdm1 db "reaalne diskett",13,10,0 -pdm2 db "C:\kolibri.img (FAT32)",13,10,0 -pdm3 db "kasuta juba laaditud kujutist",13,10,0 -pdm4 db "loo thi pilt",13,10,0 -loading_msg db "Laadin KolibriOS...",0 -save_quest db "Jta meelde praegused seaded? [y/n]: ",0 -loader_block_error db "Alglaaduri andmed vigased, ei saa jtkata. Peatatud.",0 - -remark1 db "Default values were selected to match most of configurations, but not all.",0 -remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 -remark3 db "If the system does not boot, try to disable the item [b].",0 -remarks dw remark1, remark2, remark3 -num_remarks = 3 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootge.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootge.inc deleted file mode 100644 index 4d2e5dc8c8..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootge.inc +++ /dev/null @@ -1,118 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;====================================================================== -; -; BOOT DATA -; -;====================================================================== - - -d80x25_bottom: -; db 186,' KolibriOS based on MenuetOS and comes with ABSOLUTELY ' -; db 'NO WARRANTY ',186 -; db 186,' See file COPYING for details ' -; db ' ',186 - - db 186,' KolibriOS basiert auf MenuetOS und wird ohne jegliche ' - db ' Garantie vertrieben ',186 - db 186,' Details stehen in der Datei COPYING ' - db ' ',186 - line_full_bottom -d80x25_bottom_num = 3 - -novesa db "Anzeige: EGA/CGA ",13,10,0 -vervesa db "Vesa-Version: Vesa ",13,10,0 -vervesa_off=22 -msg_apm db " APM x.x ", 0 -gr_mode db 186," Vesa 2.0+ 16 M LFB: [1] 640x480, [2] 800x600, " - db "[3] 1024x768, [4] 1280x1024",13,10 - db 186," Vesa 1.2 16 M Bnk: [5] 640x480, [6] 800x600, " - db "[7] 1024x768, [8] 1280x1024",13,10 - db 186," EGA/CGA 256 Farben: [9] 320x200, " - db "VGA 16 Farben: [0] 640x480",13,10 - db 186," Waehle Modus: ",0 -bt24 db "Bits Per Pixel: 24",13,10,0 -bt32 db "Bits Per Pixel: 32",13,10,0 -vrrmprint db "VRR verwenden? (Monitorfrequenz groesser als 60Hz" - db " only for transfers:",13,10 - db 186," 1024*768->800*600 und 800*600->640*480) [1-ja,2-nein]:",0 -;askmouse db " Maus angeschlossen an:" -; db " [1] PS/2 (USB), [2] Com1, [3] Com2." -; db " Waehle Port [1-3]: ",0 -;no_com1 db 13,10,186, " Keine COM1 Maus",0 -;no_com2 db 13,10,186, " Keine COM2 Maus",0 -;ask_dma db "Nutze DMA zum HDD Zugriff? [1-ja, 2-allein fur Lesen, 3-nein]: ",0 -ask_bd db "Add disks visible by BIOS emulated in V86-mode? [1-yes, 2-no]: ",0 -;gr_direct db 186," Benutze direct LFB? " -; db "[1-ja/2-nein] ? ",0 -;mem_model db 13,10,186," Hauptspeicher [1-16 Mb / 2-32 Mb / " -; db "3-64Mb / 4-128 Mb / 5-256 Mb] ? ",0 -;bootlog db 13,10,186," After bootlog display [1-continue/2-pause] ? ",0 -bdev db "Lade die Ramdisk von [1-Diskette; 2-C:\kolibri.img (FAT32);" - db 13,10,186," " - db "3-benutze ein bereits geladenes Kernel image;" - db 13,10,186," " - db "4-create blank image]: ",0 -probetext db 13,10,13,10,186," Nutze Standardgrafikmodi? [1-ja, " - db "2-BIOS Test (Vesa 3.0)]: ",0 -;memokz256 db 13,10,186," RAM 256 Mb",0 -;memokz128 db 13,10,186," RAM 128 Mb",0 -;memokz64 db 13,10,186," RAM 64 Mb",0 -;memokz32 db 13,10,186," RAM 32 Mb",0 -;memokz16 db 13,10,186," RAM 16 Mb",0 -prnotfnd db "Fatal - Videomodus nicht gefunden.",0 -;modena db "Fatal - VBE 0x112+ required.",0 -not386 db "Fatal - CPU 386+ benoetigt.",0 -btns db "Fatal - konnte Farbtiefe nicht erkennen.",0 -fatalsel db "Fatal - Grafikmodus nicht unterstuetzt.",0 -badsect db 13,10,186," Fatal - Sektorfehler, Andere Diskette neutzen.",0 -memmovefailed db 13,10,186," Fatal - Int 0x15 Fehler.",0 -okt db " ... OK" -linef db 13,10,0 -diskload db "Lade Diskette: 00 %",8,8,8,8,0 -pros db "00" -backspace2 db 8,8,0 -boot_dev db 0 ; 0=floppy, 1=hd -start_msg db "Druecke [abcd], um die Einstellungen zu aendern , druecke [Enter] zum starten",13,10,0 -time_msg db " oder warte " -time_str db " 5 Sekunden" - db " bis zum automatischen Start",13,10,0 -current_cfg_msg db "Aktuelle Einstellungen:",13,10,0 -curvideo_msg db " [a] Videomodus: ",0 -mode1 db "640x480",0 -mode2 db "800x600",0 -mode3 db "1024x768",0 -mode4 db "1280x1024",0 -modes_msg dw mode4,mode1,mode2,mode3 -modevesa20 db " mit LFB",0 -modevesa12 db ", VESA 1.2 Bnk",0 -mode9 db "320x200, EGA/CGA 256 colors",0 -mode10 db "640x480, VGA 16 colors",0 -probeno_msg db " (Standard Modus)",0 -probeok_msg db " (teste nicht-standard Modi)",0 -;dma_msg db " [b] Nutze DMA zum HDD Aufschreiben:",0 -usebd_msg db " [b] Add disks visible by BIOS:",0 -on_msg db " an",13,10,0 -off_msg db " aus",13,10,0 -;readonly_msg db " fur Lesen",13,10,0 -vrrm_msg db " [c] Nutze VRR:",0 -preboot_device_msg db " [d] Diskettenimage: ",0 -preboot_device_msgs dw 0,pdm1,pdm2,pdm3 -pdm1 db "Echte Diskette",13,10,0 -pdm2 db "C:\kolibri.img (FAT32)",13,10,0 -pdm3 db "Nutze bereits geladenes Image",13,10,0 -pdm4 db "create blank image",13,10,0 -loading_msg db "Lade KolibriOS...",0 -save_quest db "Aktuelle Einstellungen speichern? [y/n]: ",0 -loader_block_error db "Bootloader Daten ungueltig, Kann nicht fortfahren. Angehalten.",0 - -remark1 db "Default values were selected to match most of configurations, but not all.",0 -remark2 db "If you have LCD-monitor, disable VRR in the item [c] - you do not need it.",0 -remark3 db "If the system does not boot, try to disable the item [b].",0 -remarks dw remark1, remark2, remark3 -num_remarks = 3 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootru.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootru.inc deleted file mode 100644 index d4ec4c7c1f..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootru.inc +++ /dev/null @@ -1,87 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;================================================================= -; -; BOOT DATA -; -;================================================================= - - -d80x25_bottom: - db 186,' Kolibri OS ᭮ Menuet OS ।⠢ ' - db ' a⨩. ',186 - db 186,' ஡ ᬮ 䠩 COPYING.TXT ' - db ' ',186 - line_full_bottom -msg_apm db " APM x.x ", 0 -novesa db ": EGA/CGA",13,10,0 -s_vesa db " VESA: " - .ver db "?.?",13,10,0 - -gr_mode db "롥 ०: ",13,10,0 -vrrmprint db "ᯮ짮 VRR? ( ஢ 60 " - db " ⮫쪮 室:",13,10 - db 186," 1024*768>800*600 800*600>640*480) [1-, 2-]: ",0 -;ask_dma db "ᯮ짮 DMA 㯠 HDD? [1-, 2-⮫쪮 ⥭, 3-]: ",0 -ask_bd db " ᪨, १ BIOS ० V86? [1-, 2-]: ",0 -bdev db "㧨 ࠧ [1-᪥; 2-C:\kolibri.img (FAT32);" - db 13,10,186," " - db "3-ᯮ짮 㦥 㦥 ࠧ;" - db 13,10,186," " - db "4-ᮧ ࠧ]: ",0 -prnotfnd db "訡 - ० .",0 -not386 db "訡 - ॡ 386+.",0 -fatalsel db "訡 - ࠭ ० ন.",0 -pres_key db " , 室 롮 ०.",0 -badsect db 13,10,186," 訡 - ᪥ ०. ஡ .",0 -memmovefailed db 13,10,186," 訡 - Int 0x15 move failed.",0 -okt db " ... OK" -linef db 13,10,0 -diskload db "㧪 ᪥: 00 %",8,8,8,8,0 -pros db "00" -backspace2 db 8,8,0 -boot_dev db 0 -start_msg db " [abc] ஥, [Enter] த 㧪",13,10,0 -time_msg db " " -time_str db " 5 ᥪ㭤 " - db " ⮬᪮ த",13,10,0 -current_cfg_msg db "騥 ன:",13,10,0 -curvideo_msg db " [a] ०: ",0 - - -mode0 db "320x200, EGA/CGA 256 梥⮢",13,10,0 -mode9 db "640x480, VGA 16 梥⮢",13,10,0 - -usebd_msg db " [b] ᪨, १ BIOS:",0 -on_msg db " ",13,10,0 -off_msg db " 몫",13,10,0 -readonly_msg db " ⮫쪮 ⥭",13,10,0 -vrrm_msg db " [c] ᯮ짮 VRR:",0 -;preboot_device_msg db " [d] ࠧ ᪥: ",0 -;preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4 -;pdm1 db " ᪥",13,10,0 -;pdm2 db "C:\kolibri.img (FAT32)",13,10,0 -;pdm3 db "ᯮ짮 㦥 㦥 ࠧ",13,10,0 -;pdm4 db "ᮧ ࠧ",13,10,0 -loading_msg db " 㧪 KolibriOS...",0 -save_quest db " ⥪騥 ன? [y/n]: ",0 -loader_block_error db "訡 砫쭮 稪, த .",0 - - -_st db 186,' Ŀ ',13,10,0 -_r1 db 186,' 320x200 EGA/CGA 256 梥⮢ ',13,10,0 -_r2 db 186,' 640x480 VGA 16 梥⮢ ',13,10,0 -_rs db 186,' ????x????@?? SVGA VESA ',13,10,0 -_bt db 186,' ',13,10,0 - - -remark1 db "祭 㬮砭 ࠭ 㤮⢠ 設⢠, .",0 -remark2 db "᫨ LCD-, ⪫ VRR 㭪 [c] - 㦥.",0 -remark3 db "᫨ 㧨 ⥬, ஡ ⪫ 㭪 [b].",0 -remarks dw remark1, remark2, remark3 -num_remarks = 3 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootstr.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootstr.inc deleted file mode 100644 index 7c6b3ab784..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootstr.inc +++ /dev/null @@ -1,56 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - - -; boot data: common strings (for all languages) -macro line_full_top { - db 201 - times 78 db 205 - db 187 -} -macro line_full_bottom { - db 200 - times 78 db 205 - db 188 -} -macro line_half { - db 186,' ' - times 76 db 0xc4 - db ' ',186 -} -macro line_space { - db 186 - times 78 db 32 - db 186 -} -d80x25_top: - line_full_top -cur_line_pos = 75 -; store byte ' ' at d80x25_top+cur_line_pos+1 -; store byte ' ' at d80x25_top+cur_line_pos -; store dword ' SVN' at d80x25_top+cur_line_pos-4 - -space_msg: - line_space -;verstr: -; line_space -; version string -; db 186,32 -; repeat 78 -; load a byte from version+%-1 -; if a = 13 -; break -; end if -; db a -; end repeat -; repeat 78 - ($-verstr) -; db ' ' -; end repeat -; db 32,186 -; line_half - diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootvesa.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootvesa.inc deleted file mode 100644 index 608045a99f..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/bootvesa.inc +++ /dev/null @@ -1,759 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -struc VBE_VGAInfo { - .VESASignature dd ? ; char - .VESAVersion dw ? ; short - .OemStringPtr dd ? ; char * - .Capabilities dd ? ; ulong - .VideoModePtr dd ? ; ulong - .TotalMemory dw ? ; short - ; VBE 2.0+ - .OemSoftwareRev db ? ; short - .OemVendorNamePtr dw ? ; char * - .OemProductNamePtr dw ? ; char * - .OemProductRevPtr dw ? ; char * - .reserved rb 222 ; char - .OemData rb 256 ; char -} - -struc VBE_ModeInfo { - .ModeAttributes dw ? ; short - .WinAAttributes db ? ; char - .WinBAttributes db ? ; char - .WinGranularity dw ? ; short - .WinSize dw ? ; short - .WinASegment dw ? ; ushort - .WinBSegment dw ? ; ushort - .WinFuncPtr dd ? ; void * - .BytesPerScanLine dw ? ; short - .XRes dw ? ; short - .YRes dw ? ; short - .XCharSize db ? ; char - .YCharSize db ? ; char - .NumberOfPlanes db ? ; char - .BitsPerPixel db ? ; char - .NumberOfBanks db ? ; char - .MemoryModel db ? ; char - .BankSize db ? ; char - .NumberOfImagePages db ? ; char - .res1 db ? ; char - .RedMaskSize db ? ; char - .RedFieldPosition db ? ; char - .GreenMaskSize db ? ; char - .GreenFieldPosition db ? ; char - .BlueMaskSize db ? ; char - .BlueFieldPosition db ? ; char - .RsvedMaskSize db ? ; char - .RsvedFieldPosition db ? ; char - .DirectColorModeInfo db ? ; char ; MISSED IN THIS TUTORIAL!! SEE ABOVE - ; VBE 2.0+ - .PhysBasePtr dd ? ; ulong - .OffScreenMemOffset dd ? ; ulong - .OffScreenMemSize dw ? ; short - ; VBE 3.0+ - .LinbytesPerScanLine dw ? ; short - .BankNumberOfImagePages db ? ; char - .LinNumberOfImagePages db ? ; char - .LinRedMaskSize db ? ; char - .LinRedFieldPosition db ? ; char - .LingreenMaskSize db ? ; char - .LinGreenFieldPosition db ? ; char - .LinBlueMaskSize db ? ; char - .LinBlueFieldPosition db ? ; char - .LinRsvdMaskSize db ? ; char - .LinRsvdFieldPosition db ? ; char - .MaxPixelClock dd ? ; ulong - .res2 rb 190 ; char -} - -virtual at $A000 - vi VBE_VGAInfo - mi VBE_ModeInfo -modes_table: -end virtual -cursor_pos dw 0 ; . -home_cursor dw 0 ;current shows rows a table -end_cursor dw 0 ;end of position current shows rows a table -scroll_start dw 0 ;start position of scroll bar -scroll_end dw 0 ;end position of scroll bar -long_v_table equ 9 ;long of visible video table -size_of_step equ 10 -scroll_area_size equ (long_v_table-2) -int2str: - dec bl - jz @f - xor edx, edx - div ecx - push edx - call int2str - pop eax - @@: - or al, 0x30 - mov [ds:di], al - inc di - ret - -int2strnz: - cmp eax, ecx - jb @f - xor edx, edx - div ecx - push edx - call int2strnz - pop eax - @@: - or al, 0x30 - mov [es:di], al - inc di - ret - -;------------------------------------------------------- -;Write message about incorrect v_mode and write message about jmp on swith v_mode -v_mode_error: - _setcursor 19,2 - mov si, fatalsel - call printplain - _setcursor 20,2 - mov si, pres_key - call printplain - xor eax, eax - int 16h - jmp cfgmanager.d -;------------------------------------------------------- -; - - - -;------------------------------------------------------- -print_vesa_info: - _setcursor 5,2 - - mov [es:vi.VESASignature], 'VBE2' - mov ax, 0x4F00 - mov di, vi ;0xa000 - int 0x10 - or ah, ah - jz @f - mov [es:vi.VESASignature], 'VESA' - mov ax, $4F00 - mov di, vi - int 0x10 - or ah, ah - jnz .exit - @@: - cmp [es:vi.VESASignature], 'VESA' - jne .exit - cmp [es:vi.VESAVersion], 0x0100 - jb .exit - jmp .vesaok2 - - .exit: - mov si, novesa - call printplain - ret - - .vesaok2: - mov ax, [es:vi.VESAVersion] - add ax, '00' - - mov [s_vesa.ver], ah - mov [s_vesa.ver+2], al - mov si, s_vesa - call printplain - - _setcursor 4,2 - mov si, word[es:vi.OemStringPtr] - mov di, si - - push ds - mov ds, word[es:vi.OemStringPtr+2] - call printplain - pop ds - - ret -;----------------------------------------------------------------------------- - -calc_vmodes_table: - pushad - -; push 0 -; pop es - - lfs si, [es:vi.VideoModePtr] - - mov bx, modes_table -;save no vesa mode of work 320x200, EGA/CGA 256 梥⮢ and 640x480, VGA 16 梥⮢ - mov word [es:bx], 640 - mov word [es:bx+2], 480 - mov word [es:bx+6], 0x13 - - mov word [es:bx+10], 640 - mov word [es:bx+12], 480 - mov word [es:bx+16], 0x12 - add bx, 20 - .next_mode: - mov cx, word [fs:si]; mode number - cmp cx, -1 - je .modes_ok.2 - - mov ax, 0x4F01 - mov di, mi - int 0x10 - - or ah, ah - jnz .modes_ok.2;vesa_info.exit - - test [es:mi.ModeAttributes], 00000001b ;videomode support ? - jz @f - test [es:mi.ModeAttributes], 00010000b ;picture ? - jz @f - test [es:mi.ModeAttributes], 10000000b ;LFB ? - jz @f - - cmp [es:mi.BitsPerPixel], 24 ;It show only videomodes to have support 24 and 32 bpp - jb @f - -; cmp [es:mi.BitsPerPixel],16 -; jne .l0 -; cmp [es:mi.GreenMaskSize],5 -; jne .l0 -; mov [es:mi.BitsPerPixel],15 - - -.l0: - cmp [es:mi.XRes], 640 - jb @f - cmp [es:mi.YRes], 480 - jb @f -; cmp [es:mi.BitsPerPixel],8 -; jb @f - - mov ax, [es:mi.XRes] - mov [es:bx+0], ax ; +0[2] : resolution X - mov ax, [es:mi.YRes] - mov [es:bx+2], ax ; +2[2] : resolution Y - mov ax, [es:mi.ModeAttributes] - mov [es:bx+4], ax ; +4[2] : attributes - - cmp [s_vesa.ver], '2' - jb .lp1 - - or cx, 0x4000 ; use LFB -.lp1: - mov [es:bx+6], cx ; +6 : mode number - movzx ax, byte [es:mi.BitsPerPixel] - mov word [es:bx+8], ax ; +8 : bits per pixel - add bx, size_of_step ; size of record - - @@: - add si, 2 - jmp .next_mode - - .modes_ok.2: - - mov word[es:bx], -1 ;end video table - mov word[end_cursor], bx ;save end cursor position -;;;;;;;;;;;;;;;;;; -;Sort array -; mov si,modes_table -;.new_mode: -; mov ax,word [es:si] -; cmp ax,-1 -; je .exxit -; add ax,word [es:si+2] -; add ax,word [es:si+8] -; mov bp,si -;.again: -; add bp,12 -; mov bx,word [es:bp] -; cmp bx,-1 -; je .exit -; add bx,word [es:bp+2] -; add bx,word [es:bp+8] -; -; cmp ax,bx -; ja .loops -; jmp .again -;.loops: -; push dword [es:si] -; push dword [es:si+4] -; push dword [es:si+8] -; push dword [es:bp] -; push dword [es:bp+4] -; push dword [es:bp+8] -; -; pop dword [es:si+8] -; pop dword [es:si+4] -; pop dword [es:si] -; pop dword [es:bp+8] -; pop dword [es:bp+4] -; pop dword [es:bp] -; jmp .new_mode -; -;.exit: add si,12 -; jmp .new_mode -;.exxit: - popad - ret - -;----------------------------------------------------------------------------- - -draw_current_vmode: - push 0 - pop es - - mov si, word [cursor_pos] - - cmp word [es:si+6], 0x12 - je .no_vesa_0x12 - - cmp word [es:si+6], 0x13 - je .no_vesa_0x13 - - mov di, loader_block_error - movzx eax, word[es:si+0] - mov ecx, 10 - call int2strnz - mov byte[es:di], 'x' - inc di - movzx eax, word[es:si+2] - call int2strnz - mov byte[es:di], 'x' - inc di - movzx eax, word[es:si+8] - call int2strnz - mov dword[es:di], 0x00000d0a - mov si, loader_block_error - push ds - push es - pop ds - call printplain - pop ds - ret -.no_vesa_0x13: - mov si, mode0 - jmp .print -.no_vesa_0x12: - mov si, mode9 -.print: - call printplain - ret -;----------------------------------------------------------------------------- -check_first_parm: - mov si, word [preboot_graph] - test si, si - jnz .no_zero ;if no zero -.zerro: -; mov ax,modes_table -; mov word [cursor_pos],ax -; mov word [home_cursor],ax -; mov word [preboot_graph],ax -;SET default video of mode first probe will fined a move of work 1024x768@32 - - mov ax, 1024 - mov bx, 768 - mov si, modes_table - call .loops - test ax, ax - jz .ok_found_mode - mov ax, 800 - mov bx, 600 - mov si, modes_table - call .loops - test ax, ax - jz .ok_found_mode - mov ax, 640 - mov bx, 480 - mov si, modes_table - call .loops - test ax, ax - jz .ok_found_mode - - mov si, modes_table - jmp .ok_found_mode - - - -.no_zero: - mov bp, word [number_vm] - cmp bp, word [es:si+6] - jz .ok_found_mode - mov ax, word [x_save] - mov bx, word [y_save] - mov si, modes_table - call .loops - test ax, ax - jz .ok_found_mode - - mov si, modes_table -; cmp ax,modes_table -; jb .zerro ;check on correct if bellow -; cmp ax,word [end_cursor] -; ja .zerro ;check on correct if anymore - -.ok_found_mode: - mov word [home_cursor], si -; mov word [cursor_pos],si - mov word [preboot_graph], si - mov ax, si - - mov ecx, long_v_table - -.loop: - add ax, size_of_step - cmp ax, word [end_cursor] - jae .next_step - loop .loop -.next_step: - sub ax, size_of_step*long_v_table - cmp ax, modes_table - jae @f - mov ax, modes_table -@@: - - mov word [home_cursor], ax - mov si, [preboot_graph] - mov word [cursor_pos], si - - push word [es:si] - pop word [x_save] - push word [es:si+2] - pop word [y_save] - push word [es:si+6] - pop word [number_vm] - - ret -;;;;;;;;;;;;;;;;;;;;;;;;;;; -.loops: - cmp ax, word [es:si] - jne .next - cmp bx, word [es:si+2] - jne .next - cmp word [es:si+8], 32 - je .ok - cmp word [es:si+8], 24 - je .ok -.next: - add si, size_of_step - cmp word [es:si], -1 - je .exit - jmp .loops -.ok: - xor ax, ax - ret -.exit: - or ax, -1 - ret - - -;----------------------------------------------------------------------------- - -;default_vmode: - -;----------------------------------------------------------------------------- -draw_vmodes_table: - _setcursor 9, 2 - mov si, gr_mode - call printplain - - mov si, _st - call printplain - - push word [cursor_pos] - pop ax - push word [home_cursor] - pop si - mov cx, si - - cmp ax, si - je .ok - jb .low - - - add cx, size_of_step*long_v_table - - cmp ax, cx - jb .ok - - sub cx, size_of_step*long_v_table - add cx, size_of_step - cmp cx, word[end_cursor] - jae .ok - add si, size_of_step - push si - pop word [home_cursor] - jmp .ok - - -.low: - sub cx, size_of_step - cmp cx, modes_table - jb .ok - push cx - push cx - pop word [home_cursor] - pop si - - -.ok: -; calculate scroll position - push si - mov ax, [end_cursor] - sub ax, modes_table - mov bx, size_of_step - cwd - div bx - mov si, ax ; si = size of list - mov ax, [home_cursor] - sub ax, modes_table - cwd - div bx - mov di, ax - mov ax, scroll_area_size*long_v_table - cwd - div si - test ax, ax - jnz @f - inc ax -@@: - cmp al, scroll_area_size - jb @f - mov al, scroll_area_size -@@: - mov cx, ax -; cx = scroll height -; calculate scroll pos - xor bx, bx ; initialize scroll pos - sub al, scroll_area_size+1 - neg al - sub si, long_v_table-1 - jbe @f - mul di - div si - mov bx, ax -@@: - inc bx - imul ax, bx, size_of_step - add ax, [home_cursor] - mov [scroll_start], ax - imul cx, size_of_step - add ax, cx - mov [scroll_end], ax - pop si - mov bp, long_v_table ;show rows -.@@_next_bit: -;clear cursor - mov ax, ' ' - mov word[ds:_r1+21], ax - mov word[ds:_r1+50], ax - - mov word[ds:_r2+21], ax - mov word[ds:_r2+45], ax - - mov word[ds:_rs+21], ax - mov word[ds:_rs+46], ax -; draw string - cmp word [es:si+6], 0x12 - je .show_0x12 - cmp word [es:si+6], 0x13 - je .show_0x13 - - movzx eax, word[es:si] - cmp ax, -1 - je .@@_end - mov di, _rs+23 - mov ecx, 10 - mov bl, 4 - call int2str - movzx eax, word[es:si+2] - inc di - mov bl, 4 - call int2str - - movzx eax, word[es:si+8] - inc di - mov bl, 2 - call int2str - - cmp si, word [cursor_pos] - jne .next -;draw cursor - mov word[ds:_rs+21], '>>' - mov word[ds:_rs+46], '<<' - - - -.next: - push si - mov si, _rs -.@@_sh: -; add to the string pseudographics for scrollbar - pop bx - push bx - mov byte [si+53], ' ' - cmp bx, [scroll_start] - jb @f - cmp bx, [scroll_end] - jae @f - mov byte [si+53], 0xDB ; filled bar -@@: - push bx - add bx, size_of_step - cmp bx, [end_cursor] - jnz @f - mov byte [si+53], 31 ; 'down arrow' symbol -@@: - sub bx, [home_cursor] - cmp bx, size_of_step*long_v_table - jnz @f - mov byte [si+53], 31 ; 'down arrow' symbol -@@: - pop bx - cmp bx, [home_cursor] - jnz @f - mov byte [si+53], 30 ; 'up arrow' symbol -@@: - call printplain - pop si - add si, size_of_step - - dec bp - jnz .@@_next_bit - -.@@_end: - mov si, _bt - call printplain - ret -.show_0x13: - push si - - cmp si, word [cursor_pos] - jne @f - mov word[ds:_r1+21], '>>' - mov word[ds:_r1+50], '<<' -@@: - mov si, _r1 - jmp .@@_sh -.show_0x12: - push si - cmp si, word [cursor_pos] - jne @f - - mov word[ds:_r2+21], '>>' - mov word[ds:_r2+45], '<<' -@@: - mov si, _r2 - jmp .@@_sh - -;----------------------------------------------------------------------------- -;Clear arrea of current video page (0xb800) -clear_vmodes_table: - pusha - ; draw frames - push es - push 0xb800 - pop es - mov di, 1444 - xor ax, ax - mov ah, 1*16+15 - mov cx, 70 - mov bp, 12 -.loop_start: - rep stosw - mov cx, 70 - add di, 20 - dec bp - jns .loop_start - pop es - popa - ret - -;----------------------------------------------------------------------------- - -set_vmode: - push 0 ;0;x1000 - pop es - - mov si, word [preboot_graph] ;[preboot_graph] - mov cx, word [es:si+6] ; number of mode - - - mov ax, word [es:si+0] ; resolution X - mov bx, word [es:si+2] ; resolution Y - - - mov word [es:BOOT_X_RES], ax ; resolution X - mov word [es:BOOT_Y_RES], bx ; resolution Y - mov word [es:BOOT_VESA_MODE], cx ; number of mode - - cmp cx, 0x12 - je .mode0x12_0x13 - cmp cx, 0x13 - je .mode0x12_0x13 - - - cmp byte [s_vesa.ver], '2' - jb .vesa12 - -; VESA 2 and Vesa 3 - - mov ax, 0x4f01 - and cx, 0xfff - mov di, mi;0xa000 - int 0x10 - ; LFB - mov eax, [es:mi.PhysBasePtr];di+0x28] - mov [es:BOOT_LFB], eax - ; ---- vbe voodoo - BytesPerLine equ 0x10 - mov ax, [es:di+BytesPerLine] - mov [es:BOOT_PITCH], ax - ; BPP - cmp [es:mi.BitsPerPixel], 16 - jne .l0 - cmp [es:mi.GreenMaskSize], 5 - jne .l0 - mov [es:mi.BitsPerPixel], 15 -.l0: - mov al, byte [es:di+0x19] - mov [es:BOOT_BPP], al - jmp .exit - -.mode0x12_0x13: - mov byte [es:BOOT_BPP], 32 - or dword [es:BOOT_LFB], 0xFFFFFFFF; 0x800000 - - -; VESA 1.2 PM BANK SWITCH ADDRESS - -.vesa12: - - - mov ax, 0x4f0A - xor bx, bx - int 0x10 - xor eax, eax - xor ebx, ebx - mov ax, es - shl eax, 4 - mov bx, di - add eax, ebx - movzx ebx, word[es:di] - add eax, ebx - push 0x0000 - pop es - mov [es:0x9014], eax - .exit: - ret - - -;============================================================================= -;============================================================================= -;============================================================================= - diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/build_ru.bat b/kernel/trunk/sec_loader/trunk/kolibri_ldm/build_ru.bat deleted file mode 100644 index 055418c1c4..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/build_ru.bat +++ /dev/null @@ -1,89 +0,0 @@ -@echo off - -set languages=en ru ge et -call :Check_Lang %1 -for %%a in (ru) do if %%a==%target% -call :Target_%target% - -if ERRORLEVEL 0 goto Exit_OK - -echo There was an error executing script. -echo For any help, please send a report. -pause -goto :eof - - - - -:Check_Lang - set res=%1 - :Check_Lang_loop - for %%a in (%languages%) do if %%a==%res% set lang=%res% - if defined lang call :make_all goto :eof - - echo Language '%res%' is incorrect - echo Enter valid language [ %languages% ]: - - set /P res="> - goto Check_Lang_loop -goto :eof - - -:make_all - echo *** building module Kolibri.ldm for Secondary Loader with language '%lang%' ... - - if not exist bin mkdir bin - echo lang fix %lang% > lang.inc - fasm -m 65536 kolibri_ldm.asm bin\kolibri.ldm - if not %errorlevel%==0 goto :Error_FasmFailed - erase lang.inc -goto Exit_OK - - -:Target_all - call :Target_kernel - call :Target_drivers - call :Target_skins -goto :eof - - -:Target_drivers - echo *** building drivers ... - - if not exist bin\drivers mkdir bin\drivers - cd drivers - for %%a in (%drivers%) do ( - fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj - if not %errorlevel%==0 goto :Error_FasmFailed - ) - cd .. - move bin\drivers\vmode.obj bin\drivers\vmode.mdr -goto :eof - - -:Target_skins - echo *** building skins ... - - if not exist bin\skins mkdir bin\skins - cd skin - fasm -m 65536 default.asm ..\bin\skins\default.skn - if not %errorlevel%==0 goto :Error_FasmFailed - cd .. -goto :eof - -:Target_clean - echo *** cleaning ... - rmdir /S /Q bin -goto :Exit_OK - - -:Error_FasmFailed -echo error: fasm execution failed -erase lang.inc -pause -exit 1 - -:Exit_OK -echo all operations has been done -pause -exit 0 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/et.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/et.inc deleted file mode 100644 index d10c66ec9b..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/et.inc +++ /dev/null @@ -1,14 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -; Full ASCII code font -; only and added -; Kaitz -ET_FNT: - fontfile file "ETFONT.FNT" - diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm b/kernel/trunk/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm deleted file mode 100644 index 3a5cf372b5..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm +++ /dev/null @@ -1,814 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Last modify Alexey Teplov 2008. All rights reserved. ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;; kolibri_ldm.asm the module for Secondary Loader ;; -;; ;; -;; KolibriOS 16-bit loader module, ;; -;; based on bootcode for KolibriOS ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -include "lang.inc" - -macro _setcursor row,column -{ - mov dx, row*256 + column - call setcursor -} -long_v_table equ 9 ;long of visible video table -size_of_step equ 10 -d80x25_bottom_num equ 3 -d80x25_top_num equ 4 -;It's a module for Secondary Loader to load kolibri OS -; -start_of_code: - cld -; \begin{diamond}[02.12.2005] -; if bootloader sets ax = 'KL', then ds:si points to loader block -; cmp ax, 'KL' -; jnz @f -; mov word [cs:cfgmanager.loader_block], si -; mov word [cs:cfgmanager.loader_block+2], ds -;@@: -; \end{diamond}[02.12.2005] - -; if bootloader sets cx = 'HA' and dx = 'RD', then bx contains identifier of source hard disk -; (see comment to bx_from_load) -; cmp cx, 'HA' -; jnz no_hd_load -; cmp dx,'RD' -; jnz no_hd_load -; mov word [cs:bx_from_load], bx ; {SPraid}[13.03.2007] -;no_hd_load: - -; set up stack - push cs - pop ss - xor ax, ax - mov sp, ax -; mov ax, 3000h -; mov ss, ax -; mov sp, 0EC00h -; set up segment registers - push cs - pop ds - push cs - pop es - -; set videomode - mov ax, 3 - int 0x10 - -;if lang eq ru - ; Load & set russian VGA font (RU.INC) - mov bp, RU_FNT1 ; RU_FNT1 - First part - mov bx, 1000h ; 768 bytes - mov cx, 30h ; 48 symbols - mov dx, 80h ; 128 - position of first symbol - mov ax, 1100h - int 10h - - mov bp, RU_FNT2 ; RU_FNT2 -Second part - mov bx, 1000h ; 512 bytes - mov cx, 20h ; 32 symbols - mov dx, 0E0h ; 224 - position of first symbol - mov ax, 1100h - int 10h - ; End set VGA russian font -;else if lang eq et -; mov bp, ET_FNT ; ET_FNT1 -; mov bx, 1000h ; -; mov cx, 255 ; 256 symbols -; xor dx, dx ; 0 - position of first symbol -; mov ax, 1100h -; int 10h -;end if - -; draw frames - push 0xb800 - pop es - xor di, di - mov ah, 1*16+15 - -; draw top - mov si, d80x25_top - mov cx, d80x25_top_num * 80 -@@: - lodsb - stosw - loop @b -; draw spaces - mov si, space_msg - mov dx, 25 - d80x25_top_num - d80x25_bottom_num -dfl1: - push si - mov cx, 80 -@@: - lodsb - stosw - loop @b - pop si - dec dx - jnz dfl1 -; draw bottom - mov si, d80x25_bottom - mov cx, d80x25_bottom_num * 80 -@@: - lodsb - stosw - loop @b - - mov byte [space_msg+80], 0 ; now space_msg is null terminated - - _setcursor d80x25_top_num,0 - - -; TEST FOR 386+ - - mov bx, 0x4000 - pushf - pop ax - mov dx, ax - xor ax, bx - push ax - popf - pushf - pop ax - and ax, bx - and dx, bx - cmp ax, dx - jnz cpugood - mov si, not386 -sayerr: - call print - jmp $ - cpugood: - - push 0 - popf - sti - -; set up esp - movzx esp, sp - - push 0 - pop es - and word [es:BOOT_IDE_BASE_ADDR], 0 -; \begin{Mario79} -; find HDD IDE DMA PCI device -; check for PCI BIOS - mov ax, 0xB101 - int 0x1A - jc .nopci - cmp edx, 'PCI ' - jnz .nopci -; find PCI class code -; class 1 = mass storage -; subclass 1 = IDE controller -; a) class 1, subclass 1, programming interface 0x80 - mov ax, 0xB103 - mov ecx, 1*10000h + 1*100h + 0x80 - xor si, si ; device index = 0 - int 0x1A - jnc .found -; b) class 1, subclass 1, programming interface 0x8A - mov ax, 0xB103 - mov ecx, 1*10000h + 1*100h + 0x8A - xor si, si ; device index = 0 - int 0x1A - jnc .found -; c) class 1, subclass 1, programming interface 0x85 - mov ax, 0xB103 - mov ecx, 1*10000h + 1*100h + 0x85 - xor si, si - int 0x1A - jc .nopci -.found: -; get memory base - mov ax, 0xB10A - mov di, 0x20 ; memory base is config register at 0x20 - int 0x1A - jc .nopci - and cx, 0xFFF0 ; clear address decode type - mov [es:BOOT_IDE_BASE_ADDR], cx -.nopci: -; \end{Mario79} - - mov al, 0xf6 ; , - out 0x60, al - xor cx, cx -wait_loop: ; variant 2 -; reading state of port of 8042 controller - in al, 64h - and al, 00000010b ; ready flag -; wait until 8042 controller is ready - loopnz wait_loop - -;;;/diamond today 5.02.2008 -; set keyboard typematic rate & delay - mov al, 0xf3 - out 0x60, al - xor cx, cx -@@: - in al, 64h - test al, 2 - loopnz @b - mov al, 0 - out 0x60, al - xor cx, cx -@@: - in al, 64h - test al, 2 - loopnz @b -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; --------------- APM --------------------- - and word [es:BOOT_APM_VERSION], 0 ; ver = 0.0 (APM not found) - mov ax, 0x5300 - xor bx, bx - int 0x15 - jc apm_end ; APM not found - test cx, 2 - jz apm_end ; APM 32-bit protected-mode interface not supported - mov [es:BOOT_APM_VERSION], ax ; Save APM Version - mov [es:BOOT_APM_FLAGS], cx ; Save APM flags - - ; Write APM ver ---- - and ax, 0xf0f - add ax, '00' - mov si, msg_apm - mov [si + 5], ah - mov [si + 7], al - _setcursor 0, 3 - call printplain - ; ------------------ - - mov ax, 0x5304 ; Disconnect interface - xor bx, bx - int 0x15 - mov ax, 0x5303 ; Connect 32 bit mode interface - xor bx, bx - int 0x15 - - mov [es:BOOT_APM_ENTRY], ebx - mov [es:BOOT_APM_CODE_32], ax - mov [es:BOOT_APM_CODE_16], cx - mov [es:BOOT_APM_DATA_16], dx - -apm_end: - _setcursor d80x25_top_num, 0 - -;CHECK current of code - cmp [cfgmanager.loader_block], -1 - jz noloaderblock - les bx, [cfgmanager.loader_block] - cmp byte [es:bx], 1 - mov si, loader_block_error - jnz sayerr - push 0 - pop es - -noloaderblock: -; DISPLAY VESA INFORMATION - call print_vesa_info - call calc_vmodes_table - call check_first_parm ;check and enable cursor_pos - - -; \begin{diamond}[30.11.2005] -cfgmanager: -; settings: -; a) preboot_graph = graphical mode -; preboot_gprobe = probe this mode? -; b) preboot_dma = use DMA access? -; c) preboot_vrrm = use VRR? - -; determine default settings - mov [.bSettingsChanged], 0 - -;.preboot_gr_end: - mov di, preboot_device -; if image in memory is present and [preboot_device] is uninitialized, -; set it to use this preloaded image - cmp byte [di], 0 - jnz .preboot_device_inited - cmp [.loader_block], -1 - jz @f - les bx, [.loader_block] - test byte [es:bx+1], 1 - jz @f - mov byte [di], 3 - jmp .preboot_device_inited -@@: -; otherwise, set [preboot_device] to 1 (default value - boot from floppy) - mov byte [di], 1 -.preboot_device_inited: -; following 6 lines set variables to 1 if its current value is 0 - cmp byte [di+preboot_dma-preboot_device], 1 - adc byte [di+preboot_dma-preboot_device], 0 - cmp byte [di+preboot_biosdisk-preboot_device], 1 - adc byte [di+preboot_biosdisk-preboot_device], 0 - cmp byte [di+preboot_vrrm-preboot_device], 1 - adc byte [di+preboot_vrrm-preboot_device], 0 -; notify user - _setcursor 5,2 - - mov si, linef - call printplain - mov si, start_msg - call print - mov si, time_msg - call print -; get start time - call .gettime - mov [.starttime], eax - mov word [.timer], .newtimer - mov word [.timer+2], cs -.printcfg: - _setcursor 9,0 - mov si, current_cfg_msg - call print - mov si, curvideo_msg - call print - - call draw_current_vmode - - mov si, usebd_msg - cmp [preboot_biosdisk], 1 - call .say_on_off - mov si, vrrm_msg - cmp [preboot_vrrm], 1 - call .say_on_off -; mov si, preboot_device_msg -; call print -; mov al, [preboot_device] -; and eax, 7 -; mov si, [preboot_device_msgs+eax*2] -; call printplain -.show_remarks: -; show remarks in gray color - mov di, ((21-num_remarks)*80 + 2)*2 - push 0xB800 - pop es - mov cx, num_remarks - mov si, remarks -.write_remarks: - lodsw - push si - xchg ax, si - mov ah, 1*16+7 ; background: blue (1), foreground: gray (7) - push di -.write_remark: - lodsb - test al, al - jz @f - stosw - jmp .write_remark -@@: - pop di - pop si - add di, 80*2 - loop .write_remarks -.wait: - _setcursor 25,0 ; out of screen -; set timer interrupt handler - cli - push 0 - pop es - push dword [es:8*4] - pop dword [.oldtimer] - push dword [.timer] - pop dword [es:8*4] -; mov eax, [es:8*4] -; mov [.oldtimer], eax -; mov eax, [.timer] -; mov [es:8*4], eax - sti -; wait for keypressed - xor ax, ax - int 16h - push ax -; restore timer interrupt -; push 0 -; pop es - mov eax, [.oldtimer] - mov [es:8*4], eax - mov [.timer], eax - _setcursor 7,0 - mov si, space_msg - call printplain -; clear remarks and restore normal attributes - push es - mov di, ((21-num_remarks)*80 + 2)*2 - push 0xB800 - pop es - mov cx, num_remarks - mov ax, ' ' + (1*16 + 15)*100h -@@: - push cx - mov cx, 76 - rep stosw - pop cx - add di, 4*2 - loop @b - pop es - pop ax -; switch on key - cmp al, 13 - jz .continue - or al, 20h - cmp al, 'a' - jz .change_a - cmp al, 'b' - jz .change_b - cmp al, 'c' - jnz .show_remarks - - _setcursor 15,0 - mov si, vrrmprint - call print - mov bx, '12' - call getkey - mov [preboot_vrrm], al - _setcursor 12,0 -.d: - mov [.bSettingsChanged], 1 - call clear_vmodes_table ;clear vmodes_table - jmp .printcfg -.change_a: -.loops: - call draw_vmodes_table - _setcursor 25,0 ; out of screen - xor ax, ax - int 0x16 -; call clear_table_cursor ;clear current position of cursor - - mov si, word [cursor_pos] - - cmp ah, 0x48;x,0x48E0 ; up - jne .down - cmp si, modes_table - jbe .loops - sub word [cursor_pos], size_of_step - jmp .loops - -.down: - cmp ah, 0x50;x,0x50E0 ; down - jne .pgup - cmp word[es:si+10], -1 - je .loops - add word [cursor_pos], size_of_step - jmp .loops - -.pgup: - cmp ah, 0x49 ; page up - jne .pgdn - sub si, size_of_step*long_v_table - cmp si, modes_table - jae @f - mov si, modes_table -@@: - mov word [cursor_pos], si - mov si, word [home_cursor] - sub si, size_of_step*long_v_table - cmp si, modes_table - jae @f - mov si, modes_table -@@: - mov word [home_cursor], si - jmp .loops - -.pgdn: - cmp ah, 0x51 ; page down - jne .enter - mov ax, [end_cursor] - add si, size_of_step*long_v_table - cmp si, ax - jb @f - mov si, ax - sub si, size_of_step -@@: - mov word [cursor_pos], si - mov si, word [home_cursor] - sub ax, size_of_step*long_v_table - add si, size_of_step*long_v_table - cmp si, ax - jb @f - mov si, ax -@@: - mov word [home_cursor], si - jmp .loops - -.enter: - cmp al, 0x0D;x,0x1C0D ; enter - jne .loops - push word [cursor_pos] - pop bp - push word [es:bp] - pop word [x_save] - push word [es:bp+2] - pop word [y_save] - push word [es:bp+6] - pop word [number_vm] - mov word [preboot_graph], bp ;save choose - - jmp .d - -.change_b: - _setcursor 15,0 -; mov si, ask_dma -; call print -; mov bx, '13' -; call getkey -; mov [preboot_dma], al - mov si, ask_bd - call print - mov bx, '12' - call getkey - mov [preboot_biosdisk], al - _setcursor 11,0 - jmp .d -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.say_on_off: - pushf - call print - mov si, on_msg - popf - jz @f - mov si, off_msg -@@: - jmp printplain -; novesa and vervesa strings are not used at the moment of executing this code -virtual at novesa -.oldtimer dd ? -.starttime dd ? -.bSettingsChanged db ? -.timer dd ? -end virtual -.loader_block dd -1 -.gettime: - mov ah, 0 - int 1Ah - xchg ax, cx - shl eax, 10h - xchg ax, dx - ret -.newtimer: - push ds - push cs - pop ds - pushf - call [.oldtimer] - pushad - call .gettime - sub eax, [.starttime] - sub ax, 18*5 - jae .timergo - neg ax - add ax, 18-1 - mov bx, 18 - xor dx, dx - div bx -if lang eq ru -; 5 ᥪ㭤, 4/3/2 ᥪ㭤, 1 ᥪ㭤 - cmp al, 5 - mov cl, ' ' - jae @f - cmp al, 1 - mov cl, '' - jz @f - mov cl, '' -@@: - mov [time_str+9], cl -else if lang eq et - cmp al, 1 - ja @f - mov [time_str+9], ' ' - mov [time_str+10], ' ' -@@: -else -; wait 5/4/3/2 seconds, 1 second - cmp al, 1 - mov cl, 's' - ja @f - mov cl, ' ' -@@: - mov [time_str+9], cl -end if - add al, '0' - mov [time_str+1], al - mov si, time_msg - _setcursor 7,0 - call print - _setcursor 25,0 - popad - pop ds - iret -.timergo: - push 0 - pop es - mov eax, [.oldtimer] - mov [es:8*4], eax - mov sp, 0EC00h -.continue: - sti - _setcursor 6,0 - mov si, space_msg - call printplain - call printplain - _setcursor 6,0 - mov si, loading_msg - call print - _setcursor 15,0 - cmp [.bSettingsChanged], 0 - jz .load - cmp [.loader_block], -1 - jz .load - les bx, [.loader_block] - mov eax, [es:bx+3] - push ds - pop es - test eax, eax - jz .load - push eax - mov si, save_quest - call print -.waityn: - mov ah, 0 - int 16h - or al, 20h - cmp al, 'n' - jz .loadc - cmp al, 'y' - jnz .waityn - call putchar - mov byte [space_msg+80], 186 - pop eax - push cs - push .cont - push eax - retf -.loadc: - pop eax -.cont: - push cs - pop ds - mov si, space_msg - mov byte [si+80], 0 - _setcursor 15,0 - call printplain - _setcursor 15,0 -.load: -; \end{diamond}[02.12.2005] - -; ASK GRAPHICS MODE - - call set_vmode - -; GRAPHICS ACCELERATION -; force yes - mov [es:BOOT_MTRR], byte 1 - -; DMA ACCESS TO HD - - mov al, [preboot_dma] - mov [es:BOOT_DMA], al - -; VRR_M USE - -; mov al, [preboot_vrrm] -; mov [es:0x9030], al - -; BOOT DEVICE - - mov al, [preboot_device] - dec al - mov [boot_dev], al - - - - - - -;;;;;;;;;;; set videomode - xor ax, ax - mov es, ax - - mov ax, [es:BOOT_VESA_MODE] ; vga & 320x200 - mov bx, ax - cmp ax, 0x13 - je setgr - cmp ax, 0x12 - je setgr - mov ax, 0x4f02 ; Vesa -setgr: - int 0x10 - test ah, ah - mov si, fatalsel - jnz v_mode_error -; set mode 0x12 graphics registers: - cmp bx, 0x12 - jne gmok2 - - mov al, 0x05 - mov dx, 0x03ce - push dx - out dx, al ; select GDC mode register - mov al, 0x02 - inc dx - out dx, al ; set write mode 2 - - mov al, 0x02 - mov dx, 0x03c4 - out dx, al ; select VGA sequencer map mask register - mov al, 0x0f - inc dx - out dx, al ; set mask for all planes 0-3 - - mov al, 0x08 - pop dx - out dx, al ; select GDC bit mask register - ; for writes to 0x03cf -gmok2: - push ds - pop es - - jmp $ - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;data -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -include "lang.inc" -include "bootstr.inc" ; language-independent boot messages -;if lang eq en -;include "booteng.inc" ; english system boot messages -;else if lang eq ru -include "bootru.inc" ; russian system boot messages -include "ru.inc" ; Russian font -;else if lang eq et -;include "bootet.inc" ; estonian system boot messages -;include "et.inc" ; Estonian font -;else -;include "bootge.inc" ; german system boot messages -;end if - -include 'macros.inc' -include 'bootvesa.inc' - -include "preboot.inc" - - -setcursor: -; in: dl=column, dh=row - mov ah, 2 - mov bh, 0 - int 10h - ret - -putchar: -; in: al=character - mov ah, 0Eh - mov bh, 0 - int 10h - ret - -print: -; in: si->string - mov al, 186 - call putchar - mov al, ' ' - call putchar - -printplain: -; in: si->string - pusha - lodsb -@@: - call putchar - lodsb - cmp al, 0 - jnz @b - popa - ret - -getkey: -; get number in range [bl,bh] (bl,bh in ['0'..'9']) -; in: bx=range -; out: ax=digit (1..9, 10 for 0) - mov ah, 0 - int 16h - cmp al, bl - jb getkey - cmp al, bh - ja getkey - push ax - call putchar - pop ax - and ax, 0Fh - jnz @f - mov al, 10 -@@: - ret diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/macros.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/macros.inc deleted file mode 100644 index 4558bbc6ab..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/macros.inc +++ /dev/null @@ -1,86 +0,0 @@ - - -; structure definition helper -macro struct name, [arg] - { - common - name@struct equ name - struc name arg { - } - -macro struct_helper name - { - match xname,name - \{ - virtual at 0 - xname xname - sizeof.#xname = $ - xname - name equ sizeof.#xname - end virtual - \} - } - -ends fix } struct_helper name@struct - -;// mike.dld, 2006-29-01 [ - -; macros definition -macro diff16 title,l1,l2 -{ - local s,d - s = l2-l1 - display title,': 0x' - repeat 16 - d = 48 + s shr ((16-%) shl 2) and $0F - if d > 57 - d = d + 65-57-1 - end if - display d - end repeat - display 13,10 -} -macro diff10 title,l1,l2 - { - local s,d,z,m - s = l2-l1 - z = 0 - m = 1000000000 - display title,': ' - repeat 10 - d = '0' + s / m - s = s - (s/m)*m - m = m / 10 - if d <> '0' - z = 1 - end if - if z <> 0 - display d - end if - end repeat - display 13,10 - } - -; \begin{diamond}[29.09.2006] -; may be useful for kernel debugging -; example 1: -; dbgstr 'Hello, World!' -; example 2: -; dbgstr 'Hello, World!', save_flags -macro dbgstr string*, f -{ -local a -iglobal_nested -a db 'K : ',string,13,10,0 -endg_nested -if ~ f eq - pushfd -end if - push esi - mov esi, a - call sys_msg_board_str - pop esi -if ~ f eq - popfd -end if -} -; \end{diamond}[29.09.2006] diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/preboot.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/preboot.inc deleted file mode 100644 index b1ee5be200..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/preboot.inc +++ /dev/null @@ -1,36 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -display_modechg db 0 ; display mode change for text, yes/no (0 or 2) - ; - ; !! Important note !! - ; - ; Must be set to 2, to avoid two screenmode - ; changes within a very short period of time. - -display_atboot db 0 ; show boot screen messages ( 2-no ) - -preboot_graph dw 0 ; graph mode -x_save dw 0 ; x -y_save dw 0 ; y -number_vm dw 0 ; -;pixel_save dw 0 ; per to pixel -preboot_gprobe db 0 ; probe vesa3 videomodes (1-no, 2-yes) -preboot_vrrm db 0 ; use VRR_M (1-yes, 2- no) -preboot_dma db 0 ; use DMA for access to HDD (1-always, 2-only for read, 3-never) -preboot_device db 0 ; boot device - ; (1-floppy 2-harddisk 3-kernel restart 4-format ram disk) - ;!!!! 0 - autodetect !!!! -preboot_blogesc = 0 ; start immediately after bootlog -preboot_biosdisk db 0 ; use V86 to access disks through BIOS (1-yes, 2-no) - -; if $>0x200 -;ERROR: prebooting parameters must fit in first sector!!! -; end if -;hdsysimage db 'KOLIBRI IMG' ; load from -;image_save db 'KOLIBRI IMG' ; save to diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/rdload.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/rdload.inc deleted file mode 100644 index 23fe19e3e4..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/rdload.inc +++ /dev/null @@ -1,123 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -; READ RAMDISK IMAGE FROM HD - - cmp [boot_dev+OS_BASE+0x10000], 1 - jne no_sys_on_hd - - test [DRIVE_DATA+1], byte 0x40 - jz position_2 - mov [hdbase], 0x1f0 - mov [hdid], 0x0 - mov [hdpos], 1 - mov [fat32part], 0 - position_1_1: - inc [fat32part] - call search_and_read_image - cmp [image_retrieved], 1 - je yes_sys_on_hd - movzx eax, byte [DRIVE_DATA+2] - cmp [fat32part], eax - jle position_1_1 - position_2: - test [DRIVE_DATA+1], byte 0x10 - jz position_3 - mov [hdbase], 0x1f0 - mov [hdid], 0x10 - mov [hdpos], 2 - mov [fat32part], 0 - position_2_1: - inc [fat32part] - call search_and_read_image - cmp [image_retrieved], 1 - je yes_sys_on_hd - movzx eax, byte [DRIVE_DATA+3] - cmp eax, [fat32part] - jle position_2_1 - position_3: - test [DRIVE_DATA+1], byte 0x4 - jz position_4 - mov [hdbase], 0x170 - mov [hdid], 0x0 - mov [hdpos], 3 - mov [fat32part], 0 - position_3_1: - inc [fat32part] - call search_and_read_image - cmp [image_retrieved], 1 - je yes_sys_on_hd - movzx eax, byte [DRIVE_DATA+4] - cmp eax, [fat32part] - jle position_3_1 - position_4: - test [DRIVE_DATA+1], byte 0x1 - jz no_sys_on_hd - mov [hdbase], 0x170 - mov [hdid], 0x10 - mov [hdpos], 4 - mov [fat32part], 0 - position_4_1: - inc [fat32part] - call search_and_read_image - cmp [image_retrieved], 1 - je yes_sys_on_hd - movzx eax, byte [DRIVE_DATA+5] - cmp eax, [fat32part] - jle position_4_1 - jmp yes_sys_on_hd - - search_and_read_image: - call set_FAT32_variables - mov edx, bootpath - call read_image - test eax, eax - jz image_present - mov edx, bootpath2 - call read_image - test eax, eax - jz image_present - ret - image_present: - mov [image_retrieved], 1 - ret - -read_image: - mov eax, hdsysimage+OS_BASE+0x10000 - mov ebx, 1474560/512 - mov ecx, RAMDISK - mov esi, 0 - mov edi, 12 - call file_read - ret - -image_retrieved db 0 -counter_of_partitions db 0 -no_sys_on_hd: - ; test_to_format_ram_disk (need if not using ram disk) - cmp [boot_dev+OS_BASE+0x10000], 3 - jne not_format_ram_disk - ; format_ram_disk - mov edi, RAMDISK - mov ecx, 0x1080 - xor eax, eax -@@: - stosd - loop @b - - mov ecx, 0x58F7F - mov eax, 0xF6F6F6F6 -@@: - stosd - loop @b - - mov [RAMDISK+0x200], dword 0xFFFFF0 ; fat table - mov [RAMDISK+0x4200], dword 0xFFFFF0 - -not_format_ram_disk: -yes_sys_on_hd: diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/ru.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/ru.inc deleted file mode 100644 index a454e92c2e..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/ru.inc +++ /dev/null @@ -1,100 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -; Generated by RUFNT.EXE -; By BadBugsKiller (C) -; Modifyed by BadBugsKiller 12.01.2004 17:45 -; 2- , -; . -; ASCII ('), 866. -RU_FNT1: - db 0x00, 0x00, 0x1E, 0x36, 0x66, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xFE, 0x62, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xFE, 0x66, 0x62, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0xC3, 0x81, 0x00, 0x00 - db 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xDB, 0xDB, 0x5A, 0x5A, 0x7E, 0x7E, 0x5A, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x6C, 0x38, 0xC6, 0xC6, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xE6, 0x66, 0x6C, 0x6C, 0x78, 0x78, 0x6C, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x1F, 0x36, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xCF, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - - db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7E, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFF, 0x03, 0x03, 0x00, 0x00 - db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFF, 0x03, 0x03, 0x00, 0x00 - db 0x00, 0x00, 0xF8, 0xF0, 0xB0, 0x30, 0x3E, 0x33, 0x33, 0x33, 0x33, 0x7E, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xF3, 0xDB, 0xDB, 0xDB, 0xDB, 0xF3, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00 - - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x02, 0x06, 0x7C, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x62, 0x62, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0xFF, 0xC3, 0xC3, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0x54, 0x7C, 0x54, 0xD6, 0xD6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3C, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xCE, 0xD6, 0xE6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x6C, 0x38, 0xC6, 0xC6, 0xCE, 0xD6, 0xE6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x36, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00 - -RU_FNT2: - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0xC6, 0x7C, 0x00 - db 0x00, 0x00, 0x00, 0x3C, 0x18, 0x7E, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x18, 0x3C, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFF, 0x03, 0x03, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xFE, 0x03, 0x03, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xB0, 0xB0, 0x3E, 0x33, 0x33, 0x7E, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xF6, 0xDE, 0xDE, 0xF6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3E, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xC6, 0x7E, 0x36, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00 - - db 0x6C, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xFC, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC8, 0xF8, 0xC8, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xF8, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00 - db 0x6C, 0x38, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x6C, 0x38, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0xC6, 0x7C, 0x00 - db 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xEC, 0x6C, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0xCF, 0xCD, 0xEF, 0xEC, 0xFF, 0xDC, 0xDC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00 - db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/kernel/trunk/sec_loader/trunk/kolibri_ldm/shutdown.inc b/kernel/trunk/sec_loader/trunk/kolibri_ldm/shutdown.inc deleted file mode 100644 index 25c28704c0..0000000000 --- a/kernel/trunk/sec_loader/trunk/kolibri_ldm/shutdown.inc +++ /dev/null @@ -1,207 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ;; -;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; -;; Distributed under terms of the GNU General Public License ;; -;; ;; -;; Shutdown for Menuet ;; -;; ;; -;; Distributed under General Public License ;; -;; See file COPYING for details. ;; -;; Copyright 2003 Ville Turjanmaa ;; -;; ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -align 4 -pr_mode_exit: - -; setup stack - mov ax, 0x3000 - mov ss, ax - mov esp, 0x0EC00 -; setup ds - push cs - pop ds - - lidt [old_ints_h] -;remap IRQs - mov al, 0x11 - out 0x20, al - call rdelay - out 0xA0, al - call rdelay - - mov al, 0x08 - out 0x21, al - call rdelay - mov al, 0x70 - out 0xA1, al - call rdelay - - mov al, 0x04 - out 0x21, al - call rdelay - mov al, 0x02 - out 0xA1, al - call rdelay - - mov al, 0x01 - out 0x21, al - call rdelay - out 0xA1, al - call rdelay - - mov al, 0xB8 - out 0x21, al - call rdelay - mov al, 0xBD - out 0xA1, al - sti - -temp_3456: - xor ax, ax - mov es, ax - mov al, byte [es:0x9030] - cmp al, 1 - jl nbw - cmp al, 4 - jle nbw32 - -nbw: - in al, 0x60 - cmp al, 6 - jae nbw - mov bl, al -nbw2: - in al, 0x60 - cmp al, bl - je nbw2 - cmp al, 240;ax,240 - jne nbw31 - mov al, bl - dec ax - jmp nbw32 -nbw31: - add bl, 128 - cmp al, bl - jne nbw - sub al, 129 - -nbw32: - - dec ax - dec ax ; 2 = power off - jnz no_apm_off - call APM_PowerOff - jmp $ -no_apm_off: - - dec ax ; 3 = reboot - jnz restart_kernel ; 4 = restart kernel - push 0x40 - pop ds - mov word[0x0072], 0x1234 - jmp 0xF000:0xFFF0 - - -rdelay: - ret - -APM_PowerOff: - mov ax, 5304h - xor bx, bx - int 15h -;!!!!!!!!!!!!!!!!!!!!!!!! - mov ax, 0x5300 - xor bx, bx - int 0x15 - push ax - - mov ax, 0x5301 - xor bx, bx - int 0x15 - - mov ax, 0x5308 - mov bx, 1 - mov cx, bx - int 0x15 - - mov ax, 0x530E - xor bx, bx - pop cx - int 0x15 - - mov ax, 0x530D - mov bx, 1 - mov cx, bx - int 0x15 - - mov ax, 0x530F - mov bx, 1 - mov cx, bx - int 0x15 - - mov ax, 0x5307 - mov bx, 1 - mov cx, 3 - int 0x15 -;!!!!!!!!!!!!!!!!!!!!!!!! - ret - -restart_kernel: - - mov ax, 0x0003 ; set text mode for screen - int 0x10 - jmp 0x4000:0000 - -restart_kernel_4000: - cli - - push ds - pop es - mov cx, 0x8000 - push cx - push 0x7000 - pop ds - xor si, si - xor di, di - rep movsw - pop cx - mov ds, cx - push 0x2000 - pop es - rep movsw - push 0x9000 - pop ds - push 0x3000 - pop es - mov cx, 0xE000/2 - rep movsw - - wbinvd ; write and invalidate cache - - mov al, 00110100b - out 43h, al - jcxz $+2 - mov al, 0xFF - out 40h, al - jcxz $+2 - out 40h, al - jcxz $+2 - sti - -; (hint by Black_mirror) -; We must read data from keyboard port, -; because there may be situation when previous keyboard interrupt is lost -; (due to return to real mode and IRQ reprogramming) -; and next interrupt will not be generated (as keyboard waits for handling) - in al, 0x60 - -; bootloader interface - push 0x1000 - pop ds - mov si, kernel_restart_bootblock - mov ax, 'KL' - jmp 0x1000:0000 - -