Merge pull request #153 from ricfehr3/feature/add-version

Add git hash baked into ROM for bug reports
This commit is contained in:
MeirGavish
2025-09-27 21:41:09 +02:00
committed by GitHub
3 changed files with 44 additions and 1 deletions
+7 -1
View File
@@ -38,17 +38,23 @@ GRAPHICS := graphics
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ARCH := -mthumb -mthumb-interwork ARCH := -mthumb -mthumb-interwork
GIT_DIRTY := $(shell git diff-index --quiet HEAD -- || echo "-dirty")
GIT_HASH := $(shell git rev-parse --short HEAD || echo "undef")
GIT_C_FLAGS := -DGIT_HASH=\"$(GIT_HASH)\" -DGIT_DIRTY=\"$(GIT_DIRTY)\"
CFLAGS := -g -O3 -Wall -Werror\ CFLAGS := -g -O3 -Wall -Werror\
-mcpu=arm7tdmi -mtune=arm7tdmi \ -mcpu=arm7tdmi -mtune=arm7tdmi \
-ffast-math -fomit-frame-pointer -funroll-loops \ -ffast-math -fomit-frame-pointer -funroll-loops \
$(ARCH) $(ARCH)
CFLAGS += $(GIT_C_FLAGS)
CFLAGS += $(INCLUDE) CFLAGS += $(INCLUDE)
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH) ASFLAGS := -g $(ARCH)
LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $*.map) LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $*.map),--undefined=balatro_version
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env python3
import sys
import re
def grep_binary_offsets(path, pattern):
with open(path, "rb") as f:
data = f.read()
results = []
for match in re.finditer(rb"[ -~]{4,}", data):
s = match.group()
if re.search(pattern.encode(), s):
results.append((match.start(), s.decode("utf-8", errors="ignore")))
return results
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python script.py <file>")
sys.exit(1)
file_path = sys.argv[1]
pattern = "GBALATRO_VERSION"
for offset, text in grep_binary_offsets(file_path, pattern):
version = text.split(":")[1]
print(f"git hash: {version}")
+10
View File
@@ -0,0 +1,10 @@
#ifndef GIT_HASH
#define GIT_HASH "undef"
#endif
#ifndef GIT_DIRTY
#define GIT_DIRTY "-dirty"
#endif
__attribute__((section(".version"), used))
const char balatro_version[] = "GBALATRO_VERSION:" GIT_HASH GIT_DIRTY;