fix: pack -> pak

This commit is contained in:
Kevin K 2024-02-25 03:49:32 +01:00 committed by GitHub
parent 6f651209d4
commit 4ed6ae72d2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 53 additions and 53 deletions

View file

@ -103,7 +103,7 @@
"publisher": "Ubisoft",
"genre": "Racing",
"compatibility": "MINOR_ISSUES",
"notes": "Does not detect controller pack",
"notes": "Does not detect controller pak",
"path": "f1_pole_position.z64",
"date_tested": "2021-05-22"
},
@ -211,7 +211,7 @@
"publisher": "Titus",
"genre": "Racing",
"compatibility": "MINOR_ISSUES",
"notes": "Can't repair controller pack, works when I copy one repaired by another game.",
"notes": "Can't repair controller pak, works when I copy one repaired by another game.",
"path": "automobili_lamborghini.z64",
"date_tested": "2021-05-22"
},
@ -1411,7 +1411,7 @@
"publisher": "Iguana",
"genre": "FPS",
"compatibility": "BROKEN",
"notes": "hang when repairing controller pack, hang when going ingame",
"notes": "hang when repairing controller pak, hang when going ingame",
"path": "forsaken_64.z64",
"date_tested": "2021-05-30"
},
@ -1507,7 +1507,7 @@
"publisher": "Titus",
"genre": "Adventure",
"compatibility": "MINOR_ISSUES",
"notes": "Unable to repair controller pack, crackly audio",
"notes": "Unable to repair controller pak, crackly audio",
"path": "hercules.z64",
"date_tested": ""
},

View file

@ -170,7 +170,7 @@ void devices_init(n64_save_type_t save_type) {
joybus_devices[i].type = n64_settings.controller_port[i];
if (joybus_devices[i].type) {
// TODO: make this configurable
joybus_devices[i].controller.accessory_type = CONTROLLER_ACCESSORY_MEMPACK;
joybus_devices[i].controller.accessory_type = CONTROLLER_ACCESSORY_MEMPAK;
}
}

View file

