From 65cbed8f0d016515158f1157dd0961b6cfb2e572 Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Fri, 25 Aug 2006 13:06:57 +0000 Subject: [PATCH] mv, gifview, jpegview: modified to use function 70 tinypad2: modified for new sysxtree kernel, mv, board, calendar, cmd, copy2, cpu, end, icon, mhc, pcidev: german translation from derPENGUIN git-svn-id: svn://kolibrios.org@135 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/boot/bootge.inc | 139 +++++++++ kernel/trunk/build_ge.bat | 4 + kernel/trunk/kernel16.inc | 4 +- programs/develop/cmd/trunk/build_ge.bat | 4 + programs/develop/cmd/trunk/build_ru.bat | 4 - programs/develop/cmd/trunk/cmd.asm | 65 ++++- programs/fs/copy2/trunk/build_ge.bat | 4 + programs/fs/copy2/trunk/copy2.asm | 25 +- programs/media/gifview/trunk/gif_lite.inc | 9 +- programs/media/gifview/trunk/gifview.asm | 46 +-- programs/media/gifview/trunk/macros.inc | 12 +- programs/media/jpegview/trunk/filelib.asm | 140 +++------ programs/media/jpegview/trunk/jpeglib.asm | 2 + programs/media/jpegview/trunk/jpegview.asm | 187 +++++------- programs/media/jpegview/trunk/macros.inc | 268 ++++++++++++++++++ programs/media/mv/trunk/mv.asm | 181 ++++++------ programs/other/mhc/trunk/build_ge.bat | 4 + programs/other/mhc/trunk/build_ru.bat | 4 - programs/other/mhc/trunk/mhc.asm | 48 +++- programs/other/tinypad2/trunk/ascl.inc | 74 +++-- programs/other/tinypad2/trunk/tinypad2.asm | 2 +- programs/system/board/trunk/board.asm | 6 +- programs/system/board/trunk/build_ge.bat | 4 + programs/system/calendar/trunk/build_ge.bat | 4 + programs/system/calendar/trunk/calendar.asm | 200 ++++++------- programs/system/cpu/trunk/build_ge.bat | 4 + programs/system/cpu/trunk/build_ru.bat | 4 - programs/system/cpu/trunk/cpu.asm | 16 ++ programs/system/end/trunk/build_ge.bat | 4 + programs/system/end/trunk/end.asm | 28 +- programs/system/icon/trunk/build_ge.bat | 4 + programs/system/icon/trunk/icon.asm | 45 +-- programs/system/pcidev/trunk/PCIDEV.ASM | 27 +- .../trunk/{build_ru.bat => build_ge.bat} | 2 +- .../pcidev/trunk/{VENDORS.INC => vendors.inc} | 0 35 files changed, 1017 insertions(+), 557 deletions(-) create mode 100644 kernel/trunk/boot/bootge.inc create mode 100644 kernel/trunk/build_ge.bat create mode 100644 programs/develop/cmd/trunk/build_ge.bat delete mode 100644 programs/develop/cmd/trunk/build_ru.bat create mode 100644 programs/fs/copy2/trunk/build_ge.bat create mode 100644 programs/media/jpegview/trunk/macros.inc create mode 100644 programs/other/mhc/trunk/build_ge.bat delete mode 100644 programs/other/mhc/trunk/build_ru.bat create mode 100644 programs/system/board/trunk/build_ge.bat create mode 100644 programs/system/calendar/trunk/build_ge.bat create mode 100644 programs/system/cpu/trunk/build_ge.bat delete mode 100644 programs/system/cpu/trunk/build_ru.bat create mode 100644 programs/system/end/trunk/build_ge.bat create mode 100644 programs/system/icon/trunk/build_ge.bat rename programs/system/pcidev/trunk/{build_ru.bat => build_ge.bat} (51%) rename programs/system/pcidev/trunk/{VENDORS.INC => vendors.inc} (100%) diff --git a/kernel/trunk/boot/bootge.inc b/kernel/trunk/boot/bootge.inc new file mode 100644 index 0000000000..e2427dd7c5 --- /dev/null +++ b/kernel/trunk/boot/bootge.inc @@ -0,0 +1,139 @@ +;====================================================================== +; +; BOOT DATA +; +;====================================================================== + +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 +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 +d80x25_top_num = 4 +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 +gr_acc db "Vesa 2.0+ : MTRR Grafikbeschleunigung " + db "[1-ja/2-nein] ? ",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:\menuet.img (FAT32);" + db 13,10,186," " + db "3-benutze ein bereits geladenes Kernel 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-0x10000,mode1-0x10000,mode2-0x10000,mode3-0x10000 +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 +mtrr_msg db " [b] Nutze MTRR fuer Graphibeschleunigung:",0 +on_msg db " an",13,10,0 +off_msg db " aus",13,10,0 +vrrm_msg db " [c] Nutze VRR:",0 +preboot_device_msg db " [d] Diskettenimage: ",0 +preboot_device_msgs dw 0,pdm1-0x10000,pdm2-0x10000,pdm3-0x10000 +pdm1 db "Echte Diskette",13,10,0 +pdm2 db "C:\menuet.img (FAT32)",13,10,0 +pdm3 db "Nutze bereits geladenes 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 diff --git a/kernel/trunk/build_ge.bat b/kernel/trunk/build_ge.bat new file mode 100644 index 0000000000..15951e4d4d --- /dev/null +++ b/kernel/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix ge >lang.inc +@fasm kernel.asm kernel.mnt +@pause \ No newline at end of file diff --git a/kernel/trunk/kernel16.inc b/kernel/trunk/kernel16.inc index d6a2c77fa0..7b630dc66b 100644 --- a/kernel/trunk/kernel16.inc +++ b/kernel/trunk/kernel16.inc @@ -18,8 +18,10 @@ ;!!! if lang eq en include "boot/booteng.inc" ; english system boot messages -else +else if lang eq ru include "boot/bootru.inc" ; russian system boot messages +else +include "boot/bootge.inc" ; german system boot messages ;!!! end if include "boot/ru.inc" ; Russian font diff --git a/programs/develop/cmd/trunk/build_ge.bat b/programs/develop/cmd/trunk/build_ge.bat new file mode 100644 index 0000000000..6158be4b56 --- /dev/null +++ b/programs/develop/cmd/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix de >lang.inc +@fasm cmd.asm cmd +@pause \ No newline at end of file diff --git a/programs/develop/cmd/trunk/build_ru.bat b/programs/develop/cmd/trunk/build_ru.bat deleted file mode 100644 index 89781135cb..0000000000 --- a/programs/develop/cmd/trunk/build_ru.bat +++ /dev/null @@ -1,4 +0,0 @@ -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm cmd.asm cmd -@pause \ No newline at end of file diff --git a/programs/develop/cmd/trunk/cmd.asm b/programs/develop/cmd/trunk/cmd.asm index 9c934d07cf..a0346e1c72 100644 --- a/programs/develop/cmd/trunk/cmd.asm +++ b/programs/develop/cmd/trunk/cmd.asm @@ -19,7 +19,7 @@ use32 dd 0x0 include "macros.inc" - +include "lang.inc" START: call cmdexist @@ -300,7 +300,7 @@ draw: mov eax,0 mov ebx,100*65536+492 mov ecx,100*65536+280 - mov edx,0 + mov edx,0x3000000 mov esi,0x805080d0 mov edi,0x005080d0 int 0x40 @@ -312,12 +312,12 @@ draw: mov esi,title_end-title int 0x40 - mov eax,8 - mov ebx,(492-19)*65536+12 - mov ecx,5*65536+12 - mov edx,1 - mov esi,0x6688dd - int 0x40 +; mov eax,8 +; mov ebx,(492-19)*65536+12 +; mov ecx,5*65536+12 +; mov edx,1 +; mov esi,0x6688dd +; int 0x40 mov eax,12 mov ebx,2 @@ -977,7 +977,7 @@ err: shl ebx,16 add ebx,[xpos] mov ecx,0x00ddeeff - mov esi,27 + mov esi,33 int 0x40 cld @@ -2836,7 +2836,50 @@ title_end: smb_cursor db '|' prompt db 'CMD>>' +if lang eq de +h1 db ' CMD - Command line interpreter version 0.26 ' +h2 db ' copyleft Chemist - dmitry_gt@tut.by ' +h3 db ' Verfuegbare Kommandos: ' +h4 db ' HELP - Zeoigt diesen Text LS - Zeigt Dateien' +h5 db ' EXIT - Programmende CP - Kopiert Datei' +h6 db ' CLS - Loescht Bildschirm PS - Processinfo ' +h7 db ' KILL - Process beenden RN - File umnennen' +h8 db ' VER - Zeigt Programmversion ' +h9 db ' DEL - Loescht Datei von Ramdisk ' +h10 db ' SHUTDOWN - KolibriOS beenden ' +h11 db ' PAUSE - Auf Taste warten ' +h12 db ' ECHO - Schreibt Text auf Ausgabe ' +h13 db ' ENDS - Scriptende ' +h14 db ' /[filename] - Script starten ' +h15 db ' Parameter mit "&" angeben: ' +h16 db ' tinypad&cmd.asm - oeffnet cmd.asm ' +about db 'Command Line Interpreter version 0.26 ' + +err1 db 'Kommando oder Dateiname unbekannt' + +proc_head db ' PID Name Start Laenge Proc_NUMB ' +proc_hd11 db '-------------------------------------------- ' + +mess1 db 'Taste druecken fuer weiter (ESC - abbrechen)..' +mess2 db 'Bitte 4 Byte Prozessnummer angeben (nicht PID)' +mess3 db 'Prozess mit angegebenere Nummer erfolgreich ' +mess4 db 'beendet. ' +mess5 db 'Verwendung: del [Dateiname] ' +mess6 db 'Angegebene Datei erfolgreich geloescht. ' +mess7 db 'Datei nicht gefunden! ' +mess8 db 'Prozess nicht gefunden! ' +mess9 db 'Verwendung: cp [Quelle+Ziel] ' +mess0 db 'Verwendung: rn [Quelle+Ziel] ' + +mess11 db 'Datei erfolgreich kopiert ' +mess12 db 'ERROR: Kann Datei nicht kopieren! ' +mess13 db 'ERROR: Datei existiert bereits! ' +mess14 db 'Datei erfolgreich umbenannt ' +mess15 db 'ERROR: Kann Datei nicht umbenennen! ' +mess16 db 'Scriptname erwartet! ' +mess17 db 'Dieses Kommando ist nur in Scripts zulaessig! ' +else h1 db ' CMD - Command line interpreter version 0.26 ' h2 db ' copyleft Chemist - dmitry_gt@tut.by ' h3 db ' Available commands: ' @@ -2856,7 +2899,7 @@ h16 db ' tinypad&cmd.asm - open cmd.asm ' about db 'Command Line Interpreter version 0.26 ' -err1 db 'Unknown command or filename' +err1 db 'Unknown command or filename ' proc_head db ' PID Name Start Length Proc_NUMB ' proc_hd11 db '-------------------------------------------- ' @@ -2879,7 +2922,7 @@ mess14 db 'File successfully renamed ' mess15 db 'ERROR: Can not rename file! ' mess16 db 'You must specify a command script filename! ' mess17 db 'This command is available only in scripts! ' - +end if linen dd 2000 lpress dd 1 diff --git a/programs/fs/copy2/trunk/build_ge.bat b/programs/fs/copy2/trunk/build_ge.bat new file mode 100644 index 0000000000..eaff360b69 --- /dev/null +++ b/programs/fs/copy2/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix de >lang.inc +@fasm copy2.asm copy2 +@pause \ No newline at end of file diff --git a/programs/fs/copy2/trunk/copy2.asm b/programs/fs/copy2/trunk/copy2.asm index e481fffc08..67751e35c4 100644 --- a/programs/fs/copy2/trunk/copy2.asm +++ b/programs/fs/copy2/trunk/copy2.asm @@ -362,6 +362,11 @@ lsz text,\ en, 'DESTINATION: | Poddubny Ivan, ivan-yar@bk.ru ',\ en, ' COPY SOURCE -> DESTINATION ',\ en, 'x',\ ; <- END MARKER, DONT DELETE +\ + de, 'QUELLE: | Russia, Yaroslavl ',\ + de, 'ZIEL: | Poddubny Ivan, ivan-yar@bk.ru ',\ + de, ' KOPIERE QUELLE -> ZIEL ',\ + de, 'x',\ ; <- END MARKER, DONT DELETE \ fr, 'SOURCE: | ',\ fr, 'DESTINATION: | ',\ @@ -372,6 +377,7 @@ lsz text,\ lsz header,\ ru, 'КОПИРОВАТЬ ФАЙЛ',\ en, 'SYSTREE FILE COPIER',\ + de, 'SYSTREE DATEIKOPIERER',\ fr, 'COPIER LE FICHIER' @@ -405,7 +411,7 @@ strtbl errors,\ "?",\ "(запись) файл не найден",\ "(запись) неизвестная ошибка" -else +else if lang eq en strtbl errors,\ "Success!",\ "(read) no hd base or partition defined",\ @@ -422,6 +428,23 @@ strtbl errors,\ "?",\ "(write) end of file",\ "(write) unknown error" +else +strtbl errors,\ + "Erfolgreich!",\ + "(lesen) Keine Festplatte oder Partition definiert",\ + "(lesen) Dateisystem nicht unterstuetzt",\ + "(lesen) Unbekanntes Dateisystem",\ + "(lesen) Keine Partition definiert",\ + "Zu wenig Speicher",\ + "(lesen) Dateiende erreicht",\ + "(lesen) Unbekanner Fehler",\ + "(schreiben) Keine Festplatte oder Partition definiert",\ + "(schreiben) Dateisystem nicht unterstuetzt",\ + "(schreiben) Unbekanntes Dateisystem",\ + "(schreiben) Keine Partition definiert",\ + "?",\ + "(schreiben) Dateiende erreicht",\ + "(schreiben) Unbekanner Fehler" end if I_END: diff --git a/programs/media/gifview/trunk/gif_lite.inc b/programs/media/gifview/trunk/gif_lite.inc index 542a80d961..6e0862fbb8 100644 --- a/programs/media/gifview/trunk/gif_lite.inc +++ b/programs/media/gifview/trunk/gif_lite.inc @@ -4,7 +4,7 @@ ; This include file will contain functions to handle GIF image format ; ; Created: August 15, 2004 -; Last changed: September 9, 2004 +; Last changed: August 25, 2006 ; Change COLOR_ORDER in your program ; if colors are displayed improperly @@ -88,7 +88,7 @@ ReadGIF: mov [.img_count],eax inc eax cmp dword[esi],'GIF8' - jne .er ; signature + jne .ex ; signature mov ecx,[esi+0xa] inc eax add esi,0xd @@ -123,7 +123,7 @@ ReadGIF: jmp .block_skip .noextblock: cmp byte[edi],0x2c ; image beginning - jne .er + jne .ex inc [.img_count] inc edi mov esi,[.cur_info] @@ -211,9 +211,6 @@ ReadGIF: call .Gif_output pop ebx eax jmp .add - .er: - pop edi - jmp .ex .end: mov eax,[.cur_info] mov [eax],edi diff --git a/programs/media/gifview/trunk/gifview.asm b/programs/media/gifview/trunk/gifview.asm index 39aae0114e..2c7a461f90 100644 --- a/programs/media/gifview/trunk/gifview.asm +++ b/programs/media/gifview/trunk/gifview.asm @@ -4,7 +4,7 @@ ; Uses GIF_LITE 2.0 ; ; Created: August 31, 2004 -; Last changed: September 9, 2004 +; Last changed: August 25, 2006 ; ; COMPILE WITH FASM @@ -50,9 +50,9 @@ openfile: mov edi,filename mov ecx,[inp_pos] rep movsb - mov byte[edi],al + stosb openfile2: - mov eax,58 + mov eax,70 mov ebx,file_info int 0x40 cmp eax,6 @@ -60,19 +60,19 @@ openfile2: test eax,eax jnz ok2 temp: - cmp ebx,64 - jbe ok2 +; cmp ebx,64 +; jbe ok2 and [entered],0 xor eax,eax mov [imgcount],eax mov esi,filename mov edi,fn_input - mov ecx,256 ;[filename_len] - rep movsb + mov ecx,256/4 ;[filename_len] + rep movsd mov edi,fn_input - mov ecx,50 + mov ecx,256 xor eax,eax repne scasb sub edi,fn_input @@ -101,16 +101,22 @@ red: call draw_window still: + cmp [imgcount], 1 + jnz .delay + mov eax, 10 + int 0x40 + jmp @f +.delay: mov ebx,DELAY mov eax,23 int 0x40 - - cmp eax,1 - je red - cmp eax,2 - je key - cmp eax,3 - je button +@@: + dec eax + jz red + dec eax + jz key + dec eax + jz button mov eax,[imgcount] cmp eax,1 je still @@ -167,7 +173,7 @@ still: jz wait_input dec [inp_pos] jmp wait_input - jmp still +; jmp still ;**************************************** ;******* DRAW CONTENTS OF INPUT LINE **** @@ -290,9 +296,9 @@ inp_end: file_info: dd 0 dd 0 - dd 0x100000/512;0x200000 - dd workarea - dd Image;0x100000 + dd 0 + dd 0x100000;0x200000 + dd workarea;0x100000 I_END: ; конец программы filename: ; db '/hd/1/gif/smileys/sm112000.gif',0 @@ -300,7 +306,7 @@ filename: ; db '/hd/1/gif/explode1.gif',0 ; db '/hd/1/gif/tapeta.gif',0 ; db '/hd/1/gif/meos.gif',0 - rb 256 + rb 257 ;filename_len dd 0 entered rd 1 diff --git a/programs/media/gifview/trunk/macros.inc b/programs/media/gifview/trunk/macros.inc index d45b69e6e3..ab45d183d4 100644 --- a/programs/media/gifview/trunk/macros.inc +++ b/programs/media/gifview/trunk/macros.inc @@ -123,8 +123,10 @@ macro mpack dest, hsrc, lsrc end if } -macro __mov reg,a { ; mike.dld - if ~a eq +macro __mov reg,a,b { ; mike.dld + if (~a eq)&(~b eq) + mpack reg,a,b + else if (~a eq)&(b eq) mov reg,a end if } @@ -141,10 +143,6 @@ macro mcall a,b,c,d,e,f { ; mike.dld - - - - ; optimize the code for size __regs fix @@ -176,7 +174,7 @@ macro sub arg1,arg2 macro mov arg1,arg2 { - if (arg1 in __regs) & (arg2 eqtype 0) + if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) if (arg2) = 0 xor arg1,arg1 else if (arg2) = 1 diff --git a/programs/media/jpegview/trunk/filelib.asm b/programs/media/jpegview/trunk/filelib.asm index 75014c25f8..281abd3ffc 100644 --- a/programs/media/jpegview/trunk/filelib.asm +++ b/programs/media/jpegview/trunk/filelib.asm @@ -1,51 +1,45 @@ file_handler: - .position=0 - .size=4 - .bufer_block=8 - .operation=12 - .first_block=16 - .n_blocks=20 - .bufer=24 - .work_area=28 - .name=32 - .st_size=32+128 + .operation=0 + .position=4 + .reserved=8 + .n_bytes=12 + .bufer=16 + .name=20 + .st_size=20+1024 open: ;esi=name_string ;retorna eax pushad - push dword [work_area] - mov ecx,512 ;bufer - call malloc - push edi mov ecx,file_handler.st_size call mallocz - pop dword[edi+file_handler.bufer] - pop dword[edi+file_handler.work_area] mov [esp+28],edi - mov ecx,100 + push edi + mov ecx,1024 add edi,file_handler.name call movedata - mov edi,[esp+28] - mov byte[edi+file_handler.n_blocks],1 - mov eax,58 - lea ebx,[edi+file_handler.operation] - push edi - int 0x40 pop edi +; test if file exists + lea ebx,[edi+file_handler.operation] + mov byte[ebx],5 + mov dword[ebx+16],fileattr + mov eax,70 + int 0x40 + cmp eax,2 + jz .virtual test eax,eax jnz close.b - mov [edi+file_handler.size],ebx +@@: clc popad ret +.virtual: + mov byte [fileattr], 0x10 + jmp @b close: pushad .b: - mov eax,[esp+28] - mov edi,[eax+file_handler.bufer] - call free - mov edi,eax + mov edi,[esp+28] call free popad xor eax,eax @@ -55,88 +49,20 @@ close: read: ;(f,bufer,nbytes) eax,edi,ecx ncr ;retorna bytes leidos en ecx pushad - mov edx,[eax+file_handler.size] - sub edx,[eax+file_handler.position] - cmp edx,ecx - jnc .nb_ok - mov ecx,edx - mov [esp+24],edx - .nb_ok: - jecxz .final - mov byte[eax+file_handler.operation],0 - test dword[eax+file_handler.position],511 - jz .l1 - call .bufer - .l1: - mov edx,ecx - shr edx,9 - jz .l2 - mov [eax+file_handler.n_blocks],edx - mov edx,[eax+file_handler.position] - shr edx,9 - mov [eax+file_handler.first_block],edx - xchg edi,[eax+file_handler.bufer] - pushad - lea ebx,[eax+file_handler.operation] - mov eax,58 - int 40h - cmp eax,0ffffff00h - jnc .error - popad - xchg edi,[eax+file_handler.bufer] - mov edx,ecx - and edx,0fffffe00h - add [eax+file_handler.position],edx - add edi,edx - .l2: - and ecx,511 - jz .final - call .bufer - .final: + lea ebx, [eax+file_handler.operation] + mov byte [ebx], 0 + mov [ebx+12], ecx + mov [ebx+16], edi + mov eax, 70 + int 0x40 + cmp ebx, -1 + sbb ebx, -1 + mov eax, [esp+28] + add [eax+file_handler.position], ebx + mov [esp+24], ebx popad ret - .bufer: - pushad - mov ebx,[eax+file_handler.position] - shr ebx,9 - cmp ebx,[eax+file_handler.bufer_block] - je .l3 - mov [eax+file_handler.first_block],ebx - mov [eax+file_handler.bufer_block],ebx - mov dword[eax+file_handler.n_blocks],1 - lea ebx,[eax+file_handler.operation] - mov eax,58 - int 40h - cmp eax,0ffffff00h - jnc .error - .l3: - mov eax,[esp+28] - mov edx,[eax+file_handler.position] - mov esi,[eax+file_handler.bufer] - and edx,511 - add esi,edx - neg edx - add edx,512 - cmp ecx,edx - jc .l4 - mov ecx,edx - .l4: - add [eax+file_handler.position],ecx - sub [esp+24],ecx - pop edi - call movedata - push edi - popad - ret -.error: - popad - popad - xor ecx,ecx - stc - ret - - ftell: mov edx,[eax+file_handler.position] ret lseek: ;eax=file edx=pos diff --git a/programs/media/jpegview/trunk/jpeglib.asm b/programs/media/jpegview/trunk/jpeglib.asm index b36f25a615..dbf6c088ee 100644 --- a/programs/media/jpegview/trunk/jpeglib.asm +++ b/programs/media/jpegview/trunk/jpeglib.asm @@ -99,6 +99,8 @@ jpeg_info: ;fichero en eax eoi: mov esp,[ebp] +; do not close file - this will be done by caller + and dword [ebp+fichero], 0 call jpeg_close popad xor ebp,ebp diff --git a/programs/media/jpegview/trunk/jpegview.asm b/programs/media/jpegview/trunk/jpegview.asm index 12336d8cbb..ee775f30cf 100644 --- a/programs/media/jpegview/trunk/jpegview.asm +++ b/programs/media/jpegview/trunk/jpegview.asm @@ -18,7 +18,10 @@ ; unos retoques ; version 0.14 10th August 2004 ; Mike Hibbett Added setting default colours +; version 0.15 24th August 2006 +; diamond (rewritten to function 70) ; + memsize=20000h org 0 PARAMS = memsize - 1024 @@ -33,7 +36,6 @@ use32 dd memsize - 1024 ; esp dd PARAMS , 0x0 ; I_Param , I_Icon -include 'lang.inc' stack_size=4096 + 1024 include 'macros.inc' @@ -50,10 +52,6 @@ START: ; start of execution mov edi,fin call add_mem - ; Get some memory - mov ecx,16384 - call malloc - mov [work_area],edi call colorprecalc ;inicializa tablas usadas para pasar de ybr a bgr call draw_window call read_string.rs_done @@ -148,10 +146,6 @@ boot_set_background: mov ecx,memsize-fin-stack_size ; size mov edi,fin ; pointer call add_mem ; mark memory from fin to 0x100000-1024 as free - ; Get some memory - mov ecx,16384 ; get 16 Kb of memory - call malloc ; returns pointer in edi - mov [work_area],edi ; save it call colorprecalc ; calculate colors mov esi,name_string call open @@ -244,15 +238,12 @@ draw_window: ; Draw the window to the appropriate size - it may have ; been resized by the user - mov eax, 0 - cmp [winxs], ax + cmp [winxs], 0 jne dw_001 ; Give the screen some inital defaults - mov ax, 400 - mov [winxs], ax - mov ax, 300 - mov [winys], ax + mov [winxs], 400 + mov [winys], 300 mov ax, 100 mov [winxo], ax mov [winyo], ax @@ -273,16 +264,12 @@ dw_001: mov [winys], ax dw_002: - mov bx, [winxo] - shl ebx, 16 - mov bx, [winxs] + mov ebx, dword [winxo-2] + mov bx, [winxs] + mov ecx, dword [winyo-2] + mov cx, [winys] - mov cx, [winyo] - shl ecx, 16 - mov cx, [winys] - - - mov eax,0 ; DRAW WINDOW + xor eax,eax ; DRAW WINDOW mov edx,[wcolor] add edx,0x02000000 mov esi,0x80557799 @@ -461,84 +448,59 @@ print_strings: ret slideshow: - test dword[file_dir],-1 - jnz .exit - test dword[jpeg_st],-1 - jz .exit - mov esi,name_string - movzx ecx,byte[name_string.cursor] - .l1: - cmp byte[esi+ecx],'/' - je .l2 - loop .l1 - .exit: - ret - .l2: - mov byte[esi+ecx],0 - call open - mov byte[esi+ecx],'/' - test eax,eax - jz .exit - - mov dword[eax+file_handler.size],-1 ;directory size is always 0 - mov [file_dir],eax - inc cl - mov [name_string.cursor],cl - + cmp [file_dir], 0 + jnz .exit + cmp [jpeg_st], 0 + jz .exit + mov esi, name_string + movzx ecx, byte [name_string.cursor] +.l1: + cmp byte [esi+ecx], '/' + jz .l2 + loop .l1 +.exit: + ret +.l2: + mov byte [esi+ecx], 0 + call open + mov byte [esi+ecx], '/' + test eax, eax + jz .exit + test byte [fileattr], 0x10 + jz .exit + mov [file_dir], eax + inc ecx + mov [name_string.cursor], cl display_next: - mov eax,[file_dir] - test eax,eax - jnz .l1 - ret - .l1: - mov ecx,32 - sub esp,ecx - mov edi,esp - call read - cmp ecx,32 - jnc .l11 - .l10: - add esp,32 - mov eax,dword[file_dir] - mov dword[file_dir],0 - jmp close - .l11: - mov esi,esp - movzx edi,byte[name_string.cursor] - add edi,name_string - lodsb - cmp al,0 - je .l10 - cmp al,229 - jne .l0 - add esp,32 - jmp display_next - .l0: - stosb - mov cl,7 - .l2: - lodsb - cmp al,32 - jna .l3 - stosb - loop .l2 - .l3: - lea esi,[esp+8] - mov al,'.' - stosb - mov cl,3 - .l4: - lodsb - cmp al,32 - jna .l5 - stosb - loop .l4 - .l5: - mov al,0 - stosb - cmp edi,name_string.end - jc .l5 - add esp,32 + mov ebx, [file_dir] + test ebx, ebx + jnz @f + ret +@@: + mov byte [ebx], 1 + mov byte [ebx+12], 1 + mov dword [ebx+16], dirinfo + mov eax, 70 + int 0x40 + mov eax, [file_dir] + inc dword [eax+4] + cmp ebx, 1 + jz @f + mov eax, [file_dir] + and [file_dir], 0 + jmp close +@@: + movzx edi, byte [name_string.cursor] + add edi, name_string + lea esi, [dirinfo+32+40] +@@: + lodsb + stosb + test al, al + jnz @b + mov ecx, name_string.end + sub ecx, edi + rep stosb call print_strings mov esi,name_string call open @@ -558,7 +520,6 @@ display_next: jmp jpeg_display - include 'filelib.asm' include 'memlib.asm' include 'jpeglib.asm' @@ -567,7 +528,7 @@ include 'jpeglib.asm' ; DATA AREA wcolor dd 0x000000 -labelt db 'Jpegview v0.14' +labelt db 'Jpegview v0.15' labellen: setname db 'SLIDESHOW' setnamelen: @@ -580,18 +541,16 @@ x_offset dd 0 x_numofbytes dd 0 x_numofb2 dd 0 x_counter dd 0 -winxo: dw 0 -winyo: dw 0 -winxs: dw 0 -winys: dw 0 -jpeg_st: dd 0 -file_dir: dd 0 -work_area: dd 0 +winxo dw 0 +winyo dw 0 +winxs dw 0 +winys dw 0 +jpeg_st dd 0 +file_dir dd 0 tcolor dd 0x000000 btcolor dd 0x224466+0x808080 name_string: db '/rd/1/jpegview.jpg',0 - -rb 100 +rb 256 .end: .cursor: db 19 .cursor2: db 0 @@ -612,5 +571,5 @@ iniciomemoria: fin: I_END: - - +fileattr: rb 40 +dirinfo: rb 32+304 diff --git a/programs/media/jpegview/trunk/macros.inc b/programs/media/jpegview/trunk/macros.inc new file mode 100644 index 0000000000..cd445840ed --- /dev/null +++ b/programs/media/jpegview/trunk/macros.inc @@ -0,0 +1,268 @@ +; new application structure +macro meos_app_start + { + use32 + org 0x0 + + db 'MENUET01' + dd 0x01 + dd __start + dd __end + dd __memory + dd __stack + + if used __params & ~defined __params + dd __params + else + dd 0x0 + end if + + dd 0x0 + } +MEOS_APP_START fix meos_app_start + +macro code + { + __start: + } +CODE fix code + +macro data + { + __data: + } +DATA fix data + +macro udata + { + if used __params & ~defined __params + __params: + db 0 + __end: + rb 255 + else + __end: + end if + __udata: + } +UDATA fix udata + +macro meos_app_end + { + align 32 + rb 2048 + __stack: + __memory: + } +MEOS_APP_END fix meos_app_end + + +; macro for defining multiline text data +struc mstr [sstring] + { + forward + local ssize + virtual at 0 + db sstring + ssize = $ + end virtual + dd ssize + db sstring + common + dd -1 + } + + +; strings +macro sz name,[data] { ; from MFAR [mike.dld] + common + if used name + label name + end if + forward + if used name + db data + end if + common + if used name + .size = $-name + end if +} + +macro lsz name,[lng,data] { ; from MFAR [mike.dld] + common + if used name + label name + end if + forward + if (used name)&(lang eq lng) + db data + end if + common + if used name + .size = $-name + end if +} + + + +; easy system call macro +macro mpack dest, hsrc, lsrc +{ + if (hsrc eqtype 0) & (lsrc eqtype 0) + mov dest, (hsrc) shl 16 + lsrc + else + if (hsrc eqtype 0) & (~lsrc eqtype 0) + mov dest, (hsrc) shl 16 + add dest, lsrc + else + mov dest, hsrc + shl dest, 16 + add dest, lsrc + end if + end if +} + +macro __mov reg,a,b { ; mike.dld + if (~a eq)&(~b eq) + mpack reg,a,b + else if (~a eq)&(b eq) + mov reg,a + end if +} + +macro mcall a,b,c,d,e,f { ; mike.dld + __mov eax,a + __mov ebx,b + __mov ecx,c + __mov edx,d + __mov esi,e + __mov edi,f + int 0x40 +} + + + +; language for programs +lang fix ru ; ru en fr ge fi + + + +; optimize the code for size +__regs fix + +macro add arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + inc arg1 + else + add arg1,arg2 + end if + else + add arg1,arg2 + end if + } + +macro sub arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + dec arg1 + else + sub arg1,arg2 + end if + else + sub arg1,arg2 + end if + } + +macro mov arg1,arg2 + { + if (arg1 in __regs) & (arg2 eqtype 0) + if (arg2) = 0 + xor arg1,arg1 + else if (arg2) = 1 + xor arg1,arg1 + inc arg1 + else if (arg2) = -1 + or arg1,-1 + else if (arg2) > -128 & (arg2) < 128 + push arg2 + pop arg1 + else + mov arg1,arg2 + end if + else + mov arg1,arg2 + end if + } + + +macro struct name + { + virtual at 0 + name name + sizeof.#name = $ - name + end virtual + } + +; structures used in MeOS +struc process_information + { + .cpu_usage dd ? ; +0 + .window_stack_position dw ? ; +4 + .window_stack_value dw ? ; +6 + .not_used1 dw ? ; +8 + .process_name rb 12 ; +10 + .memory_start dd ? ; +22 + .used_memory dd ? ; +26 + .PID dd ? ; +30 + .x_start dd ? ; +34 + .y_start dd ? ; +38 + .x_size dd ? ; +42 + .y_size dd ? ; +46 + .slot_state dw ? ; +50 + rb (1024-52) + } +struct process_information + +struc system_colors + { + .frame dd ? + .grab dd ? + .grab_button dd ? + .grab_button_text dd ? + .grab_text dd ? + .work dd ? + .work_button dd ? + .work_button_text dd ? + .work_text dd ? + .work_graph dd ? + } +struct system_colors + + +; constants + +; events +EV_IDLE = 0 +EV_TIMER = 0 +EV_REDRAW = 1 +EV_KEY = 2 +EV_BUTTON = 3 +EV_EXIT = 4 +EV_BACKGROUND = 5 +EV_MOUSE = 6 +EV_IPC = 7 +EV_STACK = 8 + +; event mask bits for function 40 +EVM_REDRAW = 1b +EVM_KEY = 10b +EVM_BUTTON = 100b +EVM_EXIT = 1000b +EVM_BACKGROUND = 10000b +EVM_MOUSE = 100000b +EVM_IPC = 1000000b +EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/mv/trunk/mv.asm b/programs/media/mv/trunk/mv.asm index a7a60bed01..c477fe2406 100644 --- a/programs/media/mv/trunk/mv.asm +++ b/programs/media/mv/trunk/mv.asm @@ -32,20 +32,16 @@ START: ; start of execution cmp byte [temp_area],0 jz .no_param mov edi,string ; clear string - mov ecx,43*3 ; length of a string + mov ecx,256/4 ; length of a string xor eax,eax ; symbol <0> - add al,14h - cld - rep stosb + rep stosd mov edi,temp_area ; look for <0> in temp_area - mov ecx,43*3+1 ; strlen + mov esi,edi + mov ecx,257 ; strlen repne scasb - add edi,-temp_area ; get length of the string - dec edi + lea ecx, [edi-temp_area] - mov ecx,edi - mov esi,temp_area mov edi,string rep movsb ; copy string from temp_area to "string" (filename) @@ -72,6 +68,7 @@ START: ; start of execution ; теперь в ecx номер процесса mov [process],ecx +draw_still: call draw_window still: @@ -79,39 +76,34 @@ still: mov eax,10 ; wait here for event int 0x40 - cmp eax,1 ; redraw request ? - je red - cmp eax,2 ; key in buffer ? - je key - cmp eax,3 ; button in buffer ? - je button + dec eax + jz red + dec eax + jnz button + key: ; key + mov al,2 + int 0x40 + mov al,ah + cmp al,6 + je kfile + cmp al,15 + je kopen + cmp al,9 + je kinfo + cmp al,2 + je kbgrd jmp still red: - bt [status],2 - jnc @f - mov eax,18 - mov ebx,3 - mov ecx,[process] - int 0x40 - btr [status],2 - jmp still - @@: - call draw_window - jmp still - - key: ; key - int 0x40 - cmp ah,6 - je kfile - cmp ah,15 - je kopen - cmp ah,9 - je kinfo - cmp ah,2 - je kbgrd - jmp still + test byte [status], 4 + jz draw_still + mov al, 18 + mov ebx, 3 + mov ecx, [process] + int 0x40 + and byte [status], not 4 + jmp still button: ; button mov eax,17 ; get id @@ -126,9 +118,9 @@ still: cmp ah,2 jne nofile kfile: - bt dword [status],0 - jc still - bts dword [status],0 + test byte [status], 1 + jnz still + or byte [status], 1 mov eax,51 mov ebx,1 mov ecx,thread1 @@ -163,9 +155,9 @@ still: cmp ah,4 jne noinfo kinfo: - bt dword [status],1 - jc still - bts dword [status],1 + test byte [status], 2 + jnz still + or byte [status], 2 mov eax,51 mov ebx,1 mov ecx,thread2 @@ -178,9 +170,9 @@ still: cmp ah,5 jne still kbgrd: - bt dword [status],3 - jc still - bts dword [status],3 + test byte [status], 8 + jnz still + or byte [status], 8 mov eax,51 mov ebx,1 mov ecx,thread3 @@ -197,21 +189,9 @@ still: load_image: - mov dword [fileinfo+8],1 ; how many blocks to read (1) - mov eax,58 - mov ebx,fileinfo - int 0x40 - cmp [I_END+2],dword 512 ; размер файла (file size) - jbe @f - mov eax,[I_END+2] - shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков - inc eax - - mov dword [fileinfo+8],eax - mov eax,58 - mov ebx,fileinfo - int 0x40 -@@: + mov eax, 70 + mov ebx, fileinfo + int 0x40 mov eax,[I_END+18] mov ebx,[I_END+22] add eax,20 @@ -263,7 +243,7 @@ load_image: mov esi, ecx imul esi, edx - imul esi, 3 + lea esi, [esi+esi*2] mov ebx,5 mov ecx,[soi] xor edx,edx @@ -282,12 +262,14 @@ load_image: convert: movzx eax,word [I_END+28] mul dword [I_END+18] - mov ebx,32 - div ebx - test edx,edx - je noaddword - inc eax - noaddword: +; mov ebx,32 +; div ebx +; test edx,edx +; je noaddword +; inc eax +; noaddword: + add eax, 31 + shr eax, 5 mov [dwps],eax ;dwps-doublewords per string shl eax,2 mov [bps],eax ;bps-bytes per string @@ -462,7 +444,8 @@ labelt: lsz buttext,\ en, ' FILE OPEN INFO BGRD',\ - ru, ' ФАЙЛ ОТКР ИНФО ФОН ' + ru, ' ФАЙЛ ОТКР ИНФО ФОН ',\ + de, 'DATEI OEFNEN INFO HGRD' status dd 0 ;bit0=1 if file thread is created bps dd 0 @@ -634,7 +617,7 @@ draw_window1: mov ebx,8*65536+8 ; [x start] *65536 + [y start] mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt1 ; pointer to text beginning - mov esi,4 ; text length + mov esi,labelt1.size ; text length int 0x40 call drawstring @@ -679,21 +662,8 @@ draw_window1: lsz labelt1,\ en, 'File',\ - ru, 'Файл' - -pos: dd 6 -fileinfo: - dd 0 - dd 0 - dd 1 ;number of blocks of 512 bytes - dd I_END - dd temp_area -string: -; db '/HARDDISK/FIRST/1/DICK.BMP ' -; db '/hd/1/menuet/pics/new.bmp ' - db '/rd/1/bgr.bmp ' - db ' ' - db ' ' + ru, 'Файл',\ + de, 'Datei' thread2: ; start of info thread @@ -823,7 +793,8 @@ draw_window2: lsz labelt2,\ en, 'File info',\ - ru, 'Информация о файле' + ru, 'Информация о файле',\ + de, 'Dateiinfo' lsz fitext,\ en, 'FILE SIZE ',\ @@ -834,7 +805,12 @@ lsz fitext,\ ru, 'Размер файла ',\ ru, 'Ширина ',\ ru, 'Высота ',\ - ru, 'Бит на пиксел ' + ru, 'Бит на пиксел ',\ + \ + de, 'FATEIGROESSE ',\ + de, 'X GROESSE ',\ + de, 'Y GROESSE ',\ + de, 'BITS PER PIXEL' thread3: ; start of bgrd thread @@ -939,7 +915,7 @@ draw_window3: mov ebx,8*65536+8 ; [x start] *65536 + [y start] mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt3 ; pointer to text beginning - mov esi,14 ; text length + mov esi,labelt3.size ; text length int 0x40 add ebx,38*65536+20 mov ecx,0xddeeff @@ -999,27 +975,42 @@ wnd_height dd 53 lsz labelt3,\ en, 'Background set',\ - ru, "Установка фона" + ru, "Установка фона",\ + de, 'Hintergrund gesetzt' lsz bgrdtext,\ en, 'SET AS BACKGROUND:',\ - ru, 'Тип обоев:' + ru, 'Тип обоев:',\ + de, 'ALS HINTERGRUND' lsz tiled,\ en, 'TILED',\ - ru, 'замостить' + ru, 'замостить',\ + de, 'GEKACHELT' lsz stretch,\ en, 'STRETCH',\ - ru, 'растянуть' + ru, 'растянуть',\ + de, 'GESTRECKT' lsz ok_btn,\ en, 'Ok',\ - ru, 'Ok' - + ru, 'Ok',\ + de, 'Ok' +pos: dd 6 +fileinfo: + dd 0 + dd 0 + dd 0 + dd 0x290000-I_END + dd I_END +string: + db '/rd/1/bgr.bmp',0 IM_END: + rb string+257-$ + process_info: temp_area: rb 0x10000 diff --git a/programs/other/mhc/trunk/build_ge.bat b/programs/other/mhc/trunk/build_ge.bat new file mode 100644 index 0000000000..0b8a15560a --- /dev/null +++ b/programs/other/mhc/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix ge >lang.inc +@fasm mhc.asm mhc +@pause \ No newline at end of file diff --git a/programs/other/mhc/trunk/build_ru.bat b/programs/other/mhc/trunk/build_ru.bat deleted file mode 100644 index 2224e8a303..0000000000 --- a/programs/other/mhc/trunk/build_ru.bat +++ /dev/null @@ -1,4 +0,0 @@ -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm mhc.asm mhc -@pause \ No newline at end of file diff --git a/programs/other/mhc/trunk/mhc.asm b/programs/other/mhc/trunk/mhc.asm index 231e936874..01d4e937fc 100644 --- a/programs/other/mhc/trunk/mhc.asm +++ b/programs/other/mhc/trunk/mhc.asm @@ -207,7 +207,7 @@ ENTRANCE: xor eax,eax ; Define window mov ebx,100*65536+240 mov ecx,100*65536+130 - mov edx,0x02AAAAAA + mov edx,0x03AAAAAA mov esi,0x80777777 mov edi,0x00777777 int 0x40 @@ -232,16 +232,17 @@ ENTRANCE: pusha - mov eax,8 ; Buttons - mov ebx,222*65536+10 - mov ecx,6*65536+10 - mov edx,1 - mov esi,0x555555 - int 0x40 +; mov eax,8 ; Buttons +; mov ebx,222*65536+10 +; mov ecx,6*65536+10 +; mov edx,1 +; mov esi,0x555555 +; int 0x40 + mov eax,8 mov ebx,15*65536+100 mov ecx,70*65536+13 - inc edx + mov edx,2 int 0x40 inc edx @@ -346,6 +347,25 @@ ENTRANCE: ; interface data + if lang eq de + keylab db " PACKEN ENTPACKEN" + dellab db " LOESCHE I/O LOESCHE *.MHC" + title db "MHC 0.09" + arclab db "GEOACJTE DATEI:" + unplab db "EIN/AUSGABE DATEI:" + fin_text: + + cmfile db "FILENAME.MHC" + iofile db "FILENAME.XYZ" + + msgtable: + db "PACKE... " + db "ENTPACKE... " + db "KEIN I/O! " + db "KEINE *.MHC! " + db "FALSCHE METHODe!" + + else keylab db " COMPRESS DECOMPRESS" dellab db " DELETE I/O DELETE *.MHC" title db "MHC 0.09" @@ -356,10 +376,6 @@ ENTRANCE: cmfile db "FILENAME.MHC" iofile db "FILENAME.XYZ" - editstate db 0 - editpos db 0 - msgid db 0 - msgtable: db "COMPRESSING... " db "DECOMPRESSING..." @@ -367,6 +383,14 @@ ENTRANCE: db "*.MHC NOT FOUND!" db "INVALID METHOD! " + end if + + + editstate db 0 + editpos db 0 + msgid db 0 + + ; ======== compression/decompression engine ======== ; Adresses declaration diff --git a/programs/other/tinypad2/trunk/ascl.inc b/programs/other/tinypad2/trunk/ascl.inc index a1e2f25859..ea447b35a8 100644 --- a/programs/other/tinypad2/trunk/ascl.inc +++ b/programs/other/tinypad2/trunk/ascl.inc @@ -1,5 +1,3 @@ -lang equ ru ; ru en fr ge fi - ; ; Assembler ; SMALL @@ -220,9 +218,9 @@ local dlg_is_work, ready, procinfo cld ;; mov esi,path mov edi,path - mov eax,0 - mov ecx,200 - rep stosb + xor eax,eax + mov ecx,(1024+16)/4 + rep stosd ;mov [get_loops],0 mov [dlg_pid_get],0 @@ -264,7 +262,7 @@ new_d: mov eax,60 mov ebx,1 ; define IPC mov ecx,path ; offset of area - mov edx,150 ; size 150 bytes + mov edx,1024+16 ; size int 0x40 ; change wanted events list 7-bit IPC event @@ -276,7 +274,7 @@ new_d: ; STEP 3 run SYSTEM XTREE with parameters ; - mov eax,58 + mov eax,70 mov ebx,run_fileinfo int 0x40 @@ -287,15 +285,14 @@ getmesloop: mov eax,23 mov ebx,50 ;0.5 sec int 0x40 - - cmp eax,1 - je mred - cmp eax,2 - je mkey - cmp eax,3 - je mbutton - cmp eax,7 - je mgetmes + dec eax + jz mred + dec eax + jz mkey + dec eax + jz mbutton + cmp al, 7-3 + jz mgetmes ; Get number of procces mov ebx,procinfo @@ -388,8 +385,8 @@ ready: cld mov esi,path+16 mov edi,path - mov ecx,200 - rep movsb + mov ecx,1024/4 + rep movsd mov [edi],byte 0 jmp openoff @@ -405,11 +402,11 @@ param: dd 0,0 ; Type of dialog run_fileinfo: - dd 16 + dd 7 dd 0 dd param dd 0 - dd procinfo ; 0x10000 + dd 0 ;run_filepath db '/RD/1/SYSXTREE',0 @@ -432,9 +429,9 @@ local dlg_is_work, ready, procinfo cld ;; mov esi,path mov edi,path - mov eax,0 - mov ecx,200 - rep stosb + xor eax,eax + mov ecx,(1024+16)/4 + rep stosd ;mov [get_loops],0 mov [dlg_pid_get],0 @@ -475,8 +472,8 @@ new_d: ; define IPC memory mov eax,60 mov ebx,1 ; define IPC - mov ecx,path ; offset of area - mov edx,150 ; size 150 bytes + mov ecx,path ; offset of area + mov edx,1024+16 ; size int 0x40 ; change wanted events list 7-bit IPC event @@ -488,7 +485,7 @@ new_d: ; STEP 3 run SYSTEM XTREE with parameters ; - mov eax,58 + mov eax,70 mov ebx,run_fileinfo int 0x40 @@ -499,15 +496,14 @@ getmesloop: mov eax,23 mov ebx,50 ;0.5 sec int 0x40 - - cmp eax,1 - je mred - cmp eax,2 - je mkey - cmp eax,3 - je mbutton - cmp eax,7 - je mgetmes + dec eax + jz mred + dec eax + jz mkey + dec eax + jz mbutton + cmp al, 7-3 + jz mgetmes ; Get number of procces mov ebx,procinfo @@ -600,8 +596,8 @@ ready: cld mov esi,path+16 mov edi,path - mov ecx,200 - rep movsb + mov ecx,1024/4 + rep movsd mov [edi],byte 0 jmp openoff @@ -617,11 +613,11 @@ param: dd 0,0 ; Type of dialog run_fileinfo: - dd 16 + dd 7 dd 0 dd param dd 0 - dd procinfo + dd 0 ;run_filepath: db '/RD/1/SYSXTREE',0 diff --git a/programs/other/tinypad2/trunk/tinypad2.asm b/programs/other/tinypad2/trunk/tinypad2.asm index 0a82e8dc6a..5d9b1be4b6 100644 --- a/programs/other/tinypad2/trunk/tinypad2.asm +++ b/programs/other/tinypad2/trunk/tinypad2.asm @@ -4066,7 +4066,7 @@ end virtual pos00 dd 0 newdoc db ? mypath: -times 258 db 0 +times 1024+16 db 0 real_posy dd 0 vscroll_size dd 0 vscroll_pos dd 0 diff --git a/programs/system/board/trunk/board.asm b/programs/system/board/trunk/board.asm index 6dfea2a995..a8b5f7d541 100644 --- a/programs/system/board/trunk/board.asm +++ b/programs/system/board/trunk/board.asm @@ -525,10 +525,14 @@ if lang eq ru header: db 'ДОСКА ОТЛАДКИ И СООБЩЕНИЙ' .len = $ - header -else +else if lang eq en header: db 'GENERAL DEBUG & MESSAGE BOARD' .len = $ - header +else + header: + db 'ALLGEMEINES DEBUG- & NACHRICHTENBOARD' + .len = $ - header end if krnl_cnt dd 0 vmode dd 0 diff --git a/programs/system/board/trunk/build_ge.bat b/programs/system/board/trunk/build_ge.bat new file mode 100644 index 0000000000..af7011190c --- /dev/null +++ b/programs/system/board/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix ge >lang.inc +@fasm board.asm board +@pause \ No newline at end of file diff --git a/programs/system/calendar/trunk/build_ge.bat b/programs/system/calendar/trunk/build_ge.bat new file mode 100644 index 0000000000..8542d52ebf --- /dev/null +++ b/programs/system/calendar/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix de >lang.inc +@fasm calendar.asm calendar +@pause \ No newline at end of file diff --git a/programs/system/calendar/trunk/calendar.asm b/programs/system/calendar/trunk/calendar.asm index 1357cca97e..daf49524a8 100644 --- a/programs/system/calendar/trunk/calendar.asm +++ b/programs/system/calendar/trunk/calendar.asm @@ -10,25 +10,25 @@ WIN_X equ (150 shl 16+270) WIN_Y equ (100 shl 16+300) -LINE1 equ 27 shl 16+16 +LINE1 equ 27 shl 16+16 B_MONTH_X equ 10 shl 16+158 -B_Y equ LINE1 +B_Y equ LINE1 B_MONTH equ 63 shl 16+32 B_WBAR_X equ 10 shl 16+250 B_WBAR_Y equ 64 shl 16+20 -B_WEEK equ 30 shl 16+70 +B_WEEK equ 30 shl 16+70 B_WX_SHIFT equ 32 shl 16 B_DBAR_X equ B_WBAR_X B_DBAR_Y equ 85 shl 16+190 -B_DROP equ B_MONTH+16 +B_DROP equ B_MONTH+16 B_DAYS_Y equ 100 B_DAYS_SHIFT equ 30 B_YEAR_X equ 173 shl 16+58 -B_YEAR equ 188 shl 16+32 +B_YEAR equ 188 shl 16+32 B_TODAY_X equ 25 shl 16 B_TODAY_Y equ 48 shl 16+10 @@ -36,33 +36,33 @@ B_TODAY equ 30 shl 16+50 B_SPIN_WIDTH equ 13 B_SPIN_X equ 234 shl 16+B_SPIN_WIDTH -B_SPIN equ 238 shl 16+32 +B_SPIN equ 238 shl 16+32 B_DATE_X equ 26 shl 16+60 B_DATE_Y equ 275 shl 16+16 B_DATE_BSHIFT equ 80 shl 16 -B_DATE equ 32 shl 16+280 +B_DATE equ 32 shl 16+280 B_DATE_SHIFT equ 80 shl 16 -B_NS_X equ 185 shl 16+75 -B_NS_Y equ 48 shl 16+10 -B_NS equ 190 shl 16+50 +B_NS_X equ 185 shl 16+75 +B_NS_Y equ 48 shl 16+10 +B_NS equ 190 shl 16+50 FOCUSABLE equ 5 -SKIP equ 1 +SKIP equ 1 -use32 ; включить 32-битный режим ассемблера +use32 ; включить 32-битный режим ассемблера - org 0x0 ; адресация с нуля + org 0x0 ; адресация с нуля - db 'MENUET01' ; 8-байтный идентификатор MenuetOS - dd 0x01 ; версия заголовка (всегда 1) - dd start ; адрес метки, с которой начинается выполнение программ - dd I_END ; размер программы - dd 0x1000 ; количество памяти - dd 0x1000 ; адрес вершины стэка - dd 0x0 ; адрес буфера для строки параметров (не используется) - dd 0x0 ; зарезервировано + db 'MENUET01' ; 8-байтный идентификатор MenuetOS + dd 0x01 ; версия заголовка (всегда 1) + dd start ; адрес метки, с которой начинается выполнение программ + dd I_END ; размер программы + dd 0x1000 ; количество памяти + dd 0x1000 ; адрес вершины стэка + dd 0x0 ; адрес буфера для строки параметров (не используется) + dd 0x0 ; зарезервировано include 'lang.inc' include 'macros.inc' ; уменьшает размер программы ;include 'debug.inc' @@ -103,7 +103,7 @@ if lang eq ru db 'Октябрь ' db 'Ноябрь ' db 'Декабрь ' -else if lang eq ge +else if lang eq de db 9 db 'Januar ' db 'Februar ' @@ -172,7 +172,7 @@ if lang eq ru db 'Пт' db 'Сб' db 'Вс' -else if lang eq ge +else if lang eq de db 2 db 7 db 'So' @@ -240,34 +240,34 @@ start: jnz .no2000 add [Year],100 .no2000: - jmp upd ; здесь начинается выполнение программы -red: ; перерисовать окно + jmp upd ; здесь начинается выполнение программы +red: ; перерисовать окно - call draw_window ; вызываем процедуру отрисовки окна + call draw_window ; вызываем процедуру отрисовки окна -still: ; ГЛАВНЫЙ ЦИКЛ ПРОГРАММЫ +still: ; ГЛАВНЫЙ ЦИКЛ ПРОГРАММЫ - mov eax,10 ; функция 10 - ждать события - int 0x40 ; вызываем систему + mov eax,10 ; функция 10 - ждать события + int 0x40 ; вызываем систему .evt: mov ebp,[focus] - cmp eax,1 ; перерисовать окно ? - je red ; если да - на метку red - cmp eax,2 ; нажата клавиша ? - je key ; если да - на key - cmp eax,3 ; нажата кнопка ? - je button ; если да - на button + cmp eax,1 ; перерисовать окно ? + je red ; если да - на метку red + cmp eax,2 ; нажата клавиша ? + je key ; если да - на key + cmp eax,3 ; нажата кнопка ? + je button ; если да - на button - jmp still ; если другое событие - в начало цикла + jmp still ; если другое событие - в начало цикла - key: ; нажата клавиша на клавиатуре - mov eax,2 ; функция 2 - считать код символа - int 0x40 ; вызов системы + key: ; нажата клавиша на клавиатуре + mov eax,2 ; функция 2 - считать код символа + int 0x40 ; вызов системы cmp ah,9 jne no_tab .tab: cmp ebp,FOCUSABLE - je foc_cycle + je foc_cycle inc [focus] upd: call calculate @@ -290,38 +290,38 @@ still: ; cmp ebp,4 jne no_spinner cmp ah,176 - je year_dec + je year_dec cmp ah,179 - je year_inc + je year_inc no_spinner: cmp ebp,2 jne .nomonth cmp ah,177 - je noclose.drop + je noclose.drop jmp still .nomonth: cmp ebp,3 - je noy_up.year_evt + je noy_up.year_evt cmp ebp,5 jne still mov ebx,[day_sel] - cmp ah,176 ; left arrow - jb still + cmp ah,176 ; left arrow + jb still cmp ah,179 - ja still + ja still shr eax,8 sub eax,176 movsx ecx,byte[day_bounds+eax*2] movzx eax,byte[day_bounds+eax*2+1] add ecx,ebx test eax,eax - jz .chk0 + jz .chk0 cmp ecx,eax - ja still + ja still .ok: mov [day_sel],ecx call draw_days - jmp still ; вернуться к началу цикла + jmp still ; вернуться к началу цикла .chk0: cmp ecx,eax jle still @@ -329,9 +329,9 @@ still: ; day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right - button: ; нажата кнопка в окне программы - mov eax,17 ; 17 - получить идентификатор нажатой кнопки - int 0x40 ; вызов системы + button: ; нажата кнопка в окне программы + mov eax,17 ; 17 - получить идентификатор нажатой кнопки + int 0x40 ; вызов системы movzx ebx,ah cmp ah,200 jbe nodayselect @@ -346,24 +346,24 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right jmp red nodayselect: cmp ah,100 - jb no_list + jb no_list sub ah,100 mov byte[Month],ah mov [focus],2 jmp upd no_list: - cmp ah,1 ; идентификатор == 1 ? - jne noclose ; если нет - иди вперёд на noclose + cmp ah,1 ; идентификатор == 1 ? + jne noclose ; если нет - иди вперёд на noclose close: - or eax,-1 ; выход из программы - int 0x40 ; вызов системы + or eax,-1 ; выход из программы + int 0x40 ; вызов системы noclose: - cmp ah,2 ; drop down list + cmp ah,2 ; drop down list jne no_dropdn .drop: mov [focus],2 - cmp [dropped],al ; ==0 + cmp [dropped],al ; ==0 jne red call draw_window mov edx,1 shl 31+231 @@ -376,14 +376,14 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right call draw_dropdown jmp still no_dropdn: - cmp ah,3 ; year -1 + cmp ah,3 ; year -1 jne noy_dn year_dec: dec [Year] mov [focus],4 jmp upd noy_dn: - cmp ah,4 ; year+1 + cmp ah,4 ; year+1 jne noy_up year_inc: inc [Year] @@ -402,8 +402,8 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right .year_evt: mov ebx,10 cmp ah,9 - je key.tab - cmp ah,8 ; backspace + je key.tab + cmp ah,8 ; backspace jne .nobsp mov eax,[Year] xor edx,edx @@ -413,17 +413,17 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right call draw_year jmp .still .nobsp: - cmp ah,13 ; enter - je upd + cmp ah,13 ; enter + je upd cmp ah,182 - jne .noclear ; del + jne .noclear ; del xor eax,eax jmp .ch_year .noclear: cmp ah,48 - jb .still + jb .still cmp ah,57 - ja .still + ja .still cmp [Year],1000 jae .still shr eax,8 @@ -445,20 +445,20 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right draw_window: - mov eax,12 ; функция 12: сообщить ОС об отрисовке окна - mov ebx,1 ; 1 - начинаем рисовать + mov eax,12 ; функция 12: сообщить ОС об отрисовке окна + mov ebx,1 ; 1 - начинаем рисовать int 0x40 - ; СОЗДАЁМ ОКНО - xor eax,eax ; функция 0 : определить и отрисовать окно + ; СОЗДАЁМ ОКНО + xor eax,eax ; функция 0 : определить и отрисовать окно mov ebx,WIN_X if SKIP eq 0 mov ecx,WIN_Y else mov ecx,WIN_Y-15 end if - mov edx,0x03aabbcc ; цвет рабочей области RRGGBB,8->color gl - mov esi,0x805080d0 ; цвет полосы заголовка RRGGBB,8->color gl - mov edi,0x005080d0 ; цвет рамки RRGGBB + mov edx,0x03aabbcc ; цвет рабочей области RRGGBB,8->color gl + mov esi,0x805080d0 ; цвет полосы заголовка RRGGBB,8->color gl + mov edi,0x005080d0 ; цвет рамки RRGGBB int 0x40 call draw_week @@ -476,7 +476,7 @@ draw_window: else mov edx,10 end if - or edx,1 shl 29+1 shl 30 + or edx,1 shl 29+1 shl 30 mov ebx,B_NS_X mov ecx,B_NS_Y int 0x40 @@ -496,11 +496,11 @@ draw_window: int 0x40 call draw_days - ; ЗАГОЛОВОК ОКНА - mov eax,4 ; функция 4 : написать в окне текст - mov ebx,8*65536+8 ; [x] *65536 + [y] - mov ecx,0x10ddeeff ; шрифт 1 и цвет ( 0xF0RRGGBB ) - mov edx,zagolovok ; адрес строки + ; ЗАГОЛОВОК ОКНА + mov eax,4 ; функция 4 : написать в окне текст + mov ebx,8*65536+8 ; [x] *65536 + [y] + mov ecx,0x10ddeeff ; шрифт 1 и цвет ( 0xF0RRGGBB ) + mov edx,zagolovok ; адрес строки mov esi,zag_konets-zagolovok ; и её длина int 0x40 @@ -518,7 +518,7 @@ draw_window: mov esi,ns_end-n_style mov ebx,B_NS cmp [new_style],1 - je .high + je .high mov ecx,0xa0a0a0 jmp .int .high: @@ -548,10 +548,10 @@ draw_window: call draw_year mov [dropped],0 - mov eax,12 ; функция 12: сообщить ОС об отрисовке окна - mov ebx,2 ; 2, закончили рисовать + mov eax,12 ; функция 12: сообщить ОС об отрисовке окна + mov ebx,2 ; 2, закончили рисовать int 0x40 - ret ; выходим из процедуры + ret ; выходим из процедуры draw_year: mcall 8,B_YEAR_X,B_Y,5,0x05080d0 @@ -608,7 +608,7 @@ draw_week: .week: push ecx cmp ecx,edi - je .holiday + je .holiday mov ecx,0x10000000 jmp .noholiday .holiday: @@ -646,7 +646,7 @@ draw_days: mov ecx,edi add cl,[week_days+1] cmp ecx,7 - je .holiday + je .holiday mov esi,0x10000000 jmp .noholiday .holiday: @@ -663,7 +663,7 @@ draw_days: sub ecx,7 shl 16 mov edx,[number] cmp edx,[day_sel] - je .draw_sel + je .draw_sel mov esi,0xe0e0e0 jmp .draw_but .draw_sel: @@ -711,10 +711,10 @@ is_leap_year: mov [leap_year],0 mov eax,[Year] mov bl,100 - div bl ; ah=Year mod 100, al=Year%100 + div bl ; ah=Year mod 100, al=Year%100 test ah,ah - jz .century - shr ax,8 ; ax - last 2 digits + jz .century + shr ax,8 ; ax - last 2 digits .century: test al,11b jnz .noleap @@ -745,7 +745,7 @@ calculate: add eax,ecx dec eax cmp [new_style],0 - je .nonew + je .nonew add eax,2 xchg eax,ebx mov ecx,100 @@ -770,9 +770,9 @@ calculate: ; интерфейс программы двуязычный - задайте язык в macros.inc day_count db 3,0,3,2,3,2,3,3,2,3,2,3 -Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159 +Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159 -zagolovok: ; строка заголовка +zagolovok: ; строка заголовка if lang eq ru db 'КАЛЕНДАРЬ' else if lang eq ge @@ -782,7 +782,7 @@ else if lang eq fr else db 'CALENDAR' end if -zag_konets: ; и её конец +zag_konets: ; и её конец if SKIP eq 0 datebut: if lang eq ru @@ -802,8 +802,8 @@ end if n_style: if lang eq ru db 'Новый стиль' -else if lang eq ge - db 'Neustil' +else if lang eq de + db 'Neuer Stil' else if lang eq fr db 'Nouveau' else @@ -825,7 +825,7 @@ focus dd 3 new_style dd 1 dropped db 0 -I_END: ; конец программы +I_END: ; конец программы firstday dd ? Year dd ? Month dd ? @@ -834,5 +834,5 @@ all_days dd ? datestr dd ? leap_year dd ? -number dd ? +number dd ? year_input dd ? diff --git a/programs/system/cpu/trunk/build_ge.bat b/programs/system/cpu/trunk/build_ge.bat new file mode 100644 index 0000000000..ae4a819657 --- /dev/null +++ b/programs/system/cpu/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix de >lang.inc +@fasm cpu.asm cpu +@pause \ No newline at end of file diff --git a/programs/system/cpu/trunk/build_ru.bat b/programs/system/cpu/trunk/build_ru.bat deleted file mode 100644 index 97a6062184..0000000000 --- a/programs/system/cpu/trunk/build_ru.bat +++ /dev/null @@ -1,4 +0,0 @@ -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm cpu.asm cpu -@pause \ No newline at end of file diff --git a/programs/system/cpu/trunk/cpu.asm b/programs/system/cpu/trunk/cpu.asm index 2d6c239986..48710e4f18 100644 --- a/programs/system/cpu/trunk/cpu.asm +++ b/programs/system/cpu/trunk/cpu.asm @@ -589,6 +589,7 @@ file_start: dd 16 start_application: db '/RD/1/LAUNCHER',0 times 60 db 32 +if lang eq en text: db ' NAME/TERMINATE PID CPU-USAGE % ' db 'MEMORY START/USAGE W-STACK W-SIZE' @@ -602,6 +603,21 @@ tbte_2: labelt: db 'Processes - Ctrl/Alt/Del' labellen: +else +text: + db ' NAME/BEENDEN PID CPU-LAST % ' + db 'SPEICHER START/NUTZUNG W-STACK W-SIZE' + +tbts: db 'SEITE ZURUECK SEITE VOR REBOOT SYSTEM' +tbte: +tbts_2 db '>' +tbts_3 db 'START' +tbte_2: + +labelt: + db 'Prozesse - Ctrl/Alt/Del' +labellen: +end if I_END: diff --git a/programs/system/end/trunk/build_ge.bat b/programs/system/end/trunk/build_ge.bat new file mode 100644 index 0000000000..2dd341c796 --- /dev/null +++ b/programs/system/end/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix ge >lang.inc +@fasm end.asm end +@pause \ No newline at end of file diff --git a/programs/system/end/trunk/end.asm b/programs/system/end/trunk/end.asm index 228caa2a9c..8b0d689108 100644 --- a/programs/system/end/trunk/end.asm +++ b/programs/system/end/trunk/end.asm @@ -172,15 +172,7 @@ if lang eq ru db 'ПЕРЕЗАПУСК ОТМЕНА' label3_len = $ - label3 - label4: - db '(End) (Home)' - label4_len = $ - label4 - - label5: - db '(Enter) (Esc)' - label5_len = $ - label5 - -else +else if lang eq en label1: db ' SELECT:' @@ -194,6 +186,22 @@ else db ' RESTART CANCEL' label3_len = $ - label3 +else + + label1: + db 'WAEHLEN:' + label1_len = $ - label1 + + label2: + db ' BEENDEN KERNEL' + label2_len = $ - label2 + + label3: + db ' NEUSTART ABBRECHEN' + label3_len = $ - label3 + +end if + label4: db '(End) (Home)' label4_len = $ - label4 @@ -202,8 +210,6 @@ else db '(Enter) (Esc)' label5_len = $ - label5 -end if - udata sc system_colors diff --git a/programs/system/icon/trunk/build_ge.bat b/programs/system/icon/trunk/build_ge.bat new file mode 100644 index 0000000000..899195bf85 --- /dev/null +++ b/programs/system/icon/trunk/build_ge.bat @@ -0,0 +1,4 @@ +@erase lang.inc +@echo lang fix ge >lang.inc +@fasm icon.asm icon +@pause \ No newline at end of file diff --git a/programs/system/icon/trunk/icon.asm b/programs/system/icon/trunk/icon.asm index ff91ecd853..5f2f89a81e 100644 --- a/programs/system/icon/trunk/icon.asm +++ b/programs/system/icon/trunk/icon.asm @@ -26,8 +26,8 @@ ICON_STRIP equ '/RD/1/ICONSTRP.GIF' dd icon_data+0x30000 ; memory for app dd icon_data+0x30000 ; esp dd I_Param , 0x0 ; I_Param , I_Icon -include 'lang.inc' include 'macros.inc' +include 'lang.inc' COLOR_ORDER equ MENUETOS include 'gif_lite.inc' ;include 'debug.inc' @@ -790,40 +790,53 @@ if lang eq ru db 255,255,255,0, ' ДОБАВИТЬ УДАЛИТЬ ' db 0,0,0,0, 'НАЖМИТЕ НА ПОЗИЦИЮ ИКОНКИ ДЛЯ РЕДАКТИРОВАНИЯ ' db 'x' ; <- END MARKER, DONT DELETE +add_text db 'НАЖМИТЕ НА ПОЗИЦИЮ НЕИСПОЛЬЗУЕМОЙ ИКОНКИ' +add_text_len: +rem_text db 'НАЖМИТЕ НА ПОЗИЦИЮ ИСПОЛЬЗУЕМОЙ ИКОНКИ' +rem_text_len: labelt: db 'Настройка рабочего стола' labellen: -else +else if lang eq en text: db 255,255,255,0, ' TITLE ' db 255,255,255,0, ' APP NAME ' db 255,255,255,0, ' PARAMETERS ' db 255,255,255,0, ' APPLY CHANGES ' db 255,255,255,0, ' ADD ICON REMOVE ICON ' - db 0,0,0,0, ' PRESS ON POSITION OF ICON TO EDIT ' + db 0,0,0,0, 'CLICK BUTTON ON ICON POSITION FOR EDIT ' db 'x' ; <- END MARKER, DONT DELETE +add_text db 'CLICK ON A NOT USED POSITION' +add_text_len: +rem_text db 'CLICK ICON POSITION; YOU WANT TO DELETE' +rem_text_len: labelt: db 'Icon Manager' labellen: +else + text: + db 255,255,255,0, ' TITLE ' + db 255,255,255,0, ' APP NAME ' + db 255,255,255,0, ' PARAMETER ' + db 255,255,255,0, ' ANWENDEN ' + db 255,255,255,0, ' HINZUFUEGEN ENTFERNEN ' + db 0,0,0,0, 'AUF BUTTON KLICKEN, UM ICON ZU EDITIEREN ' + db 'x' ; <- END MARKER, DONT DELETE +add_text db 'AUF UNBENUTZTE ICONPOSITION KLICKEN' +add_text_len: + +rem_text db 'ICON ANKLICKEN; DAS GELOESCHT WERDEN SOLL' +rem_text_len: + labelt: + db 'Icon Manager' + labellen: + end if ;ya dd 0 -if lang eq ru -add_text db 'НАЖМИТЕ НА ПОЗИЦИЮ НЕИСПОЛЬЗУЕМОЙ ИКОНКИ' -add_text_len: - -rem_text db 'НАЖМИТЕ НА ПОЗИЦИЮ ИСПОЛЬЗУЕМОЙ ИКОНКИ' -rem_text_len: -else -add_text db 'PRESS ON POSITION OF UNUSED ICON' -add_text_len: - -rem_text db 'PRESS ON POSITION OF USED ICON' -rem_text_len: -end if arrows db '' iconname: db ICON_APP,0 diff --git a/programs/system/pcidev/trunk/PCIDEV.ASM b/programs/system/pcidev/trunk/PCIDEV.ASM index 8acb766084..1ee7326949 100644 --- a/programs/system/pcidev/trunk/PCIDEV.ASM +++ b/programs/system/pcidev/trunk/PCIDEV.ASM @@ -117,7 +117,8 @@ use32 include 'macros.inc' -include 'VENDORS.INC' +include 'vendors.inc' +include 'lang.inc' START: ; start of execution call draw_window @@ -473,6 +474,26 @@ labelt: db 'PCI Device Enumeration v 1.31 by J. Delozier, S. Kuzmin and V. Hanla' labellen: +if lang eq de +PCIWin: +db 'Im Einstellungsmenue muss der PCI Zugriff eingeschaltet sein. ' +db ' ' +db ' ' +db ' ' +db 'PCI Version = ' +db ' ' +db 'Letzter PCI Bus = ' +db ' ' +db 'Anzahl von Geraeten = ' +db ' ' +db ' ' +db ' ' +db 'VenID DevID Bus# Dev# Fnc Rev Class Subclass Herste' +db 'ller Beschreibung ' +db '----- ----- ---- ---- --- --- ----- -------- --------------------' +db '---------------------- ----------------' +db 'x' +else PCIWin: db 'Please remember to enable PCI Access to Applications in Setup Menu.' db ' ' @@ -482,7 +503,7 @@ db 'PCI Version = ' db ' ' db 'Last PCI Bus = ' db ' ' -db 'Quantity of devices = ' +db 'Number of devices = ' db ' ' db ' ' db ' ' @@ -491,6 +512,8 @@ db 'any Description ' db '----- ----- ---- ---- --- --- ----- -------- --------------------' db '---------------------- ----------------' db 'x' +end if + total db 0 V_Bus db 0 diff --git a/programs/system/pcidev/trunk/build_ru.bat b/programs/system/pcidev/trunk/build_ge.bat similarity index 51% rename from programs/system/pcidev/trunk/build_ru.bat rename to programs/system/pcidev/trunk/build_ge.bat index 34b06b3a5b..65c8782e80 100644 --- a/programs/system/pcidev/trunk/build_ru.bat +++ b/programs/system/pcidev/trunk/build_ge.bat @@ -1,4 +1,4 @@ @erase lang.inc -@echo lang fix ru >lang.inc +@echo lang fix ge >lang.inc @fasm pcidev.asm pcidev @pause \ No newline at end of file diff --git a/programs/system/pcidev/trunk/VENDORS.INC b/programs/system/pcidev/trunk/vendors.inc similarity index 100% rename from programs/system/pcidev/trunk/VENDORS.INC rename to programs/system/pcidev/trunk/vendors.inc