From c4763a7d71ac8c24f04d9666ce4b49802abc4879 Mon Sep 17 00:00:00 2001 From: pathoswithin Date: Sun, 22 Nov 2015 01:04:06 +0000 Subject: [PATCH] Setup: less flicker git-svn-id: svn://kolibrios.org@5924 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/system/setup/trunk/setup.asm | 113 +++++++++++++------------- 1 file changed, 56 insertions(+), 57 deletions(-) diff --git a/programs/system/setup/trunk/setup.asm b/programs/system/setup/trunk/setup.asm index 618e88be97..a45f251576 100644 --- a/programs/system/setup/trunk/setup.asm +++ b/programs/system/setup/trunk/setup.asm @@ -11,7 +11,7 @@ dd 1 dd START dd IM_END dd I_END -dd stack_area +dd I_END dd param dd 0 @@ -142,7 +142,47 @@ START: mcall 48,11 mov [fontSize],eax - call loadtxt +loadtxt: + cmp [syslang],3 + jz .ru + cmp [syslang],5 + jz .et + mov [text],texteng + jmp draw_window +.et: + mov [text],textet + jmp draw_window +.ru: + mov [text],textrus + +draw_window: + mcall 12,1 + mov ecx,50*65536+32*(4+stringsAmount) + mcall 0,<50,700>,,0xB4111199,0,title +; Main buttons + mov eax,8 + mov ecx,6*65536+26 + mov edx,4 + mov esi,0x5580c0 + mov ebp,stringsAmount +@@: + mcall ,<490,24> + inc edx + mcall ,<526,24> + inc edx + mcall ,<562,120> + inc edx + add ecx,32*65536 + dec ebp + jnz @b +; APPLY ALL + add ecx,32*65536 + mcall ,<514,168>,,3,0x005588dd +; SAVE ALL + add ecx,32*65536 + dec edx + mcall + mcall 12,2 draw_infotext: mov eax,[syslang] @@ -181,36 +221,8 @@ draw_infotext: div bl add ax, '00' mov [edi+LLL*4],ax - -draw_window: - mcall 12,1 - mcall 18,14 - mov ecx,50*65536+32*(4+stringsAmount) - mcall 0,<50,700>,,0xB4111199,0,title -; Main buttons - mov eax,8 - mov ecx,6*65536+26 - mov edx,4 - mov esi,0x5580c0 - mov ebp,stringsAmount -@@: - mcall ,<490,24> - inc edx - mcall ,<526,24> - inc edx - mcall ,<562,120> - inc edx - add ecx,32*65536 - dec ebp - jnz @b -; APPLY ALL - add ecx,32*65536 - mcall ,<514,168>,,3,0x005588dd -; SAVE ALL - add ecx,32*65536 - dec edx - mcall -; text +; draw text + mcall 13,<342,96>,32*stringsAmount,80111199h mov eax,4 mov ebx,6*65536+11 mov ecx,1ffffffh @@ -233,8 +245,6 @@ newline: dec ebp jnz @b - mcall 12,2 - still: mcall 10 cmp eax,1 @@ -271,6 +281,7 @@ language2: jc @f mov [syslang],0 @@: + pop eax jmp loadtxt LBA1: btr [lba_read],0 @@ -341,20 +352,6 @@ _speaker_mute: @@: ret ;--------------------------------------------------------------- -loadtxt: - cmp [syslang],3 - jz .ru - cmp [syslang],5 - jz .et - mov [text],texteng - ret -.ru: - mov [text],textrus - ret -.et: - mov [text],textet - ret -;--------------------------------------------------------------- onoff: cmp [syslang],3 jz .ru @@ -425,6 +422,7 @@ saveAll: invoke ini.set_str, sz_ini, sz_low_level, sz_pci, param, 3 ret ;--------------------------------------------------------------- +; DATA align 4 buttonTab: ; button handler pointers: -,+,apply dd close @@ -449,13 +447,6 @@ buttonTab: ; button handler pointers: -,+,apply dd fontSize2 dd fontSizeApply -syslang dd 0 -lba_read dd 0 -pci_acc dd 0 -speaker_mute dd 0 -fontSmoothing dd 0 -fontSize dd 0 - @IMPORT: library libini, 'libini.obj' import libini, \ @@ -485,7 +476,6 @@ LLL = 56 stringsAmount = 6 align 4 -text dd 0 langs: db 'ENGLISH FINNISH GERMAN RUSSIAN FRENCH ESTONIANSPANISH ITALIAN ' langMarks: @@ -525,7 +515,16 @@ db 'M db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST Salvesta kõik' IM_END: + +text dd ? + +syslang dd ? +lba_read dd ? +pci_acc dd ? +speaker_mute dd ? +fontSmoothing dd ? +fontSize dd ? + param: rb 1024 -stack_area: I_END: \ No newline at end of file