#snes #memory #memory-address #pc #memory-map #conversion #game

bin+lib snes_address

一个用于转换 SNES 游戏内存地址的库

2 个版本

0.1.1 2022 年 10 月 24 日
0.1.0 2022 年 10 月 23 日

#469游戏

MIT 许可证

7KB
144

snes_address

用于在 PC 和 SNES 内存映射地址之间转换。

支持的内存映射转换

  • LoRom
  • HiRom
  • ExLoRom
  • ExHiRom 其他待添加...

用法

Rust 库

添加依赖项 https://crates.io/crates/snes_address

use snes_address::errors::AddressError;

fn lorom_to_pc(lorom_address: usize) -> Result<usize, AddressError> {
    snes_address::lorom_to_pc(lorom_address)
}

fn pc_to_lorom(pc_address: usize) -> Result<usize, AddressError> {
    snes_address::pc_to_lorom(pc_address)
}

共享库

待办事项:添加包装项目以编译为 so (linux)、dll (windows) 和 dylib (mac)

二进制文件

cargo安装 snes_address

Usage:");
    snes_address [option] <address_in_hex>

Options:
    -P2L: decompress
    -L2P: LoRom to PC

lib.rs:

snes_address 提供了在 PC 和 SNES 内存映射地址之间转换的函数

支持的内存映射转换

  • LoRom
  • HiRom
  • ExLoRom
  • ExHiRom 其他待添加...

示例

use snes_address::errors::AddressError;

fn lorom_to_pc(lorom_address: usize) -> Result<usize, AddressError> {
snes_address::lorom_to_pc(lorom_address)
}

fn compress_data(pc_address: usize) -> Result<usize, AddressError> {
snes_address::pc_to_lorom(pc_address)
}

依赖项

~300–770KB
~18K SLoC