Fix compilation on Linux + minor nits
This commit is contained in:
@@ -18,15 +18,15 @@ struct Disassembler {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
DisassemblyResult Disassemble(const u32 address, const u32 instruction) {
|
[[nodiscard]] DisassemblyResult Disassemble(const u32 address, const u32 instruction) const {
|
||||||
return details ? DisassembleDetailed(address, instruction) : DisassembleSimple(address, instruction);
|
return details ? DisassembleDetailed(address, instruction) : DisassembleSimple(address, instruction);
|
||||||
}
|
}
|
||||||
|
|
||||||
~Disassembler() { cs_close(&handle); }
|
~Disassembler() { cs_close(&handle); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const;
|
[[nodiscard]] DisassemblyResult DisassembleDetailed(u32 address, u32 instruction) const;
|
||||||
DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const;
|
[[nodiscard]] DisassemblyResult DisassembleSimple(u32 address, u32 instruction) const;
|
||||||
|
|
||||||
explicit Disassembler(const bool rsp) : rsp(rsp) {
|
explicit Disassembler(const bool rsp) : rsp(rsp) {
|
||||||
if (cs_open(CS_ARCH_MIPS, static_cast<cs_mode>((rsp ? CS_MODE_32 : CS_MODE_64) | CS_MODE_BIG_ENDIAN), &handle) !=
|
if (cs_open(CS_ARCH_MIPS, static_cast<cs_mode>((rsp ? CS_MODE_32 : CS_MODE_64) | CS_MODE_BIG_ENDIAN), &handle) !=
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include <Core.hpp>
|
#include <Core.hpp>
|
||||||
#include <Scheduler.hpp>
|
#include <Scheduler.hpp>
|
||||||
|
#include <cmath>
|
||||||
#include <core/mmio/PI.hpp>
|
#include <core/mmio/PI.hpp>
|
||||||
#include <log.hpp>
|
#include <log.hpp>
|
||||||
|
|
||||||
@@ -341,7 +342,7 @@ void PI::BusWrite<u32, true>(u32 addr, u32 val) {
|
|||||||
template <>
|
template <>
|
||||||
auto PI::BusRead<u64, false>(u32 addr) -> u64 {
|
auto PI::BusRead<u64, false>(u32 addr) -> u64 {
|
||||||
if (!ReadLatch()) [[unlikely]] {
|
if (!ReadLatch()) [[unlikely]] {
|
||||||
return (u64)latch << 32;
|
return static_cast<u64>(latch) << 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (addr) {
|
switch (addr) {
|
||||||
@@ -477,7 +478,7 @@ u32 PI::AccessTiming(const u8 domain, const u32 length) const {
|
|||||||
panic("Unknown PI domain: {}\n", domain);
|
panic("Unknown PI domain: {}\n", domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint32_t pages = ceil((double)length / page_size);
|
const uint32_t pages = ceil(static_cast<double>(length) / page_size);
|
||||||
|
|
||||||
cycles += (14 + latency) * pages;
|
cycles += (14 + latency) * pages;
|
||||||
cycles += (pulse_width + release) * (length / 2);
|
cycles += (pulse_width + release) * (length / 2);
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
#include <cstring>
|
||||||
#include <PIF/MupenMovie.hpp>
|
#include <PIF/MupenMovie.hpp>
|
||||||
#include <log.hpp>
|
#include <File.hpp>
|
||||||
#include "File.hpp"
|
#include <PIF.hpp>
|
||||||
#include "PIF.hpp"
|
|
||||||
|
|
||||||
union TASMovieControllerData {
|
union TASMovieControllerData {
|
||||||
struct {
|
struct {
|
||||||
@@ -36,7 +37,7 @@ bool MupenMovie::Load(const fs::path &path) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader));
|
std::memcpy(&loadedTasMovieHeader, loadedTasMovie.data(), sizeof(TASMovieHeader));
|
||||||
|
|
||||||
if (loadedTasMovieHeader.signature[0] != 0x4D || loadedTasMovieHeader.signature[1] != 0x36 ||
|
if (loadedTasMovieHeader.signature[0] != 0x4D || loadedTasMovieHeader.signature[1] != 0x36 ||
|
||||||
loadedTasMovieHeader.signature[2] != 0x34 || loadedTasMovieHeader.signature[3] != 0x1A) {
|
loadedTasMovieHeader.signature[2] != 0x34 || loadedTasMovieHeader.signature[3] != 0x1A) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ EmuThread::EmuThread(const std::shared_ptr<n64::Core> &core, double &fps, Render
|
|||||||
SettingsWindow &settings) noexcept :
|
SettingsWindow &settings) noexcept :
|
||||||
renderWidget(renderWidget), core(core), settings(settings), fps(fps) {}
|
renderWidget(renderWidget), core(core), settings(settings), fps(fps) {}
|
||||||
|
|
||||||
void EmuThread::run() noexcept {
|
void EmuThread::run() const noexcept {
|
||||||
if(!core->romLoaded) return;
|
if(!core->romLoaded) return;
|
||||||
|
|
||||||
auto lastSample = std::chrono::high_resolution_clock::now();
|
auto lastSample = std::chrono::high_resolution_clock::now();
|
||||||
@@ -34,9 +34,7 @@ void EmuThread::run() noexcept {
|
|||||||
oneSecondPassed = true;
|
oneSecondPassed = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lastSample = endFrameTime;
|
|
||||||
avgFps /= sampledFps;
|
avgFps /= sampledFps;
|
||||||
sampledFps = 0;
|
|
||||||
fps = 1000.0 / avgFps;
|
fps = 1000.0 / avgFps;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class EmuThread final {
|
|||||||
public:
|
public:
|
||||||
explicit EmuThread(const std::shared_ptr<n64::Core> &, double &, RenderWidget &, SettingsWindow &) noexcept;
|
explicit EmuThread(const std::shared_ptr<n64::Core> &, double &, RenderWidget &, SettingsWindow &) noexcept;
|
||||||
~EmuThread() = default;
|
~EmuThread() = default;
|
||||||
void run() noexcept;
|
void run() const noexcept;
|
||||||
void TogglePause() const noexcept;
|
void TogglePause() const noexcept;
|
||||||
void Reset() const noexcept;
|
void Reset() const noexcept;
|
||||||
void Stop() const noexcept;
|
void Stop() const noexcept;
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ void print(const std::format_string<Args...> fmt, Args... args) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define panic(fmt, ...) do { Util::print<Util::Error>("[FATAL] " fmt, __VA_ARGS__); exit(-1); } while(0)
|
#define panic(fmt, ...) do { Util::print<Util::Error>("[FATAL] " fmt __VA_OPT__(,) __VA_ARGS__); exit(-1); } while(0)
|
||||||
#define error(fmt, ...) do { Util::print<Util::Error>("[ERROR] " fmt, __VA_ARGS__); } while(0)
|
#define error(fmt, ...) do { Util::print<Util::Error>("[ERROR] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
#define warn(fmt, ...) do { Util::print<Util::Warn>("[WARN] " fmt, __VA_ARGS__); } while(0)
|
#define warn(fmt, ...) do { Util::print<Util::Warn>("[WARN] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
#define info(fmt, ...) do { Util::print<Util::Info>("[INFO] " fmt, __VA_ARGS__); } while(0)
|
#define info(fmt, ...) do { Util::print<Util::Info>("[INFO] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
#define debug(fmt, ...) do { Util::print<Util::Debug>("[DEBUG] " fmt, __VA_ARGS__); } while(0)
|
#define debug(fmt, ...) do { Util::print<Util::Debug>("[DEBUG] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
#define trace(fmt, ...) do { Util::print<Util::Trace>("[TRACE] " fmt, __VA_ARGS__); } while(0)
|
#define trace(fmt, ...) do { Util::print<Util::Trace>("[TRACE] " fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
#define always(fmt, ...) do { Util::print<Util::Always>(fmt, __VA_ARGS__); } while(0)
|
#define always(fmt, ...) do { Util::print<Util::Always>(fmt __VA_OPT__(,) __VA_ARGS__); } while(0)
|
||||||
} // namespace Util
|
} // namespace Util
|
||||||
|
|||||||
Reference in New Issue
Block a user