1) changed version of a kernel - 0581
2) menu now uses the function 70
These changes will be in Kolibri 0581 (or beta2)

git-svn-id: svn://kolibrios.org@97 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2006-07-10 20:26:50 +00:00
parent 0727181583
commit 400f8f145d
3 changed files with 113 additions and 122 deletions

View File

@ -73,7 +73,7 @@ drawbar dd __sys_drawbar
putpixel dd __sys_putpixel putpixel dd __sys_putpixel
; } mike.dld ; } mike.dld
version db 'Kolibri OS version 0.5.3.1 ',13,10,13,10,0 version db 'Kolibri OS version 0.5.8.1 ',13,10,13,10,0
;dd endofcode-0x10000 ;dd endofcode-0x10000
;db 'Boot02' ;db 'Boot02'
@ -2324,7 +2324,7 @@ endg
iglobal iglobal
version_inf: version_inf:
db 0,5,3,1 ; version 0.5.3.1 db 0,5,8,1 ; version 0.5.8.1
db UID_KOLIBRI db UID_KOLIBRI
db 'Kolibri',0 db 'Kolibri',0
version_end: version_end:

View File

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

View File

@ -0,0 +1,6 @@
Changes:
11.07.06 - Mario79, application used function 70.
Earlier changes were made:
Ivan Poddubny, Mario79 and Halyavin