forked from KolibriOS/kolibrios
gifview, jpegview, trantest, calc, menu, end - small fixes
icon2.lst renamed to icons.dat (it will be easer for new users I hope...) airc with cp1251 support from mike.dld kbd with boot-parameter to automatic enabling bus disconnect where it possible git-svn-id: svn://kolibrios.org@195 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ef2a2e0e6a
commit
ae5e114234
@ -29,7 +29,7 @@ red:
|
|||||||
|
|
||||||
still:
|
still:
|
||||||
scevent red,key,button
|
scevent red,key,button
|
||||||
fps 290,8,cl_White,cl_Black
|
fps 250,8,cl_White,cl_Black
|
||||||
|
|
||||||
main_loop:
|
main_loop:
|
||||||
random SCREEN_X,eax
|
random SCREEN_X,eax
|
||||||
@ -85,9 +85,9 @@ draw_window:
|
|||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
xor eax,eax ;Draw window
|
xor eax,eax ;Draw window
|
||||||
mov ebx,100*65536+(SCREEN_X+19) ;x start*65536+x size
|
mov ebx,100*65536+(SCREEN_X+9) ;x start*65536+x size
|
||||||
mov ecx,100*65536+(SCREEN_Y+51) ;y start*65536+y size
|
mov ecx,100*65536+(SCREEN_Y+26) ;y start*65536+y size
|
||||||
mov edx,0x33000000 ;0x33 use skinned window
|
mov edx,0x13000000 ;0x33 use skinned window
|
||||||
mov edi,header
|
mov edi,header
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en >lang.inc
|
||||||
@fasm gifview.asm gifview
|
@fasm gifview.asm gifview
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru >lang.inc
|
||||||
@fasm gifview.asm gifview
|
@fasm gifview.asm gifview
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -8,11 +8,12 @@
|
|||||||
;
|
;
|
||||||
; COMPILE WITH FASM
|
; COMPILE WITH FASM
|
||||||
|
|
||||||
WND_COLOR equ 0x02aabbcc
|
appname equ 'GIF VIEWER'
|
||||||
|
|
||||||
; input line dimensions
|
; input line dimensions
|
||||||
INP_X equ 10 shl 16+680
|
INP_X equ 5 shl 16+680
|
||||||
INP_Y equ 25 shl 16+16
|
INP_Y equ 5 shl 16+16
|
||||||
INP_XY equ 15 shl 16+30
|
INP_XY equ 10 shl 16+10
|
||||||
|
|
||||||
use32
|
use32
|
||||||
|
|
||||||
@ -29,7 +30,6 @@ use32
|
|||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include 'macros.inc' ; decrease code size (optional)
|
include 'macros.inc' ; decrease code size (optional)
|
||||||
;include '/hd/1/meos/debug.inc'
|
|
||||||
include 'debug.inc'
|
include 'debug.inc'
|
||||||
COLOR_ORDER equ MENUETOS
|
COLOR_ORDER equ MENUETOS
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ draw_input:
|
|||||||
push edi
|
push edi
|
||||||
cmp [entered],0
|
cmp [entered],0
|
||||||
jne highlight
|
jne highlight
|
||||||
mov esi,WND_COLOR
|
mov esi,0x00aabbcc
|
||||||
jmp di_draw
|
jmp di_draw
|
||||||
highlight:
|
highlight:
|
||||||
mov esi,0xe0e0e0
|
mov esi,0xe0e0e0
|
||||||
@ -193,7 +193,7 @@ draw_input:
|
|||||||
mov edx,2
|
mov edx,2
|
||||||
int 0x40
|
int 0x40
|
||||||
mov eax,4
|
mov eax,4
|
||||||
mov ecx,0x00107a30 ; èà¨äâ 1 ¨ 梥â ( 0xF0RRGGBB )
|
mov ecx,0x00107a30
|
||||||
mov ebx,INP_XY
|
mov ebx,INP_XY
|
||||||
mov edx,fn_input
|
mov edx,fn_input
|
||||||
mov esi,[inp_pos]
|
mov esi,[inp_pos]
|
||||||
@ -207,6 +207,12 @@ draw_input:
|
|||||||
|
|
||||||
draw_window:
|
draw_window:
|
||||||
|
|
||||||
|
mov eax,48
|
||||||
|
mov ebx,3
|
||||||
|
mov ecx,sc
|
||||||
|
mov edx,sizeof.system_colors
|
||||||
|
int 0x40
|
||||||
|
|
||||||
mov eax,12
|
mov eax,12
|
||||||
mov ebx,1
|
mov ebx,1
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -214,24 +220,9 @@ draw_window:
|
|||||||
mov eax,0
|
mov eax,0
|
||||||
mov ebx,50*65536+700
|
mov ebx,50*65536+700
|
||||||
mov ecx,50*65536+500
|
mov ecx,50*65536+500
|
||||||
mov edx,WND_COLOR
|
mov edx,[sc.work]
|
||||||
mov esi,0x805080d0
|
or edx,0x33000000
|
||||||
mov edi,0x005080d0
|
mov edi,header
|
||||||
int 0x40
|
|
||||||
|
|
||||||
|
|
||||||
mov eax,4
|
|
||||||
mov ebx,8*65536+8
|
|
||||||
mov ecx,0x10ddeeff
|
|
||||||
mov edx,zagolovok
|
|
||||||
mov esi,zag_konets-zagolovok
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
mov eax,8
|
|
||||||
mov ebx,(700-19)*65536+12
|
|
||||||
mov ecx,5*65536+12
|
|
||||||
mov edx,1
|
|
||||||
mov esi,0x6688dd
|
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
call draw_input
|
call draw_input
|
||||||
@ -266,7 +257,7 @@ draw_subimage:
|
|||||||
movzx edx,[gif_inf.Left]
|
movzx edx,[gif_inf.Left]
|
||||||
shl edx,16
|
shl edx,16
|
||||||
add edx,eax
|
add edx,eax
|
||||||
add edx,10 shl 16 +45
|
add edx,5 shl 16 +25
|
||||||
mov eax,7
|
mov eax,7
|
||||||
int 0x40
|
int 0x40
|
||||||
.enddraw:
|
.enddraw:
|
||||||
@ -274,15 +265,7 @@ draw_subimage:
|
|||||||
|
|
||||||
; ‡¤¥áì 室ïâáï ¤ ë¥ ¯à®£à ¬¬ë:
|
; ‡¤¥áì 室ïâáï ¤ ë¥ ¯à®£à ¬¬ë:
|
||||||
|
|
||||||
; ¨â¥àä¥©á ¯à®£à ¬¬ë ¤¢ãï§ëçë© - § ¤ ©â¥ ï§ëª ¢ macros.inc
|
header db appname,0 ; áâப § £®«®¢ª
|
||||||
|
|
||||||
zagolovok: ; áâப § £®«®¢ª
|
|
||||||
if lang eq ru
|
|
||||||
db '<27><>Ž‘ŒŽ’<C5BD> GIF'
|
|
||||||
else
|
|
||||||
db 'GIF VIEWER'
|
|
||||||
end if
|
|
||||||
zag_konets: ; ¨ ¥ñ ª®¥æ
|
|
||||||
|
|
||||||
inp_pos dd inp_end-fn_input
|
inp_pos dd inp_end-fn_input
|
||||||
fn_input:
|
fn_input:
|
||||||
@ -309,6 +292,7 @@ filename:
|
|||||||
rb 257
|
rb 257
|
||||||
;filename_len dd 0
|
;filename_len dd 0
|
||||||
entered rd 1
|
entered rd 1
|
||||||
|
sc system_colors
|
||||||
|
|
||||||
imgcount rd 1
|
imgcount rd 1
|
||||||
img_index rd 1
|
img_index rd 1
|
||||||
|
@ -98,8 +98,8 @@ put_image:
|
|||||||
cmp [winys],bp
|
cmp [winys],bp
|
||||||
jc .l1
|
jc .l1
|
||||||
|
|
||||||
add eax,5 ; offset for boarder
|
add eax,2 ; offset for boarder
|
||||||
add ebx,20 ; offset for title bar
|
add ebx,2 ; offset for title bar
|
||||||
push ax ; pox
|
push ax ; pox
|
||||||
push bx ; pos
|
push bx ; pos
|
||||||
push cx ; size
|
push cx ; size
|
||||||
@ -235,6 +235,12 @@ put_chunk_to_bgr:
|
|||||||
|
|
||||||
draw_window:
|
draw_window:
|
||||||
|
|
||||||
|
mov eax,48
|
||||||
|
mov ebx,3
|
||||||
|
mov ecx,sc
|
||||||
|
mov edx,sizeof.system_colors
|
||||||
|
int 0x40
|
||||||
|
|
||||||
mov eax,12
|
mov eax,12
|
||||||
mov ebx,1
|
mov ebx,1
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -273,39 +279,26 @@ dw_002:
|
|||||||
mov cx, [winys]
|
mov cx, [winys]
|
||||||
|
|
||||||
xor eax,eax ; DRAW WINDOW
|
xor eax,eax ; DRAW WINDOW
|
||||||
mov edx,[wcolor]
|
mov edx,[sc.work]
|
||||||
add edx,0x13000000
|
or edx,0x33000000
|
||||||
mov edi,header ; WINDOW LABEL
|
mov edi,header ; WINDOW LABEL
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
|
||||||
; draw status bar
|
mov eax,8 ; BUTTON 2: slideshow
|
||||||
mov eax, 13
|
mov ebx,57
|
||||||
movzx ebx, word [winxs]
|
|
||||||
sub ebx, 5
|
|
||||||
add ebx, 4*65536
|
|
||||||
mov cx, [winys]
|
mov cx, [winys]
|
||||||
sub ecx, 19
|
sub cx, 39
|
||||||
shl ecx, 16
|
|
||||||
add ecx, 3
|
|
||||||
mov edx, 0x00557799
|
|
||||||
int 0x40
|
|
||||||
|
|
||||||
mov eax,8 ; BUTTON 2: filename
|
|
||||||
mov ebx,4*65536+55
|
|
||||||
mov cx, [winys]
|
|
||||||
sub cx, 16
|
|
||||||
shl ecx, 16
|
shl ecx, 16
|
||||||
add ecx, 12
|
add ecx, 12
|
||||||
mov esi, 0x00557799
|
mov esi, [sc.work_button]
|
||||||
mov edx,2
|
mov edx,2
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov eax,4 ; Button text
|
mov eax,4 ; Button text
|
||||||
movzx ebx, word [winys]
|
movzx ebx, word [winys]
|
||||||
sub ebx, 13
|
add ebx, 3 shl 16 - 36
|
||||||
add ebx, 6*65536
|
mov ecx,[sc.work_button_text]
|
||||||
mov ecx,0x00ffffff
|
|
||||||
mov edx,setname
|
mov edx,setname
|
||||||
mov esi,setnamelen-setname
|
mov esi,setnamelen-setname
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -313,24 +306,24 @@ dw_002:
|
|||||||
|
|
||||||
mov eax,8 ; BUTTON 3: set as background
|
mov eax,8 ; BUTTON 3: set as background
|
||||||
mov bx, [winxs]
|
mov bx, [winxs]
|
||||||
sub bx, 60
|
sub bx, 65
|
||||||
shl ebx, 16
|
shl ebx, 16
|
||||||
mov bx,55
|
mov bx,55
|
||||||
mov cx, [winys]
|
mov cx, [winys]
|
||||||
sub cx, 16
|
sub cx, 39
|
||||||
shl ecx, 16
|
shl ecx, 16
|
||||||
add ecx, 12
|
add ecx, 12
|
||||||
mov esi, 0x00557799
|
mov esi, [sc.work_button]
|
||||||
mov edx,3
|
mov edx,3
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov eax,4 ; Button text
|
mov eax,4 ; Button text
|
||||||
movzx ebx, word [winxs]
|
movzx ebx, word [winxs]
|
||||||
sub ebx, 60
|
sub ebx, 63
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx, word [winys]
|
mov bx, word [winys]
|
||||||
sub bx,13
|
sub bx,36
|
||||||
mov ecx,0x00ffffff
|
mov ecx,[sc.work_button_text]
|
||||||
mov edx,setbgr
|
mov edx,setbgr
|
||||||
mov esi,setbgrlen-setbgr
|
mov esi,setbgrlen-setbgr
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -391,13 +384,12 @@ load_image:
|
|||||||
|
|
||||||
mov eax,13 ; clear picture area
|
mov eax,13 ; clear picture area
|
||||||
movzx ebx, word [winxs]
|
movzx ebx, word [winxs]
|
||||||
sub ebx, 7
|
add ebx, 1 shl 16 -10
|
||||||
add ebx, 4 * 65536
|
|
||||||
movzx ecx, word [winys]
|
movzx ecx, word [winys]
|
||||||
sub ecx, 39
|
sub ecx, 40
|
||||||
add ecx, 20 * 65536
|
add ecx, 1 shl 16
|
||||||
|
|
||||||
mov edx,0
|
mov edx,[sc.work]
|
||||||
int 0x40
|
int 0x40
|
||||||
mov ebp,[jpeg_st]
|
mov ebp,[jpeg_st]
|
||||||
test ebp,ebp
|
test ebp,ebp
|
||||||
@ -410,10 +402,9 @@ print_strings:
|
|||||||
pusha
|
pusha
|
||||||
mov eax,13 ; clear text area
|
mov eax,13 ; clear text area
|
||||||
movzx ebx, word [winxs]
|
movzx ebx, word [winxs]
|
||||||
sub ebx, 64+58
|
add ebx, 59 shl 16 -125
|
||||||
add ebx, 60*65536
|
|
||||||
mov cx, [winys]
|
mov cx, [winys]
|
||||||
sub cx, 16
|
sub cx, 39
|
||||||
shl ecx, 16
|
shl ecx, 16
|
||||||
add ecx, 12
|
add ecx, 12
|
||||||
mov edx,0xffffff
|
mov edx,0xffffff
|
||||||
@ -421,8 +412,7 @@ print_strings:
|
|||||||
|
|
||||||
mov eax,4 ;
|
mov eax,4 ;
|
||||||
movzx ebx, word [winys]
|
movzx ebx, word [winys]
|
||||||
sub ebx, 14
|
add ebx, 61 shl 16 - 37
|
||||||
add ebx, 60*65536
|
|
||||||
mov ecx,0x000000
|
mov ecx,0x000000
|
||||||
mov edx,name_string
|
mov edx,name_string
|
||||||
mov esi,60
|
mov esi,60
|
||||||
@ -529,8 +519,6 @@ winxs dw 0
|
|||||||
winys dw 0
|
winys dw 0
|
||||||
jpeg_st dd 0
|
jpeg_st dd 0
|
||||||
file_dir dd 0
|
file_dir dd 0
|
||||||
tcolor dd 0x000000
|
|
||||||
btcolor dd 0x224466+0x808080
|
|
||||||
name_string: db '/rd/1/jpegview.jpg',0
|
name_string: db '/rd/1/jpegview.jpg',0
|
||||||
rb 256
|
rb 256
|
||||||
.end:
|
.end:
|
||||||
@ -552,6 +540,6 @@ iniciomemoria:
|
|||||||
|
|
||||||
fin:
|
fin:
|
||||||
I_END:
|
I_END:
|
||||||
|
sc system_colors
|
||||||
fileattr: rb 40
|
fileattr: rb 40
|
||||||
dirinfo: rb 32+304
|
dirinfo: rb 32+304
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
version equ '0.3'
|
version equ '0.4'
|
||||||
|
|
||||||
use32
|
use32
|
||||||
|
|
||||||
@ -22,16 +22,17 @@ use32
|
|||||||
dd 0x100000 ; required amount of memory
|
dd 0x100000 ; required amount of memory
|
||||||
dd 0x100000
|
dd 0x100000
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
|
||||||
include "lang.inc"
|
include "lang.inc"
|
||||||
include "macros.inc"
|
;include "macros.inc"
|
||||||
|
|
||||||
irc_server_ip db 192,168,1,1
|
irc_server_ip db 83,149,74,246 ;server: kolibrios.org
|
||||||
|
|
||||||
user_nick dd 4 ; length
|
user_nick dd 12 ; length
|
||||||
db 'airc ' ; string
|
db 'kolibri_user ' ; string
|
||||||
|
|
||||||
user_real_name dd 8 ; length
|
user_real_name dd 14 ; length
|
||||||
db 'Joe User ' ; string
|
db 'KolibriOS User ' ; string
|
||||||
|
|
||||||
|
|
||||||
START: ; start of execution
|
START: ; start of execution
|
||||||
@ -423,6 +424,19 @@ print_user_list:
|
|||||||
start_user_list_at dd 0x0
|
start_user_list_at dd 0x0
|
||||||
|
|
||||||
|
|
||||||
|
recode_to_cp1251:
|
||||||
|
push esi edx
|
||||||
|
.loop:
|
||||||
|
lodsb
|
||||||
|
cmp al,0x80
|
||||||
|
jb @f
|
||||||
|
and eax,0x7F
|
||||||
|
mov al,[cp866_table+eax]
|
||||||
|
@@: mov [esi-1],al
|
||||||
|
dec edx
|
||||||
|
jnz .loop
|
||||||
|
pop edx esi
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
send_data_to_server:
|
send_data_to_server:
|
||||||
@ -501,6 +515,8 @@ send_data_to_server:
|
|||||||
mov edx,[xpos]
|
mov edx,[xpos]
|
||||||
inc edx
|
inc edx
|
||||||
|
|
||||||
|
call recode_to_cp1251
|
||||||
|
|
||||||
mov eax, 53 ; write message
|
mov eax, 53 ; write message
|
||||||
mov ebx, 7
|
mov ebx, 7
|
||||||
mov ecx, [socket]
|
mov ecx, [socket]
|
||||||
@ -1630,6 +1646,26 @@ print_text:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
cp1251_table:
|
||||||
|
db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; 8
|
||||||
|
db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; 9
|
||||||
|
db '?','?','?','?','?','?','?','?' , $F0,'?','?','?','?','?','?','?' ; A
|
||||||
|
db '?','?','?','?','?','?','?','?' , $F1,'?','?','?','?','?','?','?' ; B
|
||||||
|
db $80,$81,$82,$83,$84,$85,$86,$87 , $88,$89,$8A,$8B,$8C,$8D,$8E,$8F ; C
|
||||||
|
db $90,$91,$92,$93,$94,$95,$96,$97 , $98,$99,$9A,$9B,$9C,$9D,$9E,$9F ; D
|
||||||
|
db $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7 , $A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF ; E
|
||||||
|
db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; F
|
||||||
|
|
||||||
|
cp866_table:
|
||||||
|
db $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7 , $C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF ; 8
|
||||||
|
db $D0,$D1,$D2,$D3,$D4,$D5,$D6,$D7 , $D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF ; 9
|
||||||
|
db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; A
|
||||||
|
db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; B
|
||||||
|
db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; C
|
||||||
|
db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; D
|
||||||
|
db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 , $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF ; E
|
||||||
|
db $A8,$B8,'?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; F
|
||||||
|
|
||||||
|
|
||||||
print_character:
|
print_character:
|
||||||
|
|
||||||
@ -1749,7 +1785,6 @@ draw_data:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
read_incoming_byte:
|
read_incoming_byte:
|
||||||
|
|
||||||
mov eax, 53
|
mov eax, 53
|
||||||
@ -1767,6 +1802,12 @@ read_incoming_byte:
|
|||||||
mov ecx, [socket]
|
mov ecx, [socket]
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
cmp bl,0x80
|
||||||
|
jb @f
|
||||||
|
and ebx,0x7F
|
||||||
|
mov bl,[cp1251_table+ebx]
|
||||||
|
@@:
|
||||||
|
|
||||||
mov ecx,0
|
mov ecx,0
|
||||||
|
|
||||||
no_more_data:
|
no_more_data:
|
||||||
@ -1874,20 +1915,20 @@ main_button dd 0x6565cc
|
|||||||
|
|
||||||
text:
|
text:
|
||||||
|
|
||||||
db ' Real name : Joe User - change with eg /areal Jill User '
|
db ' Real name : KolibriOS User - change with eg /areal Jill User '
|
||||||
db ' Nick : AIRC - change with eg /anick Jill '
|
db ' Nick : kolibri_user - change with eg /anick Jill '
|
||||||
db ' Server : 192.168.1.1 - change with eg /aserv 192.168.1.24 '
|
db ' Server : 83.149.74.246 - change with eg /aserv 192.168.1.24 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' 1) Open socket 2) Send userinfo Close socket '
|
db ' 1) Open socket 2) Send userinfo Close socket '
|
||||||
db ' '
|
db ' '
|
||||||
db ' Commands after established connection: '
|
db ' Commands after established connection: '
|
||||||
db ' '
|
db ' '
|
||||||
db ' /join #ChannelName - eg /join #menuet '
|
db ' /join #ChannelName - eg /join #general '
|
||||||
db ' /part #ChannelName - eg /part #linux '
|
db ' /part #ChannelName - eg /part #windows '
|
||||||
db ' /query Nickname - eg /query Mary '
|
db ' /query Nickname - eg /query Mary '
|
||||||
db ' /quit - Quit server and Close socket '
|
db ' /quit - Quit server and Close socket '
|
||||||
|
|
||||||
db 'x <- END MARKER, DONT DELETE '
|
db 'x' ; <- END MARKER, DONT DELETE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2280,10 +2321,10 @@ action_header_red db 10,'*** ',0
|
|||||||
|
|
||||||
action_header_short db 10,'* ',0
|
action_header_short db 10,'* ',0
|
||||||
|
|
||||||
has_left_channel db ' left channel ',0
|
has_left_channel db ' has left ',0
|
||||||
joins_channel db ' joined channel ',0
|
joins_channel db ' has joined ',0
|
||||||
is_now_known_as db ' is now known as ',0
|
is_now_known_as db ' is now known as ',0
|
||||||
has_quit_irc db ' has quit irc',0
|
has_quit_irc db ' has quit IRC',0
|
||||||
sets_mode db ' sets mode ',0
|
sets_mode db ' sets mode ',0
|
||||||
kicked db ' kicked from ',0
|
kicked db ' kicked from ',0
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en >lang.inc
|
||||||
@fasm airc.asm airc
|
@fasm airc.asm airc
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru >lang.inc
|
||||||
@fasm airc.asm airc
|
@fasm airc.asm airc
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -662,16 +662,16 @@ draw_window:
|
|||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ebx,200*65536+255
|
mov ebx,200 shl 16+255
|
||||||
mov ecx,200*65536+180
|
mov ecx,200 shl 16+180
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
or edx,0x33000000
|
or edx,0x33000000
|
||||||
mov edi,header
|
mov edi,header
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov eax,8
|
mov eax,8
|
||||||
mov ebx,19*65536+28
|
mov ebx,19 shl 16+28
|
||||||
mov ecx,49*65536+18
|
mov ecx,49 shl 16+18
|
||||||
mov edx,6
|
mov edx,6
|
||||||
mov esi,[sc.work_button]
|
mov esi,[sc.work_button]
|
||||||
mov edi,7
|
mov edi,7
|
||||||
@ -679,20 +679,20 @@ draw_window:
|
|||||||
dec edi
|
dec edi
|
||||||
jnz no_new_row
|
jnz no_new_row
|
||||||
mov edi,7
|
mov edi,7
|
||||||
mov ebx,19*65536+28
|
mov ebx,19 shl 16+28
|
||||||
add ecx,20*65536
|
add ecx,20 shl 16
|
||||||
no_new_row:
|
no_new_row:
|
||||||
int 0x40
|
int 0x40
|
||||||
add ebx,30*65536
|
add ebx,30 shl 16
|
||||||
inc edx
|
inc edx
|
||||||
cmp edx,39
|
cmp edx,39
|
||||||
jbe newbutton
|
jbe newbutton
|
||||||
|
|
||||||
mcall ,199*65536+28,49*65536+18,2 ; 'C'
|
mcall ,199 shl 16+28,49 shl 16+18,2 ; 'C'
|
||||||
mcall ,220*65536+8,7*65536+8,3 ; 'dec-bin-hex'
|
mcall ,220 shl 16+8,7 shl 16+8,3 ; 'dec-bin-hex'
|
||||||
|
|
||||||
mov eax,4
|
mov eax,4
|
||||||
mov ebx,27*65536+54
|
mov ebx,27 shl 16+54
|
||||||
mov ecx,[sc.work_button_text]
|
mov ecx,[sc.work_button_text]
|
||||||
mov edx,text
|
mov edx,text
|
||||||
mov esi,33
|
mov esi,33
|
||||||
@ -713,10 +713,10 @@ draw_window:
|
|||||||
|
|
||||||
print_display:
|
print_display:
|
||||||
pusha
|
pusha
|
||||||
mcall 13,18*65536+210,19*65536+13,0xffffff
|
mcall 13,18 shl 16+210,19 shl 16+13,0xffffff
|
||||||
|
|
||||||
mov eax,4
|
mov eax,4
|
||||||
mov ebx,135*65536+7
|
mov ebx,135 shl 16+7
|
||||||
mov ecx,[sc.work_text]
|
mov ecx,[sc.work_text]
|
||||||
or ecx,0x40000000
|
or ecx,0x40000000
|
||||||
mov edx,calc
|
mov edx,calc
|
||||||
@ -724,7 +724,7 @@ print_display:
|
|||||||
mov edi,[sc.work]
|
mov edi,[sc.work]
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,198*65536+8
|
mov ebx,198 shl 16+8
|
||||||
mov edx,[display_type]
|
mov edx,[display_type]
|
||||||
shl edx,2
|
shl edx,2
|
||||||
add edx,display_type_text
|
add edx,display_type_text
|
||||||
@ -734,7 +734,7 @@ print_display:
|
|||||||
|
|
||||||
cmp [dsign],byte '+'
|
cmp [dsign],byte '+'
|
||||||
je positive
|
je positive
|
||||||
mov ebx,23*65536+22
|
mov ebx,23 shl 16+22
|
||||||
mov ecx,0x0
|
mov ecx,0x0
|
||||||
mov edx,dsign
|
mov edx,dsign
|
||||||
mov esi,1
|
mov esi,1
|
||||||
@ -746,22 +746,22 @@ positive:
|
|||||||
cmp [decimal],0
|
cmp [decimal],0
|
||||||
je whole
|
je whole
|
||||||
|
|
||||||
mov ebx,180*65536+22
|
mov ebx,180 shl 16+22
|
||||||
mov ecx,0x0
|
mov ecx,0x0
|
||||||
mov edx,dot
|
mov edx,dot
|
||||||
mov esi,1
|
mov esi,1
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov eax,47
|
mov eax,47
|
||||||
mov ebx,10*65536
|
mov ebx,10 shl 16
|
||||||
mov ecx,[integer]
|
mov ecx,[integer]
|
||||||
mov edx,120*65536+22
|
mov edx,120 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ebx,6*65536
|
mov ebx,6 shl 16
|
||||||
mov ecx,[decimal]
|
mov ecx,[decimal]
|
||||||
mov edx,187*65536+22
|
mov edx,187 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -769,7 +769,7 @@ positive:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
whole:
|
whole:
|
||||||
mov ebx,220*65536+22
|
mov ebx,220 shl 16+22
|
||||||
mov ecx,0x0
|
mov ecx,0x0
|
||||||
mov edx,dot
|
mov edx,dot
|
||||||
mov esi,1
|
mov esi,1
|
||||||
@ -779,9 +779,9 @@ whole:
|
|||||||
je null
|
je null
|
||||||
|
|
||||||
mov eax,47
|
mov eax,47
|
||||||
mov ebx,10*65536
|
mov ebx,10 shl 16
|
||||||
mov ecx,[integer]
|
mov ecx,[integer]
|
||||||
mov edx,160*65536+22
|
mov edx,160 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -795,9 +795,9 @@ whole:
|
|||||||
je null
|
je null
|
||||||
|
|
||||||
mov eax,47
|
mov eax,47
|
||||||
mov ebx,256+8*65536
|
mov ebx,256+8 shl 16
|
||||||
mov ecx,[integer]
|
mov ecx,[integer]
|
||||||
mov edx,173*65536+22
|
mov edx,173 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -809,9 +809,9 @@ whole:
|
|||||||
je null
|
je null
|
||||||
|
|
||||||
mov eax,47
|
mov eax,47
|
||||||
mov ebx,2*256+32*65536
|
mov ebx,2*256+32 shl 16
|
||||||
mov ecx,[integer]
|
mov ecx,[integer]
|
||||||
mov edx,32*65536+22
|
mov edx,32 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
@ -820,9 +820,9 @@ whole:
|
|||||||
|
|
||||||
null:
|
null:
|
||||||
mov eax,47
|
mov eax,47
|
||||||
mov ebx,1*65536
|
mov ebx,1 shl 16
|
||||||
mov ecx,0
|
mov ecx,0
|
||||||
mov edx,214*65536+22
|
mov edx,214 shl 16+22
|
||||||
mov esi,0x0
|
mov esi,0x0
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
@ -42,40 +42,42 @@ do_draw:
|
|||||||
sub ecx,50*10000h - 100
|
sub ecx,50*10000h - 100
|
||||||
|
|
||||||
mov eax,0 ; define and draw window
|
mov eax,0 ; define and draw window
|
||||||
mov edx,[sc.work_button]
|
mov edx,[sc.work]
|
||||||
mov esi,edx ;[sc.work_button]
|
mov esi,edx
|
||||||
xor edi,edi
|
mov edi,edx
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
xor edx,edx
|
mov edx,0x444444
|
||||||
mov al,13
|
mov al,13
|
||||||
mcall ,14 shl 16+90,25 shl 16+27
|
mcall ,18 shl 16+90,29 shl 16+27
|
||||||
push ebx
|
push ebx
|
||||||
mcall ,117 shl 16+90,
|
mcall ,121 shl 16+90,
|
||||||
xchg ebx,[esp]
|
xchg ebx,[esp]
|
||||||
mcall ,,59 shl 16+27
|
mcall ,,63 shl 16+27
|
||||||
pop ebx
|
pop ebx
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
|
xor edx,edx
|
||||||
mov al,8
|
mov al,8
|
||||||
inc edx
|
inc edx
|
||||||
mcall ,15 shl 16+87,26 shl 16+24,,0xdd7700
|
mcall ,15 shl 16+87,26 shl 16+24,,0xbb0055
|
||||||
inc edx
|
inc edx
|
||||||
mcall ,118 shl 16+87,,,0xbbbb ;cccc
|
mcall ,118 shl 16+87,,,0xaaaa ;cccc
|
||||||
inc edx
|
inc edx
|
||||||
mcall ,15 shl 16+87,60 shl 16+24,,0xbb00
|
mcall ,15 shl 16+87,60 shl 16+24,,0x9900
|
||||||
inc edx
|
inc edx
|
||||||
mcall ,118 shl 16+87,,,0xbbbbbb ;cccccc
|
mcall ,118 shl 16+87,,,0xaaaaaa ;cccccc
|
||||||
|
|
||||||
mov al,4 ; 0x00000004 = write text
|
mov al,4 ; 0x00000004 = write text
|
||||||
mov ebx,75*65536+10
|
mov ebx,75*65536+10
|
||||||
mov ecx,[sc.work_button_text] ; 8b window nro - RR GG BB color
|
mov ecx,[sc.work_text] ; 8b window nro - RR GG BB color
|
||||||
or ecx,0x10000000
|
or ecx,0x10000000
|
||||||
mov edx,label1 ; pointer to text beginning
|
mov edx,label1 ; pointer to text beginning
|
||||||
mov esi,label1_len ; text length
|
mov esi,label1_len ; text length
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov ecx,0x10ffffff
|
mov ecx,[sc.work_button_text] ; 8b window nro - RR GG BB color
|
||||||
|
or ecx,0x10000000
|
||||||
mov ebx,25*65536+30
|
mov ebx,25*65536+30
|
||||||
mov edx,label2 ; pointer to text beginning
|
mov edx,label2 ; pointer to text beginning
|
||||||
mov esi,label2_len ; text length
|
mov esi,label2_len ; text length
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en >lang.inc
|
||||||
@fasm icon.asm icon
|
@fasm icon.asm icon
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ge >lang.inc
|
@echo lang fix ge >lang.inc
|
||||||
@fasm icon.asm icon
|
@fasm icon.asm icon
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -1,4 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru >lang.inc
|
||||||
@fasm icon.asm icon
|
@fasm icon.asm icon
|
||||||
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
@ -11,10 +11,8 @@ RAW_SIZE equ 350000
|
|||||||
ICON_SIZE equ 32*32*3
|
ICON_SIZE equ 32*32*3
|
||||||
GIF_SIZE equ 45000
|
GIF_SIZE equ 45000
|
||||||
REC_SIZE equ 80
|
REC_SIZE equ 80
|
||||||
ICON_LST equ '/RD/1/ICON2.LST'
|
ICONS_DAT equ '/RD/1/ICONS.DAT'
|
||||||
;ICON_APP equ '/hd/1/me/icon2';
|
ICON_APP equ '/RD/1/ICON'
|
||||||
ICON_APP equ '/RD/1/ICON2'
|
|
||||||
;ICON_STRIP equ '/HD/1/ME/ICONSTRP.GIF'
|
|
||||||
ICON_STRIP equ '/RD/1/ICONSTRP.GIF'
|
ICON_STRIP equ '/RD/1/ICONSTRP.GIF'
|
||||||
|
|
||||||
use32
|
use32
|
||||||
@ -443,7 +441,7 @@ print_strings:
|
|||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
|
|
||||||
iconlst db ICON_LST,0
|
iconlst db ICONS_DAT,0
|
||||||
|
|
||||||
load_icon_list:
|
load_icon_list:
|
||||||
|
|
||||||
|
14
programs/system/icon/trunk/icons.dat
Normal file
14
programs/system/icon/trunk/icons.dat
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
AA-Sysxtree-004-/RD/1/SYSXTREE - *
|
||||||
|
AB-CMD -023-/RD/1/CMD - *
|
||||||
|
AC-RDsave -001-/RD/1/RDSAVE - *
|
||||||
|
BB-Fasm -012-/RD/1/FASM - *
|
||||||
|
CA-Copy -008-/RD/1/copy2 - *
|
||||||
|
JA-VRR -009-/RD/1/VRR - *
|
||||||
|
IA-Board -022-/RD/1/BOARD - *
|
||||||
|
BA-KFAR -016-/RD/1/kfar - *
|
||||||
|
JB-Animage -018-/RD/1/ANIMAGE - *
|
||||||
|
CB-Tinypad -011-/RD/1/TINYPAD - *
|
||||||
|
IB-AC97 -002-/RD/1/AC97WAV - *
|
||||||
|
JC-Docpack -010-/RD/1/DOCPACK - *
|
||||||
|
BC-Calc -006-/RD/1/CALC - *
|
||||||
|
HA-MTDBG -029-/RD/1/MTDBG - *
|
BIN
programs/system/icon/trunk/iconstrp.gif
Normal file
BIN
programs/system/icon/trunk/iconstrp.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
2
programs/system/kbd/trunk/build.bat
Normal file
2
programs/system/kbd/trunk/build.bat
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
@fasm kbd.asm kbd
|
||||||
|
@pause
|
569
programs/system/kbd/trunk/kbd.ASM
Normal file
569
programs/system/kbd/trunk/kbd.ASM
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
;
|
||||||
|
; Kolibri Bus Disconnect
|
||||||
|
; Test for bus disconnect
|
||||||
|
;
|
||||||
|
; Compile with FASM for Menuet
|
||||||
|
;
|
||||||
|
;
|
||||||
|
|
||||||
|
include 'macros.inc'
|
||||||
|
include 'lang.inc'
|
||||||
|
|
||||||
|
memsize = 1000h
|
||||||
|
org 0
|
||||||
|
PARAMS = memsize - 1024
|
||||||
|
|
||||||
|
appname equ 'Kolibri Bus Disconnect'
|
||||||
|
version equ ' 1.1 '
|
||||||
|
|
||||||
|
use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à
|
||||||
|
|
||||||
|
db 'MENUET01' ; 8 byte id
|
||||||
|
dd 0x01 ; header version
|
||||||
|
dd START ; start of code
|
||||||
|
dd I_END ; size of image
|
||||||
|
dd memsize ; memory for app
|
||||||
|
dd memsize - 1024 ; esp
|
||||||
|
dd PARAMS , 0x0 ; I_Param , I_Icon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
;--- <20>€—€‹Ž <20><>Žƒ<C5BD>€ŒŒ› ----------------------------------------------
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
|
START:
|
||||||
|
cmp [PARAMS], byte 0
|
||||||
|
jne check_parameters
|
||||||
|
|
||||||
|
no_params:
|
||||||
|
call find_north_bridg
|
||||||
|
|
||||||
|
drawwindow:
|
||||||
|
mov eax,48
|
||||||
|
mov ebx,3
|
||||||
|
mov ecx,sc
|
||||||
|
mov edx,sizeof.system_colors
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov eax, 12
|
||||||
|
mov ebx, 1 ; start redraw
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov eax, 0 ; window
|
||||||
|
mov ebx, 100 shl 16 + 300
|
||||||
|
mov ecx, 100 shl 16 + 90
|
||||||
|
mov edx, [sc.work]
|
||||||
|
or edx, 0x13000000
|
||||||
|
mov edi, header
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov eax, 4
|
||||||
|
mov ebx, 17 shl 16 + 30
|
||||||
|
mov ecx, [sc.work_text]
|
||||||
|
mov edx, msg_nb
|
||||||
|
mov esi, 14
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov ebx, 105 shl 16 + 30
|
||||||
|
mov edx, [nb_name]
|
||||||
|
movzx esi, byte[edx]
|
||||||
|
inc edx
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov ebx, 17 shl 16 + 40
|
||||||
|
mov edx, msg_stat
|
||||||
|
mov esi, 8
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov ebx, 102 shl 16 + 50
|
||||||
|
mov edx, msg_divs
|
||||||
|
mov esi, 32
|
||||||
|
int 0x40
|
||||||
|
mov ebx, 17 shl 16 + 62
|
||||||
|
mov edx, msg_hdd
|
||||||
|
mov esi, 10
|
||||||
|
int 0x40
|
||||||
|
mov ebx, 17 shl 16 + 72
|
||||||
|
mov edx, msg_sgd
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
call get_divs
|
||||||
|
mov eax, 47
|
||||||
|
mov ebx, 0x30000
|
||||||
|
mov ecx, [val_hdd]
|
||||||
|
mov edx, 8
|
||||||
|
shl edx, cl
|
||||||
|
mov ecx, edx
|
||||||
|
mov edx, 80 shl 16 + 62
|
||||||
|
mov esi, [sc.work_text]
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
mov ecx, [val_sgd]
|
||||||
|
mov edx, 8
|
||||||
|
shl edx, cl
|
||||||
|
mov ecx, edx
|
||||||
|
mov edx, 80 shl 16 + 72
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
|
||||||
|
call get_bd_stat
|
||||||
|
mov ecx, [sc.work_text]
|
||||||
|
mov esi, 9
|
||||||
|
mov ebx, 105 shl 16 + 40
|
||||||
|
mov edx, msg_nf
|
||||||
|
mov al, [bd_stat]
|
||||||
|
test al, al
|
||||||
|
jz @f
|
||||||
|
mov edx, msg_dis
|
||||||
|
dec al
|
||||||
|
jz @f
|
||||||
|
mov edx, msg_en
|
||||||
|
@@: mov eax, 4
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
; ‘®§¤ ñ¬ ª®¯ªã
|
||||||
|
mov ecx, 27 shl 16 + 20
|
||||||
|
mov eax, 8
|
||||||
|
mov ebx, 220 shl 16 + 70
|
||||||
|
mov esi, [sc.work_button]
|
||||||
|
mov edx, 2
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
; ˆ ¥éñ 14 ;)
|
||||||
|
mov edi, 7
|
||||||
|
mov ecx, 60 shl 16 + 10
|
||||||
|
mov eax, 8
|
||||||
|
mov ebx, 105 shl 16 + 25
|
||||||
|
mov edx, 3
|
||||||
|
|
||||||
|
@@: int 0x40
|
||||||
|
inc edx
|
||||||
|
add ebx, 27 shl 16
|
||||||
|
dec edi
|
||||||
|
jnz @b
|
||||||
|
|
||||||
|
add ecx, 12 shl 16
|
||||||
|
mov ebx, 105 shl 16 + 25
|
||||||
|
mov edi, 7
|
||||||
|
@@: int 0x40
|
||||||
|
inc edx
|
||||||
|
add ebx, 27 shl 16
|
||||||
|
dec edi
|
||||||
|
jnz @b
|
||||||
|
|
||||||
|
end_dr: mov eax, 12
|
||||||
|
mov ebx, 2 ; end redraw
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
; Wait for event ...
|
||||||
|
mov eax, 10
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
cmp al, 3
|
||||||
|
jne not_bt
|
||||||
|
|
||||||
|
mov eax, 17 ; get id
|
||||||
|
int 0x40
|
||||||
|
cmp ah, 1
|
||||||
|
jne no_exit
|
||||||
|
mov eax, -1 ; close this program
|
||||||
|
int 0x40
|
||||||
|
no_exit:
|
||||||
|
cmp ah, 2
|
||||||
|
jne no_ch_bt
|
||||||
|
mov dl, [bd_stat]
|
||||||
|
test dl, dl
|
||||||
|
jz drawwindow
|
||||||
|
xor eax, eax
|
||||||
|
dec dl
|
||||||
|
jnz @f
|
||||||
|
inc eax
|
||||||
|
@@: call set_bd_stat
|
||||||
|
jmp drawwindow
|
||||||
|
|
||||||
|
no_ch_bt:
|
||||||
|
cmp ah, 9
|
||||||
|
jg no_hdd_bt
|
||||||
|
sub ah, 3
|
||||||
|
movzx esi, ah
|
||||||
|
mov edi, [val_sgd]
|
||||||
|
call set_divs
|
||||||
|
jmp drawwindow
|
||||||
|
no_hdd_bt:
|
||||||
|
sub ah, 10
|
||||||
|
movzx edi, ah
|
||||||
|
mov esi, [val_hdd]
|
||||||
|
call set_divs
|
||||||
|
jmp drawwindow
|
||||||
|
|
||||||
|
|
||||||
|
not_bt: cmp al, 2
|
||||||
|
jne drawwindow
|
||||||
|
mov eax, 2 ; ¯®ª ª« ¢ ¥ ¯®¤¤¥à¦¨¢ ¥âáï - ç¨â ¥¬ ¨ § ¡ë¢ ¥¬
|
||||||
|
int 0x40
|
||||||
|
jmp drawwindow
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
bus_num: db 2 ; <20>®¬¥à è¨ë
|
||||||
|
devfn: db 255
|
||||||
|
bd_id: dd 0 ; ˆ¤¥â¨ä¨ª â®à ãáâனáâ¢
|
||||||
|
bd_stat: db 0 ; 0 - ¥ ©¤¥, 1 - ¢ëª«îç¥, 2 - ¢ª«îç¥
|
||||||
|
|
||||||
|
nb_name dd nb_nf
|
||||||
|
bd_msk dd msk_i440
|
||||||
|
|
||||||
|
nb_nf db 9, 'Not found'
|
||||||
|
msk_i440 db 0
|
||||||
|
nb_i440 db 4, 'i440'
|
||||||
|
msk_nforce db 0x6D, 0x80, 0xE7, 0x06, 0 ; ®¬¥à ॣ¨áâà , ¬ ᪠, ®¬¥à ॣ¨áâà , ¬ ᪠, ... , 0
|
||||||
|
nb_nforce db 6, 'nForce'
|
||||||
|
msk_nforce2 db 0x6F, 0x10, 0
|
||||||
|
nb_nforce2 db 8, 'nForce 2'
|
||||||
|
msk_sis730 db 0x6B, 0x01, 0
|
||||||
|
nb_sis730 db 7, 'SiS 730'
|
||||||
|
nb_sis733 db 7, 'SiS 733'
|
||||||
|
msk_sis735 db 0x6A, 0x03, 0
|
||||||
|
nb_sis735 db 7, 'SiS 735'
|
||||||
|
nb_sis740 db 7, 'SiS 740'
|
||||||
|
nb_sis741 db 7, 'SiS 741'
|
||||||
|
nb_sis745 db 7, 'SiS 745'
|
||||||
|
msk_sis746 db 0x6C, 0x01, 0
|
||||||
|
nb_sis746 db 7, 'SiS 746'
|
||||||
|
nb_sis748 db 7, 'SiS 748'
|
||||||
|
msk_amd751 db 0x62, 0x06, 0
|
||||||
|
nb_amd751 db 7, 'AMD 751'
|
||||||
|
nb_amd751s db 8, 'AMD 751S'
|
||||||
|
nb_amd761 db 7, 'AMD 761'
|
||||||
|
msk_amd762 db 0x62, 0x02, 0x6A, 0x02, 0
|
||||||
|
nb_amd762 db 7, 'AMD 762'
|
||||||
|
msk_viakt133 db 0x52, 0x80, 0x70, 0x08, 0
|
||||||
|
nb_viakt133 db 30, 'VIA KT133(A)/KM133/KL133/KN133'
|
||||||
|
nb_viakx133 db 9, 'VIA KX133'
|
||||||
|
nb_viakle133 db 10, 'VIA KLE133'
|
||||||
|
msk_viakt266 db 0x92, 0x80, 0x95, 0x02, 0x70, 0x08, 0
|
||||||
|
nb_viakt266 db 18, 'VIA KT266(A)/KT333'
|
||||||
|
nb_viakm266 db 21, 'VIA KM266/KL266/KM333'
|
||||||
|
nb_vikn266 db 9, 'VIA KN266'
|
||||||
|
msk_viakt400 db 0xD2, 0x80, 0xD5, 0x02, 0x70, 0x08, 0
|
||||||
|
nb_viakt400 db 18, 'VIA KT400(A)/KT600'
|
||||||
|
nb_viakm400 db 9, 'VIA KM400'
|
||||||
|
msk_viakt880 db 0x82, 0x80, 0x85, 0x02, 0
|
||||||
|
nb_viakt880 db 9, 'VIA KT880'
|
||||||
|
|
||||||
|
|
||||||
|
bd_table: dd 0x70061022 ; AMD 751 ----
|
||||||
|
dd nb_amd751
|
||||||
|
dd msk_amd751
|
||||||
|
|
||||||
|
dd 0x70041022 ; AMD 751S
|
||||||
|
dd nb_amd751s
|
||||||
|
dd msk_amd751
|
||||||
|
|
||||||
|
dd 0x700E1022 ; AMD 761
|
||||||
|
dd nb_amd761
|
||||||
|
dd msk_amd751
|
||||||
|
|
||||||
|
dd 0x700C1022 ; AMD 762
|
||||||
|
dd nb_amd762
|
||||||
|
dd msk_amd762
|
||||||
|
|
||||||
|
dd 0x71908086 ; i440 ---
|
||||||
|
dd nb_i440
|
||||||
|
dd msk_i440
|
||||||
|
|
||||||
|
dd 0x01A410DE ; nForce ----
|
||||||
|
dd nb_nforce
|
||||||
|
dd msk_nforce
|
||||||
|
|
||||||
|
dd 0x01E010DE ; nForce 2
|
||||||
|
dd nb_nforce2
|
||||||
|
dd msk_nforce2
|
||||||
|
|
||||||
|
dd 0x07301039 ; SiS 730 ----
|
||||||
|
dd nb_sis730
|
||||||
|
dd msk_sis730
|
||||||
|
|
||||||
|
dd 0x07331039 ; SiS 733
|
||||||
|
dd nb_sis730
|
||||||
|
dd msk_sis730
|
||||||
|
|
||||||
|
dd 0x07351039 ; SiS 735
|
||||||
|
dd nb_sis735
|
||||||
|
dd msk_sis735
|
||||||
|
|
||||||
|
dd 0x07401039 ; SiS 740
|
||||||
|
dd nb_sis735
|
||||||
|
dd msk_sis735
|
||||||
|
|
||||||
|
dd 0x07411039 ; SiS 741
|
||||||
|
dd nb_sis735
|
||||||
|
dd msk_sis735
|
||||||
|
|
||||||
|
dd 0x07451039 ; SiS 745
|
||||||
|
dd nb_sis735
|
||||||
|
dd msk_sis735
|
||||||
|
|
||||||
|
dd 0x07461039 ; SiS 746
|
||||||
|
dd nb_sis746
|
||||||
|
dd msk_sis746
|
||||||
|
|
||||||
|
dd 0x07481039 ; SiS 748
|
||||||
|
dd nb_sis746
|
||||||
|
dd msk_sis746
|
||||||
|
|
||||||
|
dd 0x03051106 ; VIA KT133(A)/KM133/KL133/KN133 ----
|
||||||
|
dd nb_viakt133
|
||||||
|
dd msk_viakt133
|
||||||
|
|
||||||
|
dd 0x03911106 ; VIA KX133
|
||||||
|
dd nb_viakt133
|
||||||
|
dd msk_viakt133
|
||||||
|
|
||||||
|
dd 0x06911106 ; VIA KLE133
|
||||||
|
dd nb_viakt133
|
||||||
|
dd msk_viakt133
|
||||||
|
|
||||||
|
dd 0x30991106 ; VIA KT266(A)/KT333
|
||||||
|
dd nb_viakt266
|
||||||
|
dd msk_viakt266
|
||||||
|
|
||||||
|
dd 0x31161106 ; VIA KM266/KL266/KM333
|
||||||
|
dd nb_viakt266
|
||||||
|
dd msk_viakt266
|
||||||
|
|
||||||
|
dd 0x31561106 ; VIA KN266
|
||||||
|
dd nb_viakt266
|
||||||
|
dd msk_viakt266
|
||||||
|
|
||||||
|
dd 0x31891106 ; VIA KT400(A)/KT600
|
||||||
|
dd nb_viakt400
|
||||||
|
dd msk_viakt400
|
||||||
|
|
||||||
|
dd 0x32051106 ; VIA KM400
|
||||||
|
dd nb_viakm400
|
||||||
|
dd msk_viakt400
|
||||||
|
|
||||||
|
dd 0x22691106 ; VIA KT880
|
||||||
|
dd nb_viakt880
|
||||||
|
dd msk_viakt880
|
||||||
|
bd_table_end:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
find_north_bridg:
|
||||||
|
mov bl, 6
|
||||||
|
xor cl, cl
|
||||||
|
nbus: mov bh, [bus_num]
|
||||||
|
ndevfn: mov ch, [devfn]
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
cmp eax, 0xffffffff
|
||||||
|
je bd_next
|
||||||
|
;---------
|
||||||
|
mov esi, bd_table_end - bd_table - 12
|
||||||
|
@@: cmp eax, [bd_table + esi]
|
||||||
|
je bd_found
|
||||||
|
test esi, esi
|
||||||
|
jz bd_next
|
||||||
|
sub esi, 12
|
||||||
|
jmp @b
|
||||||
|
;---------
|
||||||
|
bd_next:dec byte[devfn]
|
||||||
|
jns ndevfn
|
||||||
|
mov byte[devfn], 0
|
||||||
|
dec byte[bus_num]
|
||||||
|
jns nbus
|
||||||
|
ret
|
||||||
|
bd_found:
|
||||||
|
add esi, bd_table + 4
|
||||||
|
mov edi, nb_name
|
||||||
|
mov ecx, 2
|
||||||
|
rep movsd
|
||||||
|
|
||||||
|
mov [bd_id], eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
;----------------------
|
||||||
|
;bd_stat: db 0 ; 0 - ¥ ©¤¥, 1 - ¢ëª«îç¥, 2 - ¢ª«îç¥
|
||||||
|
get_bd_stat:
|
||||||
|
mov byte[bd_stat], 1
|
||||||
|
cld
|
||||||
|
mov esi, [bd_msk]
|
||||||
|
lodsw
|
||||||
|
test al, al
|
||||||
|
jnz @f
|
||||||
|
mov byte[bd_stat], 0
|
||||||
|
ret
|
||||||
|
@@: push eax
|
||||||
|
mov bh, [bus_num]
|
||||||
|
mov bl, 4
|
||||||
|
mov ch, [devfn]
|
||||||
|
mov cl, al
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
pop edx
|
||||||
|
and al, dh
|
||||||
|
jnz @f
|
||||||
|
lodsw
|
||||||
|
test al, al
|
||||||
|
jnz @b
|
||||||
|
ret
|
||||||
|
@@: mov byte[bd_stat], 2
|
||||||
|
ret
|
||||||
|
;----------------------
|
||||||
|
set_bd_stat:
|
||||||
|
cmp dword[bd_id], 0x01E010DE ; á¯¥æ¨ «ì® ¤«ï nForce2 400
|
||||||
|
je set_stat_nforce2
|
||||||
|
|
||||||
|
mov edi, eax
|
||||||
|
cld
|
||||||
|
mov esi, [bd_msk]
|
||||||
|
bd_ss_nxt:
|
||||||
|
lodsw
|
||||||
|
test al, al
|
||||||
|
jz bd_ss_end
|
||||||
|
mov dl, ah ; ¬ áª
|
||||||
|
mov bh, [bus_num]
|
||||||
|
mov bl, 4
|
||||||
|
mov ch, [devfn]
|
||||||
|
mov cl, al
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
mov bl, 8
|
||||||
|
test edi, edi
|
||||||
|
jz @f
|
||||||
|
or al, dl
|
||||||
|
mov dl, al
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
jmp bd_ss_nxt
|
||||||
|
@@: not dl
|
||||||
|
and al, dl
|
||||||
|
mov dl, al
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
jmp bd_ss_nxt
|
||||||
|
bd_ss_end:
|
||||||
|
ret
|
||||||
|
;------- nForce 2 -----------
|
||||||
|
set_stat_nforce2:
|
||||||
|
; IN : eax = 0 - disable, !0 - enable
|
||||||
|
push eax
|
||||||
|
mov bh, [bus_num]
|
||||||
|
mov bl, 4
|
||||||
|
mov ch, [devfn]
|
||||||
|
mov cl, 0x6f
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
and al, 0x1F
|
||||||
|
mov dl, al
|
||||||
|
mov bl, 8
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
pop eax
|
||||||
|
test eax, eax
|
||||||
|
jz @f
|
||||||
|
or dl, 0x10
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
ret
|
||||||
|
@@: and dl, 0xef
|
||||||
|
mov eax, 62
|
||||||
|
int 0x40
|
||||||
|
ret
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
; x8 x16 x32 x64 x128 x256 x512
|
||||||
|
div_hdd: db 0x23, 0x27, 0x2B, 0x2F, 0x63, 0x67, 0x6B ; Halt Disconnect Divisor
|
||||||
|
div_sgd: db 0x12, 0x52, 0x92, 0xD2, 0x12, 0x52, 0x92 ; Stop Grand Divisor
|
||||||
|
; low word of 0xC001001B MSR
|
||||||
|
; HDD\SGD 8 16 32 64 128 256 512
|
||||||
|
; 8 0x1223 0x5223 0x9223 0xD223 | 0x1223 0x5223 0x9223
|
||||||
|
; 16 0x1227 |
|
||||||
|
; 32 0x122B |
|
||||||
|
; 64 0x122F | 0x522F
|
||||||
|
; 128 0x1263 |
|
||||||
|
; 256 0x1267 & bin 18 is clear | & bin 18 is set
|
||||||
|
; 512 0x126B |
|
||||||
|
; ^^^^
|
||||||
|
; ||||_HDD
|
||||||
|
; ||_SGD
|
||||||
|
set_divs:
|
||||||
|
; IN : ESI - hdd (0 = x8, 1 = x16 ..)
|
||||||
|
; EDI - sgd (0 = x8, 1 = x16 ..)
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, 3
|
||||||
|
mov edx, 0xC001001b
|
||||||
|
int 0x40
|
||||||
|
mov al, [div_hdd + esi]
|
||||||
|
mov ah, [div_sgd + edi]
|
||||||
|
and eax, 0xFFFBFFFF
|
||||||
|
cmp edi, 3
|
||||||
|
jle @f
|
||||||
|
or eax, 0x40000
|
||||||
|
@@: mov edi, eax
|
||||||
|
mov esi, ebx
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, 4
|
||||||
|
int 0x40
|
||||||
|
ret
|
||||||
|
|
||||||
|
get_divs:
|
||||||
|
; OUT : val_hdd - hdd (0 = x8, 1 = x16 ..)
|
||||||
|
; val_sgd - sgd ...
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, 3
|
||||||
|
mov edx, 0xC001001b
|
||||||
|
int 0x40
|
||||||
|
mov ecx, 7
|
||||||
|
@@: cmp [div_hdd + ecx - 1], al
|
||||||
|
je @f
|
||||||
|
loop @b
|
||||||
|
@@: dec ecx
|
||||||
|
mov [val_hdd], ecx
|
||||||
|
mov ecx, 4
|
||||||
|
@@: cmp [div_sgd + ecx - 1], ah
|
||||||
|
je @f
|
||||||
|
loop @b
|
||||||
|
@@: dec ecx
|
||||||
|
test eax, 0x40000
|
||||||
|
jz @f
|
||||||
|
add ecx, 4
|
||||||
|
@@: mov [val_sgd], ecx
|
||||||
|
ret
|
||||||
|
|
||||||
|
;******************************************************************************
|
||||||
|
|
||||||
|
check_parameters:
|
||||||
|
cmp [PARAMS], dword "BOOT" ; received BOOT parameter -> goto handler
|
||||||
|
je boot_bd_enable
|
||||||
|
jmp no_params
|
||||||
|
|
||||||
|
;******************************************************************************
|
||||||
|
|
||||||
|
boot_bd_enable:
|
||||||
|
|
||||||
|
call find_north_bridg
|
||||||
|
call set_bd_stat
|
||||||
|
mcall -1
|
||||||
|
|
||||||
|
;******************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
header db appname,version,0
|
||||||
|
|
||||||
|
msg_divs db ' x8 x16 x32 x64 x128 x256 x512'
|
||||||
|
msg_hdd db 'Hatl Disc.'
|
||||||
|
msg_sgd db 'Stop Grand'
|
||||||
|
msg_nb db 'North bridge :';14
|
||||||
|
msg_stat db 'Status :' ;8
|
||||||
|
msg_en db 'Enabled ' ;9
|
||||||
|
msg_dis db 'Disabled ' ;9
|
||||||
|
msg_nf db 'Not found' ;9
|
||||||
|
|
||||||
|
I_END:
|
||||||
|
sc system_colors
|
||||||
|
val_hdd: dd ?
|
||||||
|
val_sgd: dd ?
|
||||||
|
|
266
programs/system/kbd/trunk/macros.inc
Normal file
266
programs/system/kbd/trunk/macros.inc
Normal file
@ -0,0 +1,266 @@
|
|||||||
|
; 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 { ; mike.dld
|
||||||
|
if ~a 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 <eax,ebx,ecx,edx,esi,edi,ebp,esp>
|
||||||
|
|
||||||
|
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
|
45
programs/system/kbd/trunk/readme.txt
Normal file
45
programs/system/kbd/trunk/readme.txt
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Kolibri Bus Disconnect
|
||||||
|
|
||||||
|
Автор : Михайлов Илья Андреевич aka Ghost
|
||||||
|
Версия : от 24/10/06
|
||||||
|
ОС : Kolibri
|
||||||
|
forum : meos.sysbin.com -> Программы -> GMon
|
||||||
|
mailto : ghost.nsk@mail.ru
|
||||||
|
|
||||||
|
Поддерживаемые чипсеты:
|
||||||
|
|
||||||
|
AMD 751
|
||||||
|
AMD 751S
|
||||||
|
AMD 761
|
||||||
|
AMD 762
|
||||||
|
|
||||||
|
NVIDIA nForce
|
||||||
|
NVIDIA nForce 2 (400)
|
||||||
|
|
||||||
|
SiS 735
|
||||||
|
SiS 740
|
||||||
|
SiS 741
|
||||||
|
SiS 745
|
||||||
|
SiS 730
|
||||||
|
SiS 733
|
||||||
|
SiS 746
|
||||||
|
SiS 748
|
||||||
|
|
||||||
|
VIA KT133(A)/KM133/KL133/KN133 *
|
||||||
|
VIA KX133
|
||||||
|
VIA KLE133
|
||||||
|
VIA KT266(A)/KT333
|
||||||
|
VIA KM266/KL266/KM333
|
||||||
|
VIA KN266
|
||||||
|
VIA KT400(A)/KT600
|
||||||
|
VIA KM400
|
||||||
|
VIA KT880
|
||||||
|
|
||||||
|
ПРИМЕЧАНИЕ: (Heavyiron, 24.10.2006)
|
||||||
|
Владельцы данных чипсетов могут (при желании) поместить
|
||||||
|
эту программу в автозагрузку с параметром boot. Для этого в
|
||||||
|
autorun.dat необходимо поместить,например, такую строку:
|
||||||
|
"/RD/1/KBD BOOT 20 # Enable Bus Disconnect for AMD K7 processors",
|
||||||
|
не забыв при этом увеличить количество запускаемых программ на одну
|
||||||
|
в самом начале файла autorun.dat.
|
||||||
|
|
@ -468,11 +468,11 @@ draw_window:
|
|||||||
shl ecx, 16
|
shl ecx, 16
|
||||||
add ecx, BTN_HEIGHT-1
|
add ecx, BTN_HEIGHT-1
|
||||||
; edx = button identifier
|
; edx = button identifier
|
||||||
mov esi, [sc.work_button]
|
mov esi, [sc.work]
|
||||||
inc dl
|
inc dl
|
||||||
cmp [edi + cur_sel], dl
|
cmp [edi + cur_sel], dl
|
||||||
jne .nohighlight
|
jne .nohighlight
|
||||||
add esi, 0x202020
|
add esi, 0x101010
|
||||||
.nohighlight:
|
.nohighlight:
|
||||||
or edx, 0x20000000
|
or edx, 0x20000000
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -497,7 +497,7 @@ draw_window:
|
|||||||
dec ecx
|
dec ecx
|
||||||
jnz .findline
|
jnz .findline
|
||||||
|
|
||||||
mov ecx, [sc.work_button_text]
|
mov ecx, [sc.work_text]
|
||||||
mov eax, 4
|
mov eax, 4
|
||||||
mov esi, 21
|
mov esi, 21
|
||||||
int 0x40
|
int 0x40
|
||||||
|
Loading…
Reference in New Issue
Block a user