Skip to content

Instantly share code, notes, and snippets.

View gabonator's full-sized avatar
👨‍🏭
at work

Gabriel Valky gabonator

👨‍🏭
at work
View GitHub Profile
@gabonator
gabonator / code.c
Created February 7, 2023 20:14
Novation mini mk3 hack
#include <stdint.h>
#define LED_BUFFER ((uint32_t*)0x20000304)
#define REFRESH_BUFFER ((uint32_t*)0x20006754)
#define draw(p) { \
uint8_t f = (9 - p / 10) * 10 + p % 10; \
LED_BUFFER[f] = c; \
REFRESH_BUFFER[f] = REFRESH_BUFFER[f] & 0xF8; \
}
@gabonator
gabonator / convert.js
Created February 6, 2023 07:12
novation mini mk3 disassembly
var fs=require("fs");
var input = fs.readFileSync("input.s").toString().split("\n");
var re = new RegExp("^ ([0-9a-f]{7}):\t(.*?)\t(.*)$")
var undef32 = new RegExp("; <UNDEFINED> instruction: 0x([0-9a-f]{8})$");
var comment = new RegExp("^(.+\t.+\t);( .*)$")
var wrong = ["vrev64.32", "stmia", "movs r0, r0", "lsrs",
"vshr.u32", "illegal", "UNDEFINED", "<und>", ".s", ".u", "hlt ",
"vst2", "mrrc2", ".f", "cdp2", "bhi.n", "vtbl.8", "mrc", "mcr", "undefined",
@gabonator
gabonator / uefiprint.c
Created January 26, 2023 11:26
uefi debug print, debug anywhere or in release
#include <Library/SerialPortLib.h>
#include <Library/PrintLib.h>
VOID EFIAPI InternalPrintMessage(IN CONST CHAR8 *Format, ...)
{
CHAR8 Buffer[1024];
VA_LIST Marker;
VA_START (Marker, Format);
AsciiVSPrint (Buffer, sizeof (Buffer), Format, Marker);
VA_END (Marker);
@gabonator
gabonator / shizzolator.c
Created January 25, 2023 23:06
kvartus
int _ZN11CPT_MANAGER16determine_statusEv(int *param_1)
{
char cVar1;
byte bVar2;
int iVar3;
int **ppiVar4;
int iVar5;
int *piVar6;
undefined4 uVar7;
@gabonator
gabonator / literal.sh
Created January 11, 2023 17:16
raw string literal is evil!
# Raw string literals is evil! All types of line endings (\x0d\x0a, \x0d, \x0a) are
# converted into native line ending character (on linux "\x0a"). Contrary to this fact
# the documentation https://en.cppreference.com/w/cpp/language/string_literal says:
#
# ...Used to avoid escaping of any character. Anything between the delimiters
# becomes part of the string.
#
# Here is a proof, lets create 3 strings using various line ending characters/sequences
# inside raw string literal constant. Print out the length and contents for each
# The first is using \r\n sequence, second \x0d, third \x0a. So we would expect
@gabonator
gabonator / cicoemu.h
Created December 30, 2022 16:34
titus the fox - cicojit
#pragma once
#include <stdint.h>
#include <assert.h>
namespace CicoContext
{
class cicocontext_t {
public:
struct register_t
@gabonator
gabonator / cico.diff
Created December 29, 2022 22:43
cicoparser-jit test1
diff --git a/CicoJit/cicodis/cicodis/main.cpp b/CicoJit/cicodis/cicodis/main.cpp
index 8b93219..910b2b4 100644
--- a/CicoJit/cicodis/cicodis/main.cpp
+++ b/CicoJit/cicodis/cicodis/main.cpp
@@ -1,3 +1,12 @@
+/*
+ /Users/gabrielvalky/Documents/git/Projects/CicoJit/games/fox/GAME.EXE
+ start,1020:5dce,1020:476c,1020:4dfd,1020:4e87,1020:63f1,1020:63bf,1020:4d0b,1020:4748,1020:47b7,1020:47fa,1020:4df9,1020:47b7,1020:47d3,1020:5a04,1020:4e88,1020:4d0c,1020:4dc9,1020:4d10,1020:4db1,1020:4826,1020:4f03,1020:4e2e,1020:495b,1020:48cc,1020:48d6,1020:622e,1020:4833,1020:14e5,1020:157c,1020:147a,1020:147d,1020:1585,1020:14dd,1020:158c,1020:1591
+
+
@gabonator
gabonator / info.txt
Created December 25, 2022 09:59
cool led - flexible led matrix panel
Cool led flexible led panel
Product: 16x64 16x96 LED Matrix Panel Car Sign Scrolling Display BLE APP Control 5V 2A
Main MCU: artery at32f421
1x mw245b - https://cdn.datasheetspdf.com/pdf-down/M/W/2/MW245-Sunmoon.pdf - octal buffer (74HCT245D)
9x sm16206s - https://datasheet.lcsc.com/lcsc/2003131816_Shenzhen-Sunmoon-Micro-SM16206S_C121618.pdf - column controller 3x3x16
2x sm5166pf - https://www.waveshare.com/w/upload/8/8b/Sm5166p.pdf - row controller 2x8
Reverse powering:
@gabonator
gabonator / app_main.js
Created November 15, 2022 12:26
minimal wasm code
wasmCode = (() => { var wasmcode="AGFzbQEAAAABTw1gA39/fwF/YAN/f38AYAAAYAF/AGAAAX9gBn98f39/fwF/YAF/AX9gAnx/AXxgBH9/f38Bf2ACf38AYAJ+fwF/YAV/f39/fwBgAn9/AX8DFRQCAgIDBAcIAQYBCgsFAAwBAQQDBgQFAXABBAQFBgEBgAKAAgYVA38BQeCRwAILfwBBkBALfwBBkA8LB6MBCwZtZW1vcnkCAA5mb3JtYXRIZXhGbG9hdAABBWlucHV0AwEGb3V0cHV0AwIPZm9ybWF0SGV4RG91YmxlAAILX2luaXRpYWxpemUAABlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQAQX19lcnJub19sb2NhdGlvbgAECXN0YWNrU2F2ZQARDHN0YWNrUmVzdG9yZQASCnN0YWNrQWxsb2MAEwkJAQBBAQsDAAwNCvs/FAMAAQskAQF/IwBBEGsiACQAIABBkBAqAgC7OQMAIAAQAyAAQRBqJAALIwEBfyMAQRBrIgAkACAAQZAQKwMAOQMAIAAQAyAAQRBqJAALtgMBB38jAEEQayIEJAAgBCAANgIMIwBBoAFrIgMkACADQQhqIgFBoAxBkAEQDyADQZAPNgI0IANBkA82AhwgA0H/////BzYCOCADQY+PgIB4NgIkIANBj4+AgHg2AhgjAEHQAWsiAiQAIAIgADYCzAEgAkGgAWoiAEEAQSgQECACIAIoAswBNgLIAQJAQQAgAkHIAWogAkHQAGogABAGQQBIDQAgASgCTEEATiEFIAEoAgAhACABLABKQQBMBEAgASAAQV9xNgIACyAAQSBxIQYCfyABKAIwBEAgASACQcgBaiACQdAAaiACQaABahAGDAELIAFB0AA2AjAgASACQdAAaiIHNgIQIAEgAjYCHCABIAI2AhQgASgCLCEAIAEgAjYCLCABIAJByAFqIAcgAkGgAWoQBiAARQ0AGiABQQBBACABKAIkEQAAGiABQQ
@gabonator
gabonator / dupl.sh
Created October 27, 2022 14:24
duplicate images for
for v in {61..120}; do eval `printf "cp 0060.png %04d.png\n" "$v"`; done