From df732a093b6f99a312970cfebecadb4dcc18e4a0 Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 6 Apr 2022 11:06:31 -0400 Subject: naomigd: Use swapendian_int64 instead of custom rev64 function --- src/mame/machine/naomigd.cpp | 20 ++------------------ src/mame/machine/naomigd.h | 1 - 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/src/mame/machine/naomigd.cpp b/src/mame/machine/naomigd.cpp index 0b80bd8d36d..70f7697cbbb 100644 --- a/src/mame/machine/naomigd.cpp +++ b/src/mame/machine/naomigd.cpp @@ -370,22 +370,6 @@ uint64_t naomi_gdrom_board::des_encrypt_decrypt(bool decrypt, uint64_t src, cons return (uint64_t(r) << 32) | uint64_t(l); } -uint64_t naomi_gdrom_board::rev64(uint64_t src) -{ - uint64_t ret; - - ret = ((src & 0x00000000000000ffULL) << 56) - | ((src & 0x000000000000ff00ULL) << 40) - | ((src & 0x0000000000ff0000ULL) << 24) - | ((src & 0x00000000ff000000ULL) << 8 ) - | ((src & 0x000000ff00000000ULL) >> 8 ) - | ((src & 0x0000ff0000000000ULL) >> 24) - | ((src & 0x00ff000000000000ULL) >> 40) - | ((src & 0xff00000000000000ULL) >> 56); - - return ret; -} - uint64_t naomi_gdrom_board::read_to_qword(const uint8_t *region) { uint64_t ret = 0; @@ -1027,11 +1011,11 @@ void naomi_gdrom_board::device_start() gdromfile->read_data(file_start + sec, &dimm_des_data[2048 * sec], cdrom_file::CD_TRACK_MODE1); uint32_t des_subkeys[32]; - des_generate_subkeys(rev64(key), des_subkeys); + des_generate_subkeys(swapendian_int64(key), des_subkeys); // decrypt read data from dimm_des_data to dimm_data for (int i = 0; i < file_rounded_size; i += 8) - write_from_qword(&dimm_data[i], rev64(des_encrypt_decrypt(true, rev64(read_to_qword(&dimm_des_data[i])), des_subkeys))); + write_from_qword(&dimm_data[i], swapendian_int64(des_encrypt_decrypt(true, swapendian_int64(read_to_qword(&dimm_des_data[i])), des_subkeys))); } delete gdromfile; diff --git a/src/mame/machine/naomigd.h b/src/mame/machine/naomigd.h index 8ee20e62c99..0f12ba69601 100644 --- a/src/mame/machine/naomigd.h +++ b/src/mame/machine/naomigd.h @@ -194,7 +194,6 @@ private: inline void permutate(uint32_t &a, uint32_t &b, uint32_t m, int shift); void des_generate_subkeys(const uint64_t key, uint32_t *subkeys); uint64_t des_encrypt_decrypt(bool decrypt, uint64_t src, const uint32_t *des_subkeys); - uint64_t rev64(uint64_t src); uint64_t read_to_qword(const uint8_t *region); void write_from_qword(uint8_t *region, uint64_t qword); }; -- cgit v1.2.3