mirror of
https://github.com/suchmememanyskill/TegraExplorer.git
synced 2024-11-26 05:42:07 +00:00
add old bad hexview
This commit is contained in:
parent
dfc02f9f81
commit
48ddc6ea60
3 changed files with 60 additions and 7 deletions
|
@ -109,12 +109,62 @@ void RenameFile(char *path, FSEntry_t entry){
|
||||||
free(renameTo);
|
free(renameTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is from the original TE and it's bad but uhh i'm too lazy to fix it
|
||||||
|
void HexView(char *path, FSEntry_t entry){
|
||||||
|
char *filePath = CombinePaths(path, entry.name);
|
||||||
|
|
||||||
|
FIL in;
|
||||||
|
u8 *print;
|
||||||
|
u32 size;
|
||||||
|
QWORD offset = 0;
|
||||||
|
int res;
|
||||||
|
Input_t *input = hidRead();
|
||||||
|
|
||||||
|
while (input->buttons & (BtnPow | JoyB))
|
||||||
|
hidRead();
|
||||||
|
|
||||||
|
gfx_clearscreen();
|
||||||
|
print = malloc(2048);
|
||||||
|
|
||||||
|
if ((res = f_open(&in, filePath, FA_READ | FA_OPEN_EXISTING))){
|
||||||
|
DrawError(newErrCode(res));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1){
|
||||||
|
f_lseek(&in, offset * 32);
|
||||||
|
|
||||||
|
if ((res = f_read(&in, print, 2048, &size))){
|
||||||
|
DrawError(newErrCode(res));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gfx_con_setpos(0, 31);
|
||||||
|
gfx_hexdump(offset * 32, print, size);
|
||||||
|
|
||||||
|
input = hidRead();
|
||||||
|
|
||||||
|
if (!(input->buttons))
|
||||||
|
input = hidWait();
|
||||||
|
|
||||||
|
if (input->down && 2048 == size)
|
||||||
|
offset += 2;
|
||||||
|
if (input->up && offset > 0)
|
||||||
|
offset -= 2;
|
||||||
|
if (input->buttons & (BtnPow | JoyB))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
f_close(&in);
|
||||||
|
free(print);
|
||||||
|
free(filePath);
|
||||||
|
}
|
||||||
|
|
||||||
fileMenuPath FileMenuPaths[] = {
|
fileMenuPath FileMenuPaths[] = {
|
||||||
CopyClipboard,
|
CopyClipboard,
|
||||||
MoveClipboard,
|
MoveClipboard,
|
||||||
RenameFile,
|
RenameFile,
|
||||||
DeleteFile,
|
DeleteFile,
|
||||||
UnimplementedException,
|
HexView,
|
||||||
LaunchPayload,
|
LaunchPayload,
|
||||||
RunScript
|
RunScript
|
||||||
};
|
};
|
||||||
|
|
|
@ -492,6 +492,8 @@ void gfx_putc_small(char c){
|
||||||
gfx_con.fntsz = 16;
|
gfx_con.fntsz = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define hexDumpLen 0x20
|
||||||
|
|
||||||
void gfx_hexdump(u32 base, const u8 *buf, u32 len)
|
void gfx_hexdump(u32 base, const u8 *buf, u32 len)
|
||||||
{
|
{
|
||||||
if (gfx_con.mute)
|
if (gfx_con.mute)
|
||||||
|
@ -501,14 +503,14 @@ void gfx_hexdump(u32 base, const u8 *buf, u32 len)
|
||||||
gfx_con.fntsz = 8;
|
gfx_con.fntsz = 8;
|
||||||
for(u32 i = 0; i < len; i++)
|
for(u32 i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
if(i % 0x10 == 0)
|
if(i % hexDumpLen == 0)
|
||||||
{
|
{
|
||||||
if(i != 0)
|
if(i != 0)
|
||||||
{
|
{
|
||||||
gfx_puts("| ");
|
gfx_puts("| ");
|
||||||
for(u32 j = 0; j < 0x10; j++)
|
for(u32 j = 0; j < hexDumpLen; j++)
|
||||||
{
|
{
|
||||||
u8 c = buf[i - 0x10 + j];
|
u8 c = buf[i - hexDumpLen + j];
|
||||||
if(c >= 32 && c <= 126)
|
if(c >= 32 && c <= 126)
|
||||||
gfx_putc(c);
|
gfx_putc(c);
|
||||||
else
|
else
|
||||||
|
@ -521,12 +523,12 @@ void gfx_hexdump(u32 base, const u8 *buf, u32 len)
|
||||||
gfx_printf("%02x ", buf[i]);
|
gfx_printf("%02x ", buf[i]);
|
||||||
if (i == len - 1)
|
if (i == len - 1)
|
||||||
{
|
{
|
||||||
int ln = len % 0x10 != 0;
|
int ln = len % hexDumpLen != 0;
|
||||||
u32 k = 0x10 - 1;
|
u32 k = hexDumpLen - 1;
|
||||||
if (ln)
|
if (ln)
|
||||||
{
|
{
|
||||||
k = (len & 0xF) - 1;
|
k = (len & 0xF) - 1;
|
||||||
for (u32 j = 0; j < 0x10 - k; j++)
|
for (u32 j = 0; j < hexDumpLen - k; j++)
|
||||||
gfx_puts(" ");
|
gfx_puts(" ");
|
||||||
}
|
}
|
||||||
gfx_puts("| ");
|
gfx_puts("| ");
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#define JoyLRight BIT(18)
|
#define JoyLRight BIT(18)
|
||||||
#define JoyLLeft BIT(19)
|
#define JoyLLeft BIT(19)
|
||||||
#define JoyLB BIT(22)
|
#define JoyLB BIT(22)
|
||||||
|
#define BtnPow BIT(24)
|
||||||
#define BtnVolP BIT(25)
|
#define BtnVolP BIT(25)
|
||||||
#define BtnVolM BIT(26)
|
#define BtnVolM BIT(26)
|
||||||
#define JoyRDown BIT(27)
|
#define JoyRDown BIT(27)
|
||||||
|
|
Loading…
Reference in a new issue