forked from KolibriOS/kolibrios
various small updates
git-svn-id: svn://kolibrios.org@7867 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7169ea5d6b
commit
e4b948b955
@ -4,7 +4,6 @@
|
|||||||
ƒà 䨪 > /@3
|
ƒà 䨪 > /@3
|
||||||
‡¢ãª ¨ ¢¨¤¥® > /@4
|
‡¢ãª ¨ ¢¨¤¥® > /@4
|
||||||
<EFBFBD> §à ¡®âª > /@5
|
<EFBFBD> §à ¡®âª > /@5
|
||||||
<EFBFBD>¬ã«ïâ®àë > /@6
|
|
||||||
‘¨á⥬ > /@7
|
‘¨á⥬ > /@7
|
||||||
Žä¨á > /@10
|
Žä¨á > /@10
|
||||||
‘¥âì > /@11
|
‘¥âì > /@11
|
||||||
@ -48,6 +47,7 @@ FlatWave /sys/3d/flatwav
|
|||||||
€ã¤¨®¯«¥¥à AC97SND /sys/media/ac97snd
|
€ã¤¨®¯«¥¥à AC97SND /sys/media/ac97snd
|
||||||
‚¨¤¥®¯«¥¥à Fplay /kolibrios/media/fplay
|
‚¨¤¥®¯«¥¥à Fplay /kolibrios/media/fplay
|
||||||
Midi-¯«¥¥à /sys/media/midamp
|
Midi-¯«¥¥à /sys/media/midamp
|
||||||
|
„¥â᪮¥ ¯¨ ¨® /sys/media/piano
|
||||||
#5 **** <20> §à ¡®âª ****
|
#5 **** <20> §à ¡®âª ****
|
||||||
“¯ ª®¢é¨ª KPack /sys/kpack
|
“¯ ª®¢é¨ª KPack /sys/kpack
|
||||||
Flat Assembler /sys/develop/fasm
|
Flat Assembler /sys/develop/fasm
|
||||||
@ -67,7 +67,6 @@ PokeMini /kolibrios/emul/pokemini
|
|||||||
ScummVM /kolibrios/emul/scummvm
|
ScummVM /kolibrios/emul/scummvm
|
||||||
ZSNES Super Nintendo /kolibrios/emul/zsnes
|
ZSNES Super Nintendo /kolibrios/emul/zsnes
|
||||||
#7 **** ‘¨á⥬ ****
|
#7 **** ‘¨á⥬ ****
|
||||||
‘¨á⥬ ï ¯ ¥«ì /sys/syspanel
|
|
||||||
” ©«®¢ë¥ ¬¥¥¤¦¥àë > /@8
|
” ©«®¢ë¥ ¬¥¥¤¦¥àë > /@8
|
||||||
‘¯¥æ. ¢®§¬®¦®á⨠> /@9
|
‘¯¥æ. ¢®§¬®¦®á⨠> /@9
|
||||||
Š «¥¤ àì /sys/calendar
|
Š «¥¤ àì /sys/calendar
|
||||||
@ -75,6 +74,7 @@ ZSNES Super Nintendo /kolibrios/emul/zsnes
|
|||||||
‚¨àâã «ìë¥ ¤¨áª¨ /sys/tmpdisk
|
‚¨àâã «ìë¥ ¤¨áª¨ /sys/tmpdisk
|
||||||
Š®á®«ì SHELL /sys/shell
|
Š®á®«ì SHELL /sys/shell
|
||||||
‘®åà ¥¨¥ ®¡à § /sys/rdsave
|
‘®åà ¥¨¥ ®¡à § /sys/rdsave
|
||||||
|
‘¨á⥬ ï ¯ ¥«ì /sys/syspanel
|
||||||
#8 **** ‘¨á⥬ -> ” ©«®¢ë¥ ¬¥¥¤¦¥àë ****
|
#8 **** ‘¨á⥬ -> ” ©«®¢ë¥ ¬¥¥¤¦¥àë ****
|
||||||
KFAR /sys/File Managers/kfar
|
KFAR /sys/File Managers/kfar
|
||||||
fNav /sys/File Managers/fNav/fNav
|
fNav /sys/File Managers/fNav/fNav
|
||||||
@ -109,6 +109,7 @@ VNC
|
|||||||
ˆâ¥à¥â § £àã§ç¨ª /sys/network/downloader
|
ˆâ¥à¥â § £àã§ç¨ª /sys/network/downloader
|
||||||
’¥ªáâ®¢ë© ¡à 㧥à /sys/network/webview
|
’¥ªáâ®¢ë© ¡à 㧥à /sys/network/webview
|
||||||
#14 **** <20> §®¥ ****
|
#14 **** <20> §®¥ ****
|
||||||
|
<EFBFBD>¬ã«ïâ®àë > /@6
|
||||||
‘®§¤ ¨¥ áªà¨è®â®¢ /sys/scrshoot
|
‘®§¤ ¨¥ áªà¨è®â®¢ /sys/scrshoot
|
||||||
€ «®£®¢ë¥ ç áë /sys/demos/aclock
|
€ «®£®¢ë¥ ç áë /sys/demos/aclock
|
||||||
’ ¡«¨æ Œ¥¤¥«¥¥¢ /sys/period
|
’ ¡«¨æ Œ¥¤¥«¥¥¢ /sys/period
|
||||||
|
@ -194,6 +194,11 @@ struct _Image
|
|||||||
}
|
}
|
||||||
|
|
||||||
//NOTICE: DO NOT FORGET TO INIT libio AND libimg!!!
|
//NOTICE: DO NOT FORGET TO INIT libio AND libimg!!!
|
||||||
|
#ifdef LANG_RUS
|
||||||
|
#define TEXT_FILE_SAVED_AS "'File saved as "
|
||||||
|
#else
|
||||||
|
#define TEXT_FILE_SAVED_AS "'” ©« á®åà ¥ ª ª "
|
||||||
|
#endif
|
||||||
:void save_image(dword _image_pointer, _w, _h, _path)
|
:void save_image(dword _image_pointer, _w, _h, _path)
|
||||||
{
|
{
|
||||||
char save_success_message[4096+200];
|
char save_success_message[4096+200];
|
||||||
@ -219,7 +224,7 @@ struct _Image
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (CreateFile(encoded_size, encoded_data, _path) == 0) {
|
if (CreateFile(encoded_size, encoded_data, _path) == 0) {
|
||||||
strcpy(#save_success_message, "'File saved as ");
|
strcpy(#save_success_message, TEXT_FILE_SAVED_AS);
|
||||||
strcat(#save_success_message, _path);
|
strcat(#save_success_message, _path);
|
||||||
strcat(#save_success_message, "' -O");
|
strcat(#save_success_message, "' -O");
|
||||||
notify(#save_success_message);
|
notify(#save_success_message);
|
||||||
|
@ -329,7 +329,7 @@ static int fat12__open(Fat12 *this, const char *img) {
|
|||||||
this->rootDirectory = this->firstFat + this->numberOfFats
|
this->rootDirectory = this->firstFat + this->numberOfFats
|
||||||
* this->sectorsPerFat * this->bytesPerSector;
|
* this->sectorsPerFat * this->bytesPerSector;
|
||||||
this->dataRegion = this->rootDirectory + this->maxRootEntries * 32;
|
this->dataRegion = this->rootDirectory + this->maxRootEntries * 32;
|
||||||
con_printf("Bytes per sector: %d\n", this->bytesPerSector);
|
con_printf("\nBytes per sector: %d\n", this->bytesPerSector);
|
||||||
con_printf("Sectors per claster: %d\n", this->sectorsPerClaster);
|
con_printf("Sectors per claster: %d\n", this->sectorsPerClaster);
|
||||||
con_printf("Reserver sector count: %d\n", this->reservedSectorCount);
|
con_printf("Reserver sector count: %d\n", this->reservedSectorCount);
|
||||||
con_printf("Number of FATs: %d\n", this->numberOfFats);
|
con_printf("Number of FATs: %d\n", this->numberOfFats);
|
||||||
@ -338,7 +338,7 @@ static int fat12__open(Fat12 *this, const char *img) {
|
|||||||
con_printf("Sectors per FAT: %d\n", this->sectorsPerFat);
|
con_printf("Sectors per FAT: %d\n", this->sectorsPerFat);
|
||||||
con_printf("First FAT: %d\n", this->firstFat);
|
con_printf("First FAT: %d\n", this->firstFat);
|
||||||
con_printf("Root directory: %d\n", this->rootDirectory);
|
con_printf("Root directory: %d\n", this->rootDirectory);
|
||||||
con_printf("Data region: %d\n", this->dataRegion);
|
con_printf("Data region: %d\n\n", this->dataRegion);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -373,7 +373,7 @@ static int callback(const char *name, size_t size, const uint8_t *data, void *pa
|
|||||||
*fileNameDelim = '/';
|
*fileNameDelim = '/';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
con_printf("Extracting \"%s\"\n", outputPath->data);
|
con_printf("Extracting %s\n", outputPath->data);
|
||||||
if (!(fp = fopen(outputPath->data, "wb"))) { perror(NULL); }
|
if (!(fp = fopen(outputPath->data, "wb"))) { perror(NULL); }
|
||||||
fwrite(data, 1, size, fp);
|
fwrite(data, 1, size, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
@ -383,31 +383,36 @@ static int callback(const char *name, size_t size, const uint8_t *data, void *pa
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
Fat12 fat12 = { 0 };
|
Fat12 fat12 = { 0 };
|
||||||
char *imageFile = NULL;
|
char *imageFile = NULL;
|
||||||
String outputFolder = { 0 };
|
String outputFolder = { 0 };
|
||||||
int exit = 0;
|
int exit = 0;
|
||||||
|
|
||||||
if (con_init_console_dll()) return -1;
|
char app_title[] = "UnImg - kolibri.img file unpacker";
|
||||||
con_set_title("UnImg - kolibri.img file unpacker");
|
if (con_init_console_dll_param(-1, -1, -1, 350, app_title)) return -1;
|
||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
con_write_asciiz("Usage: unimg \"/path/to/kolibri.img\" \"/optional/extract/path\" [-e]");
|
con_write_asciiz(" Usage:\n");
|
||||||
con_write_asciiz("-e\tExit on success");
|
con_write_asciiz(" unimg \"/path/to/kolibri.img\" \"/optional/extract/path\" [-e]\n");
|
||||||
|
con_write_asciiz(" where optional key [-e] is exit on success");
|
||||||
con_exit(0);
|
con_exit(0);
|
||||||
return -1;
|
return -1;
|
||||||
|
} else {
|
||||||
|
imageFile = argv[1];
|
||||||
|
con_printf("File: %s\n", imageFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
imageFile = argv[1];
|
|
||||||
|
|
||||||
outputFolder.capacity = 4096;
|
outputFolder.capacity = 4096;
|
||||||
outputFolder.data = malloc(outputFolder.capacity);
|
outputFolder.data = malloc(outputFolder.capacity);
|
||||||
|
|
||||||
//! ACHTUNG: possible buffer overflow, is 4096 enough in KolibriOS?
|
//! ACHTUNG: possible buffer overflow, is 4096 enough in KolibriOS?
|
||||||
if (argc >= 3 && argv[2][0] != '-') strcpy(outputFolder.data, argv[2]);
|
if (argc >= 3 && argv[2][0] != '-') strcpy(outputFolder.data, argv[2]);
|
||||||
else strcpy(outputFolder.data, "/TMP0/1/KOLIBRI.IMG");
|
else {
|
||||||
|
strcpy(outputFolder.data, "/tmp0/1");
|
||||||
|
strcat(outputFolder.data, strrchr(imageFile, '/'));
|
||||||
|
}
|
||||||
|
|
||||||
outputFolder.length = strlen(outputFolder.data);
|
outputFolder.length = strlen(outputFolder.data);
|
||||||
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
kos32-tcc fat12.c -lck -o unimg.kex
|
kos32-tcc fat12.c -lck -o unimg
|
||||||
@pause
|
@pause
|
Binary file not shown.
@ -10,199 +10,195 @@
|
|||||||
; Translation into Russian.
|
; Translation into Russian.
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
|
|
||||||
db 'MENUET01' ; 8 byte id
|
db 'MENUET01' ; 8 byte id
|
||||||
dd 0x01 ; header version
|
dd 0x01 ; header version
|
||||||
dd START ; start of code
|
dd START ; start of code
|
||||||
dd I_END ; size of image
|
dd I_END ; size of image
|
||||||
dd IM_END ; memory for app
|
dd IM_END ; memory for app
|
||||||
dd stack_top ; esp
|
dd stack_top ; esp
|
||||||
dd 0x0 ; I_Param
|
dd 0x0 ; I_Param
|
||||||
dd 0x0 ; I_Icon
|
dd 0x0 ; I_Icon
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
include '../../../macros.inc'
|
include '../../../macros.inc'
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
START: ; start of execution
|
START: ; start of execution
|
||||||
red: ; redraw
|
red: ; redraw
|
||||||
call draw_window ; at first, draw the window
|
call draw_window ; at first, draw the window
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
still:
|
still:
|
||||||
mcall 10 ; wait here for event
|
mcall 10 ; wait here for event
|
||||||
cmp eax,1 ; redraw request ?
|
cmp eax,1 ; redraw request ?
|
||||||
jz red
|
jz red
|
||||||
|
|
||||||
cmp eax,3 ; button in buffer ?
|
cmp eax,3 ; button in buffer ?
|
||||||
jz button
|
jz button
|
||||||
|
|
||||||
cmp eax,2 ; key in buffer ?
|
cmp eax,2 ; key in buffer ?
|
||||||
jnz still
|
jnz still
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
key:
|
key:
|
||||||
mcall 2 ; just read it and ignore
|
mcall 2 ; just read it and ignore
|
||||||
jmp still
|
jmp still
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
button:
|
button:
|
||||||
mcall 17
|
mcall 17
|
||||||
cmp ah,1 ; button id=1 ?
|
cmp ah,1 ; button id=1 ?
|
||||||
jnz noclose
|
jnz noclose
|
||||||
|
|
||||||
mcall -1 ; close this program
|
mcall -1 ; close this program
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
noclose:
|
noclose:
|
||||||
cmp ah,2
|
cmp ah,2
|
||||||
jnz notest2
|
jnz notest2
|
||||||
cli
|
cli
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest2:
|
notest2:
|
||||||
cmp ah,3
|
cmp ah,3
|
||||||
jnz notest3
|
jnz notest3
|
||||||
sti
|
sti
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest3:
|
notest3:
|
||||||
cmp ah,4
|
cmp ah,4
|
||||||
jnz notest4
|
jnz notest4
|
||||||
mov [0x10000],byte 1
|
mov [0x10000],byte 1
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest4:
|
notest4:
|
||||||
cmp ah,5
|
cmp ah,5
|
||||||
jnz notest5
|
jnz notest5
|
||||||
jmp dword 0x10000
|
jmp dword 0x10000
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest5:
|
notest5:
|
||||||
cmp ah,6
|
cmp ah,6
|
||||||
jnz notest6
|
jnz notest6
|
||||||
mov esp,0
|
mov esp,0
|
||||||
push eax
|
push eax
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest6:
|
notest6:
|
||||||
cmp ah,7
|
cmp ah,7
|
||||||
jnz notest7
|
jnz notest7
|
||||||
in al,0x60
|
in al,0x60
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
notest7:
|
notest7:
|
||||||
cmp ah,8
|
cmp ah,8
|
||||||
jnz still
|
jnz still
|
||||||
out 0x60,al
|
out 0x60,al
|
||||||
jmp still
|
jmp still
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
; *********************************************
|
; *********************************************
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
; *********************************************
|
; *********************************************
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
draw_window:
|
draw_window:
|
||||||
;mcall 48,3,sys_colors,40
|
;mcall 48,3,sys_colors,40
|
||||||
mcall 12,1
|
mcall 12,1
|
||||||
mcall 0,<200,292>,<200,230>,0x14FFFFFF,,tlabel
|
mcall 0,<200,370>,<200,295>,0x14FFFFFF,,tlabel
|
||||||
mov eax,8 ; function 8 : define and draw button
|
mcall 8, <36,15>, <88,15>, 2, 0x6888B8
|
||||||
mov ebx,32*65536+10 ; [x start] *65536 + [x size]
|
|
||||||
mov ecx,75*65536+10 ; [y start] *65536 + [y size]
|
|
||||||
mov edx,2 ; button id
|
|
||||||
mov esi,0x6888B8 ; button color RRGGBB
|
|
||||||
.newb:
|
.newb:
|
||||||
mcall
|
mcall
|
||||||
add ecx,20*65536
|
add ecx,26*65536
|
||||||
inc edx
|
inc edx
|
||||||
cmp edx,9
|
cmp edx,9
|
||||||
jb .newb
|
jb .newb
|
||||||
|
|
||||||
cld
|
cld
|
||||||
mov ebx,26*65536+37 ; draw info text with function 4
|
mov ebx,26*65536+37 ; draw info text with function 4
|
||||||
mov ecx,0x000000
|
mov ecx,0x10000000
|
||||||
mov edx,text
|
mov edx,text
|
||||||
mov esi,40
|
mov esi,40
|
||||||
|
|
||||||
mov eax,4
|
mov eax,4
|
||||||
.newline:
|
.newline:
|
||||||
mcall
|
mcall
|
||||||
add ebx,10
|
add ebx,13
|
||||||
add edx,40
|
add edx,40
|
||||||
cmp [edx],byte 'x'
|
cmp [edx],byte 'x'
|
||||||
jnz .newline
|
jnz .newline
|
||||||
|
|
||||||
mcall 12,2 ; function 12:tell os about windowdraw
|
mcall 12,2 ; function 12:tell os about windowdraw
|
||||||
ret
|
ret
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
; DATA AREA
|
; DATA AREA
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
if lang eq it
|
if lang eq it
|
||||||
text:
|
text:
|
||||||
db 'Il programma usa 0x1000 byte di memoria '
|
db 'Il programma usa 0x1000 byte di memoria '
|
||||||
db ' '
|
db ' '
|
||||||
db 'Open debug board for rezult information '
|
db 'Open debug board for rezult information '
|
||||||
db ' '
|
db ' '
|
||||||
db ' CLI '
|
db ' CLI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' STI '
|
db ' STI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV [0x10000],BYTE 1 '
|
db ' MOV [0x10000],BYTE 1 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' JMP DWORD 0x10000 '
|
db ' JMP DWORD 0x10000 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV ESP,0 & PUSH EAX '
|
db ' MOV ESP,0 & PUSH EAX '
|
||||||
db ' '
|
db ' '
|
||||||
db ' IN Al,0x60 '
|
db ' IN Al,0x60 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' OUT 0x60,AL '
|
db ' OUT 0x60,AL '
|
||||||
db 'x'
|
db 'x'
|
||||||
else if lang eq ru
|
else if lang eq ru
|
||||||
text:
|
text:
|
||||||
db '<27>ਫ®¦¥¨¥ ¨á¯®«ì§ã¥â 0x1000 ¡ ©â ¯ ¬ïâ¨'
|
db '<27>ਫ®¦¥¨¥ ¨á¯®«ì§ã¥â 0x1000 ¡ ©â ¯ ¬ïâ¨'
|
||||||
db ' '
|
db ' '
|
||||||
db 'Žâªàëâì BOARD ¤«ï ¯à®á¬®âà १ã«ìâ â '
|
db 'Žâªàëâì BOARD ¤«ï ¯à®á¬®âà १ã«ìâ â '
|
||||||
db ' '
|
db ' '
|
||||||
db ' CLI '
|
db ' CLI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' STI '
|
db ' STI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV [0x10000],BYTE 1 '
|
db ' MOV [0x10000],BYTE 1 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' JMP DWORD 0x10000 '
|
db ' JMP DWORD 0x10000 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV ESP,0 & PUSH EAX '
|
db ' MOV ESP,0 & PUSH EAX '
|
||||||
db ' '
|
db ' '
|
||||||
db ' IN Al,0x60 '
|
db ' IN Al,0x60 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' OUT 0x60,AL '
|
db ' OUT 0x60,AL '
|
||||||
db 'x'
|
db 'x'
|
||||||
else
|
else
|
||||||
text:
|
text:
|
||||||
db 'Application uses 0x1000 bytes of memory '
|
db 'Application uses 0x1000 bytes of memory '
|
||||||
db ' '
|
db ' '
|
||||||
db 'Open debug board for result information '
|
db 'Open debug board for result information '
|
||||||
db ' '
|
db ' '
|
||||||
db ' CLI '
|
db ' CLI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' STI '
|
db ' STI '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV [0x10000],BYTE 1 '
|
db ' MOV [0x10000],BYTE 1 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' JMP DWORD 0x10000 '
|
db ' JMP DWORD 0x10000 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' MOV ESP,0 & PUSH EAX '
|
db ' MOV ESP,0 & PUSH EAX '
|
||||||
db ' '
|
db ' '
|
||||||
db ' IN Al,0x60 '
|
db ' IN Al,0x60 '
|
||||||
db ' '
|
db ' '
|
||||||
db ' OUT 0x60,AL '
|
db ' OUT 0x60,AL '
|
||||||
db 'x'
|
db 'x'
|
||||||
end if
|
end if
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
if lang eq it
|
if lang eq it
|
||||||
tlabel:
|
tlabel:
|
||||||
db 'Kolibri prova di protezione',0
|
db 'Kolibri prova di protezione',0
|
||||||
else if lang eq ru
|
else if lang eq ru
|
||||||
tlabel:
|
tlabel:
|
||||||
db 'Kolibri ¯à®¢¥àª § é¨âë ï¤à ',0
|
db 'Kolibri ¯à®¢¥àª § é¨âë ï¤à ',0
|
||||||
else
|
else
|
||||||
tlabel:
|
tlabel:
|
||||||
db 'Kolibri protection test',0
|
db 'Kolibri protection test',0
|
||||||
end if
|
end if
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
I_END:
|
I_END:
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
rb 256
|
rb 256
|
||||||
stack_top:
|
stack_top:
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
IM_END:
|
IM_END:
|
||||||
|
Loading…
Reference in New Issue
Block a user