Compare commits

..
4 Commits
Author SHA1 Message Date
SonicSwordcane db482b5c21 chore: Release lemur version 0.8.2 2025-09-02 09:29:52 -04:00
SonicSwordcane 3e90d7df6d Fix windows builds 2025-09-02 09:29:24 -04:00
SonicSwordcane 1cab6524a4 chore: Release lemur version 0.8.1 2025-09-02 00:34:16 -04:00
SonicSwordcane cd8ebab4bf Fix parsing vuengine elf files 2025-09-02 00:33:31 -04:00
4 changed files with 7 additions and 5 deletions
Generated
+1 -1
View File
@@ -2165,7 +2165,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "lemur" name = "lemur"
version = "0.8.0" version = "0.8.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"atoi", "atoi",
+1 -1
View File
@@ -4,7 +4,7 @@ description = "An emulator for the Virtual Boy."
repository = "https://git.virtual-boy.com/PVB/lemur" repository = "https://git.virtual-boy.com/PVB/lemur"
publish = false publish = false
license = "MIT" license = "MIT"
version = "0.8.0" version = "0.8.2"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
+1
View File
@@ -41,6 +41,7 @@ ENV PATH="/osxcross/bin:$PATH" \
SHROOMS_CFLAGS_x86_64-unknown-linux-gnu="-flto" \ SHROOMS_CFLAGS_x86_64-unknown-linux-gnu="-flto" \
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-fuse-ld=lld" \ CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-fuse-ld=lld" \
SHROOMS_CFLAGS_x86_64-pc-windows-msvc="-flto" \ SHROOMS_CFLAGS_x86_64-pc-windows-msvc="-flto" \
CFLAGS_x86_64-pc-windows-msvc="-I/xwin/crt/include -I/xwin/sdk/include/ucrt -I/xwin/sdk/include/um -I/xwin/sdk/include/shared" \
CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS="-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64 -Clinker-plugin-lto -Clink-arg=-fuse-ld=lld" \ CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS="-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64 -Clinker-plugin-lto -Clink-arg=-fuse-ld=lld" \
CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER="lld-link-20" \ CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER="lld-link-20" \
CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER="o64-clang" \ CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER="o64-clang" \
+4 -3
View File
@@ -86,12 +86,13 @@ fn parse_elf_program<Elf: object::read::elf::FileHeader<Endian = object::Endiann
let mut bytes = vec![]; let mut bytes = vec![];
let mut pstart = None; let mut pstart = None;
for phdr in header.program_headers(endian, data).ok()? { for phdr in header.program_headers(endian, data).ok()? {
if phdr.p_filesz(endian).into() == 0 { let pma = phdr.p_paddr(endian).into();
if pma < 0x07000000 || phdr.p_filesz(endian).into() == 0 {
continue; continue;
} }
let start = pstart.unwrap_or(phdr.p_paddr(endian).into()); let start = pstart.unwrap_or(pma);
pstart = Some(start); pstart = Some(start);
bytes.resize((phdr.p_paddr(endian).into() - start) as usize, 0); bytes.resize((pma - start) as usize, 0);
let data = phdr.data(endian, data).ok()?; let data = phdr.data(endian, data).ok()?;
bytes.extend_from_slice(data); bytes.extend_from_slice(data);
} }