89,11 → 89,12 |
;; Main entry points and COLD start data |
|
use32 |
format binary as "" |
|
org 0x0 |
|
db 'MENUET01' ; 8 byte id |
dd 0x01 ; header version |
db 'MENUET01' |
dd 0x01 |
dd ORIG ; start of code |
dd I_END ; size of image |
MEMS: dd EM ; memory for app |
107,7 → 108,7 |
|
lang fix ru |
include 'MACROS.INC' |
include "proc32.inc" |
include '..\..\proc32.inc' |
|
align 4 |
proc strncmp stdcall, s1:dword, s2:dword, n:dword |
182,8 → 183,9 |
pusha |
mcall 12,1 |
mov [fRed],ebx |
mcall 0, <0,FW_WIDTH>, <0,FW_HEIGHT>, 0x03000000, 0x805080D0, 0x005080D0 |
mcall 4, <8,8>, 0x10DDEEFF, header, header.size |
mcall 0, <0,FW_WIDTH>, <0,FW_HEIGHT>, 0x54000000 |
; mcall 0,,,COL_WINDOW_BG, ,title ; define window |
mcall 71, 1, header |
|
mcall 9,pinfo,-1 |
mov eax,[pinfo.x_size] |
202,22 → 204,27 |
mov [pinfo.y_start],eax |
call erase_screen |
mcall 12, 2 |
if ~ SYSTEM eq EMUL |
mcall 67,-1,-1,FW_WIDTH,FW_HEIGHT |
end if |
popa |
ret |
|
lsz header,\ |
ru,'®àâ ¤«ï MenuetOS (SPF)',\ |
en,'EXAMPLE APPLICATION',\ |
fr,"L'exemplaire programme" |
|
macro GetSkinHeight |
{ |
mov eax,48 |
mov ebx,4 |
int 0x40 |
} |
|
erase_screen: |
GetSkinHeight |
mov ecx,eax |
shl ecx,16 |
add ecx,[pinfo.y_size] |
sub ecx,eax |
sub ecx,4 |
mov ebx,[pinfo.x_size] |
add ebx,10 shl 16-20 |
mov ecx,[pinfo.y_size] |
add ecx,30 shl 16-35 |
add ebx,5 shl 16 - 9 |
mcall 13,,,0;xff |
ret |
|
464,6 → 471,8 |
|
include 'amain.asm' |
|
header db 'Kolibri Forth v12.1',0 |
|
FINFO: |
.mode dd 0 |
dd 0 |
471,17 → 480,9 |
.buf dd 0 |
.work dd os_work |
.path: |
if SYSTEM eq MEOS |
; .path db 0 |
; .path db '/HD/1/FORTH/AUTORUN.DAT',0 |
; db '/RD/1/AUTOLOAD.F' |
else |
db '/RD/1/AUTOLOAD.F' |
; db '/RD/1/EXAMPLE.F' |
; db '/RD/1/PICTURE.F' |
; db '/RD/1/AUTORUN.DAT' |
; db '/HD/1/FORTH/AUTORUN.DAT' |
end if |
db 0 |
.end_path: |
|