/programs/develop/backy/gcc_version/Backy-lib.h |
---|
File deleted |
Property changes: |
Deleted: svn:executable |
-* |
\ No newline at end of property |
/programs/develop/backy/gcc_version/Backy.c |
---|
9,38 → 9,6 |
* Works from command line, only! |
*/ |
// Copied from TCC |
char* strrev(char *p) |
{ |
char *q = p, *res = p, z; |
while(q && *q) ++q; /* find eos */ |
for(--q; p < q; ++p, --q) |
{ |
z = *p; |
*p = *q; |
*q = z; |
} |
return res; |
} |
char* itoab(unsigned int n, char* s, int b) |
{ |
char *ptr; |
int lowbit; |
ptr = s; |
b >>= 1; |
do { |
lowbit = n & 1; |
n = (n >> 1) & 0x7FFFFFFF; |
*ptr = ((n % b) << 1) + lowbit; |
if(*ptr < 10) *ptr += '0'; else *ptr += 55; |
++ptr; |
} while(n /= b); |
*ptr = 0; |
return strrev(s); |
} |
#define CREATION_DATE "2020.05.27" |
#include <stdlib.h> |
48,7 → 16,6 |
#include <string.h> |
#include "console_obj.h" |
#include "Backy_lang.h" |
#include "Backy_lib.h" |
int date = 0; |
421,6 → 388,7 |
return 13; |
} |
return checkStateOnSave(saveFile(length, data, 0, path_out)); |
saveFile(length, data, 0, path_out);//return checkStateOnSave(saveFile(length, data, 0, path_out)); |
} |
/programs/develop/backy/gcc_version/Backy_lib.h |
---|
6,6 → 6,37 |
#ifndef __Backy_lib_h__ |
#define __Backy_lib_h__ |
// Copied from TCC |
char* strrev(char *p) |
{ |
char *q = p, *res = p, z; |
while(q && *q) ++q; /* find eos */ |
for(--q; p < q; ++p, --q) |
{ |
z = *p; |
*p = *q; |
*q = z; |
} |
return res; |
} |
char* itoab(unsigned int n, char* s, int b) |
{ |
char *ptr; |
int lowbit; |
ptr = s; |
b >>= 1; |
do { |
lowbit = n & 1; |
n = (n >> 1) & 0x7FFFFFFF; |
*ptr = ((n % b) << 1) + lowbit; |
if(*ptr < 10) *ptr += '0'; else *ptr += 55; |
++ptr; |
} while(n /= b); |
*ptr = 0; |
return strrev(s); |
} |
/* |
typedef unsigned int uint32_t; |
typedef unsigned char uint8_t; |
43,37 → 74,34 |
return fd; |
} |
// FILE SAVING NOT WORKING |
/* |
struct saveFile__ |
struct saveFileStruct |
{ |
int num; |
int res_; |
int res; |
int nbyte; |
int p1; |
int p2; |
int p3; |
int p4; |
char* data_; |
int enc_; |
char* path_; |
char* p5; |
int p6; |
char* p7; |
}; |
*/ |
static inline int32_t saveFile(uint32_t nbytes, uint8_t *data, uint32_t enc, uint8_t *path) |
{ |
int32_t val; |
/* |
struct saveFile__ dt; |
//uint8_t dt[28]; // basic information structure. |
dt.num = 2; // subfunction number. |
dt.res_= 0; // reserved. |
dt.res = 0; // reserved. |
dt.nbyte = nbytes; // number of bytes to write. |
dt.data_ = data; // pointer to data. |
dt.enc_ = enc; // string encoding (0 = default, 1 = cp866, 2 = UTF-16LE, 3 = UTF-8). |
dt.path_ = path; // pointer to path. |
struct saveFileStruct dt; // basic information structure. |
__asm__ __volatile__("int $0x40":"=a"(val):"a"(80), "b"(&dt)); |
*/ |
dt.p1 = 2; // subfunction number. |
dt.p2= 0; // reserved. |
dt.p3 = 0; // reserved. |
dt.p4 = nbytes; // number of bytes to write. |
dt.p5 = data; // pointer to data. |
dt.p6 = enc; // string encoding (0 = default, 1 = cp866, 2 = UTF-16LE, 3 = UTF-8). |
dt.p7 = path; // pointer to path. |
__asm__ __volatile__("int $0x40":"=a"(val):"a"(80), "b"(&dt):"memory"); |
return val; |
} |
/programs/develop/backy/gcc_version/Makefile |
---|
9,19 → 9,17 |
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include |
LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib |
ifndef LANG_backy |
LANG_backy = lang_en |
ifndef LANG_ |
LANG_ = lang_en |
endif |
default: backy |
backy: $(OBJECTS) Makefile |
echo "#define $(LANG_backy)" > Backy_lang.h |
$(CC) $(CFLAGS) $(INCLUDES) -o Backy.o Backy.c |
$(CC) $(CFLAGS) $(INCLUDES) -D$(LANG_) -o Backy.o Backy.c |
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o Backy Backy.o -lgcc -lc.dll |
kos32-strip -s Backy -o Backy |
objcopy Backy -O binary |
rm Backy.o |
rm Backy_lang.h |
clean: |
rm Backy |
/programs/develop/backy/gcc_version/Tupfile.lua |
---|
0,0 → 1,12 |
if tup.getconfig("NO_GCC") ~= "" then return end |
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") |
tup.include(HELPERDIR .. "/use_gcc.lua") |
tup.include(HELPERDIR .. "/use_newlib.lua") |
if tup.getconfig("LANG") == "ru" |
then CFLAGS = CFLAGS .. " -Dlang_ru" |
else CFLAGS = CFLAGS .. " -Dlang_en" |
end |
compile_gcc{"backy.c"} |
link_gcc("backy") |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/programs/develop/backy/gcc_version/readme.txt |
---|
1,7 → 1,6 |
Port backy to gcc |
Files not working yet |
Languages: |
Eng: |
make |
Rus: |
env LANG_backy=lang_ru make |
env LANG_=lang_ru make |