Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 96 → Rev 97

/programs/menu/trunk/menu.asm
29,11 → 29,14
mov edx, sizeof.system_colors
int 0x40
 
mov eax, 58 ; load MENU.DAT
mov eax, 70 ; load MENU.DAT
mov ebx, fileinfo
int 0x40
test eax, eax ; error ?
jz @f
cmp eax,6
jnz close
@@:
test ebx, ebx ; length = 0 ?
jz close
mov ecx, ebx
233,26 → 236,11
mov edi, fileinfo_start.name
rep movsb ; copy string
mov byte [edi], 0 ; store terminator
 
; mov eax,fileinfo_start.name
; cmp eax,'/rd/'
; jne run_hd
; mov ebx,fileinfo_start.name+6
; mov eax,19
; xor ecx,ecx
; jmp run_for_all
;run_hd:
mov eax, 58 ; start program
mov eax, 70 ; start program
mov ebx, fileinfo_start
;run_for_all:
int 0x40
mcall 5,100
; mov eax,5
; mov ebx,100
; int 0x40
 
; mcall 5,100
or [close_now], 1 ; set close flag
 
pop edi
mov [mousemask], 0
jmp close
310,7 → 298,7
 
cmp [thread_stack], 0x1e000
jne thread_stack_not_full
mov [thread_stack], 0xc000
mov [thread_stack], 0xE000
 
thread_stack_not_full:
add [thread_stack], 0x2000 ; start new thread
530,24 → 518,24
 
;*** DATA AREA ****************************************************************
 
thread_stack dd 0xc000
thread_stack dd 0xE000
processes dd 0
 
fileinfo:
.mode dd 0 ; 0=READ
.start_block dd 0x0 ; 512 block to read 0+
.size dd (0x10000-mem_end)/512 ;0x80; blocks to read (0x10000 bytes max)
.subfunction dd 0 ; 0=READ
.start dd 0 ; start byte
.size_high dd 0 ; rezerved
.size dd 0x10000-mem_end ; blocks to read
.return dd mem_end ; return data pointer
.work dd workarea ; work area for os - 16384 bytes
.name:
db '/RD/1/MENU.DAT',0 ; ASCIIZ dir & filename
 
fileinfo_start:
.mode dd 16 ; 16=START APPLICATION
.start_block dd 0x0 ; nop
.size dd 0x0 ; nop
.return dd 0x0 ; nop
.work dd workarea ; work area for os - 16384 bytes
.subfunction dd 7 ; 7=START APPLICATION
.flags dd 0 ; flags
.params dd 0x0 ; nop
.rezerved dd 0x0 ; nop
.rezerved_1 dd 0x0 ; nop
.name:
times 50 db ' '
 
563,9 → 551,6
menu_data:
rb 0x4000 ;x10000
 
workarea:
rb 0x4000 ;0x10000
 
virtual at 0 ; PROCESSES TABLE (located at menu_data)
pointer dd ? ; +0 pointer in file
rows db ? ; +4 numer of strings
/programs/menu/trunk/readme2.txt
0,0 → 1,6
Changes:
11.07.06 - Mario79, application used function 70.
Earlier changes were made:
Ivan Poddubny, Mario79 and Halyavin