libjoybus
Joybus implementation for 32-bit MCUs
Loading...
Searching...
No Matches
n64_pak_fs.h
1
14
15#pragma once
16
17#include <stdbool.h>
18#include <stdint.h>
19
21
23#define JOYBUS_N64_PAK_FS_PAGE_SIZE 256
24
26#define JOYBUS_N64_PAK_FS_MAX_BANKS 62
27
29#define JOYBUS_N64_PAK_FS_SYSTEM_PAGES(banks) (3 + 2 * (banks))
30
37bool joybus_n64_pak_fs_is_id_block(uint16_t addr);
38
45uint8_t joybus_n64_pak_fs_id_banks(const uint8_t block[JOYBUS_N64_PAK_BLOCK_SIZE]);
46
54bool joybus_n64_pak_fs_valid(const uint8_t *bank0, uint8_t banks);
55
67int joybus_n64_pak_fs_format(uint8_t *bank0, uint8_t banks, uint32_t random);
68
Common definitions for N64 paks.
#define JOYBUS_N64_PAK_BLOCK_SIZE
Size of a pak read or write block in bytes.
Definition n64_pak.h:10
uint8_t joybus_n64_pak_fs_id_banks(const uint8_t block[JOYBUS_N64_PAK_BLOCK_SIZE])
Read the bank count an ID block names.
Definition n64_pak_fs.c:122
bool joybus_n64_pak_fs_is_id_block(uint16_t addr)
Check whether a block address in the first bank holds a copy of the ID.
Definition n64_pak_fs.c:111
int joybus_n64_pak_fs_format(uint8_t *bank0, uint8_t banks, uint32_t random)
Write a fresh filesystem for the given bank count into a bank.
Definition n64_pak_fs.c:127
bool joybus_n64_pak_fs_valid(const uint8_t *bank0, uint8_t banks)
Check whether a bank holds a filesystem for the given bank count.
Definition n64_pak_fs.c:99