@ -37,8 +37,8 @@ typedef enum n64_button {
typedef enum n64_controller_accessory_type {
CONTROLLER_ACCESSORY_NONE,
CONTROLLER_ACCESSORY_MEMPACK,
CONTROLLER_ACCESSORY_RUMBLE_PACK
CONTROLLER_ACCESSORY_MEMPAK,
CONTROLLER_ACCESSORY_RUMBLE_PAK
} n64_controller_accessory_type_t;
#define JOYAXIS_MIN INT16_MIN

View file

@ -2,7 +2,7 @@
#include <limits.h>
#define SAVE_DATA_DEBOUNCE_FRAMES 60
#define MEMPACK_SIZE 32768
#define MEMPAK_SIZE 32768
u32 sram_read_word() {
return 0xFFFFFFFF;
@ -322,9 +322,9 @@ void init_savedata(n64_mem_t* mem, const char* rom_path) {
}
void init_mempack(n64_mem_t* mem, const char* rom_path) {
if (mem->mempack_data == NULL) {
mem->mempack_data = load_backup_file(rom_path, ".mempak", MEMPACK_SIZE, mem->mempack_file_path, 0x00);
void init_mempak(n64_mem_t* mem, const char* rom_path) {
if (mem->mempak_data == NULL) {
mem->mempak_data = load_backup_file(rom_path, ".mempak", MEMPAK_SIZE, mem->mempak_file_path, 0x00);
}
}
@ -350,12 +350,12 @@ void persist_backup() {
n64sys.mem.save_data,
"save");
persist(&n64sys.mem.mempack_data_dirty,
&n64sys.mem.mempack_data_debounce_counter,
MEMPACK_SIZE,
n64sys.mem.mempack_file_path,
n64sys.mem.mempack_data,
"mempack");
persist(&n64sys.mem.mempak_data_dirty,
&n64sys.mem.mempak_data_debounce_counter,
MEMPAK_SIZE,
n64sys.mem.mempak_file_path,
n64sys.mem.mempak_data,
"mempak");
}
void force_persist_backup() {
@ -365,8 +365,8 @@ void force_persist_backup() {
should_persist = true;
}
if (n64sys.mem.mempack_data_dirty || n64sys.mem.mempack_data_debounce_counter > 0) {
n64sys.mem.mempack_data_debounce_counter = 0;
if (n64sys.mem.mempak_data_dirty || n64sys.mem.mempak_data_debounce_counter > 0) {
n64sys.mem.mempak_data_debounce_counter = 0;
should_persist = true;
}

View file

@ -11,7 +11,7 @@ u8 backup_read_byte(u32 index);
size_t get_save_size(n64_save_type_t save_type);
void init_savedata(n64_mem_t* mem, const char* rom_path);
void init_mempack(n64_mem_t* mem, const char* rom_path);
void init_mempak(n64_mem_t* mem, const char* rom_path);
void persist_backup();
void force_persist_backup();

View file

@ -5,7 +5,7 @@
void init_mem(n64_mem_t* mem) {
mem->save_data_dirty = false;
mem->save_data_debounce_counter = -1;
mem->mempack_data_debounce_counter = -1;
mem->mempak_data_debounce_counter = -1;
mem->ri_reg[RI_MODE_REG] = 0xE;
mem->ri_reg[RI_CONFIG_REG] = 0x40;

View file

@ -96,7 +96,7 @@ typedef struct n64_mem {
si_reg_t si_reg;
u8 pif_ram[PIF_RAM_SIZE];
char save_file_path[PATH_MAX];
char mempack_file_path[PATH_MAX];
char mempak_file_path[PATH_MAX];
n64_save_type_t save_type;
u8 isviewer_buffer[CART_ISVIEWER_SIZE];
@ -116,9 +116,9 @@ typedef struct n64_mem {
u8 write_buffer[128];
} flash;
u8* mempack_data;
bool mempack_data_dirty;
int mempack_data_debounce_counter;
u8* mempak_data;
bool mempak_data_dirty;
int mempak_data_debounce_counter;
} n64_mem_t;

View file

@ -9,13 +9,13 @@
#define PIF_COMMAND_CONTROLLER_ID 0x00
#define PIF_COMMAND_READ_BUTTONS 0x01
#define PIF_COMMAND_MEMPACK_READ 0x02
#define PIF_COMMAND_MEMPACK_WRITE 0x03
#define PIF_COMMAND_MEMPAK_READ 0x02
#define PIF_COMMAND_MEMPAK_WRITE 0x03
#define PIF_COMMAND_EEPROM_READ 0x04
#define PIF_COMMAND_EEPROM_WRITE 0x05
#define PIF_COMMAND_RESET 0xFF
#define MEMPACK_SIZE 0x8000
#define MEMPAK_SIZE 0x8000
#define CMD_CMDLEN_INDEX 0
#define CMD_RESLEN_INDEX 1
@ -449,8 +449,8 @@ u8 data_crc(const u8* data) {
}
INLINE void pif_mempack_read(u8* cmd, u8* res) {
init_mempack(&n64sys.mem, n64sys.rom_path);
INLINE void pif_mempak_read(u8* cmd, u8* res) {
init_mempak(&n64sys.mem, n64sys.rom_path);
// First two bytes in the command are the offset
u16 offset = CMD_DATA[0] << 8;
offset |= CMD_DATA[1];
@ -463,14 +463,14 @@ INLINE void pif_mempack_read(u8* cmd, u8* res) {
switch (get_controller_accessory_type(pif_channel)) {
case CONTROLLER_ACCESSORY_NONE:
break;
case CONTROLLER_ACCESSORY_MEMPACK:
if (offset <= MEMPACK_SIZE - 0x20) {
case CONTROLLER_ACCESSORY_MEMPAK:
if (offset <= MEMPAK_SIZE - 0x20) {
for (int i = 0; i < 32; i++) {
res[i] = n64sys.mem.mempack_data[offset + i];
res[i] = n64sys.mem.mempak_data[offset + i];
}
}
break;
case CONTROLLER_ACCESSORY_RUMBLE_PACK:
case CONTROLLER_ACCESSORY_RUMBLE_PAK:
for (int i = 0; i < 32; i++) {
res[i] = 0x80;
}
@ -481,7 +481,7 @@ INLINE void pif_mempack_read(u8* cmd, u8* res) {
res[32] = data_crc(&res[0]);
}
INLINE void pif_mempack_write(u8* cmd, u8* res) {
INLINE void pif_mempak_write(u8* cmd, u8* res) {
// First two bytes in the command are the offset
u16 offset = CMD_DATA[0] << 8;
offset |= CMD_DATA[1];
@ -494,18 +494,18 @@ INLINE void pif_mempack_write(u8* cmd, u8* res) {
switch (get_controller_accessory_type(pif_channel)) {
case CONTROLLER_ACCESSORY_NONE:
break;
case CONTROLLER_ACCESSORY_MEMPACK:
if (offset <= MEMPACK_SIZE - 0x20) {
init_mempack(&n64sys.mem, n64sys.rom_path);
case CONTROLLER_ACCESSORY_MEMPAK:
if (offset <= MEMPAK_SIZE - 0x20) {
init_mempak(&n64sys.mem, n64sys.rom_path);
bool data_changed = false;
for (int i = 0; i < 32; i++) {
data_changed |= (n64sys.mem.mempack_data[offset + i] != CMD_DATA[i + 2]);
n64sys.mem.mempack_data[offset + i] = CMD_DATA[i + 2];
data_changed |= (n64sys.mem.mempak_data[offset + i] != CMD_DATA[i + 2]);
n64sys.mem.mempak_data[offset + i] = CMD_DATA[i + 2];
}
n64sys.mem.mempack_data_dirty |= data_changed;
n64sys.mem.mempak_data_dirty |= data_changed;
}
break;
case CONTROLLER_ACCESSORY_RUMBLE_PACK: {
case CONTROLLER_ACCESSORY_RUMBLE_PAK: {
bool all_zeroes = true;
bool all_ones = true;
for (int i = 0; i < 32; i++) {
@ -636,15 +636,15 @@ void process_pif_command() {
unimplemented(reslen != 4, "Read buttons with reslen != 4");
pif_read_buttons(cmd, res);
break;
case PIF_COMMAND_MEMPACK_READ:
unimplemented(cmdlen != 3, "Mempack read with cmdlen != 3");
unimplemented(reslen != 33, "Mempack read with reslen != 33");
pif_mempack_read(cmd, res);
case PIF_COMMAND_MEMPAK_READ:
unimplemented(cmdlen != 3, "Mempak read with cmdlen != 3");
unimplemented(reslen != 33, "Mempak read with reslen != 33");
pif_mempak_read(cmd, res);
break;
case PIF_COMMAND_MEMPACK_WRITE:
unimplemented(cmdlen != 35, "Mempack write with cmdlen != 35");
unimplemented(reslen != 1, "Mempack write with reslen != 1");
pif_mempack_write(cmd, res);
case PIF_COMMAND_MEMPAK_WRITE:
unimplemented(cmdlen != 35, "Mempak write with cmdlen != 35");
unimplemented(reslen != 1, "Mempak write with reslen != 1");
pif_mempak_write(cmd, res);
break;
case PIF_COMMAND_EEPROM_READ:
unimplemented(cmdlen != 2, "EEPROM read with cmdlen != 2");

View file

@ -116,9 +116,9 @@ void reset_n64system() {
free(n64sys.mem.save_data);
n64sys.mem.save_data = NULL;
}
if (n64sys.mem.mempack_data != NULL) {
free(n64sys.mem.mempack_data);
n64sys.mem.mempack_data = NULL;
if (n64sys.mem.mempak_data != NULL) {
free(n64sys.mem.mempak_data);
n64sys.mem.mempak_data = NULL;
}
N64CPU.branch = false;
N64CPU.prev_branch = false;