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.
@ -94,29 +94,25 @@ notest7:
|
|||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user