remove byteswap in ultramodern

This commit is contained in:
Garrett Smith 2026-01-22 23:54:32 -08:00
parent 15ff1c0507
commit 315c69638b
2 changed files with 4 additions and 29 deletions

View file

@ -227,7 +227,7 @@ extern "C" s32 osPfsDeleteFile(RDRAM_ARG PTR(OSPfs) pfs_, u16 company_code, u32
return PFS_ERR_INVALID;
}
extern "C" s32 osPfsReadWriteFile(RDRAM_ARG PTR(OSPfs) pfs_, s32 file_no, u8 flag, int offset, int size_in_bytes, u8* data_buffer) {
extern "C" s32 osPfsReadWriteFile(RDRAM_ARG PTR(OSPfs) pfs_, s32 file_no, u8 flag, int offset, int nbytes, u8* data_buffer) {
pfs_state_t pak;
const auto filename = pfs_file_path(file_no);
@ -243,15 +243,12 @@ extern "C" s32 osPfsReadWriteFile(RDRAM_ARG PTR(OSPfs) pfs_, s32 file_no, u8 fla
return PFS_ERR_INVALID;
}
std::vector<u8> swap_buffer(size_in_bytes);
if (flag == 0) {
if (flag == PFS_READ) {
pak.file.seekg(offset, std::ios::beg);
pak.file.read((char*)swap_buffer.data(), size_in_bytes);
ByteSwapCopy(data_buffer, swap_buffer.data(), size_in_bytes);
pak.file.read((char*)data_buffer, nbytes);
} else {
ByteSwapCopy(swap_buffer.data(), data_buffer, size_in_bytes);
pak.file.seekp(offset, std::ios::beg);
pak.file.write((char*)swap_buffer.data(), size_in_bytes);
pak.file.write((const char*)data_buffer, nbytes);
}
pak.file.close();

View file

@ -105,27 +105,5 @@ void pfs_header_read(pfs_header_t& hdr, u8 file_index) {
pak.header.close();
}
void Pfs_ByteSwapFile(u8* buffer, size_t size) {
uint8_t c0, c1, c2, c3;
for (size_t i = 0; i < size; i += 4) {
c0 = buffer[i + 0];
c1 = buffer[i + 1];
c2 = buffer[i + 2];
c3 = buffer[i + 3];
buffer[i + 3] = c0;
buffer[i + 2] = c1;
buffer[i + 1] = c2;
buffer[i + 0] = c3;
}
}
void ByteSwapCopy(uint8_t* dst, const uint8_t* src, size_t nbytes) {
for (size_t i = 0; i < nbytes; i++) {
dst[i] = src[i ^ 3];
}
}
#endif // __ULTRAMODERN_PFS_HPP__