1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2025-01-31 20:41:45 +01:00

EXCEPTION macro removed

fmt::throw_exception<> implemented
::narrow improved
Minor fixes
This commit is contained in:
Nekotekina 2016-08-08 19:01:06 +03:00
parent 46735d6b3d
commit a7e808b35b
198 changed files with 3025 additions and 2956 deletions

View File

@ -951,12 +951,6 @@ public:
return atomic_op(atomic_post_dec<type>{}); return atomic_op(atomic_post_dec<type>{});
} }
template<typename T2 = T>
auto test(const T2& rhs) const
{
return load().test(rhs);
}
template<typename T2 = T> template<typename T2 = T>
auto test_and_set(const T2& rhs) auto test_and_set(const T2& rhs)
{ {

View File

@ -12,7 +12,7 @@ namespace cfg
{ {
if (_type != type::node) if (_type != type::node)
{ {
throw std::logic_error("Invalid root node"); fmt::throw_exception<std::logic_error>("Invalid root node" HERE);
} }
} }
@ -21,7 +21,7 @@ namespace cfg
{ {
if (!owner.m_nodes.emplace(name, this).second) if (!owner.m_nodes.emplace(name, this).second)
{ {
throw std::logic_error("Node already exists"); fmt::throw_exception<std::logic_error>("Node already exists: %s" HERE, name);
} }
} }
@ -32,7 +32,7 @@ namespace cfg
return *static_cast<const node&>(*this).m_nodes.at(name); return *static_cast<const node&>(*this).m_nodes.at(name);
} }
throw std::logic_error("Invalid node type"); fmt::throw_exception<std::logic_error>("Invalid node type" HERE);
} }
entry_base& entry_base::operator[](const char* name) const entry_base& entry_base::operator[](const char* name) const
@ -42,7 +42,17 @@ namespace cfg
return *static_cast<const node&>(*this).m_nodes.at(name); return *static_cast<const node&>(*this).m_nodes.at(name);
} }
throw std::logic_error("Invalid node type"); fmt::throw_exception<std::logic_error>("Invalid node type" HERE);
}
bool entry_base::from_string(const std::string&)
{
fmt::throw_exception<std::logic_error>("from_string() purecall" HERE);
}
bool entry_base::from_list(std::vector<std::string>&&)
{
fmt::throw_exception<std::logic_error>("from_list() purecall" HERE);
} }
// Emit YAML // Emit YAML

View File

@ -69,10 +69,7 @@ namespace cfg
} }
// Try to convert from string (optional) // Try to convert from string (optional)
virtual bool from_string(const std::string&) virtual bool from_string(const std::string&);
{
throw std::logic_error("from_string() not specified");
}
// Get string list (optional) // Get string list (optional)
virtual std::vector<std::string> to_list() const virtual std::vector<std::string> to_list() const
@ -81,10 +78,7 @@ namespace cfg
} }
// Set multiple values. Implementation-specific, optional. // Set multiple values. Implementation-specific, optional.
virtual bool from_list(std::vector<std::string>&&) virtual bool from_list(std::vector<std::string>&&);
{
throw std::logic_error("from_list() not specified");
}
}; };
// Config tree node which contains another nodes // Config tree node which contains another nodes
@ -223,7 +217,7 @@ namespace cfg
} }
map_entry(node& owner, const std::string& name, std::size_t def_index, init_type init) map_entry(node& owner, const std::string& name, std::size_t def_index, init_type init)
: map_entry(owner, name, def_index < init.size() ? (init.begin() + def_index)->first : throw std::logic_error("Invalid default value index"), init) : map_entry(owner, name, (init.begin() + (def_index < init.size() ? def_index : 0))->first, init)
{ {
} }
@ -358,7 +352,7 @@ namespace cfg
{ {
if (value < Min || value > Max) if (value < Min || value > Max)
{ {
throw fmt::exception("Value out of the valid range: %lld" HERE, s64{ value }); fmt::throw_exception("Value out of the valid range: %lld" HERE, s64{ value });
} }
m_value = value; m_value = value;

View File

@ -18,13 +18,13 @@ static std::unique_ptr<wchar_t[]> to_wchar(const std::string& source)
{ {
const auto buf_size = source.size() + 1; // size + null terminator const auto buf_size = source.size() + 1; // size + null terminator
const int size = source.size() < INT_MAX ? static_cast<int>(buf_size) : throw fmt::exception("to_wchar(): invalid source length (0x%llx)", source.size()); const int size = source.size() < INT_MAX ? static_cast<int>(buf_size) : (fmt::throw_exception("to_wchar(): invalid source length (0x%llx)", source.size()), 0);
std::unique_ptr<wchar_t[]> buffer(new wchar_t[buf_size]); // allocate buffer assuming that length is the max possible size std::unique_ptr<wchar_t[]> buffer(new wchar_t[buf_size]); // allocate buffer assuming that length is the max possible size
if (!MultiByteToWideChar(CP_UTF8, 0, source.c_str(), size, buffer.get(), size)) if (!MultiByteToWideChar(CP_UTF8, 0, source.c_str(), size, buffer.get(), size))
{ {
throw fmt::exception("to_wchar(): MultiByteToWideChar() failed: error %u.", GetLastError()); fmt::throw_exception("to_wchar(): MultiByteToWideChar() failed: error %u.", GetLastError());
} }
return buffer; return buffer;
@ -34,7 +34,7 @@ static void to_utf8(std::string& result, const wchar_t* source)
{ {
const auto length = std::wcslen(source); const auto length = std::wcslen(source);
const int buf_size = length <= INT_MAX / 3 ? static_cast<int>(length) * 3 + 1 : throw fmt::exception("to_utf8(): invalid source length (0x%llx)", length); const int buf_size = length <= INT_MAX / 3 ? static_cast<int>(length) * 3 + 1 : (fmt::throw_exception("to_utf8(): invalid source length (0x%llx)", length), 0);
result.resize(buf_size); // set max possible length for utf-8 + null terminator result.resize(buf_size); // set max possible length for utf-8 + null terminator
@ -44,7 +44,7 @@ static void to_utf8(std::string& result, const wchar_t* source)
} }
else else
{ {
throw fmt::exception("to_utf8(): WideCharToMultiByte() failed: error %u.", GetLastError()); fmt::throw_exception("to_utf8(): WideCharToMultiByte() failed: error %u.", GetLastError());
} }
} }
@ -82,7 +82,7 @@ static fs::error to_error(DWORD e)
case ERROR_NEGATIVE_SEEK: return fs::error::inval; case ERROR_NEGATIVE_SEEK: return fs::error::inval;
case ERROR_DIRECTORY: return fs::error::inval; case ERROR_DIRECTORY: return fs::error::inval;
case ERROR_INVALID_NAME: return fs::error::inval; case ERROR_INVALID_NAME: return fs::error::inval;
default: throw fmt::exception("Unknown Win32 error: %u.", e); default: fmt::throw_exception("Unknown Win32 error: %u.", e);
} }
} }
@ -111,7 +111,7 @@ static fs::error to_error(int e)
case ENOENT: return fs::error::noent; case ENOENT: return fs::error::noent;
case EEXIST: return fs::error::exist; case EEXIST: return fs::error::exist;
case EINVAL: return fs::error::inval; case EINVAL: return fs::error::inval;
default: throw fmt::exception("Unknown system error: %d.", e); default: fmt::throw_exception("Unknown system error: %d.", e);
} }
} }
@ -465,7 +465,7 @@ bool fs::rename(const std::string& from, const std::string& to)
if (device != get_virtual_device(to)) if (device != get_virtual_device(to))
{ {
throw fmt::exception("fs::rename() between different devices not implemented.\nFrom: %s\nTo: %s", from, to); fmt::throw_exception("fs::rename() between different devices not implemented.\nFrom: %s\nTo: %s", from, to);
} }
if (device) if (device)
@ -498,7 +498,7 @@ bool fs::copy_file(const std::string& from, const std::string& to, bool overwrit
if (device != get_virtual_device(to) || device) // TODO if (device != get_virtual_device(to) || device) // TODO
{ {
throw fmt::exception("fs::copy_file() for virtual devices not implemented.\nFrom: %s\nTo: %s", from, to); fmt::throw_exception("fs::copy_file() for virtual devices not implemented.\nFrom: %s\nTo: %s", from, to);
} }
#ifdef _WIN32 #ifdef _WIN32
@ -622,12 +622,12 @@ bool fs::truncate_file(const std::string& path, u64 length)
void fs::file::xnull() const void fs::file::xnull() const
{ {
throw std::logic_error("fs::file is null"); fmt::throw_exception<std::logic_error>("fs::file is null");
} }
void fs::file::xfail() const void fs::file::xfail() const
{ {
throw fmt::exception("Unexpected fs::error %s", g_tls_error); fmt::throw_exception("Unexpected fs::error %s", g_tls_error);
} }
bool fs::file::open(const std::string& path, bs_t<open_mode> mode) bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
@ -694,7 +694,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
FILE_BASIC_INFO basic_info; FILE_BASIC_INFO basic_info;
if (!GetFileInformationByHandleEx(m_handle, FileBasicInfo, &basic_info, sizeof(FILE_BASIC_INFO))) if (!GetFileInformationByHandleEx(m_handle, FileBasicInfo, &basic_info, sizeof(FILE_BASIC_INFO)))
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
stat_t info; stat_t info;
@ -730,7 +730,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
if (!result || !SetFilePointerEx(m_handle, old, NULL, FILE_BEGIN)) // restore position if (!result || !SetFilePointerEx(m_handle, old, NULL, FILE_BEGIN)) // restore position
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
return result != FALSE; return result != FALSE;
@ -745,7 +745,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
DWORD nread; DWORD nread;
if (!ReadFile(m_handle, buffer, size, &nread, NULL)) if (!ReadFile(m_handle, buffer, size, &nread, NULL))
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
return nread; return nread;
@ -760,7 +760,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
DWORD nwritten; DWORD nwritten;
if (!WriteFile(m_handle, buffer, size, &nwritten, NULL)) if (!WriteFile(m_handle, buffer, size, &nwritten, NULL))
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
return nwritten; return nwritten;
@ -775,11 +775,11 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
whence == seek_set ? FILE_BEGIN : whence == seek_set ? FILE_BEGIN :
whence == seek_cur ? FILE_CURRENT : whence == seek_cur ? FILE_CURRENT :
whence == seek_end ? FILE_END : whence == seek_end ? FILE_END :
throw fmt::exception("Invalid whence (0x%x)" HERE, whence); (fmt::throw_exception("Invalid whence (0x%x)" HERE, whence), 0);
if (!SetFilePointerEx(m_handle, pos, &pos, mode)) if (!SetFilePointerEx(m_handle, pos, &pos, mode))
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
return pos.QuadPart; return pos.QuadPart;
@ -790,7 +790,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
LARGE_INTEGER size; LARGE_INTEGER size;
if (!GetFileSizeEx(m_handle, &size)) if (!GetFileSizeEx(m_handle, &size))
{ {
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
return size.QuadPart; return size.QuadPart;
@ -838,7 +838,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
struct ::stat file_info; struct ::stat file_info;
if (::fstat(m_fd, &file_info) != 0) if (::fstat(m_fd, &file_info) != 0)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
stat_t info; stat_t info;
@ -868,7 +868,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
const auto result = ::read(m_fd, buffer, count); const auto result = ::read(m_fd, buffer, count);
if (result == -1) if (result == -1)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
return result; return result;
@ -879,7 +879,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
const auto result = ::write(m_fd, buffer, count); const auto result = ::write(m_fd, buffer, count);
if (result == -1) if (result == -1)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
return result; return result;
@ -891,12 +891,12 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
whence == seek_set ? SEEK_SET : whence == seek_set ? SEEK_SET :
whence == seek_cur ? SEEK_CUR : whence == seek_cur ? SEEK_CUR :
whence == seek_end ? SEEK_END : whence == seek_end ? SEEK_END :
throw fmt::exception("Invalid whence (0x%x)" HERE, whence); (fmt::throw_exception("Invalid whence (0x%x)" HERE, whence), 0);
const auto result = ::lseek(m_fd, offset, mode); const auto result = ::lseek(m_fd, offset, mode);
if (result == -1) if (result == -1)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
return result; return result;
@ -907,7 +907,7 @@ bool fs::file::open(const std::string& path, bs_t<open_mode> mode)
struct ::stat file_info; struct ::stat file_info;
if (::fstat(m_fd, &file_info) != 0) if (::fstat(m_fd, &file_info) != 0)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
return file_info.st_size; return file_info.st_size;
@ -938,26 +938,27 @@ fs::file::file(const void* ptr, std::size_t size)
fs::stat_t stat() override fs::stat_t stat() override
{ {
throw std::logic_error("Not supported" HERE); fmt::throw_exception<std::logic_error>("Not supported" HERE);
} }
bool trunc(u64 length) override bool trunc(u64 length) override
{ {
throw std::logic_error("Not allowed" HERE); fmt::throw_exception<std::logic_error>("Not allowed" HERE);
} }
u64 read(void* buffer, u64 count) override u64 read(void* buffer, u64 count) override
{ {
const u64 start = m_pos; const u64 start = m_pos;
const u64 end = seek(count, fs::seek_cur); const u64 end = seek(count, fs::seek_cur);
const u64 read_size = end >= start ? end - start : throw std::logic_error("Stream overflow" HERE); if (end < start) fmt::throw_exception<std::logic_error>("Stream overflow" HERE);
const u64 read_size = end - start;
std::memcpy(buffer, m_ptr + start, read_size); std::memcpy(buffer, m_ptr + start, read_size);
return read_size; return read_size;
} }
u64 write(const void* buffer, u64 count) override u64 write(const void* buffer, u64 count) override
{ {
throw std::logic_error("Not allowed" HERE); fmt::throw_exception<std::logic_error>("Not allowed" HERE);
} }
u64 seek(s64 offset, fs::seek_mode whence) override u64 seek(s64 offset, fs::seek_mode whence) override
@ -966,7 +967,7 @@ fs::file::file(const void* ptr, std::size_t size)
whence == fs::seek_set ? m_pos = std::min<u64>(offset, m_size) : whence == fs::seek_set ? m_pos = std::min<u64>(offset, m_size) :
whence == fs::seek_cur ? m_pos = std::min<u64>(offset + m_pos, m_size) : whence == fs::seek_cur ? m_pos = std::min<u64>(offset + m_pos, m_size) :
whence == fs::seek_end ? m_pos = std::min<u64>(offset + m_size, m_size) : whence == fs::seek_end ? m_pos = std::min<u64>(offset + m_size, m_size) :
throw fmt::exception("Invalid whence (0x%x)" HERE, whence); (fmt::throw_exception("Invalid whence (0x%x)" HERE, whence), 0);
} }
u64 size() override u64 size() override
@ -980,7 +981,7 @@ fs::file::file(const void* ptr, std::size_t size)
void fs::dir::xnull() const void fs::dir::xnull() const
{ {
throw std::logic_error("fs::dir is null"); fmt::throw_exception<std::logic_error>("fs::dir is null");
} }
bool fs::dir::open(const std::string& path) bool fs::dir::open(const std::string& path)
@ -1052,7 +1053,7 @@ bool fs::dir::open(const std::string& path)
return false; return false;
} }
throw fmt::exception("Win32 error: %u." HERE, GetLastError()); fmt::throw_exception("Win32 error: %u." HERE, GetLastError());
} }
add_entry(found); add_entry(found);
@ -1104,7 +1105,7 @@ bool fs::dir::open(const std::string& path)
struct ::stat file_info; struct ::stat file_info;
if (::fstatat(::dirfd(m_dd), found->d_name, &file_info, 0) != 0) if (::fstatat(::dirfd(m_dd), found->d_name, &file_info, 0) != 0)
{ {
throw fmt::exception("System error: %d." HERE, errno); fmt::throw_exception("System error: %d." HERE, errno);
} }
info.name = found->d_name; info.name = found->d_name;

View File

@ -80,7 +80,7 @@ struct MemoryManager final : llvm::RTDyldMemoryManager
[[noreturn]] static void null() [[noreturn]] static void null()
{ {
throw std::runtime_error("Null function" HERE); fmt::throw_exception("Null function" HERE);
} }
virtual u64 getSymbolAddress(const std::string& name) override virtual u64 getSymbolAddress(const std::string& name) override
@ -237,7 +237,7 @@ jit_compiler::jit_compiler(std::unique_ptr<llvm::Module>&& _module, std::unorder
if (!m_engine) if (!m_engine)
{ {
throw fmt::exception("LLVM: Failed to create ExecutionEngine: %s", result); fmt::throw_exception("LLVM: Failed to create ExecutionEngine: %s", result);
} }
m_engine->setProcessAllSections(true); // ??? m_engine->setProcessAllSections(true); // ???

View File

@ -112,7 +112,7 @@ logs::file_writer::file_writer(const std::string& name)
{ {
if (!m_file.open(fs::get_config_dir() + name, fs::rewrite + fs::append)) if (!m_file.open(fs::get_config_dir() + name, fs::rewrite + fs::append))
{ {
throw fmt::exception("Can't create log file %s (error %s)", name, fs::g_tls_error); fmt::throw_exception("Can't create log file %s (error %s)", name, fs::g_tls_error);
} }
} }
catch (...) catch (...)

View File

@ -71,7 +71,7 @@ namespace logs
{ {
if (UNLIKELY(sev <= enabled)) if (UNLIKELY(sev <= enabled))
{ {
message{this, sev}.broadcast(fmt, fmt_type_info::get<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...}); message{this, sev}.broadcast(fmt, fmt::get_type_info<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...});
} }
} }

View File

@ -1,41 +1,6 @@
#pragma once #pragma once
#include <cstdint> #include "types.h"
#include <exception>
template<typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
constexpr T align(const T& value, std::uint64_t align)
{
return static_cast<T>((value + (align - 1)) & ~(align - 1));
}
template<typename To, typename From>
constexpr To narrow_impl(const To& result, const From& value, const char* message)
{
return static_cast<From>(result) != value ? throw std::runtime_error(message) : result;
}
// Narrow cast (similar to gsl::narrow) with fixed message
template<typename To, typename From>
constexpr auto narrow(const From& value, const char* fixed_msg = "::narrow() failed") -> decltype(static_cast<To>(static_cast<From>(std::declval<To>())))
{
return narrow_impl(static_cast<To>(value), value, fixed_msg);
}
// Return 32 bit .size() for container
template<typename CT>
constexpr auto size32(const CT& container, const char* fixed_msg = "::size32() failed") -> decltype(static_cast<std::uint32_t>(container.size()))
{
return narrow<std::uint32_t>(container.size(), fixed_msg);
}
// Return 32 bit size for an array
template<typename T, std::size_t Size>
constexpr std::uint32_t size32(const T(&)[Size])
{
static_assert(Size <= UINT32_MAX, "size32() error: too big");
return static_cast<std::uint32_t>(Size);
}
#define CHECK_SIZE(type, size) static_assert(sizeof(type) == size, "Invalid " #type " type size") #define CHECK_SIZE(type, size) static_assert(sizeof(type) == size, "Invalid " #type " type size")
#define CHECK_ALIGN(type, align) static_assert(alignof(type) == align, "Invalid " #type " type alignment") #define CHECK_ALIGN(type, align) static_assert(alignof(type) == align, "Invalid " #type " type alignment")
@ -71,12 +36,12 @@ constexpr std::uint32_t size32(const T(&)[Size])
#define HERE "\n(in file " __FILE__ ":" STRINGIZE(__LINE__) ")" #define HERE "\n(in file " __FILE__ ":" STRINGIZE(__LINE__) ")"
// Ensure that the expression is evaluated to true. Always evaluated and allowed to have side effects (unlike assert() macro). // Ensure that the expression is evaluated to true. Always evaluated and allowed to have side effects (unlike assert() macro).
#define VERIFY(expr) do { if (!(expr)) throw std::runtime_error("Verification failed: " #expr HERE); } while (0) #define VERIFY(expr) do { if (!(expr)) fmt::raw_error("Verification failed: " #expr HERE); } while (0)
// EXPECTS() and ENSURES() are intended to check function arguments and results. // EXPECTS() and ENSURES() are intended to check function arguments and results.
// Expressions are not guaranteed to evaluate. // Expressions are not guaranteed to evaluate.
#define EXPECTS(expr) do { if (!(expr)) throw std::runtime_error("Precondition failed: " #expr HERE); } while (0) #define EXPECTS(expr) do { if (!(expr)) fmt::raw_error("Precondition failed: " #expr HERE); } while (0)
#define ENSURES(expr) do { if (!(expr)) throw std::runtime_error("Postcondition failed: " #expr HERE); } while (0) #define ENSURES(expr) do { if (!(expr)) fmt::raw_error("Postcondition failed: " #expr HERE); } while (0)
#define DECLARE(...) decltype(__VA_ARGS__) __VA_ARGS__ #define DECLARE(...) decltype(__VA_ARGS__) __VA_ARGS__

View File

@ -128,6 +128,52 @@ void fmt_class_string<v128>::format(std::string& out, u64 arg)
namespace fmt namespace fmt
{ {
void raw_error(const char* msg)
{
std::string out;
out += "Error: ";
out += msg;
throw std::runtime_error(out);
}
void raw_narrow_error(const char* msg, const fmt_type_info* sup, u64 arg)
{
std::string out;
out += "Narrow error: (";
sup->fmt_string(out, arg); // Print value
out += ")";
if (msg)
{
out += " ";
out += msg;
}
throw std::range_error(out);
}
// Hidden template
template<typename T>
void raw_throw_exception(const char* fmt, const fmt_type_info* sup, const u64* args)
{
std::string out;
raw_append(out, fmt, sup, args);
throw T{out};
}
// Explicit instantiations (not exhaustive)
template void raw_throw_exception<std::runtime_error>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::logic_error>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::domain_error>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::invalid_argument>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::out_of_range>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::range_error>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::overflow_error>(const char*, const fmt_type_info*, const u64*);
template void raw_throw_exception<std::underflow_error>(const char*, const fmt_type_info*, const u64*);
struct cfmt_src; struct cfmt_src;
} }
@ -191,13 +237,6 @@ void fmt::raw_append(std::string& out, const char* fmt, const fmt_type_info* sup
cfmt_append(out, fmt, cfmt_src{sup, args}); cfmt_append(out, fmt, cfmt_src{sup, args});
} }
char* fmt::alloc_format(const char* fmt, const fmt_type_info* sup, const u64* args) noexcept
{
std::string str;
raw_append(str, fmt, sup, args);
return static_cast<char*>(std::memcpy(std::malloc(str.size() + 1), str.data(), str.size() + 1));
}
std::string fmt::replace_first(const std::string& src, const std::string& from, const std::string& to) std::string fmt::replace_first(const std::string& src, const std::string& from, const std::string& to)
{ {
auto pos = src.find(from); auto pos = src.find(from);

View File

@ -2,7 +2,6 @@
#include <exception> #include <exception>
#include <string> #include <string>
#include <memory>
#include "Platform.h" #include "Platform.h"
#include "types.h" #include "types.h"
@ -212,18 +211,6 @@ struct fmt_type_info
&fmt_class_string<T>::format, &fmt_class_string<T>::format,
}; };
} }
template<typename... Args>
static inline const fmt_type_info* get()
{
// Constantly initialized null-terminated list of type-specific information
static constexpr fmt_type_info result[sizeof...(Args) + 1]
{
make<Args>()...
};
return result;
}
}; };
template<typename Arg> template<typename Arg>
@ -235,6 +222,18 @@ using fmt_args_t = const u64(&&)[sizeof...(Args) + 1];
namespace fmt namespace fmt
{ {
template<typename... Args>
const fmt_type_info* get_type_info()
{
// Constantly initialized null-terminated list of type-specific information
static constexpr fmt_type_info result[sizeof...(Args) + 1]
{
fmt_type_info::make<Args>()...
};
return result;
}
// Internal formatting function // Internal formatting function
void raw_append(std::string& out, const char*, const fmt_type_info*, const u64*) noexcept; void raw_append(std::string& out, const char*, const fmt_type_info*, const u64*) noexcept;
@ -242,7 +241,7 @@ namespace fmt
template<typename... Args> template<typename... Args>
static SAFE_BUFFERS void append(std::string& out, const char* fmt, const Args&... args) static SAFE_BUFFERS void append(std::string& out, const char* fmt, const Args&... args)
{ {
raw_append(out, fmt, fmt_type_info::get<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...}); raw_append(out, fmt, fmt::get_type_info<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...});
} }
// Formatting function // Formatting function
@ -254,24 +253,14 @@ namespace fmt
return result; return result;
} }
// Internal helper function // Internal exception message formatting template, must be explicitly specialized or instantiated in cpp to minimize code bloat
char* alloc_format(const char*, const fmt_type_info*, const u64*) noexcept; template<typename T>
[[noreturn]] void raw_throw_exception(const char*, const fmt_type_info*, const u64*);
// Exception type with formatting constructor // Throw exception with formatting
template<typename Base> template<typename T = std::runtime_error, typename... Args>
class exception_t : public Base [[noreturn]] SAFE_BUFFERS FORCE_INLINE void throw_exception(const char* fmt, const Args&... args)
{ {
using base = Base; raw_throw_exception<T>(fmt, fmt::get_type_info<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...});
}
public:
template<typename... Args>
SAFE_BUFFERS exception_t(const char* fmt, const Args&... args)
: base((fmt = alloc_format(fmt, fmt_type_info::get<fmt_unveil_t<Args>...>(), fmt_args_t<Args...>{fmt_unveil<Args>::get(args)...})))
{
std::free(const_cast<char*>(fmt));
}
};
// Exception type derived from std::runtime_error with formatting constructor
using exception = exception_t<std::runtime_error>;
} }

View File

@ -27,14 +27,18 @@ namespace gsl
enum class byte : u8; enum class byte : u8;
} }
namespace fmt
{
}
// Formatting helper, type-specific preprocessing for improving safety and functionality // Formatting helper, type-specific preprocessing for improving safety and functionality
template<typename T, typename = void> template<typename T, typename = void>
struct fmt_unveil; struct fmt_unveil;
struct fmt_type_info;
namespace fmt
{
template<typename... Args>
const fmt_type_info* get_type_info();
}
template<typename T, std::size_t Align = alignof(T), std::size_t Size = sizeof(T)> template<typename T, std::size_t Align = alignof(T), std::size_t Size = sizeof(T)>
struct se_storage; struct se_storage;
@ -410,6 +414,84 @@ struct ignore
} }
}; };
template<typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
constexpr T align(const T& value, std::uint64_t align)
{
return static_cast<T>((value + (align - 1)) & ~(align - 1));
}
namespace fmt
{
[[noreturn]] void raw_error(const char* msg);
[[noreturn]] void raw_narrow_error(const char* msg, const fmt_type_info* sup, u64 arg);
}
// Narrow cast (throws on failure)
template<typename To = void, typename From, typename = decltype(static_cast<To>(std::declval<From>()))>
inline To narrow(const From& value, const char* msg = nullptr)
{
// Allow "narrowing to void" and ensure it always fails in this case
auto&& result = static_cast<std::conditional_t<std::is_void<To>::value, From, To>>(value);
if (std::is_void<To>::value || static_cast<From>(result) != value)
{
// Pack value as formatting argument
fmt::raw_narrow_error(msg, fmt::get_type_info<typename fmt_unveil<From>::type>(), fmt_unveil<From>::get(value));
}
return static_cast<std::conditional_t<std::is_void<To>::value, void, decltype(result)>>(result);
}
// Returns u32 size() for container
template<typename CT, typename = decltype(static_cast<u32>(std::declval<CT>().size()))>
inline u32 size32(const CT& container, const char* msg = nullptr)
{
return narrow<u32>(container.size(), msg);
}
// Returns u32 size for an array
template<typename T, std::size_t Size>
constexpr u32 size32(const T(&)[Size], const char* msg = nullptr)
{
return static_cast<u32>(Size);
}
template<typename T1, typename = std::enable_if_t<std::is_integral<T1>::value>>
constexpr bool test(const T1& value)
{
return value != 0;
}
template<typename T1, typename T2, typename = std::enable_if_t<std::is_integral<T1>::value && std::is_integral<T2>::value>>
constexpr bool test(const T1& lhs, const T2& rhs)
{
return (lhs & rhs) != 0;
}
template<typename T, typename T2, typename = std::enable_if_t<std::is_integral<T>::value && std::is_integral<T2>::value>>
inline bool test_and_set(T& lhs, const T2& rhs)
{
const bool result = (lhs & rhs) != 0;
lhs |= rhs;
return result;
}
template<typename T, typename T2, typename = std::enable_if_t<std::is_integral<T>::value && std::is_integral<T2>::value>>
inline bool test_and_reset(T& lhs, const T2& rhs)
{
const bool result = (lhs & rhs) != 0;
lhs &= ~rhs;
return result;
}
template<typename T, typename T2, typename = std::enable_if_t<std::is_integral<T>::value && std::is_integral<T2>::value>>
inline bool test_and_complement(T& lhs, const T2& rhs)
{
const bool result = (lhs & rhs) != 0;
lhs ^= rhs;
return result;
}
// Simplified hash algorithm for pointers. May be used in std::unordered_(map|set). // Simplified hash algorithm for pointers. May be used in std::unordered_(map|set).
template<typename T, std::size_t Align = alignof(T)> template<typename T, std::size_t Align = alignof(T)>
struct pointer_hash struct pointer_hash

View File

@ -14,7 +14,7 @@ namespace utils
case version_type::release: return "Release"; case version_type::release: return "Release";
} }
throw type; return "Unknown";
} }
uint version::to_hex() const uint version::to_hex() const

View File

@ -59,7 +59,7 @@ XAudio2Thread::XAudio2Thread()
return; return;
} }
throw fmt::exception("No supported XAudio2 library found"); fmt::throw_exception("No supported XAudio2 library found");
} }
XAudio2Thread::~XAudio2Thread() XAudio2Thread::~XAudio2Thread()

View File

@ -106,28 +106,28 @@ public:
} }
default: default:
{ {
throw EXCEPTION("Unknown type (0x%x)", type); fmt::throw_exception("Unknown type (0x%x)" HERE, type);
} }
} }
if (!codec) if (!codec)
{ {
throw EXCEPTION("avcodec_find_decoder() failed"); fmt::throw_exception("avcodec_find_decoder() failed" HERE);
} }
if (!input_format) if (!input_format)
{ {
throw EXCEPTION("av_find_input_format() failed"); fmt::throw_exception("av_find_input_format() failed" HERE);
} }
fmt = avformat_alloc_context(); fmt = avformat_alloc_context();
if (!fmt) if (!fmt)
{ {
throw EXCEPTION("avformat_alloc_context() failed"); fmt::throw_exception("avformat_alloc_context() failed" HERE);
} }
io_buf = (u8*)av_malloc(4096); io_buf = (u8*)av_malloc(4096);
fmt->pb = avio_alloc_context(io_buf, 256, 0, this, adecRead, NULL, NULL); fmt->pb = avio_alloc_context(io_buf, 256, 0, this, adecRead, NULL, NULL);
if (!fmt->pb) if (!fmt->pb)
{ {
throw EXCEPTION("avio_alloc_context() failed"); fmt::throw_exception("avio_alloc_context() failed" HERE);
} }
} }
@ -260,7 +260,7 @@ public:
err = avformat_open_input(&fmt, NULL, input_format, &opts); err = avformat_open_input(&fmt, NULL, input_format, &opts);
if (err || opts) if (err || opts)
{ {
throw EXCEPTION("avformat_open_input() failed (err=0x%x, opts=%d)", err, opts ? 1 : 0); fmt::throw_exception("avformat_open_input() failed (err=0x%x, opts=%d)" HERE, err, opts ? 1 : 0);
} }
//err = avformat_find_stream_info(fmt, NULL); //err = avformat_find_stream_info(fmt, NULL);
//if (err || !fmt->nb_streams) //if (err || !fmt->nb_streams)
@ -269,7 +269,7 @@ public:
//} //}
if (!avformat_new_stream(fmt, codec)) if (!avformat_new_stream(fmt, codec))
{ {
throw EXCEPTION("avformat_new_stream() failed"); fmt::throw_exception("avformat_new_stream() failed" HERE);
} }
ctx = fmt->streams[0]->codec; // TODO: check data ctx = fmt->streams[0]->codec; // TODO: check data
@ -282,7 +282,7 @@ public:
} }
if (err || opts) if (err || opts)
{ {
throw EXCEPTION("avcodec_open2() failed (err=0x%x, opts=%d)", err, opts ? 1 : 0); fmt::throw_exception("avcodec_open2() failed (err=0x%x, opts=%d)" HERE, err, opts ? 1 : 0);
} }
just_started = false; just_started = false;
} }
@ -326,7 +326,7 @@ public:
if (!frame.data) if (!frame.data)
{ {
throw EXCEPTION("av_frame_alloc() failed"); fmt::throw_exception("av_frame_alloc() failed" HERE);
} }
int got_frame = 0; int got_frame = 0;
@ -360,7 +360,7 @@ public:
case AV_SAMPLE_FMT_S16P: break; case AV_SAMPLE_FMT_S16P: break;
default: default:
{ {
throw EXCEPTION("Unsupported frame format(%d)", frame.data->format); fmt::throw_exception("Unsupported frame format(%d)" HERE, frame.data->format);
} }
} }
frame.auAddr = task.au.addr; frame.auAddr = task.au.addr;
@ -390,7 +390,7 @@ public:
default: default:
{ {
throw EXCEPTION("Unknown task(%d)", (u32)task.type); fmt::throw_exception("Unknown task(%d)" HERE, (u32)task.type);
} }
} }
} }
@ -817,7 +817,7 @@ s32 cellAdecGetPcm(u32 handle, vm::ptr<float> outBuffer)
} }
else else
{ {
throw EXCEPTION("Unsupported frame format (channels=%d, format=%d)", frame->channels, frame->format); fmt::throw_exception("Unsupported frame format (channels=%d, format=%d)" HERE, frame->channels, frame->format);
} }
} }

View File

@ -208,7 +208,7 @@ void audio_config::on_task()
} }
else else
{ {
throw EXCEPTION("Unknown channel count (port=%u, channel=%d)", port.number, port.channel); fmt::throw_exception("Unknown channel count (port=%u, channel=%d)" HERE, port.number, port.channel);
} }
memset(buf, 0, block_size * sizeof(float)); memset(buf, 0, block_size * sizeof(float));
@ -461,7 +461,7 @@ s32 cellAudioGetPortConfig(u32 portNum, vm::ptr<CellAudioPortConfig> portConfig)
case audio_port_state::closed: portConfig->status = CELL_AUDIO_STATUS_CLOSE; break; case audio_port_state::closed: portConfig->status = CELL_AUDIO_STATUS_CLOSE; break;
case audio_port_state::opened: portConfig->status = CELL_AUDIO_STATUS_READY; break; case audio_port_state::opened: portConfig->status = CELL_AUDIO_STATUS_READY; break;
case audio_port_state::started: portConfig->status = CELL_AUDIO_STATUS_RUN; break; case audio_port_state::started: portConfig->status = CELL_AUDIO_STATUS_RUN; break;
default: throw fmt::exception("Invalid port state (%d: %d)", portNum, (u32)state); default: fmt::throw_exception("Invalid port state (%d: %d)", portNum, (u32)state);
} }
portConfig->nChannel = port.channel; portConfig->nChannel = port.channel;
@ -492,7 +492,7 @@ s32 cellAudioPortStart(u32 portNum)
case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_OPEN; case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_OPEN;
case audio_port_state::started: return CELL_AUDIO_ERROR_PORT_ALREADY_RUN; case audio_port_state::started: return CELL_AUDIO_ERROR_PORT_ALREADY_RUN;
case audio_port_state::opened: return CELL_OK; case audio_port_state::opened: return CELL_OK;
default: throw fmt::exception("Invalid port state (%d: %d)", portNum, (u32)state); default: fmt::throw_exception("Invalid port state (%d: %d)", portNum, (u32)state);
} }
} }
@ -517,7 +517,7 @@ s32 cellAudioPortClose(u32 portNum)
case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_OPEN; case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_OPEN;
case audio_port_state::started: return CELL_OK; case audio_port_state::started: return CELL_OK;
case audio_port_state::opened: return CELL_OK; case audio_port_state::opened: return CELL_OK;
default: throw fmt::exception("Invalid port state (%d: %d)", portNum, (u32)state); default: fmt::throw_exception("Invalid port state (%d: %d)", portNum, (u32)state);
} }
} }
@ -542,7 +542,7 @@ s32 cellAudioPortStop(u32 portNum)
case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_RUN; case audio_port_state::closed: return CELL_AUDIO_ERROR_PORT_NOT_RUN;
case audio_port_state::started: return CELL_OK; case audio_port_state::started: return CELL_OK;
case audio_port_state::opened: return CELL_AUDIO_ERROR_PORT_NOT_RUN; case audio_port_state::opened: return CELL_AUDIO_ERROR_PORT_NOT_RUN;
default: throw fmt::exception("Invalid port state (%d: %d)", portNum, (u32)state); default: fmt::throw_exception("Invalid port state (%d: %d)", portNum, (u32)state);
} }
} }

View File

@ -230,12 +230,12 @@ s32 cellAudioOutSetCopyControl(u32 audioOut, u32 control)
s32 cellAudioOutRegisterCallback() s32 cellAudioOutRegisterCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioOutUnregisterCallback() s32 cellAudioOutUnregisterCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -12,32 +12,32 @@ vm::gvar<f32> g_gamma; // TODO
s32 cellAudioOutUnregisterDevice() s32 cellAudioOutUnregisterDevice()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioOutGetDeviceInfo2() s32 cellAudioOutGetDeviceInfo2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutSetXVColor() s32 cellVideoOutSetXVColor()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutSetupDisplay() s32 cellVideoOutSetupDisplay()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioInGetDeviceInfo() s32 cellAudioInGetDeviceInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutConvertCursorColor() s32 cellVideoOutConvertCursorColor()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutGetGamma(u32 videoOut, vm::ptr<f32> gamma) s32 cellVideoOutGetGamma(u32 videoOut, vm::ptr<f32> gamma)
@ -56,12 +56,12 @@ s32 cellVideoOutGetGamma(u32 videoOut, vm::ptr<f32> gamma)
s32 cellAudioInGetAvailableDeviceInfo() s32 cellAudioInGetAvailableDeviceInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioOutGetAvailableDeviceInfo() s32 cellAudioOutGetAvailableDeviceInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutSetGamma(u32 videoOut, f32 gamma) s32 cellVideoOutSetGamma(u32 videoOut, f32 gamma)
@ -85,27 +85,27 @@ s32 cellVideoOutSetGamma(u32 videoOut, f32 gamma)
s32 cellAudioOutRegisterDevice() s32 cellAudioOutRegisterDevice()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioOutSetDeviceMode() s32 cellAudioOutSetDeviceMode()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioInSetDeviceMode() s32 cellAudioInSetDeviceMode()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioInRegisterDevice() s32 cellAudioInRegisterDevice()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellAudioInUnregisterDevice() s32 cellAudioInUnregisterDevice()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutGetScreenSize(u32 videoOut, vm::ptr<float> screenSize) s32 cellVideoOutGetScreenSize(u32 videoOut, vm::ptr<float> screenSize)

View File

@ -7,262 +7,262 @@ logs::channel cellDaisy("cellDaisy", logs::level::notice);
s32 _ZN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE() s32 _ZN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij() s32 _ZN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock15completeConsumeEj() s32 _QN4cell5Daisy4Lock15completeConsumeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy9_snprintfEPcjPKcz() s32 _QN4cell5Daisy9_snprintfEPcjPKcz()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock7popOpenEv() s32 _ZN4cell5Daisy4Lock7popOpenEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj() s32 _ZN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlock7releaseEv() s32 _ZN4cell5Daisy22ScatterGatherInterlock7releaseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock7popOpenEv() s32 _QN4cell5Daisy4Lock7popOpenEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh() s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh() s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy9_snprintfEPcjPKcz() s32 _ZN4cell5Daisy9_snprintfEPcjPKcz()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej() s32 _ZN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock18getNextHeadPointerEv() s32 _ZN4cell5Daisy4Lock18getNextHeadPointerEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock10initializeEj() s32 _ZN4cell5Daisy4Lock10initializeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh() s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock15completeProduceEj() s32 _ZN4cell5Daisy4Lock15completeProduceEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E() s32 _QN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE() s32 _QN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock8popCloseEv() s32 _QN4cell5Daisy4Lock8popCloseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock8popCloseEv() s32 _ZN4cell5Daisy4Lock8popCloseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockD2Ev() s32 _ZN4cell5Daisy22ScatterGatherInterlockD2Ev()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij() s32 _QN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock18getNextTailPointerEv() s32 _ZN4cell5Daisy4Lock18getNextTailPointerEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock8pushOpenEv() s32 _ZN4cell5Daisy4Lock8pushOpenEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej() s32 _QN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock9pushCloseEv() s32 _ZN4cell5Daisy4Lock9pushCloseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockD2Ev() s32 _QN4cell5Daisy22ScatterGatherInterlockD2Ev()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E() s32 _QN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockD1Ev() s32 _ZN4cell5Daisy22ScatterGatherInterlockD1Ev()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock10initializeEj() s32 _QN4cell5Daisy4Lock10initializeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock15completeProduceEj() s32 _QN4cell5Daisy4Lock15completeProduceEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE() s32 _ZN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E() s32 _ZN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE() s32 _QN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv() s32 _QN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh() s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy4Lock15completeConsumeEj() s32 _ZN4cell5Daisy4Lock15completeConsumeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv() s32 _ZN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock18getNextHeadPointerEv() s32 _QN4cell5Daisy4Lock18getNextHeadPointerEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock9pushCloseEv() s32 _QN4cell5Daisy4Lock9pushCloseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj() s32 _QN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy22ScatterGatherInterlock5probeEj() s32 _ZN4cell5Daisy22ScatterGatherInterlock5probeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock8pushOpenEv() s32 _QN4cell5Daisy4Lock8pushOpenEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlock5probeEj() s32 _QN4cell5Daisy22ScatterGatherInterlock5probeEj()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlockD1Ev() s32 _QN4cell5Daisy22ScatterGatherInterlockD1Ev()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _ZN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E() s32 _ZN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy4Lock18getNextTailPointerEv() s32 _QN4cell5Daisy4Lock18getNextTailPointerEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _QN4cell5Daisy22ScatterGatherInterlock7releaseEv() s32 _QN4cell5Daisy22ScatterGatherInterlock7releaseEv()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -252,7 +252,7 @@ public:
{ {
if (!stream.check(14)) if (!stream.check(14))
{ {
throw EXCEPTION("End of stream (PACK_START_CODE)"); fmt::throw_exception("End of stream (PACK_START_CODE)" HERE);
} }
stream.skip(14); stream.skip(14);
break; break;
@ -262,7 +262,7 @@ public:
{ {
if (!stream.check(18)) if (!stream.check(18))
{ {
throw EXCEPTION("End of stream (SYSTEM_HEADER_START_CODE)"); fmt::throw_exception("End of stream (SYSTEM_HEADER_START_CODE)" HERE);
} }
stream.skip(18); stream.skip(18);
break; break;
@ -272,14 +272,14 @@ public:
{ {
if (!stream.check(6)) if (!stream.check(6))
{ {
throw EXCEPTION("End of stream (PADDING_STREAM)"); fmt::throw_exception("End of stream (PADDING_STREAM)" HERE);
} }
stream.skip(4); stream.skip(4);
stream.get(len); stream.get(len);
if (!stream.check(len)) if (!stream.check(len))
{ {
throw EXCEPTION("End of stream (PADDING_STREAM, len=%d)", len); fmt::throw_exception("End of stream (PADDING_STREAM, len=%d)" HERE, len);
} }
stream.skip(len); stream.skip(len);
break; break;
@ -289,7 +289,7 @@ public:
{ {
if (!stream.check(6)) if (!stream.check(6))
{ {
throw EXCEPTION("End of stream (PRIVATE_STREAM_2)"); fmt::throw_exception("End of stream (PRIVATE_STREAM_2)" HERE);
} }
stream.skip(4); stream.skip(4);
stream.get(len); stream.get(len);
@ -298,7 +298,7 @@ public:
if (!stream.check(len)) if (!stream.check(len))
{ {
throw EXCEPTION("End of stream (PRIVATE_STREAM_2, len=%d)", len); fmt::throw_exception("End of stream (PRIVATE_STREAM_2, len=%d)" HERE, len);
} }
stream.skip(len); stream.skip(len);
break; break;
@ -311,32 +311,32 @@ public:
if (!stream.check(6)) if (!stream.check(6))
{ {
throw EXCEPTION("End of stream (PRIVATE_STREAM_1)"); fmt::throw_exception("End of stream (PRIVATE_STREAM_1)" HERE);
} }
stream.skip(4); stream.skip(4);
stream.get(len); stream.get(len);
if (!stream.check(len)) if (!stream.check(len))
{ {
throw EXCEPTION("End of stream (PRIVATE_STREAM_1, len=%d)", len); fmt::throw_exception("End of stream (PRIVATE_STREAM_1, len=%d)" HERE, len);
} }
const PesHeader pes(stream); const PesHeader pes(stream);
if (!pes.is_ok) if (!pes.is_ok)
{ {
throw EXCEPTION("PesHeader error (PRIVATE_STREAM_1, len=%d)", len); fmt::throw_exception("PesHeader error (PRIVATE_STREAM_1, len=%d)" HERE, len);
} }
if (len < pes.size + 4) if (len < pes.size + 4)
{ {
throw EXCEPTION("End of block (PRIVATE_STREAM_1, PesHeader + fid_minor, len=%d)", len); fmt::throw_exception("End of block (PRIVATE_STREAM_1, PesHeader + fid_minor, len=%d)" HERE, len);
} }
len -= pes.size + 4; len -= pes.size + 4;
u8 fid_minor; u8 fid_minor;
if (!stream.get(fid_minor)) if (!stream.get(fid_minor))
{ {
throw EXCEPTION("End of stream (PRIVATE_STREAM1, fid_minor)"); fmt::throw_exception("End of stream (PRIVATE_STREAM1, fid_minor)" HERE);
} }
const u32 ch = fid_minor % 16; const u32 ch = fid_minor % 16;
@ -352,7 +352,7 @@ public:
if (len < 3 || !stream.check(3)) if (len < 3 || !stream.check(3))
{ {
throw EXCEPTION("End of block (ATX, unknown header, len=%d)", len); fmt::throw_exception("End of block (ATX, unknown header, len=%d)" HERE, len);
} }
len -= 3; len -= 3;
stream.skip(3); stream.skip(3);
@ -374,7 +374,7 @@ public:
if (data[0] != 0x0f || data[1] != 0xd0) if (data[0] != 0x0f || data[1] != 0xd0)
{ {
throw EXCEPTION("ATX: 0x0fd0 header not found (ats=0x%llx)", *(be_t<u64>*)data); fmt::throw_exception("ATX: 0x0fd0 header not found (ats=0x%llx)" HERE, *(be_t<u64>*)data);
} }
u32 frame_size = ((((u32)data[2] & 0x3) << 8) | (u32)data[3]) * 8 + 8; u32 frame_size = ((((u32)data[2] & 0x3) << 8) | (u32)data[3]) * 8 + 8;
@ -411,25 +411,25 @@ public:
if (!stream.check(6)) if (!stream.check(6))
{ {
throw EXCEPTION("End of stream (video, code=0x%x)", code); fmt::throw_exception("End of stream (video, code=0x%x)" HERE, code);
} }
stream.skip(4); stream.skip(4);
stream.get(len); stream.get(len);
if (!stream.check(len)) if (!stream.check(len))
{ {
throw EXCEPTION("End of stream (video, code=0x%x, len=%d)", code, len); fmt::throw_exception("End of stream (video, code=0x%x, len=%d)" HERE, code, len);
} }
const PesHeader pes(stream); const PesHeader pes(stream);
if (!pes.is_ok) if (!pes.is_ok)
{ {
throw EXCEPTION("PesHeader error (video, code=0x%x, len=%d)", code, len); fmt::throw_exception("PesHeader error (video, code=0x%x, len=%d)" HERE, code, len);
} }
if (len < pes.size + 3) if (len < pes.size + 3)
{ {
throw EXCEPTION("End of block (video, code=0x%x, PesHeader)", code); fmt::throw_exception("End of block (video, code=0x%x, PesHeader)" HERE, code);
} }
len -= pes.size + 3; len -= pes.size + 3;
@ -482,7 +482,7 @@ public:
{ {
if ((code & PACKET_START_CODE_MASK) == PACKET_START_CODE_PREFIX) if ((code & PACKET_START_CODE_MASK) == PACKET_START_CODE_PREFIX)
{ {
throw EXCEPTION("Unknown code found (0x%x)", code); fmt::throw_exception("Unknown code found (0x%x)" HERE, code);
} }
// search // search
@ -572,7 +572,7 @@ public:
//} //}
//else //else
{ {
throw EXCEPTION("dmuxEnableEs: unknown filter (0x%x, 0x%x, 0x%x, 0x%x)", es.fidMajor, es.fidMinor, es.sup1, es.sup2); fmt::throw_exception("dmuxEnableEs: unknown filter (0x%x, 0x%x, 0x%x, 0x%x)" HERE, es.fidMajor, es.fidMinor, es.sup1, es.sup2);
} }
es.dmux = this; es.dmux = this;
break; break;
@ -583,7 +583,7 @@ public:
ElementaryStream& es = *task.es.es_ptr; ElementaryStream& es = *task.es.es_ptr;
if (es.dmux != this) if (es.dmux != this)
{ {
throw EXCEPTION("dmuxDisableEs: invalid elementary stream"); fmt::throw_exception("dmuxDisableEs: invalid elementary stream" HERE);
} }
for (u32 i = 0; i < sizeof(esALL) / sizeof(esALL[0]); i++) for (u32 i = 0; i < sizeof(esALL) / sizeof(esALL[0]); i++)
@ -648,7 +648,7 @@ public:
default: default:
{ {
throw EXCEPTION("Demuxer thread error: unknown task (0x%x)", (u32)task.type); fmt::throw_exception("Demuxer thread error: unknown task (0x%x)" HERE, (u32)task.type);
} }
} }
} }
@ -668,15 +668,15 @@ PesHeader::PesHeader(DemuxerStream& stream)
u16 header; u16 header;
if (!stream.get(header)) if (!stream.get(header))
{ {
throw EXCEPTION("End of stream (header)"); fmt::throw_exception("End of stream (header)" HERE);
} }
if (!stream.get(size)) if (!stream.get(size))
{ {
throw EXCEPTION("End of stream (size)"); fmt::throw_exception("End of stream (size)" HERE);
} }
if (!stream.check(size)) if (!stream.check(size))
{ {
throw EXCEPTION("End of stream (size=%d)", size); fmt::throw_exception("End of stream (size=%d)" HERE, size);
} }
u8 pos = 0; u8 pos = 0;
@ -760,7 +760,7 @@ bool ElementaryStream::is_full(u32 space)
u32 first = 0; u32 first = 0;
if (!entries.peek(first, 0, &dmux->is_closed) || !first) if (!entries.peek(first, 0, &dmux->is_closed) || !first)
{ {
throw std::runtime_error("entries.peek() failed" HERE); fmt::throw_exception("entries.peek() failed" HERE);
} }
else if (first >= put) else if (first >= put)
{ {

View File

@ -577,167 +577,167 @@ s32 cellFontGetCharGlyphMetricsVertical()
s32 cellFontGetRenderEffectWeight() s32 cellFontGetRenderEffectWeight()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGraphicsGetDrawType() s32 cellFontGraphicsGetDrawType()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetKerning() s32 cellFontGetKerning()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetRenderScaledKerning() s32 cellFontGetRenderScaledKerning()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetRenderScalePixel() s32 cellFontGetRenderScalePixel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphGetScalePixel() s32 cellFontGlyphGetScalePixel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphGetHorizontalShift() s32 cellFontGlyphGetHorizontalShift()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontRenderCharGlyphImageHorizontal() s32 cellFontRenderCharGlyphImageHorizontal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetEffectWeight() s32 cellFontGetEffectWeight()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetScalePixel() s32 cellFontGetScalePixel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontClearFileCache() s32 cellFontClearFileCache()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontAdjustFontScaling() s32 cellFontAdjustFontScaling()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontSetupRenderScalePoint() s32 cellFontSetupRenderScalePoint()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphGetVerticalShift() s32 cellFontGlyphGetVerticalShift()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetGlyphExpandBufferInfo() s32 cellFontGetGlyphExpandBufferInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetLibrary() s32 cellFontGetLibrary()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontVertexesGlyphRelocate() s32 cellFontVertexesGlyphRelocate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetInitializedRevisionFlags() s32 cellFontGetInitializedRevisionFlags()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetResolutionDpi() s32 cellFontGetResolutionDpi()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphRenderImageVertical() s32 cellFontGlyphRenderImageVertical()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphRenderImageHorizontal() s32 cellFontGlyphRenderImageHorizontal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontAdjustGlyphExpandBuffer() s32 cellFontAdjustGlyphExpandBuffer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetRenderScalePoint() s32 cellFontGetRenderScalePoint()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGraphicsGetFontRGBA() s32 cellFontGraphicsGetFontRGBA()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphGetOutlineVertexes() s32 cellFontGlyphGetOutlineVertexes()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontDelete() s32 cellFontDelete()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontPatchWorks() s32 cellFontPatchWorks()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGlyphRenderImage() s32 cellFontGlyphRenderImage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetBindingRenderer() s32 cellFontGetBindingRenderer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGenerateCharGlyphVertical() s32 cellFontGenerateCharGlyphVertical()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetRenderEffectSlant() s32 cellFontGetRenderEffectSlant()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGetScalePoint() s32 cellFontGetScalePoint()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFontGraphicsGetLineRGBA() s32 cellFontGraphicsGetLineRGBA()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -843,42 +843,42 @@ s32 cellFsSetIoBufferFromDefaultContainer(u32 fd, u32 buffer_size, u32 page_type
s32 cellFsUtime() s32 cellFsUtime()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsArcadeHddSerialNumber() s32 cellFsArcadeHddSerialNumber()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsAllocateFileAreaWithInitialData() s32 cellFsAllocateFileAreaWithInitialData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsAllocateFileAreaByFdWithoutZeroFill() s32 cellFsAllocateFileAreaByFdWithoutZeroFill()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsSetIoBuffer() s32 cellFsSetIoBuffer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsAllocateFileAreaByFdWithInitialData() s32 cellFsAllocateFileAreaByFdWithInitialData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsTruncate2() s32 cellFsTruncate2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsChangeFileSizeWithoutAllocation() s32 cellFsChangeFileSizeWithoutAllocation()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsAllocateFileAreaWithoutZeroFill(vm::cptr<char> path, u64 size) s32 cellFsAllocateFileAreaWithoutZeroFill(vm::cptr<char> path, u64 size)
@ -890,22 +890,22 @@ s32 cellFsAllocateFileAreaWithoutZeroFill(vm::cptr<char> path, u64 size)
s32 cellFsChangeFileSizeByFdWithoutAllocation() s32 cellFsChangeFileSizeByFdWithoutAllocation()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsSetDiscReadRetrySetting() s32 cellFsSetDiscReadRetrySetting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsRegisterConversionCallback() s32 cellFsRegisterConversionCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellFsUnregisterL10nCallbacks() s32 cellFsUnregisterL10nCallbacks()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -118,38 +118,38 @@ s32 cellHddGameCheck(ppu_thread& ppu, u32 version, vm::cptr<char> dirName, u32 e
s32 cellHddGameCheck2() s32 cellHddGameCheck2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellHddGameGetSizeKB() s32 cellHddGameGetSizeKB()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellHddGameSetSystemVer() s32 cellHddGameSetSystemVer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellHddGameExitBroken() s32 cellHddGameExitBroken()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameDataGetSizeKB() s32 cellGameDataGetSizeKB()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameDataSetSystemVer() s32 cellGameDataSetSystemVer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameDataExitBroken() s32 cellGameDataExitBroken()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
@ -311,7 +311,7 @@ ppu_error_code cellGameContentPermit(vm::ptr<char[CELL_GAME_PATH_MAX]> contentIn
} }
else else
{ {
throw fmt::exception("cellGameContentPermit(): failed to rename to %s", dir); fmt::throw_exception("cellGameContentPermit(): failed to rename to %s", dir);
} }
// Create PARAM.SFO // Create PARAM.SFO

View File

@ -7,7 +7,7 @@ logs::channel cellGameExec("cellGameExec", logs::level::notice);
s32 cellGameSetExitParam() s32 cellGameSetExitParam()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameGetHomeDataExportPath(vm::ptr<char> exportPath) s32 cellGameGetHomeDataExportPath(vm::ptr<char> exportPath)
@ -21,17 +21,17 @@ s32 cellGameGetHomeDataExportPath(vm::ptr<char> exportPath)
s32 cellGameGetHomePath() s32 cellGameGetHomePath()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameGetHomeDataImportPath() s32 cellGameGetHomeDataImportPath()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameGetHomeLaunchOptionPath() s32 cellGameGetHomeLaunchOptionPath()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameGetBootGameInfo(vm::ptr<u32> type, vm::ptr<char> dirName, vm::ptr<u32> execData) s32 cellGameGetBootGameInfo(vm::ptr<u32> type, vm::ptr<char> dirName, vm::ptr<u32> execData)

View File

@ -617,7 +617,7 @@ void cellGcmSetUserHandler(vm::ptr<void(u32)> handler)
s32 cellGcmSetUserCommand() s32 cellGcmSetUserCommand()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void cellGcmSetVBlankHandler(vm::ptr<void(u32)> handler) void cellGcmSetVBlankHandler(vm::ptr<void(u32)> handler)
@ -638,7 +638,7 @@ s32 cellGcmSetWaitFlip(vm::ptr<CellGcmContextData> ctxt)
s32 cellGcmSetWaitFlipUnsafe() s32 cellGcmSetWaitFlipUnsafe()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmSetZcull(u8 index, u32 offset, u32 width, u32 height, u32 cullStart, u32 zFormat, u32 aaFormat, u32 zCullDir, u32 zCullFormat, u32 sFunc, u32 sRef, u32 sMask) s32 cellGcmSetZcull(u8 index, u32 offset, u32 width, u32 height, u32 cullStart, u32 zFormat, u32 aaFormat, u32 zCullDir, u32 zCullFormat, u32 sFunc, u32 sRef, u32 sMask)
@ -725,7 +725,7 @@ s32 cellGcmGetCurrentDisplayBufferId(vm::ptr<u8> id)
if ((*id = fxm::get<GSRender>()->gcm_current_buffer) > UINT8_MAX) if ((*id = fxm::get<GSRender>()->gcm_current_buffer) > UINT8_MAX)
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
return CELL_OK; return CELL_OK;
@ -739,7 +739,7 @@ s32 cellGcmSetInvalidateTile()
s32 cellGcmTerminate() s32 cellGcmTerminate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmDumpGraphicsError() s32 cellGcmDumpGraphicsError()
@ -776,7 +776,7 @@ u64 cellGcmGetVBlankCount()
s32 cellGcmSysGetLastVBlankTime() s32 cellGcmSysGetLastVBlankTime()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmInitSystemMode(u64 mode) s32 cellGcmInitSystemMode(u64 mode)
@ -1136,7 +1136,7 @@ void cellGcmSetDefaultCommandBuffer()
s32 cellGcmSetDefaultCommandBufferAndSegmentWordSize() s32 cellGcmSetDefaultCommandBufferAndSegmentWordSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
//------------------------------------------------------------------------ //------------------------------------------------------------------------
@ -1205,42 +1205,42 @@ s32 cellGcmSetTile(u8 index, u8 location, u32 offset, u32 size, u32 pitch, u8 co
s32 _cellGcmFunc2() s32 _cellGcmFunc2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _cellGcmFunc3() s32 _cellGcmFunc3()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _cellGcmFunc4() s32 _cellGcmFunc4()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _cellGcmFunc13() s32 _cellGcmFunc13()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _cellGcmFunc38() s32 _cellGcmFunc38()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmGpadGetStatus() s32 cellGcmGpadGetStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmGpadNotifyCaptureSurface() s32 cellGcmGpadNotifyCaptureSurface()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGcmGpadCaptureSnapshot() s32 cellGcmGpadCaptureSnapshot()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -75,7 +75,7 @@ s32 cellGifDecOpen(PMainHandle mainHandle, PPSubHandle subHandle, PSrc src, POpe
s32 cellGifDecExtOpen() s32 cellGifDecExtOpen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGifDecReadHeader(PMainHandle mainHandle, PSubHandle subHandle, PInfo info) s32 cellGifDecReadHeader(PMainHandle mainHandle, PSubHandle subHandle, PInfo info)
@ -127,7 +127,7 @@ s32 cellGifDecReadHeader(PMainHandle mainHandle, PSubHandle subHandle, PInfo inf
s32 cellGifDecExtReadHeader() s32 cellGifDecExtReadHeader()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGifDecSetParameter(PMainHandle mainHandle, PSubHandle subHandle, PInParam inParam, POutParam outParam) s32 cellGifDecSetParameter(PMainHandle mainHandle, PSubHandle subHandle, PInParam inParam, POutParam outParam)
@ -157,7 +157,7 @@ s32 cellGifDecSetParameter(PMainHandle mainHandle, PSubHandle subHandle, PInPara
s32 cellGifDecExtSetParameter() s32 cellGifDecExtSetParameter()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGifDecDecodeData(PMainHandle mainHandle, PSubHandle subHandle, vm::ptr<u8> data, PDataCtrlParam dataCtrlParam, PDataOutInfo dataOutInfo) s32 cellGifDecDecodeData(PMainHandle mainHandle, PSubHandle subHandle, vm::ptr<u8> data, PDataCtrlParam dataCtrlParam, PDataOutInfo dataOutInfo)
@ -276,7 +276,7 @@ s32 cellGifDecDecodeData(PMainHandle mainHandle, PSubHandle subHandle, vm::ptr<u
s32 cellGifDecExtDecodeData() s32 cellGifDecExtDecodeData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGifDecClose(PMainHandle mainHandle, PSubHandle subHandle) s32 cellGifDecClose(PMainHandle mainHandle, PSubHandle subHandle)

View File

@ -64,7 +64,7 @@ s32 cellJpgDecOpen(u32 mainHandle, vm::ptr<u32> subHandle, vm::ptr<CellJpgDecSrc
s32 cellJpgDecExtOpen() s32 cellJpgDecExtOpen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellJpgDecClose(u32 mainHandle, u32 subHandle) s32 cellJpgDecClose(u32 mainHandle, u32 subHandle)
@ -158,7 +158,7 @@ s32 cellJpgDecReadHeader(u32 mainHandle, u32 subHandle, vm::ptr<CellJpgDecInfo>
s32 cellJpgDecExtReadHeader() s32 cellJpgDecExtReadHeader()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellJpgDecDecodeData(u32 mainHandle, u32 subHandle, vm::ptr<u8> data, vm::cptr<CellJpgDecDataCtrlParam> dataCtrlParam, vm::ptr<CellJpgDecDataOutInfo> dataOutInfo) s32 cellJpgDecDecodeData(u32 mainHandle, u32 subHandle, vm::ptr<u8> data, vm::cptr<CellJpgDecDataCtrlParam> dataCtrlParam, vm::ptr<CellJpgDecDataOutInfo> dataOutInfo)
@ -299,7 +299,7 @@ s32 cellJpgDecDecodeData(u32 mainHandle, u32 subHandle, vm::ptr<u8> data, vm::cp
s32 cellJpgDecExtDecodeData() s32 cellJpgDecExtDecodeData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellJpgDecSetParameter(u32 mainHandle, u32 subHandle, vm::cptr<CellJpgDecInParam> inParam, vm::ptr<CellJpgDecOutParam> outParam) s32 cellJpgDecSetParameter(u32 mainHandle, u32 subHandle, vm::cptr<CellJpgDecInParam> inParam, vm::ptr<CellJpgDecOutParam> outParam)
@ -349,7 +349,7 @@ s32 cellJpgDecSetParameter(u32 mainHandle, u32 subHandle, vm::cptr<CellJpgDecInP
s32 cellJpgDecExtSetParameter() s32 cellJpgDecExtSetParameter()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -294,182 +294,182 @@ s32 _L10nConvertCharNoResult(s32 src_code, const void *src, s32 src_len, s32 dst
s32 UCS2toEUCJP() s32 UCS2toEUCJP()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 l10n_convert() s32 l10n_convert()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toUTF32() s32 UCS2toUTF32()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 jis2kuten() s32 jis2kuten()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toGB18030() s32 UTF8toGB18030()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 JISstoUTF8s() s32 JISstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SjisZen2Han() s32 SjisZen2Han()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToSjisLower() s32 ToSjisLower()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toGB18030() s32 UCS2toGB18030()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 HZstoUCS2s() s32 HZstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoHZs() s32 UCS2stoHZs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoSJISs() s32 UCS2stoSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 kuten2eucjp() s32 kuten2eucjp()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sjis2jis() s32 sjis2jis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRstoUCS2s() s32 EUCKRstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UHCstoEUCKRs() s32 UHCstoEUCKRs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 jis2sjis() s32 jis2sjis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 jstrnchk() s32 jstrnchk()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 L10nConvert() s32 L10nConvert()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCCNstoUTF8s() s32 EUCCNstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GBKstoUCS2s() s32 GBKstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 eucjphan2zen() s32 eucjphan2zen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToSjisHira() s32 ToSjisHira()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GBKtoUCS2() s32 GBKtoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 eucjp2jis() s32 eucjp2jis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32stoUTF8s() s32 UTF32stoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sjishan2zen() s32 sjishan2zen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toSBCS() s32 UCS2toSBCS()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoGBKs() s32 UTF8stoGBKs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toUCS2() s32 UTF8toUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoUTF8s() s32 UCS2stoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRstoUTF8s() s32 EUCKRstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16stoUTF32s() s32 UTF16stoUTF32s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toEUCKR() s32 UTF8toEUCKR()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16toUTF8() s32 UTF16toUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ARIBstoUTF8s() s32 ARIBstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJISstoUTF8s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len) s32 SJISstoUTF8s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len)
@ -480,102 +480,102 @@ s32 SJISstoUTF8s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, v
s32 sjiszen2han() s32 sjiszen2han()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToEucJpLower() s32 ToEucJpLower()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 MSJIStoUTF8() s32 MSJIStoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoMSJISs() s32 UCS2stoMSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPtoUTF8() s32 EUCJPtoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 eucjp2sjis() s32 eucjp2sjis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToEucJpHira() s32 ToEucJpHira()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UHCstoUCS2s() s32 UHCstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToEucJpKata() s32 ToEucJpKata()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 HZstoUTF8s() s32 HZstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toMSJIS() s32 UTF8toMSJIS()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 BIG5toUTF8() s32 BIG5toUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPstoSJISs() s32 EUCJPstoSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoBIG5s() s32 UTF8stoBIG5s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16stoUCS2s() s32 UTF16stoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoGB18030s() s32 UCS2stoGB18030s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPtoSJIS() s32 EUCJPtoSJIS()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPtoUCS2() s32 EUCJPtoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoGBKs() s32 UCS2stoGBKs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRtoUHC() s32 EUCKRtoUHC()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toSJIS(u16 ch, vm::ptr<void> dst) s32 UCS2toSJIS(u16 ch, vm::ptr<void> dst)
@ -586,137 +586,137 @@ s32 UCS2toSJIS(u16 ch, vm::ptr<void> dst)
s32 MSJISstoUTF8s() s32 MSJISstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPstoUTF8s() s32 EUCJPstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toBIG5() s32 UCS2toBIG5()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoEUCKRs() s32 UTF8stoEUCKRs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UHCstoUTF8s() s32 UHCstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GB18030stoUCS2s() s32 GB18030stoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJIStoUTF8() s32 SJIStoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 JISstoSJISs() s32 JISstoSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toUTF16() s32 UTF8toUTF16()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoMSJISs() s32 UTF8stoMSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRtoUTF8() s32 EUCKRtoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SjisHan2Zen() s32 SjisHan2Zen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toUTF16() s32 UCS2toUTF16()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toMSJIS() s32 UCS2toMSJIS()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sjis2kuten() s32 sjis2kuten()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toUHC() s32 UCS2toUHC()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32toUCS2() s32 UTF32toUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToSjisUpper() s32 ToSjisUpper()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toEUCJP() s32 UTF8toEUCJP()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoEUCJPs() s32 UCS2stoEUCJPs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16toUCS2() s32 UTF16toUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoUTF16s() s32 UCS2stoUTF16s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoEUCCNs() s32 UCS2stoEUCCNs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SBCSstoUTF8s() s32 SBCSstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJISstoJISs() s32 SJISstoJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SBCStoUTF8() s32 SBCStoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toUTF32() s32 UTF8toUTF32()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 jstrchk(vm::cptr<void> jstr) s32 jstrchk(vm::cptr<void> jstr)
@ -729,77 +729,77 @@ s32 jstrchk(vm::cptr<void> jstr)
s32 UHCtoEUCKR() s32 UHCtoEUCKR()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 kuten2jis() s32 kuten2jis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toEUCCN() s32 UTF8toEUCCN()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCCNtoUTF8() s32 EUCCNtoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EucJpZen2Han() s32 EucJpZen2Han()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32stoUTF16s() s32 UTF32stoUTF16s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GBKtoUTF8() s32 GBKtoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToEucJpUpper() s32 ToEucJpUpper()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoJISs() s32 UCS2stoJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoGB18030s() s32 UTF8stoGB18030s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRstoUHCs() s32 EUCKRstoUHCs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoUTF32s() s32 UTF8stoUTF32s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoEUCCNs() s32 UTF8stoEUCCNs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCJPstoUCS2s() s32 EUCJPstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UHCtoUCS2() s32 UHCtoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 L10nConvertStr(s32 src_code, vm::cptr<void> src, vm::ptr<s32> src_len, s32 dst_code, vm::ptr<void> dst, vm::ptr<s32> dst_len) s32 L10nConvertStr(s32 src_code, vm::cptr<void> src, vm::ptr<s32> src_len, s32 dst_code, vm::ptr<void> dst, vm::ptr<s32> dst_len)
@ -810,82 +810,82 @@ s32 L10nConvertStr(s32 src_code, vm::cptr<void> src, vm::ptr<s32> src_len, s32 d
s32 GBKstoUTF8s() s32 GBKstoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toUHC() s32 UTF8toUHC()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32toUTF8() s32 UTF32toUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sjis2eucjp() s32 sjis2eucjp()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toEUCCN() s32 UCS2toEUCCN()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoUHCs() s32 UTF8stoUHCs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCKRtoUCS2() s32 EUCKRtoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32toUTF16() s32 UTF32toUTF16()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCCNstoUCS2s() s32 EUCCNstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SBCSstoUCS2s() s32 SBCSstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoJISs() s32 UTF8stoJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 ToSjisKata() s32 ToSjisKata()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 jis2eucjp() s32 jis2eucjp()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 BIG5toUCS2() s32 BIG5toUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toGBK() s32 UCS2toGBK()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16toUTF32() s32 UTF16toUTF32()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 l10n_convert_str(s32 cd, vm::cptr<void> src, vm::ptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len) s32 l10n_convert_str(s32 cd, vm::cptr<void> src, vm::ptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len)
@ -900,102 +900,102 @@ s32 l10n_convert_str(s32 cd, vm::cptr<void> src, vm::ptr<s32> src_len, vm::ptr<v
s32 EUCJPstoJISs() s32 EUCJPstoJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoARIBs() s32 UTF8stoARIBs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 JISstoEUCJPs() s32 JISstoEUCJPs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EucJpHan2Zen() s32 EucJpHan2Zen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 isEucJpKigou() s32 isEucJpKigou()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toUTF8() s32 UCS2toUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GB18030toUCS2() s32 GB18030toUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UHCtoUTF8() s32 UHCtoUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 MSJIStoUCS2() s32 MSJIStoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toGBK() s32 UTF8toGBK()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 kuten2sjis() s32 kuten2sjis()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toSBCS() s32 UTF8toSBCS()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJIStoUCS2() s32 SJIStoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 eucjpzen2han() s32 eucjpzen2han()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoARIBs() s32 UCS2stoARIBs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 isSjisKigou() s32 isSjisKigou()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoEUCJPs() s32 UTF8stoEUCJPs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2toEUCKR() s32 UCS2toEUCKR()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SBCStoUCS2() s32 SBCStoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 MSJISstoUCS2s() s32 MSJISstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 l10n_get_converter(u32 src_code, u32 dst_code) s32 l10n_get_converter(u32 src_code, u32 dst_code)
@ -1006,57 +1006,57 @@ s32 l10n_get_converter(u32 src_code, u32 dst_code)
s32 GB18030stoUTF8s() s32 GB18030stoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJISstoEUCJPs() s32 SJISstoEUCJPs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF32stoUCS2s() s32 UTF32stoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 BIG5stoUTF8s() s32 BIG5stoUTF8s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 EUCCNtoUCS2() s32 EUCCNtoUCS2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoSBCSs() s32 UTF8stoSBCSs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoEUCKRs() s32 UCS2stoEUCKRs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoSJISs() s32 UTF8stoSJISs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoHZs() s32 UTF8stoHZs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 eucjp2kuten() s32 eucjp2kuten()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toBIG5() s32 UTF8toBIG5()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF16stoUTF8s(vm::cptr<u16> utf16, vm::ref<s32> utf16_len, vm::ptr<u8> utf8, vm::ref<s32> utf8_len) s32 UTF16stoUTF8s(vm::cptr<u16> utf16, vm::ref<s32> utf16_len, vm::ptr<u8> utf8, vm::ref<s32> utf8_len)
@ -1103,12 +1103,12 @@ s32 UTF16stoUTF8s(vm::cptr<u16> utf16, vm::ref<s32> utf16_len, vm::ptr<u8> utf8,
s32 JISstoUCS2s() s32 JISstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 GB18030toUTF8() s32 GB18030toUTF8()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8toSJIS(u8 ch, vm::ptr<void> dst, vm::ptr<s32> dst_len) s32 UTF8toSJIS(u8 ch, vm::ptr<void> dst, vm::ptr<s32> dst_len)
@ -1119,32 +1119,32 @@ s32 UTF8toSJIS(u8 ch, vm::ptr<void> dst, vm::ptr<s32> dst_len)
s32 ARIBstoUCS2s() s32 ARIBstoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoUTF32s() s32 UCS2stoUTF32s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoSBCSs() s32 UCS2stoSBCSs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoBIG5s() s32 UCS2stoBIG5s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UCS2stoUHCs() s32 UCS2stoUHCs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 SJIStoEUCJP() s32 SJIStoEUCJP()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoUTF16s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len) s32 UTF8stoUTF16s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, vm::ptr<s32> dst_len)
@ -1161,12 +1161,12 @@ s32 SJISstoUCS2s(vm::cptr<void> src, vm::cptr<s32> src_len, vm::ptr<void> dst, v
s32 BIG5stoUCS2s() s32 BIG5stoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 UTF8stoUCS2s() s32 UTF8stoUCS2s()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -190,7 +190,7 @@ s32 cellMicGetStatus()
s32 cellMicStopEx() s32 cellMicStopEx()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellMicSysShareClose() s32 cellMicSysShareClose()

View File

@ -12,7 +12,7 @@ extern logs::channel cellSysutil;
s32 cellMsgDialogOpen() s32 cellMsgDialogOpen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam) s32 cellMsgDialogOpen2(u32 type, vm::cptr<char> msgString, vm::ptr<CellMsgDialogCallback> callback, vm::ptr<void> userData, vm::ptr<void> extParam)
@ -200,7 +200,7 @@ s32 cellMsgDialogOpenErrorCode(ppu_thread& ppu, u32 errorCode, vm::ptr<CellMsgDi
s32 cellMsgDialogOpenSimulViewWarning() s32 cellMsgDialogOpenSimulViewWarning()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMsgDialogClose(f32 delay) s32 cellMsgDialogClose(f32 delay)
@ -251,7 +251,7 @@ s32 cellMsgDialogAbort()
if (!fxm::remove<MsgDialogBase>()) if (!fxm::remove<MsgDialogBase>())
{ {
throw EXCEPTION("Failed to remove MsgDialog object"); fmt::throw_exception("Failed to remove MsgDialog object" HERE);
} }
return CELL_OK; return CELL_OK;

View File

@ -16,97 +16,97 @@ struct music2_t
s32 cellMusicGetSelectionContext() s32 cellMusicGetSelectionContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSetSelectionContext2() s32 cellMusicSetSelectionContext2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSetVolume2() s32 cellMusicSetVolume2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetContentsId() s32 cellMusicGetContentsId()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSetSelectionContext() s32 cellMusicSetSelectionContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicInitialize2SystemWorkload() s32 cellMusicInitialize2SystemWorkload()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetPlaybackStatus2() s32 cellMusicGetPlaybackStatus2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetContentsId2() s32 cellMusicGetContentsId2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicFinalize() s32 cellMusicFinalize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicInitializeSystemWorkload() s32 cellMusicInitializeSystemWorkload()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicInitialize() s32 cellMusicInitialize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicFinalize2() s32 cellMusicFinalize2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetSelectionContext2() s32 cellMusicGetSelectionContext2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetVolume() s32 cellMusicGetVolume()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetPlaybackStatus() s32 cellMusicGetPlaybackStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSetPlaybackCommand2() s32 cellMusicSetPlaybackCommand2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSetPlaybackCommand() s32 cellMusicSetPlaybackCommand()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSelectContents2() s32 cellMusicSelectContents2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicSelectContents() s32 cellMusicSelectContents()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicInitialize2(s32 mode, s32 spuPriority, vm::ptr<CellMusic2Callback> func, vm::ptr<void> userData) s32 cellMusicInitialize2(s32 mode, s32 spuPriority, vm::ptr<CellMusic2Callback> func, vm::ptr<void> userData)
@ -134,12 +134,12 @@ s32 cellMusicInitialize2(s32 mode, s32 spuPriority, vm::ptr<CellMusic2Callback>
s32 cellMusicSetVolume() s32 cellMusicSetVolume()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellMusicGetVolume2() s32 cellMusicGetVolume2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -139,48 +139,48 @@ s32 cellNetCtlGetNatInfo(vm::ptr<CellNetCtlNatInfo> natInfo)
s32 cellGameUpdateInit() s32 cellGameUpdateInit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateTerm() s32 cellGameUpdateTerm()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckStartAsync() s32 cellGameUpdateCheckStartAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckFinishAsync() s32 cellGameUpdateCheckFinishAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckStartWithoutDialogAsync() s32 cellGameUpdateCheckStartWithoutDialogAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckAbort() s32 cellGameUpdateCheckAbort()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckStartAsyncEx() s32 cellGameUpdateCheckStartAsyncEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckFinishAsyncEx() s32 cellGameUpdateCheckFinishAsyncEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellGameUpdateCheckStartWithoutDialogAsyncEx() s32 cellGameUpdateCheckStartWithoutDialogAsyncEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -5,148 +5,148 @@ logs::channel cellOskDialog("cellOskDialog", logs::level::notice);
s32 cellOskDialogLoadAsync() s32 cellOskDialogLoadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogUnloadAsync() s32 cellOskDialogUnloadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogGetSize() s32 cellOskDialogGetSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogAbort() s32 cellOskDialogAbort()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetDeviceMask() s32 cellOskDialogSetDeviceMask()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetSeparateWindowOption() s32 cellOskDialogSetSeparateWindowOption()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetInitialInputDevice() s32 cellOskDialogSetInitialInputDevice()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetInitialKeyLayout() s32 cellOskDialogSetInitialKeyLayout()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogDisableDimmer() s32 cellOskDialogDisableDimmer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetKeyLayoutOption() s32 cellOskDialogSetKeyLayoutOption()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogAddSupportLanguage() s32 cellOskDialogAddSupportLanguage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogSetLayoutMode() s32 cellOskDialogSetLayoutMode()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogGetInputText() s32 cellOskDialogGetInputText()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtInputDeviceUnlock() s32 cellOskDialogExtInputDeviceUnlock()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtRegisterKeyboardEventHookCallback() s32 cellOskDialogExtRegisterKeyboardEventHookCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtAddJapaneseOptionDictionary() s32 cellOskDialogExtAddJapaneseOptionDictionary()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtEnableClipboard() s32 cellOskDialogExtEnableClipboard()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtSendFinishMessage() s32 cellOskDialogExtSendFinishMessage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtAddOptionDictionary() s32 cellOskDialogExtAddOptionDictionary()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtSetInitialScale() s32 cellOskDialogExtSetInitialScale()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtInputDeviceLock() s32 cellOskDialogExtInputDeviceLock()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtSetBaseColor() s32 cellOskDialogExtSetBaseColor()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtRegisterConfirmWordFilterCallback() s32 cellOskDialogExtRegisterConfirmWordFilterCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtUpdateInputText() s32 cellOskDialogExtUpdateInputText()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtDisableHalfByteKana() s32 cellOskDialogExtDisableHalfByteKana()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtSetPointerEnable() s32 cellOskDialogExtSetPointerEnable()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtUpdatePointerDisplayPos() s32 cellOskDialogExtUpdatePointerDisplayPos()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtEnableHalfByteKana() s32 cellOskDialogExtEnableHalfByteKana()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellOskDialogExtRegisterForceFinishCallback() s32 cellOskDialogExtRegisterForceFinishCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -108,7 +108,7 @@ s32 cellPadPeriphGetInfo(vm::ptr<CellPadPeriphInfo> info)
s32 cellPadPeriphGetData() s32 cellPadPeriphGetData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data) s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data)
@ -294,7 +294,7 @@ s32 cellPadGetData(u32 port_no, vm::ptr<CellPadData> data)
s32 cellPadGetRawData(u32 port_no, vm::ptr<CellPadData> data) s32 cellPadGetRawData(u32 port_no, vm::ptr<CellPadData> data)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPadGetDataExtra(u32 port_no, vm::ptr<u32> device_type, vm::ptr<CellPadData> data) s32 cellPadGetDataExtra(u32 port_no, vm::ptr<u32> device_type, vm::ptr<CellPadData> data)

View File

@ -249,7 +249,7 @@ s32 pngDecCreate(ppu_thread& ppu, PPHandle png_handle, PThreadInParam thread_in_
// Check if partial image decoding is used // Check if partial image decoding is used
if (extra_thread_out_param) if (extra_thread_out_param)
{ {
throw EXCEPTION("Partial image decoding is not supported."); fmt::throw_exception("Partial image decoding is not supported." HERE);
} }
// Allocate memory for the decoder handle // Allocate memory for the decoder handle
@ -294,7 +294,7 @@ s32 pngDecOpen(ppu_thread& ppu, PHandle handle, PPStream png_stream, PSrc source
// Check if partial image decoding is used // Check if partial image decoding is used
if (control_stream || open_param) if (control_stream || open_param)
{ {
throw EXCEPTION("Partial image decoding is not supported."); fmt::throw_exception("Partial image decoding is not supported." HERE);
} }
// Allocate memory for the stream structure // Allocate memory for the stream structure
@ -325,7 +325,7 @@ s32 pngDecOpen(ppu_thread& ppu, PHandle handle, PPStream png_stream, PSrc source
// Check for if the buffer structure allocation failed // Check for if the buffer structure allocation failed
if (!buffer) if (!buffer)
{ {
throw EXCEPTION("Memory allocation for the PNG buffer structure failed."); fmt::throw_exception("Memory allocation for the PNG buffer structure failed." HERE);
} }
// We might not be reading from a file stream // We might not be reading from a file stream
@ -340,7 +340,7 @@ s32 pngDecOpen(ppu_thread& ppu, PHandle handle, PPStream png_stream, PSrc source
// Need to test it somewhere // Need to test it somewhere
if (stream->source.fileOffset != 0) if (stream->source.fileOffset != 0)
{ {
throw EXCEPTION("Non-0 file offset not supported."); fmt::throw_exception("Non-0 file offset not supported." HERE);
} }
// Depending on the source type, get the first 8 bytes // Depending on the source type, get the first 8 bytes
@ -398,13 +398,13 @@ s32 pngDecOpen(ppu_thread& ppu, PHandle handle, PPStream png_stream, PSrc source
// Check if the creation of the structure failed // Check if the creation of the structure failed
if (!stream->info_ptr) if (!stream->info_ptr)
{ {
throw EXCEPTION("Creation of png_infop failed."); fmt::throw_exception("Creation of png_infop failed." HERE);
} }
// Set a point to return to when an error occurs in libpng // Set a point to return to when an error occurs in libpng
if (setjmp(png_jmpbuf(stream->png_ptr))) if (setjmp(png_jmpbuf(stream->png_ptr)))
{ {
throw EXCEPTION("Fatal error in libpng."); fmt::throw_exception("Fatal error in libpng." HERE);
} }
// We must indicate, that we allocated more memory // We must indicate, that we allocated more memory
@ -492,12 +492,12 @@ s32 pngDecSetParameter(PStream stream, PInParam in_param, POutParam out_param, P
// Partial image decoding is not supported. Need to find games to test with. // Partial image decoding is not supported. Need to find games to test with.
if (extra_in_param || extra_out_param) if (extra_in_param || extra_out_param)
{ {
throw EXCEPTION("Partial image decoding is not supported"); fmt::throw_exception("Partial image decoding is not supported" HERE);
} }
if (in_param->outputPackFlag == CELL_PNGDEC_1BYTE_PER_NPIXEL) if (in_param->outputPackFlag == CELL_PNGDEC_1BYTE_PER_NPIXEL)
{ {
throw EXCEPTION("Packing not supported! (%d)", in_param->outputPackFlag); fmt::throw_exception("Packing not supported! (%d)" HERE, in_param->outputPackFlag);
} }
// We already grab the basic info, when opening the stream, so we simply need to pass most of the values // We already grab the basic info, when opening the stream, so we simply need to pass most of the values
@ -559,7 +559,7 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
{ {
if (cb_control_disp || disp_param) if (cb_control_disp || disp_param)
{ {
throw EXCEPTION("Partial image decoding is not supported"); fmt::throw_exception("Partial image decoding is not supported" HERE);
} }
// Indicate, that the PNG decoding is stopped/failed. This is incase, we return an error code in the middle of decoding // Indicate, that the PNG decoding is stopped/failed. This is incase, we return an error code in the middle of decoding
@ -568,12 +568,12 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
// Possibilities for decoding in different sizes aren't tested, so if anyone finds any of these cases, we'll know about it. // Possibilities for decoding in different sizes aren't tested, so if anyone finds any of these cases, we'll know about it.
if (stream->info.imageWidth != stream->out_param.outputWidth) if (stream->info.imageWidth != stream->out_param.outputWidth)
{ {
throw EXCEPTION("Image width doesn't match output width! (%d/%d)", stream->out_param.outputWidth, stream->info.imageWidth); fmt::throw_exception("Image width doesn't match output width! (%d/%d)" HERE, stream->out_param.outputWidth, stream->info.imageWidth);
} }
if (stream->info.imageHeight != stream->out_param.outputHeight) if (stream->info.imageHeight != stream->out_param.outputHeight)
{ {
throw EXCEPTION("Image width doesn't match output height! (%d/%d)", stream->out_param.outputHeight, stream->info.imageHeight); fmt::throw_exception("Image width doesn't match output height! (%d/%d)" HERE, stream->out_param.outputHeight, stream->info.imageHeight);
} }
// Get the amount of output bytes per line // Get the amount of output bytes per line
@ -589,7 +589,7 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
// Check if the packing is really 1 byte per 1 pixel // Check if the packing is really 1 byte per 1 pixel
if (stream->packing != CELL_PNGDEC_1BYTE_PER_1PIXEL) if (stream->packing != CELL_PNGDEC_1BYTE_PER_1PIXEL)
{ {
throw EXCEPTION("Unexpected packing value! (%d)", stream->packing); fmt::throw_exception("Unexpected packing value! (%d)" HERE, stream->packing);
} }
// Scale 16 bit depth down to 8 bit depth. PS3 uses png_set_strip_16, since png_set_scale_16 wasn't available back then. // Scale 16 bit depth down to 8 bit depth. PS3 uses png_set_strip_16, since png_set_scale_16 wasn't available back then.
@ -685,7 +685,7 @@ s32 pngDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm::ptr<u8> d
break; break;
} }
default: throw EXCEPTION("Unsupported color space (%d)", stream->out_param.outputColorSpace); default: fmt::throw_exception("Unsupported color space (%d)" HERE, stream->out_param.outputColorSpace);
} }
// Get the number of iTXt, tEXt and zTXt chunks // Get the number of iTXt, tEXt and zTXt chunks
@ -777,87 +777,87 @@ s32 cellPngDecExtDecodeData(ppu_thread& ppu, PHandle handle, PStream stream, vm:
s32 cellPngDecGetUnknownChunks(PHandle handle, PStream stream, vm::pptr<CellPngUnknownChunk> unknownChunk, vm::ptr<u32> unknownChunkNumber) s32 cellPngDecGetUnknownChunks(PHandle handle, PStream stream, vm::pptr<CellPngUnknownChunk> unknownChunk, vm::ptr<u32> unknownChunkNumber)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetpCAL(PHandle handle, PStream stream, vm::ptr<CellPngPCAL> pcal) s32 cellPngDecGetpCAL(PHandle handle, PStream stream, vm::ptr<CellPngPCAL> pcal)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetcHRM(PHandle handle, PStream stream, vm::ptr<CellPngCHRM> chrm) s32 cellPngDecGetcHRM(PHandle handle, PStream stream, vm::ptr<CellPngCHRM> chrm)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetsCAL(PHandle handle, PStream stream, vm::ptr<CellPngSCAL> scal) s32 cellPngDecGetsCAL(PHandle handle, PStream stream, vm::ptr<CellPngSCAL> scal)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetpHYs(PHandle handle, PStream stream, vm::ptr<CellPngPHYS> phys) s32 cellPngDecGetpHYs(PHandle handle, PStream stream, vm::ptr<CellPngPHYS> phys)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetoFFs(PHandle handle, PStream stream, vm::ptr<CellPngOFFS> offs) s32 cellPngDecGetoFFs(PHandle handle, PStream stream, vm::ptr<CellPngOFFS> offs)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetsPLT(PHandle handle, PStream stream, vm::ptr<CellPngSPLT> splt) s32 cellPngDecGetsPLT(PHandle handle, PStream stream, vm::ptr<CellPngSPLT> splt)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetbKGD(PHandle handle, PStream stream, vm::ptr<CellPngBKGD> bkgd) s32 cellPngDecGetbKGD(PHandle handle, PStream stream, vm::ptr<CellPngBKGD> bkgd)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGettIME(PHandle handle, PStream stream, vm::ptr<CellPngTIME> time) s32 cellPngDecGettIME(PHandle handle, PStream stream, vm::ptr<CellPngTIME> time)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGethIST(PHandle handle, PStream stream, vm::ptr<CellPngHIST> hist) s32 cellPngDecGethIST(PHandle handle, PStream stream, vm::ptr<CellPngHIST> hist)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGettRNS(PHandle handle, PStream stream, vm::ptr<CellPngTRNS> trns) s32 cellPngDecGettRNS(PHandle handle, PStream stream, vm::ptr<CellPngTRNS> trns)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetsBIT(PHandle handle, PStream stream, vm::ptr<CellPngSBIT> sbit) s32 cellPngDecGetsBIT(PHandle handle, PStream stream, vm::ptr<CellPngSBIT> sbit)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetiCCP(PHandle handle, PStream stream, vm::ptr<CellPngICCP> iccp) s32 cellPngDecGetiCCP(PHandle handle, PStream stream, vm::ptr<CellPngICCP> iccp)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetsRGB(PHandle handle, PStream stream, vm::ptr<CellPngSRGB> srgb) s32 cellPngDecGetsRGB(PHandle handle, PStream stream, vm::ptr<CellPngSRGB> srgb)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetgAMA(PHandle handle, PStream stream, vm::ptr<CellPngGAMA> gama) s32 cellPngDecGetgAMA(PHandle handle, PStream stream, vm::ptr<CellPngGAMA> gama)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetPLTE(PHandle handle, PStream stream, vm::ptr<CellPngPLTE> plte) s32 cellPngDecGetPLTE(PHandle handle, PStream stream, vm::ptr<CellPngPLTE> plte)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellPngDecGetTextChunk(PHandle handle, PStream stream, vm::ptr<u32> textInfoNum, vm::pptr<CellPngTextInfo> textInfo) s32 cellPngDecGetTextChunk(PHandle handle, PStream stream, vm::ptr<u32> textInfoNum, vm::pptr<CellPngTextInfo> textInfo)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::cellPngDec)("cellPngDec", []() DECLARE(ppu_module_manager::cellPngDec)("cellPngDec", []()

View File

@ -317,6 +317,6 @@ static s32 getPngDecColourType(u8 type)
case PNG_COLOR_TYPE_PALETTE: return CELL_PNGDEC_PALETTE; case PNG_COLOR_TYPE_PALETTE: return CELL_PNGDEC_PALETTE;
case PNG_COLOR_TYPE_GRAY: return CELL_PNGDEC_GRAYSCALE; case PNG_COLOR_TYPE_GRAY: return CELL_PNGDEC_GRAYSCALE;
case PNG_COLOR_TYPE_GRAY_ALPHA: return CELL_PNGDEC_GRAYSCALE_ALPHA; case PNG_COLOR_TYPE_GRAY_ALPHA: return CELL_PNGDEC_GRAYSCALE_ALPHA;
default: throw EXCEPTION("Unknown colour type: %d", type); default: fmt::throw_exception("Unknown colour type: %d" HERE, type);
} }
} }

View File

@ -5,37 +5,37 @@ logs::channel cellRec("cellRec", logs::level::notice);
s32 cellRecOpen() s32 cellRecOpen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecClose() s32 cellRecClose()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecGetInfo() s32 cellRecGetInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecStop() s32 cellRecStop()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecStart() s32 cellRecStart()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecQueryMemSize() s32 cellRecQueryMemSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRecSetInfo() s32 cellRecSetInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -5,42 +5,42 @@ logs::channel cellRemotePlay("cellRemotePlay", logs::level::notice);
s32 cellRemotePlayGetStatus() s32 cellRemotePlayGetStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlaySetComparativeVolume() s32 cellRemotePlaySetComparativeVolume()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayGetPeerInfo() s32 cellRemotePlayGetPeerInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayGetSharedMemory() s32 cellRemotePlayGetSharedMemory()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayEncryptAllData() s32 cellRemotePlayEncryptAllData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayStopPeerVideoOut() s32 cellRemotePlayStopPeerVideoOut()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayGetComparativeVolume() s32 cellRemotePlayGetComparativeVolume()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellRemotePlayBreak() s32 cellRemotePlayBreak()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -45,7 +45,7 @@ s32 cellRudpInit(vm::ptr<CellRudpAllocator> allocator)
{ {
if (!vm::dealloc(ptr.addr(), vm::main)) if (!vm::dealloc(ptr.addr(), vm::main))
{ {
throw EXCEPTION("Memory deallocation failed (ptr=0x%x)", ptr); fmt::throw_exception("Memory deallocation failed (ptr=0x%x)" HERE, ptr);
} }
}; };
} }

View File

@ -464,22 +464,22 @@ s32 cellSailSourceNotifyMediaStateChanged()
s32 cellSailSourceNotifyOpenCompleted() s32 cellSailSourceNotifyOpenCompleted()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellSailSourceNotifyStartCompleted() s32 cellSailSourceNotifyStartCompleted()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellSailSourceNotifyStopCompleted() s32 cellSailSourceNotifyStopCompleted()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellSailSourceNotifyReadCompleted() s32 cellSailSourceNotifyReadCompleted()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellSailSourceSetDiagHandler() s32 cellSailSourceSetDiagHandler()
@ -490,7 +490,7 @@ s32 cellSailSourceSetDiagHandler()
s32 cellSailSourceNotifyCloseCompleted() s32 cellSailSourceNotifyCloseCompleted()
{ {
throw EXCEPTION("Unexpected function"); fmt::throw_exception("Unexpected function" HERE);
} }
s32 cellSailMp4MovieGetBrand() s32 cellSailMp4MovieGetBrand()

View File

@ -325,7 +325,7 @@ static NEVER_INLINE s32 savedata_op(ppu_thread& ppu, u32 operation, u32 version,
} }
else else
{ {
throw EXCEPTION("Invalid savedata selected"); fmt::throw_exception("Invalid savedata selected" HERE);
} }
} }
} }

View File

@ -5,12 +5,12 @@ logs::channel cellSpudll("cellSpudll", logs::level::notice);
s32 cellSpudllGetImageSize(vm::ptr<u32> psize, vm::cptr<void> so_elf, vm::cptr<struct CellSpudllHandleConfig> config) s32 cellSpudllGetImageSize(vm::ptr<u32> psize, vm::cptr<void> so_elf, vm::cptr<struct CellSpudllHandleConfig> config)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSpudllHandleConfigSetDefaultValues(vm::ptr<struct CellSpudllHandleConfig> config) s32 cellSpudllHandleConfigSetDefaultValues(vm::ptr<struct CellSpudllHandleConfig> config)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::cellSpudll)("cellSpudll", []() DECLARE(ppu_module_manager::cellSpudll)("cellSpudll", []()

View File

@ -28,7 +28,7 @@ struct cell_error_t
} }
}; };
#define CHECK_SUCCESS(expr) if (cell_error_t error{expr}) throw fmt::exception("Failure: %s -> 0x%x" HERE, #expr, error.value) #define CHECK_SUCCESS(expr) if (cell_error_t error{expr}) fmt::throw_exception("Failure: %s -> 0x%x" HERE, #expr, error.value)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Function prototypes // Function prototypes
@ -757,7 +757,7 @@ void _spurs::event_helper_entry(ppu_thread& ppu, vm::ptr<CellSpurs> spurs)
} }
else else
{ {
throw fmt::exception("data0=0x%x" HERE, data0); fmt::throw_exception("data0=0x%x" HERE, data0);
} }
} }
} }

View File

@ -1388,7 +1388,7 @@ bool spursTasksetSyscallEntry(SPUThread& spu)
spu.gpr[3]._u32[3] = spursTasksetProcessSyscall(spu, spu.gpr[3]._u32[3], spu.gpr[4]._u32[3]); spu.gpr[3]._u32[3] = spursTasksetProcessSyscall(spu, spu.gpr[3]._u32[3], spu.gpr[4]._u32[3]);
// Resume the previously executing task if the syscall did not cause a context switch // Resume the previously executing task if the syscall did not cause a context switch
throw EXCEPTION("Broken (TODO)"); fmt::throw_exception("Broken (TODO)" HERE);
//if (spu.m_is_branch == false) { //if (spu.m_is_branch == false) {
// spursTasksetResumeTask(spu); // spursTasksetResumeTask(spu);
//} //}

View File

@ -5,17 +5,17 @@ extern logs::channel cellSysutil;
s32 cellStorageDataImportMove() s32 cellStorageDataImportMove()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellStorageDataImport() s32 cellStorageDataImport()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellStorageDataExport() s32 cellStorageDataExport()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -918,7 +918,7 @@ ppu_error_code _cellSyncLFQueueGetPushPointer2(ppu_thread& ppu, vm::ptr<CellSync
// arguments copied from _cellSyncLFQueueGetPushPointer // arguments copied from _cellSyncLFQueueGetPushPointer
cellSync.todo("_cellSyncLFQueueGetPushPointer2(queue=*0x%x, pointer=*0x%x, isBlocking=%d, useEventQueue=%d)", queue, pointer, isBlocking, useEventQueue); cellSync.todo("_cellSyncLFQueueGetPushPointer2(queue=*0x%x, pointer=*0x%x, isBlocking=%d, useEventQueue=%d)", queue, pointer, isBlocking, useEventQueue);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code _cellSyncLFQueueCompletePushPointer(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, s32 pointer, vm::ptr<s32(u32 addr, u32 arg)> fpSendSignal) ppu_error_code _cellSyncLFQueueCompletePushPointer(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, s32 pointer, vm::ptr<s32(u32 addr, u32 arg)> fpSendSignal)
@ -1058,7 +1058,7 @@ ppu_error_code _cellSyncLFQueueCompletePushPointer2(ppu_thread& ppu, vm::ptr<Cel
// arguments copied from _cellSyncLFQueueCompletePushPointer // arguments copied from _cellSyncLFQueueCompletePushPointer
cellSync.todo("_cellSyncLFQueueCompletePushPointer2(queue=*0x%x, pointer=%d, fpSendSignal=*0x%x)", queue, pointer, fpSendSignal); cellSync.todo("_cellSyncLFQueueCompletePushPointer2(queue=*0x%x, pointer=%d, fpSendSignal=*0x%x)", queue, pointer, fpSendSignal);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code _cellSyncLFQueuePushBody(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, vm::cptr<void> buffer, u32 isBlocking) ppu_error_code _cellSyncLFQueuePushBody(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, vm::cptr<void> buffer, u32 isBlocking)
@ -1217,7 +1217,7 @@ ppu_error_code _cellSyncLFQueueGetPopPointer2(ppu_thread& ppu, vm::ptr<CellSyncL
// arguments copied from _cellSyncLFQueueGetPopPointer // arguments copied from _cellSyncLFQueueGetPopPointer
cellSync.todo("_cellSyncLFQueueGetPopPointer2(queue=*0x%x, pointer=*0x%x, isBlocking=%d, useEventQueue=%d)", queue, pointer, isBlocking, useEventQueue); cellSync.todo("_cellSyncLFQueueGetPopPointer2(queue=*0x%x, pointer=*0x%x, isBlocking=%d, useEventQueue=%d)", queue, pointer, isBlocking, useEventQueue);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code _cellSyncLFQueueCompletePopPointer(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, s32 pointer, vm::ptr<s32(u32 addr, u32 arg)> fpSendSignal, u32 noQueueFull) ppu_error_code _cellSyncLFQueueCompletePopPointer(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, s32 pointer, vm::ptr<s32(u32 addr, u32 arg)> fpSendSignal, u32 noQueueFull)
@ -1357,7 +1357,7 @@ ppu_error_code _cellSyncLFQueueCompletePopPointer2(ppu_thread& ppu, vm::ptr<Cell
// arguments copied from _cellSyncLFQueueCompletePopPointer // arguments copied from _cellSyncLFQueueCompletePopPointer
cellSync.todo("_cellSyncLFQueueCompletePopPointer2(queue=*0x%x, pointer=%d, fpSendSignal=*0x%x, noQueueFull=%d)", queue, pointer, fpSendSignal, noQueueFull); cellSync.todo("_cellSyncLFQueueCompletePopPointer2(queue=*0x%x, pointer=%d, fpSendSignal=*0x%x, noQueueFull=%d)", queue, pointer, fpSendSignal, noQueueFull);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code _cellSyncLFQueuePopBody(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, vm::ptr<void> buffer, u32 isBlocking) ppu_error_code _cellSyncLFQueuePopBody(ppu_thread& ppu, vm::ptr<CellSyncLFQueue> queue, vm::ptr<void> buffer, u32 isBlocking)
@ -1586,14 +1586,14 @@ ppu_error_code _cellSyncLFQueueAttachLv2EventQueue(vm::ptr<u32> spus, u32 num, v
{ {
cellSync.todo("_cellSyncLFQueueAttachLv2EventQueue(spus=*0x%x, num=%d, queue=*0x%x)", spus, num, queue); cellSync.todo("_cellSyncLFQueueAttachLv2EventQueue(spus=*0x%x, num=%d, queue=*0x%x)", spus, num, queue);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code _cellSyncLFQueueDetachLv2EventQueue(vm::ptr<u32> spus, u32 num, vm::ptr<CellSyncLFQueue> queue) ppu_error_code _cellSyncLFQueueDetachLv2EventQueue(vm::ptr<u32> spus, u32 num, vm::ptr<CellSyncLFQueue> queue)
{ {
cellSync.todo("_cellSyncLFQueueDetachLv2EventQueue(spus=*0x%x, num=%d, queue=*0x%x)", spus, num, queue); cellSync.todo("_cellSyncLFQueueDetachLv2EventQueue(spus=*0x%x, num=%d, queue=*0x%x)", spus, num, queue);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::cellSync)("cellSync", []() DECLARE(ppu_module_manager::cellSync)("cellSync", []()

View File

@ -293,7 +293,7 @@ struct alignas(32) CellSyncQueue
if (data.next > depth || data.count > depth) if (data.next > depth || data.count > depth)
{ {
throw EXCEPTION("Invalid queue pointers"); fmt::throw_exception("Invalid queue pointers" HERE);
} }
return depth; return depth;

View File

@ -5,17 +5,17 @@ logs::channel cellSysconf("cellSysconf", logs::level::notice);
s32 cellSysconfAbort() s32 cellSysconfAbort()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysconfOpen() s32 cellSysconfOpen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysconfBtGetDeviceList() s32 cellSysconfBtGetDeviceList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void cellSysutil_Sysconf_init() void cellSysutil_Sysconf_init()

View File

@ -380,37 +380,37 @@ s32 cellSysutilSetBgmPlaybackExtraParam()
s32 cellSysutilRegisterCallbackDispatcher() s32 cellSysutilRegisterCallbackDispatcher()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilPacketWrite() s32 cellSysutilPacketWrite()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilGameDataAssignVmc() s32 cellSysutilGameDataAssignVmc()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilGameDataExit() s32 cellSysutilGameDataExit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilGameExit_I() s32 cellSysutilGameExit_I()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilGamePowerOff_I() s32 cellSysutilGamePowerOff_I()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilGameReboot_I() s32 cellSysutilGameReboot_I()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
extern void cellSysutil_SaveData_init(); extern void cellSysutil_SaveData_init();

View File

@ -5,213 +5,213 @@ logs::channel cellSysutilAvc("cellSysutilAvc", logs::level::notice);
s32 cellSysutilAvcByeRequest() s32 cellSysutilAvcByeRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcCancelByeRequest() s32 cellSysutilAvcCancelByeRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcCancelJoinRequest() s32 cellSysutilAvcCancelJoinRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcEnumPlayers() s32 cellSysutilAvcEnumPlayers()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetAttribute() s32 cellSysutilAvcGetAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetLayoutMode() s32 cellSysutilAvcGetLayoutMode()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetShowStatus() s32 cellSysutilAvcGetShowStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetSpeakerVolumeLevel() s32 cellSysutilAvcGetSpeakerVolumeLevel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetVideoMuting() s32 cellSysutilAvcGetVideoMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcGetVoiceMuting() s32 cellSysutilAvcGetVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcHidePanel() s32 cellSysutilAvcHidePanel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcJoinRequest() s32 cellSysutilAvcJoinRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcLoadAsync() s32 cellSysutilAvcLoadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcSetAttribute() s32 cellSysutilAvcSetAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcSetLayoutMode() s32 cellSysutilAvcSetLayoutMode()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcSetSpeakerVolumeLevel() s32 cellSysutilAvcSetSpeakerVolumeLevel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcSetVideoMuting() s32 cellSysutilAvcSetVideoMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcSetVoiceMuting() s32 cellSysutilAvcSetVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcShowPanel() s32 cellSysutilAvcShowPanel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcUnloadAsync() s32 cellSysutilAvcUnloadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtInitOptionParam() s32 cellSysutilAvcExtInitOptionParam()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetHideNamePlate() s32 cellSysutilAvcExtSetHideNamePlate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetShowNamePlate() s32 cellSysutilAvcExtSetShowNamePlate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtHideWindow() s32 cellSysutilAvcExtHideWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtShowWindow() s32 cellSysutilAvcExtShowWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetWindowAlpha() s32 cellSysutilAvcExtGetWindowAlpha()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetWindowSize() s32 cellSysutilAvcExtGetWindowSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetWindowRotation() s32 cellSysutilAvcExtGetWindowRotation()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetWindowPosition() s32 cellSysutilAvcExtGetWindowPosition()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetWindowAlpha() s32 cellSysutilAvcExtSetWindowAlpha()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetWindowSize() s32 cellSysutilAvcExtSetWindowSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetWindowRotation() s32 cellSysutilAvcExtSetWindowRotation()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetWindowPosition() s32 cellSysutilAvcExtSetWindowPosition()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtLoadAsyncEx() s32 cellSysutilAvcExtLoadAsyncEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtHidePanelEx() s32 cellSysutilAvcExtHidePanelEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtShowPanelEx() s32 cellSysutilAvcExtShowPanelEx()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetNamePlateShowStatus() s32 cellSysutilAvcExtGetNamePlateShowStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtStopVoiceDetection() s32 cellSysutilAvcExtStopVoiceDetection()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtStartVoiceDetection() s32 cellSysutilAvcExtStartVoiceDetection()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetSurfacePointer() s32 cellSysutilAvcExtGetSurfacePointer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtSetWindowZorder() s32 cellSysutilAvcExtSetWindowZorder()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvcExtGetWindowShowStatus() s32 cellSysutilAvcExtGetWindowShowStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -9,122 +9,122 @@ logs::channel cellSysutilAvc2("cellSysutilAvc2", logs::level::notice);
s32 cellSysutilAvc2GetPlayerInfo() s32 cellSysutilAvc2GetPlayerInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2JoinChat() s32 cellSysutilAvc2JoinChat()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StopStreaming() s32 cellSysutilAvc2StopStreaming()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2ChangeVideoResolution() s32 cellSysutilAvc2ChangeVideoResolution()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2ShowScreen() s32 cellSysutilAvc2ShowScreen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetVideoMuting() s32 cellSysutilAvc2GetVideoMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetWindowAttribute() s32 cellSysutilAvc2GetWindowAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StopStreaming2() s32 cellSysutilAvc2StopStreaming2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetVoiceMuting() s32 cellSysutilAvc2SetVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StartVoiceDetection() s32 cellSysutilAvc2StartVoiceDetection()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2UnloadAsync() s32 cellSysutilAvc2UnloadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StopVoiceDetection() s32 cellSysutilAvc2StopVoiceDetection()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetAttribute() s32 cellSysutilAvc2GetAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2LoadAsync() s32 cellSysutilAvc2LoadAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetSpeakerVolumeLevel() s32 cellSysutilAvc2SetSpeakerVolumeLevel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetWindowString() s32 cellSysutilAvc2SetWindowString()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2EstimateMemoryContainerSize() s32 cellSysutilAvc2EstimateMemoryContainerSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetVideoMuting() s32 cellSysutilAvc2SetVideoMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetPlayerVoiceMuting() s32 cellSysutilAvc2SetPlayerVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetStreamingTarget() s32 cellSysutilAvc2SetStreamingTarget()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2Unload() s32 cellSysutilAvc2Unload()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2DestroyWindow() s32 cellSysutilAvc2DestroyWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetWindowPosition() s32 cellSysutilAvc2SetWindowPosition()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetSpeakerVolumeLevel() s32 cellSysutilAvc2GetSpeakerVolumeLevel()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2IsCameraAttached(vm::ptr<u8> status) s32 cellSysutilAvc2IsCameraAttached(vm::ptr<u8> status)
@ -137,32 +137,32 @@ s32 cellSysutilAvc2IsCameraAttached(vm::ptr<u8> status)
s32 cellSysutilAvc2MicRead() s32 cellSysutilAvc2MicRead()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetPlayerVoiceMuting() s32 cellSysutilAvc2GetPlayerVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2JoinChatRequest() s32 cellSysutilAvc2JoinChatRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StartStreaming() s32 cellSysutilAvc2StartStreaming()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetWindowAttribute() s32 cellSysutilAvc2SetWindowAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetWindowShowStatus() s32 cellSysutilAvc2GetWindowShowStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2InitParam(u16 version, vm::ptr<CellSysutilAvc2InitParam> option) s32 cellSysutilAvc2InitParam(u16 version, vm::ptr<CellSysutilAvc2InitParam> option)
@ -214,112 +214,112 @@ s32 cellSysutilAvc2InitParam(u16 version, vm::ptr<CellSysutilAvc2InitParam> opti
s32 cellSysutilAvc2GetWindowSize() s32 cellSysutilAvc2GetWindowSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetStreamPriority() s32 cellSysutilAvc2SetStreamPriority()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2LeaveChatRequest() s32 cellSysutilAvc2LeaveChatRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2IsMicAttached() s32 cellSysutilAvc2IsMicAttached()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2CreateWindow() s32 cellSysutilAvc2CreateWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetSpeakerMuting() s32 cellSysutilAvc2GetSpeakerMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2ShowWindow() s32 cellSysutilAvc2ShowWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetWindowSize() s32 cellSysutilAvc2SetWindowSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2EnumPlayers() s32 cellSysutilAvc2EnumPlayers()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetWindowString() s32 cellSysutilAvc2GetWindowString()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2LeaveChat() s32 cellSysutilAvc2LeaveChat()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetSpeakerMuting() s32 cellSysutilAvc2SetSpeakerMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2Load() s32 cellSysutilAvc2Load()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2SetAttribute() s32 cellSysutilAvc2SetAttribute()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2UnloadAsync2() s32 cellSysutilAvc2UnloadAsync2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2StartStreaming2() s32 cellSysutilAvc2StartStreaming2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2HideScreen() s32 cellSysutilAvc2HideScreen()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2HideWindow() s32 cellSysutilAvc2HideWindow()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetVoiceMuting() s32 cellSysutilAvc2GetVoiceMuting()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetScreenShowStatus() s32 cellSysutilAvc2GetScreenShowStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2Unload2() s32 cellSysutilAvc2Unload2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSysutilAvc2GetWindowPosition() s32 cellSysutilAvc2GetWindowPosition()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -107,20 +107,20 @@ struct vdec_thread : ppu_thread
} }
default: default:
{ {
throw fmt::exception("Unknown video decoder type (0x%x)" HERE, type); fmt::throw_exception("Unknown video decoder type (0x%x)" HERE, type);
} }
} }
if (!codec) if (!codec)
{ {
throw fmt::exception("avcodec_find_decoder() failed (type=0x%x)" HERE, type); fmt::throw_exception("avcodec_find_decoder() failed (type=0x%x)" HERE, type);
} }
ctx = avcodec_alloc_context3(codec); ctx = avcodec_alloc_context3(codec);
if (!ctx) if (!ctx)
{ {
throw fmt::exception("avcodec_alloc_context3() failed (type=0x%x)" HERE, type); fmt::throw_exception("avcodec_alloc_context3() failed (type=0x%x)" HERE, type);
} }
AVDictionary* opts{}; AVDictionary* opts{};
@ -132,7 +132,7 @@ struct vdec_thread : ppu_thread
if (err || opts) if (err || opts)
{ {
avcodec_free_context(&ctx); avcodec_free_context(&ctx);
throw fmt::exception("avcodec_open2() failed (err=0x%x, opts=%d)" HERE, err, opts ? 1 : 0); fmt::throw_exception("avcodec_open2() failed (err=0x%x, opts=%d)" HERE, err, opts ? 1 : 0);
} }
} }
@ -214,7 +214,7 @@ struct vdec_thread : ppu_thread
if (!frame.avf) if (!frame.avf)
{ {
throw fmt::exception("av_frame_alloc() failed" HERE); fmt::throw_exception("av_frame_alloc() failed" HERE);
} }
int got_picture = 0; int got_picture = 0;
@ -223,7 +223,7 @@ struct vdec_thread : ppu_thread
if (decode < 0) if (decode < 0)
{ {
throw fmt::exception("AU decoding error(0x%x)" HERE, decode); fmt::throw_exception("AU decoding error(0x%x)" HERE, decode);
} }
if (got_picture == 0) if (got_picture == 0)
@ -240,12 +240,12 @@ struct vdec_thread : ppu_thread
{ {
if (frame->interlaced_frame) if (frame->interlaced_frame)
{ {
throw fmt::exception("Interlaced frames not supported (0x%x)", frame->interlaced_frame); fmt::throw_exception("Interlaced frames not supported (0x%x)", frame->interlaced_frame);
} }
if (frame->repeat_pict) if (frame->repeat_pict)
{ {
throw fmt::exception("Repeated frames not supported (0x%x)", frame->repeat_pict); fmt::throw_exception("Repeated frames not supported (0x%x)", frame->repeat_pict);
} }
if (frc_set) if (frc_set)
@ -264,7 +264,7 @@ struct vdec_thread : ppu_thread
case CELL_VDEC_FRC_60: amend = 90000 / 60; break; case CELL_VDEC_FRC_60: amend = 90000 / 60; break;
default: default:
{ {
throw EXCEPTION("Invalid frame rate code set (0x%x)", frc_set); fmt::throw_exception("Invalid frame rate code set (0x%x)" HERE, frc_set);
} }
} }
@ -289,7 +289,7 @@ struct vdec_thread : ppu_thread
case 60: case 0x100000000ull + 120: frame.frc = CELL_VDEC_FRC_60; break; case 60: case 0x100000000ull + 120: frame.frc = CELL_VDEC_FRC_60; break;
default: default:
{ {
throw EXCEPTION("Unsupported time_base.den (%d/1, tpf=%d)", ctx->time_base.den, ctx->ticks_per_frame); fmt::throw_exception("Unsupported time_base.den (%d/1, tpf=%d)" HERE, ctx->time_base.den, ctx->ticks_per_frame);
} }
} }
} }
@ -309,12 +309,12 @@ struct vdec_thread : ppu_thread
} }
else else
{ {
throw EXCEPTION("Unsupported time_base.den (%d/1001, tpf=%d)", ctx->time_base.den, ctx->ticks_per_frame); fmt::throw_exception("Unsupported time_base.den (%d/1001, tpf=%d)" HERE, ctx->time_base.den, ctx->ticks_per_frame);
} }
} }
else else
{ {
throw EXCEPTION("Unsupported time_base.num (%d)", ctx->time_base.num); fmt::throw_exception("Unsupported time_base.num (%d)" HERE, ctx->time_base.num);
} }
} }
@ -355,7 +355,7 @@ struct vdec_thread : ppu_thread
default: default:
{ {
throw fmt::exception("Unknown command (0x%x)" HERE, (u32)vcmd); fmt::throw_exception("Unknown command (0x%x)" HERE, (u32)vcmd);
} }
} }
} }
@ -487,7 +487,7 @@ s32 cellVdecDecodeAu(u32 handle, CellVdecDecodeMode mode, vm::cptr<CellVdecAuInf
if (mode != CELL_VDEC_DEC_MODE_NORMAL) if (mode != CELL_VDEC_DEC_MODE_NORMAL)
{ {
throw EXCEPTION("Unsupported decoding mode (%d)", (s32)mode); fmt::throw_exception("Unsupported decoding mode (%d)" HERE, (s32)mode);
} }
// TODO: check info // TODO: check info
@ -550,13 +550,13 @@ s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u
default: default:
{ {
throw fmt::exception("Unknown formatType (%d)" HERE, type); fmt::throw_exception("Unknown formatType (%d)" HERE, type);
} }
} }
if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709) if (format->colorMatrixType != CELL_VDEC_COLOR_MATRIX_TYPE_BT709)
{ {
throw fmt::exception("Unknown colorMatrixType (%d)" HERE, format->colorMatrixType); fmt::throw_exception("Unknown colorMatrixType (%d)" HERE, format->colorMatrixType);
} }
if (alpha_plane) if (alpha_plane)
@ -572,7 +572,7 @@ s32 cellVdecGetPicture(u32 handle, vm::cptr<CellVdecPicFormat> format, vm::ptr<u
default: default:
{ {
throw fmt::exception("Unknown format (%d)" HERE, frame->format); fmt::throw_exception("Unknown format (%d)" HERE, frame->format);
} }
} }
@ -614,7 +614,7 @@ s32 cellVdecGetPictureExt(u32 handle, vm::cptr<CellVdecPicFormat2> format2, vm::
if (arg4 || format2->unk0 || format2->unk1) if (arg4 || format2->unk0 || format2->unk1)
{ {
throw EXCEPTION("Unknown arguments (arg4=*0x%x, unk0=0x%x, unk1=0x%x)", arg4, format2->unk0, format2->unk1); fmt::throw_exception("Unknown arguments (arg4=*0x%x, unk0=0x%x, unk1=0x%x)" HERE, arg4, format2->unk0, format2->unk1);
} }
vm::var<CellVdecPicFormat> format; vm::var<CellVdecPicFormat> format;

View File

@ -5,32 +5,32 @@ logs::channel cellVideoExport("cellVideoExport", logs::level::notice);
s32 cellVideoExportProgress() s32 cellVideoExportProgress()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoExportInitialize2() s32 cellVideoExportInitialize2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoExportInitialize() s32 cellVideoExportInitialize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoExportFromFileWithCopy() s32 cellVideoExportFromFileWithCopy()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoExportFromFile() s32 cellVideoExportFromFile()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoExportFinalize() s32 cellVideoExportFinalize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -205,22 +205,22 @@ ppu_error_code cellVideoOutGetResolutionAvailability(u32 videoOut, u32 resolutio
s32 cellVideoOutGetConvertCursorColorInfo(vm::ptr<u8> rgbOutputRange) s32 cellVideoOutGetConvertCursorColorInfo(vm::ptr<u8> rgbOutputRange)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutDebugSetMonitorType(u32 videoOut, u32 monitorType) s32 cellVideoOutDebugSetMonitorType(u32 videoOut, u32 monitorType)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutRegisterCallback(u32 slot, vm::ptr<CellVideoOutCallback> function, vm::ptr<void> userData) s32 cellVideoOutRegisterCallback(u32 slot, vm::ptr<CellVideoOutCallback> function, vm::ptr<void> userData)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellVideoOutUnregisterCallback(u32 slot) s32 cellVideoOutUnregisterCallback(u32 slot)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -5,7 +5,7 @@ logs::channel cellVideoUpload("cellVideoUpload", logs::level::notice);
s32 cellVideoUploadInitialize() s32 cellVideoUploadInitialize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::cellVideoUpload)("cellVideoUpload", []() DECLARE(ppu_module_manager::cellVideoUpload)("cellVideoUpload", []()

View File

@ -7,177 +7,177 @@ extern logs::channel cellSysutil;
s32 cellWebBrowserActivate() s32 cellWebBrowserActivate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfig() s32 cellWebBrowserConfig()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfig2() s32 cellWebBrowserConfig2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigGetHeapSize() s32 cellWebBrowserConfigGetHeapSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigGetHeapSize2() s32 cellWebBrowserConfigGetHeapSize2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetCustomExit() s32 cellWebBrowserConfigSetCustomExit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetDisableTabs() s32 cellWebBrowserConfigSetDisableTabs()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetErrorHook2() s32 cellWebBrowserConfigSetErrorHook2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetFullScreen2() s32 cellWebBrowserConfigSetFullScreen2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetFullVersion2() s32 cellWebBrowserConfigSetFullVersion2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetFunction() s32 cellWebBrowserConfigSetFunction()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetFunction2() s32 cellWebBrowserConfigSetFunction2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetHeapSize() s32 cellWebBrowserConfigSetHeapSize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetHeapSize2() s32 cellWebBrowserConfigSetHeapSize2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetMimeSet() s32 cellWebBrowserConfigSetMimeSet()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetNotifyHook2() s32 cellWebBrowserConfigSetNotifyHook2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetRequestHook2() s32 cellWebBrowserConfigSetRequestHook2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetStatusHook2() s32 cellWebBrowserConfigSetStatusHook2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetTabCount2() s32 cellWebBrowserConfigSetTabCount2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetUnknownMIMETypeHook2() s32 cellWebBrowserConfigSetUnknownMIMETypeHook2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetVersion() s32 cellWebBrowserConfigSetVersion()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetViewCondition2() s32 cellWebBrowserConfigSetViewCondition2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigSetViewRect2() s32 cellWebBrowserConfigSetViewRect2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserConfigWithVer() s32 cellWebBrowserConfigWithVer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreate() s32 cellWebBrowserCreate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreate2() s32 cellWebBrowserCreate2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreateRender2() s32 cellWebBrowserCreateRender2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreateRenderWithRect2() s32 cellWebBrowserCreateRenderWithRect2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreateWithConfig() s32 cellWebBrowserCreateWithConfig()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreateWithConfigFull() s32 cellWebBrowserCreateWithConfigFull()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserCreateWithRect2() s32 cellWebBrowserCreateWithRect2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserDeactivate() s32 cellWebBrowserDeactivate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserDestroy() s32 cellWebBrowserDestroy()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserDestroy2() s32 cellWebBrowserDestroy2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserEstimate() s32 cellWebBrowserEstimate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserEstimate2(vm::cptr<CellWebBrowserConfig2> config, vm::ptr<u32> memSize) s32 cellWebBrowserEstimate2(vm::cptr<CellWebBrowserConfig2> config, vm::ptr<u32> memSize)
@ -192,57 +192,57 @@ s32 cellWebBrowserEstimate2(vm::cptr<CellWebBrowserConfig2> config, vm::ptr<u32>
s32 cellWebBrowserGetUsrdataOnGameExit() s32 cellWebBrowserGetUsrdataOnGameExit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserInitialize() s32 cellWebBrowserInitialize()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserNavigate2() s32 cellWebBrowserNavigate2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserSetLocalContentsAdditionalTitleID() s32 cellWebBrowserSetLocalContentsAdditionalTitleID()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserSetSystemCallbackUsrdata() s32 cellWebBrowserSetSystemCallbackUsrdata()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserShutdown() s32 cellWebBrowserShutdown()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserUpdatePointerDisplayPos2() s32 cellWebBrowserUpdatePointerDisplayPos2()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebBrowserWakeupWithGameExit() s32 cellWebBrowserWakeupWithGameExit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebComponentCreate() s32 cellWebComponentCreate()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebComponentCreateAsync() s32 cellWebComponentCreateAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellWebComponentDestroy() s32 cellWebComponentDestroy()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -516,7 +516,7 @@ s32 cellSurMixerSetNotifyCallback(vm::ptr<CellSurMixerNotifyCallbackFunction> fu
if (g_surmx.cb) if (g_surmx.cb)
{ {
throw EXCEPTION("Callback already set"); fmt::throw_exception("Callback already set" HERE);
} }
g_surmx.cb = func; g_surmx.cb = func;
@ -531,7 +531,7 @@ s32 cellSurMixerRemoveNotifyCallback(vm::ptr<CellSurMixerNotifyCallbackFunction>
if (g_surmx.cb != func) if (g_surmx.cb != func)
{ {
throw EXCEPTION("Callback not set"); fmt::throw_exception("Callback not set" HERE);
} }
g_surmx.cb = vm::null; g_surmx.cb = vm::null;
@ -648,19 +648,19 @@ void cellSurMixerBeep(u32 arg)
f32 cellSurMixerUtilGetLevelFromDB(f32 dB) f32 cellSurMixerUtilGetLevelFromDB(f32 dB)
{ {
libmixer.todo("cellSurMixerUtilGetLevelFromDB(dB=%f)", dB); libmixer.todo("cellSurMixerUtilGetLevelFromDB(dB=%f)", dB);
throw EXCEPTION("TODO"); fmt::throw_exception("TODO" HERE);
} }
f32 cellSurMixerUtilGetLevelFromDBIndex(s32 index) f32 cellSurMixerUtilGetLevelFromDBIndex(s32 index)
{ {
libmixer.todo("cellSurMixerUtilGetLevelFromDBIndex(index=%d)", index); libmixer.todo("cellSurMixerUtilGetLevelFromDBIndex(index=%d)", index);
throw EXCEPTION("TODO"); fmt::throw_exception("TODO" HERE);
} }
f32 cellSurMixerUtilNoteToRatio(u8 refNote, u8 note) f32 cellSurMixerUtilNoteToRatio(u8 refNote, u8 note)
{ {
libmixer.todo("cellSurMixerUtilNoteToRatio(refNote=%d, note=%d)", refNote, note); libmixer.todo("cellSurMixerUtilNoteToRatio(refNote=%d, note=%d)", refNote, note);
throw EXCEPTION("TODO"); fmt::throw_exception("TODO" HERE);
} }
DECLARE(ppu_module_manager::libmixer)("libmixer", []() DECLARE(ppu_module_manager::libmixer)("libmixer", []()

View File

@ -19,12 +19,12 @@ s32 cellSnd3Exit()
u16 cellSnd3Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine) u16 cellSnd3Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
u16 cellSnd3Pitch2Note(u16 center_note, u16 center_fine, u16 pitch) u16 cellSnd3Pitch2Note(u16 center_note, u16 center_fine, u16 pitch)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SetOutputMode(u32 mode) s32 cellSnd3SetOutputMode(u32 mode)
@ -59,22 +59,22 @@ s32 cellSnd3UnbindSoundData(u32 hd3ID)
s32 cellSnd3NoteOnByTone(u32 hd3ID, u32 toneIndex, u32 note, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam) s32 cellSnd3NoteOnByTone(u32 hd3ID, u32 toneIndex, u32 note, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3KeyOnByTone(u32 hd3ID, u32 toneIndex, u32 pitch, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam) s32 cellSnd3KeyOnByTone(u32 hd3ID, u32 toneIndex, u32 pitch, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3VoiceNoteOnByTone(u32 hd3ID, u32 voiceNum, u32 toneIndex, u32 note, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam) s32 cellSnd3VoiceNoteOnByTone(u32 hd3ID, u32 voiceNum, u32 toneIndex, u32 note, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3VoiceKeyOnByTone(u32 hd3ID, u32 voiceNum, u32 toneIndex, u32 pitch, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam) s32 cellSnd3VoiceKeyOnByTone(u32 hd3ID, u32 voiceNum, u32 toneIndex, u32 pitch, u32 keyOnID, vm::ptr<CellSnd3KeyOnParam> keyOnParam)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3VoiceSetReserveMode(u32 voiceNum, u32 reserveMode) s32 cellSnd3VoiceSetReserveMode(u32 voiceNum, u32 reserveMode)
@ -139,7 +139,7 @@ s32 cellSnd3VoiceGetEnvelope(u32 voiceNum)
s32 cellSnd3VoiceGetStatus(u32 voiceNum) s32 cellSnd3VoiceGetStatus(u32 voiceNum)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
u32 cellSnd3KeyOffByID(u32 keyOnID) u32 cellSnd3KeyOffByID(u32 keyOnID)
@ -186,12 +186,12 @@ s32 cellSnd3SetEffectType(u16 effectType, s16 returnVol, u16 delay, u16 feedback
s32 cellSnd3SMFBind(vm::ptr<CellSnd3SmfCtx> smfCtx, vm::ptr<void> smf, u32 hd3ID) s32 cellSnd3SMFBind(vm::ptr<CellSnd3SmfCtx> smfCtx, vm::ptr<void> smf, u32 hd3ID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFUnbind(u32 smfID) s32 cellSnd3SMFUnbind(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFPlay(u32 smfID, u32 playVelocity, u32 playPan, u32 playCount) s32 cellSnd3SMFPlay(u32 smfID, u32 playVelocity, u32 playPan, u32 playCount)
@ -232,7 +232,7 @@ s32 cellSnd3SMFAddTempo(u32 smfID, s32 addTempo)
s32 cellSnd3SMFGetTempo(u32 smfID) s32 cellSnd3SMFGetTempo(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFSetPlayVelocity(u32 smfID, u32 playVelocity) s32 cellSnd3SMFSetPlayVelocity(u32 smfID, u32 playVelocity)
@ -243,7 +243,7 @@ s32 cellSnd3SMFSetPlayVelocity(u32 smfID, u32 playVelocity)
s32 cellSnd3SMFGetPlayVelocity(u32 smfID) s32 cellSnd3SMFGetPlayVelocity(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFSetPlayPanpot(u32 smfID, u32 playPanpot) s32 cellSnd3SMFSetPlayPanpot(u32 smfID, u32 playPanpot)
@ -260,17 +260,17 @@ s32 cellSnd3SMFSetPlayPanpotEx(u32 smfID, u32 playPanpotEx)
s32 cellSnd3SMFGetPlayPanpot(u32 smfID) s32 cellSnd3SMFGetPlayPanpot(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFGetPlayPanpotEx(u32 smfID) s32 cellSnd3SMFGetPlayPanpotEx(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFGetPlayStatus(u32 smfID) s32 cellSnd3SMFGetPlayStatus(u32 smfID)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFSetPlayChannel(u32 smfID, u32 playChannelBit) s32 cellSnd3SMFSetPlayChannel(u32 smfID, u32 playChannelBit)
@ -281,7 +281,7 @@ s32 cellSnd3SMFSetPlayChannel(u32 smfID, u32 playChannelBit)
s32 cellSnd3SMFGetPlayChannel(u32 smfID, vm::ptr<u32> playChannelBit) s32 cellSnd3SMFGetPlayChannel(u32 smfID, vm::ptr<u32> playChannelBit)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSnd3SMFGetKeyOnID(u32 smfID, u32 midiChannel, vm::ptr<u32> keyOnID) s32 cellSnd3SMFGetKeyOnID(u32 smfID, u32 midiChannel, vm::ptr<u32> keyOnID)

View File

@ -31,7 +31,7 @@ void cellSoundSynth2SetParam(u16 reg, u16 value)
u16 cellSoundSynth2GetParam(u16 reg) u16 cellSoundSynth2GetParam(u16 reg)
{ {
libsynth2.todo("cellSoundSynth2GetParam(register=0x%x)", reg); libsynth2.todo("cellSoundSynth2GetParam(register=0x%x)", reg);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void cellSoundSynth2SetSwitch(u16 reg, u32 value) void cellSoundSynth2SetSwitch(u16 reg, u32 value)
@ -42,7 +42,7 @@ void cellSoundSynth2SetSwitch(u16 reg, u32 value)
u32 cellSoundSynth2GetSwitch(u16 reg) u32 cellSoundSynth2GetSwitch(u16 reg)
{ {
libsynth2.todo("cellSoundSynth2GetSwitch(register=0x%x)", reg); libsynth2.todo("cellSoundSynth2GetSwitch(register=0x%x)", reg);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSoundSynth2SetAddr(u16 reg, u32 value) s32 cellSoundSynth2SetAddr(u16 reg, u32 value)
@ -54,7 +54,7 @@ s32 cellSoundSynth2SetAddr(u16 reg, u32 value)
u32 cellSoundSynth2GetAddr(u16 reg) u32 cellSoundSynth2GetAddr(u16 reg)
{ {
libsynth2.todo("cellSoundSynth2GetAddr(register=0x%x)", reg); libsynth2.todo("cellSoundSynth2GetAddr(register=0x%x)", reg);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 cellSoundSynth2SetEffectAttr(s16 bus, vm::ptr<CellSoundSynth2EffectAttr> attr) s32 cellSoundSynth2SetEffectAttr(s16 bus, vm::ptr<CellSoundSynth2EffectAttr> attr)
@ -95,13 +95,13 @@ s32 cellSoundSynth2VoiceTransStatus(s16 channel, s16 flag)
u16 cellSoundSynth2Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine) u16 cellSoundSynth2Note2Pitch(u16 center_note, u16 center_fine, u16 note, s16 fine)
{ {
libsynth2.todo("cellSoundSynth2Note2Pitch(center_note=0x%x, center_fine=0x%x, note=0x%x, fine=%d)", center_note, center_fine, note, fine); libsynth2.todo("cellSoundSynth2Note2Pitch(center_note=0x%x, center_fine=0x%x, note=0x%x, fine=%d)", center_note, center_fine, note, fine);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
u16 cellSoundSynth2Pitch2Note(u16 center_note, u16 center_fine, u16 pitch) u16 cellSoundSynth2Pitch2Note(u16 center_note, u16 center_fine, u16 pitch)
{ {
libsynth2.todo("cellSoundSynth2Pitch2Note(center_note=0x%x, center_fine=0x%x, pitch=0x%x)", center_note, center_fine, pitch); libsynth2.todo("cellSoundSynth2Pitch2Note(center_note=0x%x, center_fine=0x%x, pitch=0x%x)", center_note, center_fine, pitch);
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -1478,47 +1478,47 @@ s32 _sceNpSysutilClientFree()
s32 _Z33_sce_np_sysutil_send_empty_packetiPN16sysutil_cxmlutil11FixedMemoryEPKcS3_() s32 _Z33_sce_np_sysutil_send_empty_packetiPN16sysutil_cxmlutil11FixedMemoryEPKcS3_()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z27_sce_np_sysutil_send_packetiRN4cxml8DocumentE() s32 _Z27_sce_np_sysutil_send_packetiRN4cxml8DocumentE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z36_sce_np_sysutil_recv_packet_fixedmemiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE() s32 _Z36_sce_np_sysutil_recv_packet_fixedmemiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z40_sce_np_sysutil_recv_packet_fixedmem_subiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE() s32 _Z40_sce_np_sysutil_recv_packet_fixedmem_subiPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentERNS2_7ElementE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z27_sce_np_sysutil_recv_packetiRN4cxml8DocumentERNS_7ElementE() s32 _Z27_sce_np_sysutil_recv_packetiRN4cxml8DocumentERNS_7ElementE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z29_sce_np_sysutil_cxml_set_npidRN4cxml8DocumentERNS_7ElementEPKcPK7SceNpId() s32 _Z29_sce_np_sysutil_cxml_set_npidRN4cxml8DocumentERNS_7ElementEPKcPK7SceNpId()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z31_sce_np_sysutil_send_packet_subiRN4cxml8DocumentE() s32 _Z31_sce_np_sysutil_send_packet_subiRN4cxml8DocumentE()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z37sce_np_matching_set_matching2_runningb() s32 _Z37sce_np_matching_set_matching2_runningb()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i() s32 _Z32_sce_np_sysutil_cxml_prepare_docPN16sysutil_cxmlutil11FixedMemoryERN4cxml8DocumentEPKcRNS2_7ElementES6_i()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -69,317 +69,317 @@ s32 sceNpMatching2Term2()
s32 sceNpMatching2DestroyContext() s32 sceNpMatching2DestroyContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2LeaveLobby() s32 sceNpMatching2LeaveLobby()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterLobbyMessageCallback() s32 sceNpMatching2RegisterLobbyMessageCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetWorldInfoList() s32 sceNpMatching2GetWorldInfoList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterLobbyEventCallback() s32 sceNpMatching2RegisterLobbyEventCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetLobbyMemberDataInternalList() s32 sceNpMatching2GetLobbyMemberDataInternalList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SearchRoom() s32 sceNpMatching2SearchRoom()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SignalingGetConnectionStatus() s32 sceNpMatching2SignalingGetConnectionStatus()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetUserInfo() s32 sceNpMatching2SetUserInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetClanLobbyId() s32 sceNpMatching2GetClanLobbyId()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetLobbyMemberDataInternal() s32 sceNpMatching2GetLobbyMemberDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2ContextStart() s32 sceNpMatching2ContextStart()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2CreateServerContext() s32 sceNpMatching2CreateServerContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetMemoryInfo() s32 sceNpMatching2GetMemoryInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2LeaveRoom() s32 sceNpMatching2LeaveRoom()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetRoomDataExternal() s32 sceNpMatching2SetRoomDataExternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SignalingGetConnectionInfo() s32 sceNpMatching2SignalingGetConnectionInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SendRoomMessage() s32 sceNpMatching2SendRoomMessage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2JoinLobby() s32 sceNpMatching2JoinLobby()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomMemberDataExternalList() s32 sceNpMatching2GetRoomMemberDataExternalList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2AbortRequest() s32 sceNpMatching2AbortRequest()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetServerInfo() s32 sceNpMatching2GetServerInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetEventData() s32 sceNpMatching2GetEventData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomSlotInfoLocal() s32 sceNpMatching2GetRoomSlotInfoLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SendLobbyChatMessage() s32 sceNpMatching2SendLobbyChatMessage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2AbortContextStart() s32 sceNpMatching2AbortContextStart()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomMemberIdListLocal() s32 sceNpMatching2GetRoomMemberIdListLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2JoinRoom() s32 sceNpMatching2JoinRoom()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomMemberDataInternalLocal() s32 sceNpMatching2GetRoomMemberDataInternalLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetCbQueueInfo() s32 sceNpMatching2GetCbQueueInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2KickoutRoomMember() s32 sceNpMatching2KickoutRoomMember()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2ContextStartAsync() s32 sceNpMatching2ContextStartAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetSignalingOptParam() s32 sceNpMatching2SetSignalingOptParam()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterContextCallback() s32 sceNpMatching2RegisterContextCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SendRoomChatMessage() s32 sceNpMatching2SendRoomChatMessage()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetRoomDataInternal() s32 sceNpMatching2SetRoomDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomDataInternal() s32 sceNpMatching2GetRoomDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SignalingGetPingInfo() s32 sceNpMatching2SignalingGetPingInfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetServerIdListLocal() s32 sceNpMatching2GetServerIdListLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpUtilBuildCdnUrl() s32 sceNpUtilBuildCdnUrl()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GrantRoomOwner() s32 sceNpMatching2GrantRoomOwner()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2CreateContext() s32 sceNpMatching2CreateContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetSignalingOptParamLocal() s32 sceNpMatching2GetSignalingOptParamLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterSignalingCallback() s32 sceNpMatching2RegisterSignalingCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2ClearEventData() s32 sceNpMatching2ClearEventData()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetUserInfoList() s32 sceNpMatching2GetUserInfoList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomMemberDataInternal() s32 sceNpMatching2GetRoomMemberDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetRoomMemberDataInternal() s32 sceNpMatching2SetRoomMemberDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2JoinProhibitiveRoom() s32 sceNpMatching2JoinProhibitiveRoom()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SignalingSetCtxOpt() s32 sceNpMatching2SignalingSetCtxOpt()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2DeleteServerContext() s32 sceNpMatching2DeleteServerContext()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetDefaultRequestOptParam() s32 sceNpMatching2SetDefaultRequestOptParam()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterRoomEventCallback() s32 sceNpMatching2RegisterRoomEventCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomPasswordLocal() s32 sceNpMatching2GetRoomPasswordLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetRoomDataExternalList() s32 sceNpMatching2GetRoomDataExternalList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2CreateJoinRoom() s32 sceNpMatching2CreateJoinRoom()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SignalingGetCtxOpt() s32 sceNpMatching2SignalingGetCtxOpt()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetLobbyInfoList() s32 sceNpMatching2GetLobbyInfoList()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2GetLobbyMemberIdListLocal() s32 sceNpMatching2GetLobbyMemberIdListLocal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SendLobbyInvitation() s32 sceNpMatching2SendLobbyInvitation()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2ContextStop() s32 sceNpMatching2ContextStop()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2SetLobbyMemberDataInternal() s32 sceNpMatching2SetLobbyMemberDataInternal()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpMatching2RegisterRoomMessageCallback() s32 sceNpMatching2RegisterRoomMessageCallback()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -45,17 +45,17 @@ s32 sceNpCommerce2DestroyCtx()
s32 sceNpCommerce2EmptyStoreCheckStart() s32 sceNpCommerce2EmptyStoreCheckStart()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpCommerce2EmptyStoreCheckAbort() s32 sceNpCommerce2EmptyStoreCheckAbort()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpCommerce2EmptyStoreCheckFinish() s32 sceNpCommerce2EmptyStoreCheckFinish()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpCommerce2CreateSessionStart() s32 sceNpCommerce2CreateSessionStart()
@ -306,12 +306,12 @@ s32 sceNpCommerce2DestroyReq()
s32 sceNpCommerce2DoServiceListStartAsync() s32 sceNpCommerce2DoServiceListStartAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpCommerce2DoServiceListFinishAsync() s32 sceNpCommerce2DoServiceListFinishAsync()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::sceNpCommerce2)("sceNpCommerce2", []() DECLARE(ppu_module_manager::sceNpCommerce2)("sceNpCommerce2", []()

View File

@ -47,22 +47,22 @@ s32 sceNpSnsFbGetAccessToken()
s32 sceNpSnsFbStreamPublish() s32 sceNpSnsFbStreamPublish()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpSnsFbCheckThrottle() s32 sceNpSnsFbCheckThrottle()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpSnsFbCheckConfig() s32 sceNpSnsFbCheckConfig()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sceNpSnsFbLoadThrottle() s32 sceNpSnsFbLoadThrottle()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -156,12 +156,12 @@ s32 sys_get_random_number(vm::ptr<u8> addr, u64 size)
s32 console_getc() s32 console_getc()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 console_putc() s32 console_putc()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 console_write(vm::ptr<char> data, u32 len) s32 console_write(vm::ptr<char> data, u32 len)

View File

@ -148,42 +148,42 @@ void sys_game_process_exitspawn2(vm::cptr<char> path, u32 argv_addr, u32 envp_ad
s32 sys_game_board_storage_read() s32 sys_game_board_storage_read()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_board_storage_write() s32 sys_game_board_storage_write()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_get_rtc_status() s32 sys_game_get_rtc_status()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_get_system_sw_version() s32 sys_game_get_system_sw_version()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_get_temperature() s32 sys_game_get_temperature()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_watchdog_clear() s32 sys_game_watchdog_clear()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_watchdog_start() s32 sys_game_watchdog_start()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_game_watchdog_stop() s32 sys_game_watchdog_stop()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -58,22 +58,22 @@ s32 _sys_heap_free(u32 heap, u32 addr)
s32 _sys_heap_alloc_heap_memory() s32 _sys_heap_alloc_heap_memory()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_heap_get_mallinfo() s32 _sys_heap_get_mallinfo()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_heap_get_total_free_size() s32 _sys_heap_get_total_free_size()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_heap_stats() s32 _sys_heap_stats()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void sysPrxForUser_sys_heap_init() void sysPrxForUser_sys_heap_init()

View File

@ -10,32 +10,32 @@ extern void cellMouse_init();
s32 sys_config_start() s32 sys_config_start()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_config_stop() s32 sys_config_stop()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_config_add_service_listener() s32 sys_config_add_service_listener()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_config_remove_service_listener() s32 sys_config_remove_service_listener()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_config_register_service() s32 sys_config_register_service()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_config_unregister_service() s32 sys_config_unregister_service()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }

View File

@ -139,7 +139,7 @@ static std::string ps3_fmt(ppu_thread& context, vm::cptr<char> fmt, u32 g_count)
} }
} }
throw EXCEPTION("Unknown formatting: '%s'", start.get_ptr()); fmt::throw_exception("Unknown formatting: '%s'" HERE, start.get_ptr());
} }
} }
@ -176,7 +176,7 @@ s32 _sys_memcmp(vm::cptr<void> buf1, vm::cptr<void> buf2, u32 size)
s32 _sys_memchr() s32 _sys_memchr()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
vm::ptr<void> _sys_memmove(vm::ptr<void> dst, vm::cptr<void> src, u32 size) vm::ptr<void> _sys_memmove(vm::ptr<void> dst, vm::cptr<void> src, u32 size)
@ -215,7 +215,7 @@ vm::ptr<char> _sys_strcat(vm::ptr<char> dest, vm::cptr<char> source)
if (strcat(dest.get_ptr(), source.get_ptr()) != dest.get_ptr()) if (strcat(dest.get_ptr(), source.get_ptr()) != dest.get_ptr())
{ {
throw EXCEPTION("Unexpected strcat() result"); fmt::throw_exception("Unexpected strcat() result" HERE);
} }
return dest; return dest;
@ -234,7 +234,7 @@ vm::ptr<char> _sys_strncat(vm::ptr<char> dest, vm::cptr<char> source, u32 len)
if (strncat(dest.get_ptr(), source.get_ptr(), len) != dest.get_ptr()) if (strncat(dest.get_ptr(), source.get_ptr(), len) != dest.get_ptr())
{ {
throw EXCEPTION("Unexpected strncat() result"); fmt::throw_exception("Unexpected strncat() result" HERE);
} }
return dest; return dest;
@ -246,7 +246,7 @@ vm::ptr<char> _sys_strcpy(vm::ptr<char> dest, vm::cptr<char> source)
if (strcpy(dest.get_ptr(), source.get_ptr()) != dest.get_ptr()) if (strcpy(dest.get_ptr(), source.get_ptr()) != dest.get_ptr())
{ {
throw EXCEPTION("Unexpected strcpy() result"); fmt::throw_exception("Unexpected strcpy() result" HERE);
} }
return dest; return dest;
@ -263,7 +263,7 @@ vm::ptr<char> _sys_strncpy(vm::ptr<char> dest, vm::cptr<char> source, u32 len)
if (strncpy(dest.get_ptr(), source.get_ptr(), len) != dest.get_ptr()) if (strncpy(dest.get_ptr(), source.get_ptr(), len) != dest.get_ptr())
{ {
throw EXCEPTION("Unexpected strncpy() result"); fmt::throw_exception("Unexpected strncpy() result" HERE);
} }
return dest; return dest;
@ -271,22 +271,22 @@ vm::ptr<char> _sys_strncpy(vm::ptr<char> dest, vm::cptr<char> source, u32 len)
s32 _sys_strncasecmp() s32 _sys_strncasecmp()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_strrchr() s32 _sys_strrchr()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_tolower() s32 _sys_tolower()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_toupper() s32 _sys_toupper()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
u32 _sys_malloc(u32 size) u32 _sys_malloc(u32 size)
@ -348,27 +348,27 @@ s32 _sys_printf(ppu_thread& ppu, vm::cptr<char> fmt, ppu_va_args_t va_args)
s32 _sys_sprintf() s32 _sys_sprintf()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_vprintf() s32 _sys_vprintf()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_vsnprintf() s32 _sys_vsnprintf()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_vsprintf() s32 _sys_vsprintf()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 _sys_qsort() s32 _sys_qsort()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void sysPrxForUser_sys_libc_init() void sysPrxForUser_sys_libc_init()

View File

@ -9,184 +9,184 @@ logs::channel sys_lv2dbg("sys_lv2dbg", logs::level::notice);
s32 sys_dbg_read_ppu_thread_context(u64 id, vm::ptr<sys_dbg_ppu_thread_context_t> ppu_context) s32 sys_dbg_read_ppu_thread_context(u64 id, vm::ptr<sys_dbg_ppu_thread_context_t> ppu_context)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_read_spu_thread_context(u32 id, vm::ptr<sys_dbg_spu_thread_context_t> spu_context) s32 sys_dbg_read_spu_thread_context(u32 id, vm::ptr<sys_dbg_spu_thread_context_t> spu_context)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_read_spu_thread_context2(u32 id, vm::ptr<sys_dbg_spu_thread_context2_t> spu_context) s32 sys_dbg_read_spu_thread_context2(u32 id, vm::ptr<sys_dbg_spu_thread_context2_t> spu_context)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_set_stacksize_ppu_exception_handler(u32 stacksize) s32 sys_dbg_set_stacksize_ppu_exception_handler(u32 stacksize)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_initialize_ppu_exception_handler(s32 prio) s32 sys_dbg_initialize_ppu_exception_handler(s32 prio)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_finalize_ppu_exception_handler() s32 sys_dbg_finalize_ppu_exception_handler()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_register_ppu_exception_handler(vm::ptr<dbg_exception_handler_t> callback, u64 ctrl_flags) s32 sys_dbg_register_ppu_exception_handler(vm::ptr<dbg_exception_handler_t> callback, u64 ctrl_flags)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_unregister_ppu_exception_handler() s32 sys_dbg_unregister_ppu_exception_handler()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_signal_to_ppu_exception_handler(u64 flags) s32 sys_dbg_signal_to_ppu_exception_handler(u64 flags)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_mutex_information(u32 id, vm::ptr<sys_dbg_mutex_information_t> info) s32 sys_dbg_get_mutex_information(u32 id, vm::ptr<sys_dbg_mutex_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_cond_information(u32 id, vm::ptr<sys_dbg_cond_information_t> info) s32 sys_dbg_get_cond_information(u32 id, vm::ptr<sys_dbg_cond_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_rwlock_information(u32 id, vm::ptr<sys_dbg_rwlock_information_t> info) s32 sys_dbg_get_rwlock_information(u32 id, vm::ptr<sys_dbg_rwlock_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_event_queue_information(u32 id, vm::ptr<sys_dbg_event_queue_information_t> info) s32 sys_dbg_get_event_queue_information(u32 id, vm::ptr<sys_dbg_event_queue_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_semaphore_information(u32 id, vm::ptr<sys_dbg_semaphore_information_t> info) s32 sys_dbg_get_semaphore_information(u32 id, vm::ptr<sys_dbg_semaphore_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_lwmutex_information(u32 id, vm::ptr<sys_dbg_lwmutex_information_t> info) s32 sys_dbg_get_lwmutex_information(u32 id, vm::ptr<sys_dbg_lwmutex_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_lwcond_information(u32 id, vm::ptr<sys_dbg_lwcond_information_t> info) s32 sys_dbg_get_lwcond_information(u32 id, vm::ptr<sys_dbg_lwcond_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_event_flag_information(u32 id, vm::ptr<sys_dbg_event_flag_information_t> info) s32 sys_dbg_get_event_flag_information(u32 id, vm::ptr<sys_dbg_event_flag_information_t> info)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_ppu_thread_ids(vm::ptr<u64> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num) s32 sys_dbg_get_ppu_thread_ids(vm::ptr<u64> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_spu_thread_group_ids(vm::ptr<u32> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num) s32 sys_dbg_get_spu_thread_group_ids(vm::ptr<u32> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_spu_thread_ids(u32 group_id, vm::ptr<u32> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num) s32 sys_dbg_get_spu_thread_ids(u32 group_id, vm::ptr<u32> ids, vm::ptr<u64> ids_num, vm::ptr<u64> all_ids_num)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_ppu_thread_name(u64 id, vm::ptr<char> name) s32 sys_dbg_get_ppu_thread_name(u64 id, vm::ptr<char> name)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_spu_thread_name(u32 id, vm::ptr<char> name) s32 sys_dbg_get_spu_thread_name(u32 id, vm::ptr<char> name)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_spu_thread_group_name(u32 id, vm::ptr<char> name) s32 sys_dbg_get_spu_thread_group_name(u32 id, vm::ptr<char> name)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_ppu_thread_status(u64 id, vm::ptr<u32> status) s32 sys_dbg_get_ppu_thread_status(u64 id, vm::ptr<u32> status)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_spu_thread_group_status(u32 id, vm::ptr<u32> status) s32 sys_dbg_get_spu_thread_group_status(u32 id, vm::ptr<u32> status)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_enable_floating_point_enabled_exception(u64 id, u64 flags, u64 opt1, u64 opt2) s32 sys_dbg_enable_floating_point_enabled_exception(u64 id, u64 flags, u64 opt1, u64 opt2)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_disable_floating_point_enabled_exception(u64 id, u64 flags, u64 opt1, u64 opt2) s32 sys_dbg_disable_floating_point_enabled_exception(u64 id, u64 flags, u64 opt1, u64 opt2)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_vm_get_page_information(u32 addr, u32 num, vm::ptr<sys_vm_page_information_t> pageinfo) s32 sys_dbg_vm_get_page_information(u32 addr, u32 num, vm::ptr<sys_vm_page_information_t> pageinfo)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_set_address_to_dabr(u64 addr, u64 ctrl_flag) s32 sys_dbg_set_address_to_dabr(u64 addr, u64 ctrl_flag)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_address_from_dabr(vm::ptr<u64> addr, vm::ptr<u64> ctrl_flag) s32 sys_dbg_get_address_from_dabr(vm::ptr<u64> addr, vm::ptr<u64> ctrl_flag)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_signal_to_coredump_handler(u64 data1, u64 data2, u64 data3) s32 sys_dbg_signal_to_coredump_handler(u64 data1, u64 data2, u64 data3)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_mat_set_condition(u32 addr, u64 cond) s32 sys_dbg_mat_set_condition(u32 addr, u64 cond)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_mat_get_condition(u32 addr, vm::ptr<u64> condp) s32 sys_dbg_mat_get_condition(u32 addr, vm::ptr<u64> condp)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_get_coredump_params(vm::ptr<s32> param) s32 sys_dbg_get_coredump_params(vm::ptr<s32> param)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_dbg_set_mask_to_ppu_exception_handler(u64 mask, u64 flags) s32 sys_dbg_set_mask_to_ppu_exception_handler(u64 mask, u64 flags)
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
DECLARE(ppu_module_manager::sys_lv2dbg)("sys_lv2dbg", [] DECLARE(ppu_module_manager::sys_lv2dbg)("sys_lv2dbg", []

View File

@ -243,7 +243,7 @@ s32 sys_lwcond_wait(ppu_thread& ppu, vm::ptr<sys_lwcond_t> lwcond, u64 timeout)
if (old != lwmutex_reserved) if (old != lwmutex_reserved)
{ {
throw EXCEPTION("Locking failed (lwmutex=*0x%x, owner=0x%x)", lwmutex, old); fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
} }
return res; return res;
@ -272,13 +272,13 @@ s32 sys_lwcond_wait(ppu_thread& ppu, vm::ptr<sys_lwcond_t> lwcond, u64 timeout)
if (old != lwmutex_reserved) if (old != lwmutex_reserved)
{ {
throw EXCEPTION("Locking failed (lwmutex=*0x%x, owner=0x%x)", lwmutex, old); fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
} }
return CELL_ETIMEDOUT; return CELL_ETIMEDOUT;
} }
throw EXCEPTION("Unexpected syscall result (lwcond=*0x%x, result=0x%x)", lwcond, res); fmt::throw_exception("Unexpected syscall result (lwcond=*0x%x, result=0x%x)" HERE, lwcond, res);
} }
void sysPrxForUser_sys_lwcond_init() void sysPrxForUser_sys_lwcond_init()

View File

@ -149,7 +149,7 @@ s32 sys_lwmutex_lock(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex, u64 timeou
if (old != lwmutex_reserved) if (old != lwmutex_reserved)
{ {
throw EXCEPTION("Locking failed (lwmutex=*0x%x, owner=0x%x)", lwmutex, old); fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
} }
return CELL_OK; return CELL_OK;
@ -158,7 +158,7 @@ s32 sys_lwmutex_lock(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex, u64 timeou
if (res == CELL_EBUSY && lwmutex->attribute & SYS_SYNC_RETRY) if (res == CELL_EBUSY && lwmutex->attribute & SYS_SYNC_RETRY)
{ {
// TODO (protocol is ignored in current implementation) // TODO (protocol is ignored in current implementation)
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
return res; return res;
@ -220,7 +220,7 @@ s32 sys_lwmutex_trylock(ppu_thread& ppu, vm::ptr<sys_lwmutex_t> lwmutex)
if (old != lwmutex_reserved) if (old != lwmutex_reserved)
{ {
throw EXCEPTION("Locking failed (lwmutex=*0x%x, owner=0x%x)", lwmutex, old); fmt::throw_exception("Locking failed (lwmutex=*0x%x, owner=0x%x)" HERE, lwmutex, old);
} }
} }

View File

@ -20,7 +20,7 @@ struct memory_pool_t
s32 sys_mempool_allocate_block() s32 sys_mempool_allocate_block()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_mempool_create(vm::ptr<sys_mempool_t> mempool, vm::ptr<void> chunk, const u64 chunk_size, const u64 block_size, const u64 ralignment) s32 sys_mempool_create(vm::ptr<sys_mempool_t> mempool, vm::ptr<void> chunk, const u64 chunk_size, const u64 block_size, const u64 ralignment)

View File

@ -499,7 +499,7 @@ namespace sys_net
if (level != SOL_SOCKET && level != IPPROTO_TCP) if (level != SOL_SOCKET && level != IPPROTO_TCP)
{ {
throw EXCEPTION("Invalid socket option level!"); fmt::throw_exception("Invalid socket option level!" HERE);
} }
s32 ret; s32 ret;
@ -598,7 +598,7 @@ namespace sys_net
if (flags < 0) if (flags < 0)
{ {
throw EXCEPTION("Failed to obtain socket flags."); fmt::throw_exception("Failed to obtain socket flags." HERE);
} }
u32 mode = *(u32*)optval.get_ptr(); u32 mode = *(u32*)optval.get_ptr();

View File

@ -103,12 +103,12 @@ void sys_ppu_thread_once(ppu_thread& ppu, vm::ptr<atomic_be_t<u32>> once_ctrl, v
s32 sys_ppu_thread_register_atexit() s32 sys_ppu_thread_register_atexit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
s32 sys_ppu_thread_unregister_atexit() s32 sys_ppu_thread_unregister_atexit()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void sysPrxForUser_sys_ppu_thread_init() void sysPrxForUser_sys_ppu_thread_init()

View File

@ -15,7 +15,7 @@ s64 sys_prx_exitspawn_with_level()
s32 sys_prx_load_module_list_on_memcontainer() s32 sys_prx_load_module_list_on_memcontainer()
{ {
throw EXCEPTION(""); fmt::throw_exception("Unimplemented" HERE);
} }
void sysPrxForUser_sys_prx_init() void sysPrxForUser_sys_prx_init()

View File

@ -80,7 +80,7 @@ s32 sys_raw_spu_load(s32 id, vm::cptr<char> path, vm::ptr<u32> entry)
if (hdr.CheckMagic()) if (hdr.CheckMagic())
{ {
throw fmt::exception("sys_raw_spu_load() error: '%s' is encrypted! Try to decrypt it manually and try again.", path.get_ptr()); fmt::throw_exception("sys_raw_spu_load() error: '%s' is encrypted! Try to decrypt it manually and try again.", path.get_ptr());
} }
f.seek(0); f.seek(0);

View File

@ -292,7 +292,7 @@ const g_ppu_scale_table;
bool ppu_interpreter::MFVSCR(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::MFVSCR(ppu_thread& ppu, ppu_opcode_t op)
{ {
throw std::runtime_error("MFVSCR" HERE); fmt::throw_exception<std::logic_error>("MFVSCR instruction at 0x%x (%s)", ppu.cia, Emu.GetTitleID());
} }
bool ppu_interpreter::MTVSCR(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::MTVSCR(ppu_thread& ppu, ppu_opcode_t op)
@ -1817,7 +1817,7 @@ bool ppu_interpreter::TDI(ppu_thread& ppu, ppu_opcode_t op)
((op.bo & 0x2) && a_ < b_) || ((op.bo & 0x2) && a_ < b_) ||
((op.bo & 0x1) && a_ > b_)) ((op.bo & 0x1) && a_ > b_))
{ {
throw std::runtime_error("Trap!" HERE); fmt::throw_exception("Trap!" HERE);
} }
return true; return true;
@ -1834,7 +1834,7 @@ bool ppu_interpreter::TWI(ppu_thread& ppu, ppu_opcode_t op)
((op.bo & 0x2) && a_ < b_) || ((op.bo & 0x2) && a_ < b_) ||
((op.bo & 0x1) && a_ > b_)) ((op.bo & 0x1) && a_ > b_))
{ {
throw std::runtime_error("Trap!" HERE); fmt::throw_exception("Trap!" HERE);
} }
return true; return true;
@ -1941,7 +1941,7 @@ bool ppu_interpreter::SC(ppu_thread& ppu, ppu_opcode_t op)
switch (u32 lv = op.lev) switch (u32 lv = op.lev)
{ {
case 0x0: ppu_execute_syscall(ppu, ppu.gpr[11]); break; case 0x0: ppu_execute_syscall(ppu, ppu.gpr[11]); break;
default: throw fmt::exception("SC lv%u", lv); default: fmt::throw_exception("SC lv%u", lv);
} }
return true; return true;
@ -2181,7 +2181,7 @@ bool ppu_interpreter::TW(ppu_thread& ppu, ppu_opcode_t op)
((u32)a < (u32)b && (op.bo & 0x2)) || ((u32)a < (u32)b && (op.bo & 0x2)) ||
((u32)a >(u32)b && (op.bo & 0x1))) ((u32)a >(u32)b && (op.bo & 0x1)))
{ {
throw std::runtime_error("Trap!" HERE); fmt::throw_exception("Trap!" HERE);
} }
return true; return true;
@ -2402,7 +2402,7 @@ bool ppu_interpreter::TD(ppu_thread& ppu, ppu_opcode_t op)
((op.bo & 0x2) && a_ < b_) || ((op.bo & 0x2) && a_ < b_) ||
((op.bo & 0x1) && a_ > b_)) ((op.bo & 0x1) && a_ > b_))
{ {
throw std::runtime_error("Trap!" HERE); fmt::throw_exception("Trap!" HERE);
} }
return true; return true;
@ -2742,7 +2742,7 @@ bool ppu_interpreter::EQV(ppu_thread& ppu, ppu_opcode_t op)
bool ppu_interpreter::ECIWX(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::ECIWX(ppu_thread& ppu, ppu_opcode_t op)
{ {
throw std::runtime_error("ECIWX" HERE); fmt::throw_exception("ECIWX" HERE);
} }
bool ppu_interpreter::LHZUX(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::LHZUX(ppu_thread& ppu, ppu_opcode_t op)
@ -2773,7 +2773,7 @@ bool ppu_interpreter::MFSPR(ppu_thread& ppu, ppu_opcode_t op)
case 0x10C: ppu.gpr[op.rd] = get_timebased_time() & 0xffffffff; break; case 0x10C: ppu.gpr[op.rd] = get_timebased_time() & 0xffffffff; break;
case 0x10D: ppu.gpr[op.rd] = get_timebased_time() >> 32; break; case 0x10D: ppu.gpr[op.rd] = get_timebased_time() >> 32; break;
default: throw fmt::exception("MFSPR 0x%x" HERE, n); default: fmt::throw_exception("MFSPR 0x%x" HERE, n);
} }
return true; return true;
@ -2813,7 +2813,7 @@ bool ppu_interpreter::MFTB(ppu_thread& ppu, ppu_opcode_t op)
{ {
case 0x10C: ppu.gpr[op.rd] = get_timebased_time() & 0xffffffff; break; case 0x10C: ppu.gpr[op.rd] = get_timebased_time() & 0xffffffff; break;
case 0x10D: ppu.gpr[op.rd] = get_timebased_time() >> 32; break; case 0x10D: ppu.gpr[op.rd] = get_timebased_time() >> 32; break;
default: throw fmt::exception("MFSPR 0x%x" HERE, n); default: fmt::throw_exception("MFSPR 0x%x" HERE, n);
} }
return true; return true;
@ -2856,7 +2856,7 @@ bool ppu_interpreter::ORC(ppu_thread& ppu, ppu_opcode_t op)
bool ppu_interpreter::ECOWX(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::ECOWX(ppu_thread& ppu, ppu_opcode_t op)
{ {
throw std::runtime_error("ECOWX" HERE); fmt::throw_exception("ECOWX" HERE);
} }
bool ppu_interpreter::STHUX(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::STHUX(ppu_thread& ppu, ppu_opcode_t op)
@ -2912,7 +2912,7 @@ bool ppu_interpreter::MTSPR(ppu_thread& ppu, ppu_opcode_t op)
case 0x008: ppu.lr = ppu.gpr[op.rs]; break; case 0x008: ppu.lr = ppu.gpr[op.rs]; break;
case 0x009: ppu.ctr = ppu.gpr[op.rs]; break; case 0x009: ppu.ctr = ppu.gpr[op.rs]; break;
case 0x100: ppu.vrsave = (u32)ppu.gpr[op.rs]; break; case 0x100: ppu.vrsave = (u32)ppu.gpr[op.rs]; break;
default: throw fmt::exception("MTSPR 0x%x" HERE, n); default: fmt::throw_exception("MTSPR 0x%x" HERE, n);
} }
return true; return true;
@ -3850,5 +3850,5 @@ bool ppu_interpreter::FCFID(ppu_thread& ppu, ppu_opcode_t op)
bool ppu_interpreter::UNK(ppu_thread& ppu, ppu_opcode_t op) bool ppu_interpreter::UNK(ppu_thread& ppu, ppu_opcode_t op)
{ {
throw fmt::exception("Unknown/Illegal opcode: 0x%08x at 0x%x" HERE, op.opcode, ppu.cia); fmt::throw_exception("Unknown/Illegal opcode: 0x%08x at 0x%x" HERE, op.opcode, ppu.cia);
} }

View File

@ -154,7 +154,7 @@ extern void ppu_execute_function(ppu_thread& ppu, u32 index)
} }
} }
throw fmt::exception("Function not registered (index %u)" HERE, index); fmt::throw_exception("Function not registered (index %u)" HERE, index);
} }
extern ppu_function_t ppu_get_function(u32 index) extern ppu_function_t ppu_get_function(u32 index)
@ -757,7 +757,7 @@ std::shared_ptr<lv2_prx_t> ppu_load_prx(const ppu_prx_object& elf)
if (!addr) if (!addr)
{ {
throw fmt::exception("vm::alloc() failed (size=0x%x)", mem_size); fmt::throw_exception("vm::alloc() failed (size=0x%x)", mem_size);
} }
// Copy data // Copy data
@ -970,10 +970,10 @@ void ppu_load_exec(const ppu_exec_object& elf)
if (prog.p_type == 0x1 /* LOAD */ && prog.p_memsz) if (prog.p_type == 0x1 /* LOAD */ && prog.p_memsz)
{ {
if (prog.bin.size() > size || prog.bin.size() != prog.p_filesz) if (prog.bin.size() > size || prog.bin.size() != prog.p_filesz)
throw fmt::exception("Invalid binary size (0x%llx, memsz=0x%x)", prog.bin.size(), size); fmt::throw_exception("Invalid binary size (0x%llx, memsz=0x%x)", prog.bin.size(), size);
if (!vm::falloc(addr, size, vm::main)) if (!vm::falloc(addr, size, vm::main))
throw fmt::exception("vm::falloc() failed (addr=0x%x, memsz=0x%x)", addr, size); fmt::throw_exception("vm::falloc() failed (addr=0x%x, memsz=0x%x)", addr, size);
std::memcpy(vm::base(addr), prog.bin.data(), prog.bin.size()); std::memcpy(vm::base(addr), prog.bin.data(), prog.bin.size());
@ -1083,7 +1083,7 @@ void ppu_load_exec(const ppu_exec_object& elf)
if (proc_prx_param.magic != 0x1b434cec) if (proc_prx_param.magic != 0x1b434cec)
{ {
throw fmt::exception("Bad magic! (0x%x)", proc_prx_param.magic); fmt::throw_exception("Bad magic! (0x%x)", proc_prx_param.magic);
} }
ppu_load_exports(link, proc_prx_param.libent_start, proc_prx_param.libent_end); ppu_load_exports(link, proc_prx_param.libent_start, proc_prx_param.libent_end);
@ -1114,7 +1114,7 @@ void ppu_load_exec(const ppu_exec_object& elf)
} }
else else
{ {
throw fmt::exception("Failed to load liblv2.sprx: %s", obj.get_error()); fmt::throw_exception("Failed to load liblv2.sprx: %s", obj.get_error());
} }
} }
else else

View File

@ -134,7 +134,7 @@ void ppu_thread::cpu_task()
{ {
if (arg >= 32) if (arg >= 32)
{ {
throw fmt::exception("Invalid ppu_cmd::set_gpr arg (0x%x)" HERE, arg); fmt::throw_exception("Invalid ppu_cmd::set_gpr arg (0x%x)" HERE, arg);
} }
gpr[arg % 32] = cmd_queue[pos].load().as<u64>(); gpr[arg % 32] = cmd_queue[pos].load().as<u64>();
@ -145,7 +145,7 @@ void ppu_thread::cpu_task()
{ {
if (arg > 8) if (arg > 8)
{ {
throw fmt::exception("Unsupported ppu_cmd::set_args size (0x%x)" HERE, arg); fmt::throw_exception("Unsupported ppu_cmd::set_args size (0x%x)" HERE, arg);
} }
for (u32 i = 0; i < arg; i++) for (u32 i = 0; i < arg; i++)
@ -169,7 +169,7 @@ void ppu_thread::cpu_task()
} }
default: default:
{ {
throw fmt::exception("Unknown ppu_cmd(0x%x)" HERE, type); fmt::throw_exception("Unknown ppu_cmd(0x%x)" HERE, type);
} }
} }
} }
@ -188,7 +188,7 @@ void ppu_thread::exec_task()
const auto& table = *( const auto& table = *(
g_cfg_ppu_decoder.get() == ppu_decoder_type::precise ? &s_ppu_interpreter_precise.get_table() : g_cfg_ppu_decoder.get() == ppu_decoder_type::precise ? &s_ppu_interpreter_precise.get_table() :
g_cfg_ppu_decoder.get() == ppu_decoder_type::fast ? &s_ppu_interpreter_fast.get_table() : g_cfg_ppu_decoder.get() == ppu_decoder_type::fast ? &s_ppu_interpreter_fast.get_table() :
throw std::logic_error("Invalid PPU decoder")); (fmt::throw_exception<std::logic_error>("Invalid PPU decoder"), nullptr));
v128 _op; v128 _op;
decltype(&ppu_interpreter::UNK) func0, func1, func2, func3; decltype(&ppu_interpreter::UNK) func0, func1, func2, func3;
@ -257,7 +257,7 @@ ppu_thread::ppu_thread(const std::string& name, u32 prio, u32 stack)
{ {
if (!stack_addr) if (!stack_addr)
{ {
throw fmt::exception("Out of stack memory (size=0x%x)" HERE, stack_size); fmt::throw_exception("Out of stack memory (size=0x%x)" HERE, stack_size);
} }
gpr[1] = ::align(stack_addr + stack_size, 0x200) - 0x200; gpr[1] = ::align(stack_addr + stack_size, 0x200) - 0x200;
@ -336,7 +336,7 @@ ppu_cmd ppu_thread::cmd_wait()
be_t<u64>* ppu_thread::get_stack_arg(s32 i, u64 align) be_t<u64>* ppu_thread::get_stack_arg(s32 i, u64 align)
{ {
if (align != 1 && align != 2 && align != 4 && align != 8 && align != 16) throw fmt::exception("Unsupported alignment: 0x%llx" HERE, align); if (align != 1 && align != 2 && align != 4 && align != 8 && align != 16) fmt::throw_exception("Unsupported alignment: 0x%llx" HERE, align);
return vm::_ptr<u64>(vm::cast((gpr[1] + 0x30 + 0x8 * (i - 1)) & (0 - align), HERE)); return vm::_ptr<u64>(vm::cast((gpr[1] + 0x30 + 0x8 * (i - 1)) & (0 - align), HERE));
} }
@ -367,7 +367,7 @@ void ppu_thread::fast_call(u32 addr, u32 rtoc)
if (gpr[1] != old_stack && !test(state, cpu_state::ret + cpu_state::exit)) // gpr[1] shouldn't change if (gpr[1] != old_stack && !test(state, cpu_state::ret + cpu_state::exit)) // gpr[1] shouldn't change
{ {
throw fmt::exception("Stack inconsistency (addr=0x%x, rtoc=0x%x, SP=0x%llx, old=0x%llx)", addr, rtoc, gpr[1], old_stack); fmt::throw_exception("Stack inconsistency (addr=0x%x, rtoc=0x%x, SP=0x%llx, old=0x%llx)", addr, rtoc, gpr[1], old_stack);
} }
} }
catch (cpu_state _s) catch (cpu_state _s)
@ -418,12 +418,12 @@ extern void sse_cellbe_stvrx(u64 addr, __m128i a);
[[noreturn]] static void ppu_trap(u64 addr) [[noreturn]] static void ppu_trap(u64 addr)
{ {
throw fmt::exception("Trap! (0x%llx)", addr); fmt::throw_exception("Trap! (0x%llx)", addr);
} }
[[noreturn]] static void ppu_unreachable(u64 addr) [[noreturn]] static void ppu_unreachable(u64 addr)
{ {
throw fmt::exception("Unreachable! (0x%llx)", addr); fmt::throw_exception("Unreachable! (0x%llx)", addr);
} }
static void ppu_trace(u64 addr) static void ppu_trace(u64 addr)

View File

@ -100,7 +100,7 @@ void PPUTranslator::AddFunction(u64 addr, Function* func, FunctionType* type)
{ {
if (!m_func_types.emplace(addr, type).second || !m_func_list.emplace(addr, func).second) if (!m_func_types.emplace(addr, type).second || !m_func_list.emplace(addr, func).second)
{ {
throw fmt::exception("AddFunction(0x%08llx: %s) failed: function already exists", addr, func->getName().data()); fmt::throw_exception("AddFunction(0x%08llx: %s) failed: function already exists", addr, func->getName().data());
} }
} }

View File

@ -46,7 +46,7 @@ void spu_recompiler::compile(spu_function_t& f)
if (f.addr >= 0x40000 || f.addr % 4 || f.size == 0 || f.size > 0x40000 - f.addr || f.size % 4) if (f.addr >= 0x40000 || f.addr % 4 || f.size == 0 || f.size > 0x40000 - f.addr || f.size % 4)
{ {
throw EXCEPTION("Invalid SPU function (addr=0x%05x, size=0x%x)", f.addr, f.size); fmt::throw_exception("Invalid SPU function (addr=0x%05x, size=0x%x)" HERE, f.addr, f.size);
} }
using namespace asmjit; using namespace asmjit;
@ -104,7 +104,7 @@ void spu_recompiler::compile(spu_function_t& f)
{ {
if (addr < f.addr || addr >= f.addr + f.size || addr % 4) if (addr < f.addr || addr >= f.addr + f.size || addr % 4)
{ {
throw EXCEPTION("Invalid function block entry (0x%05x)", addr); fmt::throw_exception("Invalid function block entry (0x%05x)" HERE, addr);
} }
pos_labels[addr / 4] = compiler.newLabel(); pos_labels[addr / 4] = compiler.newLabel();
@ -121,7 +121,7 @@ void spu_recompiler::compile(spu_function_t& f)
{ {
if (addr < f.addr || addr >= f.addr + f.size || addr % 4) if (addr < f.addr || addr >= f.addr + f.size || addr % 4)
{ {
throw EXCEPTION("Invalid jump table entry (0x%05x)", addr); fmt::throw_exception("Invalid jump table entry (0x%05x)" HERE, addr);
} }
} }
@ -226,7 +226,7 @@ spu_recompiler::XmmLink spu_recompiler::XmmAlloc() // get empty xmm register
if (v) return{ v }; if (v) return{ v };
} }
throw EXCEPTION("Out of Xmm Vars"); fmt::throw_exception("Out of Xmm Vars" HERE);
} }
spu_recompiler::XmmLink spu_recompiler::XmmGet(s8 reg, XmmType type) // get xmm register with specific SPU reg spu_recompiler::XmmLink spu_recompiler::XmmGet(s8 reg, XmmType type) // get xmm register with specific SPU reg
@ -238,7 +238,7 @@ spu_recompiler::XmmLink spu_recompiler::XmmGet(s8 reg, XmmType type) // get xmm
case XmmType::Int: c->movdqa(result, SPU_OFF_128(gpr[reg])); break; case XmmType::Int: c->movdqa(result, SPU_OFF_128(gpr[reg])); break;
case XmmType::Float: c->movaps(result, SPU_OFF_128(gpr[reg])); break; case XmmType::Float: c->movaps(result, SPU_OFF_128(gpr[reg])); break;
case XmmType::Double: c->movapd(result, SPU_OFF_128(gpr[reg])); break; case XmmType::Double: c->movapd(result, SPU_OFF_128(gpr[reg])); break;
default: throw EXCEPTION("Invalid XmmType"); default: fmt::throw_exception("Invalid XmmType" HERE);
} }
return result; return result;
@ -319,7 +319,7 @@ void spu_recompiler::FunctionCall()
{ {
if (_spu->pc & 0x8000000) if (_spu->pc & 0x8000000)
{ {
throw EXCEPTION("Undefined behaviour"); fmt::throw_exception("Undefined behaviour" HERE);
} }
_spu->set_interrupt_status(true); _spu->set_interrupt_status(true);
@ -917,12 +917,12 @@ void spu_recompiler::BISL(spu_opcode_t op)
void spu_recompiler::IRET(spu_opcode_t op) void spu_recompiler::IRET(spu_opcode_t op)
{ {
throw EXCEPTION("Unimplemented instruction"); fmt::throw_exception("Unimplemented instruction" HERE);
} }
void spu_recompiler::BISLED(spu_opcode_t op) void spu_recompiler::BISLED(spu_opcode_t op)
{ {
throw EXCEPTION("Unimplemented instruction"); fmt::throw_exception("Unimplemented instruction" HERE);
} }
void spu_recompiler::HBR(spu_opcode_t op) void spu_recompiler::HBR(spu_opcode_t op)
@ -1561,7 +1561,7 @@ void spu_recompiler::FCGT(spu_opcode_t op)
void spu_recompiler::DFCGT(spu_opcode_t op) void spu_recompiler::DFCGT(spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_recompiler::FA(spu_opcode_t op) void spu_recompiler::FA(spu_opcode_t op)
@ -1619,7 +1619,7 @@ void spu_recompiler::FCMGT(spu_opcode_t op)
void spu_recompiler::DFCMGT(spu_opcode_t op) void spu_recompiler::DFCMGT(spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_recompiler::DFA(spu_opcode_t op) void spu_recompiler::DFA(spu_opcode_t op)
@ -1841,7 +1841,7 @@ void spu_recompiler::FSCRWR(spu_opcode_t op)
void spu_recompiler::DFTSV(spu_opcode_t op) void spu_recompiler::DFTSV(spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_recompiler::FCEQ(spu_opcode_t op) void spu_recompiler::FCEQ(spu_opcode_t op)
@ -1854,7 +1854,7 @@ void spu_recompiler::FCEQ(spu_opcode_t op)
void spu_recompiler::DFCEQ(spu_opcode_t op) void spu_recompiler::DFCEQ(spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_recompiler::MPY(spu_opcode_t op) void spu_recompiler::MPY(spu_opcode_t op)
@ -1919,7 +1919,7 @@ void spu_recompiler::FCMEQ(spu_opcode_t op)
void spu_recompiler::DFCMEQ(spu_opcode_t op) void spu_recompiler::DFCMEQ(spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_recompiler::MPYU(spu_opcode_t op) void spu_recompiler::MPYU(spu_opcode_t op)
@ -2020,7 +2020,7 @@ void spu_recompiler::BRZ(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(m_pos, op.i16); const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0); c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0);
@ -2052,7 +2052,7 @@ void spu_recompiler::BRNZ(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(m_pos, op.i16); const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0); c->cmp(SPU_OFF_32(gpr[op.rt]._u32[3]), 0);
@ -2077,7 +2077,7 @@ void spu_recompiler::BRHZ(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(m_pos, op.i16); const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
c->cmp(SPU_OFF_16(gpr[op.rt]._u16[6]), 0); c->cmp(SPU_OFF_16(gpr[op.rt]._u16[6]), 0);
@ -2102,7 +2102,7 @@ void spu_recompiler::BRHNZ(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(m_pos, op.i16); const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
c->cmp(SPU_OFF_16(gpr[op.rt]._u16[6]), 0); c->cmp(SPU_OFF_16(gpr[op.rt]._u16[6]), 0);
@ -2134,7 +2134,7 @@ void spu_recompiler::BRA(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(0, op.i16); const u32 target = spu_branch_target(0, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
if (labels[target / 4].isInitialized()) if (labels[target / 4].isInitialized())
{ {
@ -2165,7 +2165,7 @@ void spu_recompiler::BRASL(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(0, op.i16); const u32 target = spu_branch_target(0, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
const XmmLink& vr = XmmAlloc(); const XmmLink& vr = XmmAlloc();
c->movdqa(vr, XmmConst(_mm_set_epi32(spu_branch_target(m_pos + 4), 0, 0, 0))); c->movdqa(vr, XmmConst(_mm_set_epi32(spu_branch_target(m_pos + 4), 0, 0, 0)));
@ -2220,7 +2220,7 @@ void spu_recompiler::BRSL(spu_opcode_t op)
{ {
const u32 target = spu_branch_target(m_pos, op.i16); const u32 target = spu_branch_target(m_pos, op.i16);
if (target == m_pos) throw EXCEPTION("Branch-to-self (0x%05x)", target); if (target == m_pos) fmt::throw_exception("Branch-to-self (0x%05x)" HERE, target);
const XmmLink& vr = XmmAlloc(); const XmmLink& vr = XmmAlloc();
c->movdqa(vr, XmmConst(_mm_set_epi32(spu_branch_target(m_pos + 4), 0, 0, 0))); c->movdqa(vr, XmmConst(_mm_set_epi32(spu_branch_target(m_pos + 4), 0, 0, 0)));

View File

@ -38,7 +38,7 @@ std::shared_ptr<spu_function_t> SPUDatabase::analyse(const be_t<u32>* ls, u32 en
// Check arguments (bounds and alignment) // Check arguments (bounds and alignment)
if (max_limit > 0x40000 || entry >= max_limit || entry % 4 || max_limit % 4) if (max_limit > 0x40000 || entry >= max_limit || entry % 4 || max_limit % 4)
{ {
throw EXCEPTION("Invalid arguments (entry=0x%05x, limit=0x%05x)", entry, max_limit); fmt::throw_exception("Invalid arguments (entry=0x%05x, limit=0x%05x)" HERE, entry, max_limit);
} }
// Key for multimap // Key for multimap

View File

@ -30,7 +30,7 @@ inline __m128i sse_cmpgt_epu32(__m128i A, __m128i B)
void spu_interpreter::UNK(SPUThread& spu, spu_opcode_t op) void spu_interpreter::UNK(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unknown/Illegal instruction (0x%08x)", op.opcode); fmt::throw_exception("Unknown/Illegal instruction (0x%08x)" HERE, op.opcode);
} }
@ -40,7 +40,7 @@ void spu_interpreter::set_interrupt_status(SPUThread& spu, spu_opcode_t op)
{ {
if (op.d) if (op.d)
{ {
throw EXCEPTION("Undefined behaviour"); fmt::throw_exception("Undefined behaviour" HERE);
} }
spu.set_interrupt_status(true); spu.set_interrupt_status(true);
@ -347,7 +347,7 @@ void spu_interpreter::BIHNZ(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::STOPD(SPUThread& spu, spu_opcode_t op) void spu_interpreter::STOPD(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unimplemented instruction"); fmt::throw_exception("Unimplemented instruction" HERE);
} }
void spu_interpreter::STQX(SPUThread& spu, spu_opcode_t op) void spu_interpreter::STQX(SPUThread& spu, spu_opcode_t op)
@ -371,12 +371,12 @@ void spu_interpreter::BISL(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::IRET(SPUThread& spu, spu_opcode_t op) void spu_interpreter::IRET(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unimplemented instruction"); fmt::throw_exception("Unimplemented instruction" HERE);
} }
void spu_interpreter::BISLED(SPUThread& spu, spu_opcode_t op) void spu_interpreter::BISLED(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unimplemented instruction"); fmt::throw_exception("Unimplemented instruction" HERE);
} }
void spu_interpreter::HBR(SPUThread& spu, spu_opcode_t op) void spu_interpreter::HBR(SPUThread& spu, spu_opcode_t op)
@ -448,7 +448,7 @@ void spu_interpreter::CBX(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = ~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xf; const s32 t = ~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xf;
@ -460,7 +460,7 @@ void spu_interpreter::CHX(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xe) >> 1; const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xe) >> 1;
@ -472,7 +472,7 @@ void spu_interpreter::CWX(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xc) >> 2; const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0xc) >> 2;
@ -484,7 +484,7 @@ void spu_interpreter::CDX(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0x8) >> 3; const s32 t = (~(spu.gpr[op.rb]._u32[3] + spu.gpr[op.ra]._u32[3]) & 0x8) >> 3;
@ -537,7 +537,7 @@ void spu_interpreter::CBD(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = ~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xf; const s32 t = ~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xf;
@ -549,7 +549,7 @@ void spu_interpreter::CHD(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xe) >> 1; const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xe) >> 1;
@ -561,7 +561,7 @@ void spu_interpreter::CWD(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xc) >> 2; const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0xc) >> 2;
@ -573,7 +573,7 @@ void spu_interpreter::CDD(SPUThread& spu, spu_opcode_t op)
{ {
if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF)) if (op.ra == 1 && (spu.gpr[1]._u32[3] & 0xF))
{ {
throw EXCEPTION("Unexpected SP value: LS:0x%05x", spu.gpr[1]._u32[3]); fmt::throw_exception("Unexpected SP value: LS:0x%05x" HERE, spu.gpr[1]._u32[3]);
} }
const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0x8) >> 3; const s32 t = (~(op.i7 + spu.gpr[op.ra]._u32[3]) & 0x8) >> 3;
@ -711,7 +711,7 @@ void spu_interpreter_fast::FCGT(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::DFCGT(SPUThread& spu, spu_opcode_t op) void spu_interpreter::DFCGT(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_interpreter_fast::FA(SPUThread& spu, spu_opcode_t op) void spu_interpreter_fast::FA(SPUThread& spu, spu_opcode_t op)
@ -747,7 +747,7 @@ void spu_interpreter_fast::FCMGT(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::DFCMGT(SPUThread& spu, spu_opcode_t op) void spu_interpreter::DFCMGT(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_interpreter_fast::DFA(SPUThread& spu, spu_opcode_t op) void spu_interpreter_fast::DFA(SPUThread& spu, spu_opcode_t op)
@ -873,7 +873,7 @@ void spu_interpreter_fast::FSCRWR(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::DFTSV(SPUThread& spu, spu_opcode_t op) void spu_interpreter::DFTSV(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_interpreter_fast::FCEQ(SPUThread& spu, spu_opcode_t op) void spu_interpreter_fast::FCEQ(SPUThread& spu, spu_opcode_t op)
@ -883,7 +883,7 @@ void spu_interpreter_fast::FCEQ(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::DFCEQ(SPUThread& spu, spu_opcode_t op) void spu_interpreter::DFCEQ(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_interpreter::MPY(SPUThread& spu, spu_opcode_t op) void spu_interpreter::MPY(SPUThread& spu, spu_opcode_t op)
@ -920,7 +920,7 @@ void spu_interpreter_fast::FCMEQ(SPUThread& spu, spu_opcode_t op)
void spu_interpreter::DFCMEQ(SPUThread& spu, spu_opcode_t op) void spu_interpreter::DFCMEQ(SPUThread& spu, spu_opcode_t op)
{ {
throw EXCEPTION("Unexpected instruction"); fmt::throw_exception("Unexpected instruction" HERE);
} }
void spu_interpreter::MPYU(SPUThread& spu, spu_opcode_t op) void spu_interpreter::MPYU(SPUThread& spu, spu_opcode_t op)

View File

@ -12,7 +12,7 @@ void spu_recompiler_base::enter(SPUThread& spu)
{ {
if (spu.pc >= 0x40000 || spu.pc % 4) if (spu.pc >= 0x40000 || spu.pc % 4)
{ {
throw fmt::exception("Invalid PC: 0x%05x", spu.pc); fmt::throw_exception("Invalid PC: 0x%05x", spu.pc);
} }
// Get SPU LS pointer // Get SPU LS pointer
@ -37,7 +37,7 @@ void spu_recompiler_base::enter(SPUThread& spu)
spu.spu_rec->compile(*func); spu.spu_rec->compile(*func);
if (!func->compiled) throw std::runtime_error("Compilation failed" HERE); if (!func->compiled) fmt::throw_exception("Compilation failed" HERE);
} }
const u32 res = func->compiled(&spu, _ls); const u32 res = func->compiled(&spu, _ls);
@ -61,7 +61,7 @@ void spu_recompiler_base::enter(SPUThread& spu)
{ {
if (res & 0x8000000) if (res & 0x8000000)
{ {
throw std::logic_error("Invalid interrupt status set" HERE); fmt::throw_exception("Invalid interrupt status set (0x%x)" HERE, res);
} }
spu.set_interrupt_status(true); spu.set_interrupt_status(true);

View File

@ -206,7 +206,7 @@ void SPUThread::cpu_task()
const auto& table = *( const auto& table = *(
g_cfg_spu_decoder.get() == spu_decoder_type::precise ? &s_spu_interpreter_precise.get_table() : g_cfg_spu_decoder.get() == spu_decoder_type::precise ? &s_spu_interpreter_precise.get_table() :
g_cfg_spu_decoder.get() == spu_decoder_type::fast ? &s_spu_interpreter_fast.get_table() : g_cfg_spu_decoder.get() == spu_decoder_type::fast ? &s_spu_interpreter_fast.get_table() :
throw std::logic_error("Invalid SPU decoder")); (fmt::throw_exception<std::logic_error>("Invalid SPU decoder"), nullptr));
// LS base address // LS base address
const auto base = vm::_ptr<const u32>(offset); const auto base = vm::_ptr<const u32>(offset);
@ -300,12 +300,12 @@ void SPUThread::do_dma_transfer(u32 cmd, spu_mfc_arg_t args)
} }
else else
{ {
throw EXCEPTION("Invalid MMIO offset (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)", cmd, args.lsa, args.ea, args.tag, args.size); fmt::throw_exception("Invalid MMIO offset (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE, cmd, args.lsa, args.ea, args.tag, args.size);
} }
} }
else else
{ {
throw EXCEPTION("Invalid thread type (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)", cmd, args.lsa, args.ea, args.tag, args.size); fmt::throw_exception("Invalid thread type (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE, cmd, args.lsa, args.ea, args.tag, args.size);
} }
} }
@ -325,14 +325,14 @@ void SPUThread::do_dma_transfer(u32 cmd, spu_mfc_arg_t args)
} }
} }
throw EXCEPTION("Invalid command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)", get_mfc_cmd_name(cmd), cmd, args.lsa, args.ea, args.tag, args.size); fmt::throw_exception("Invalid command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE, get_mfc_cmd_name(cmd), cmd, args.lsa, args.ea, args.tag, args.size);
} }
void SPUThread::do_dma_list_cmd(u32 cmd, spu_mfc_arg_t args) void SPUThread::do_dma_list_cmd(u32 cmd, spu_mfc_arg_t args)
{ {
if (!(cmd & MFC_LIST_MASK)) if (!(cmd & MFC_LIST_MASK))
{ {
throw EXCEPTION("Invalid command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)", get_mfc_cmd_name(cmd), cmd, args.lsa, args.ea, args.tag, args.size); fmt::throw_exception("Invalid command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE, get_mfc_cmd_name(cmd), cmd, args.lsa, args.ea, args.tag, args.size);
} }
const u32 list_addr = args.ea & 0x3ffff; const u32 list_addr = args.ea & 0x3ffff;
@ -444,7 +444,7 @@ void SPUThread::process_mfc_cmd(u32 cmd)
{ {
if (std::exchange(last_raddr, 0) == 0) if (std::exchange(last_raddr, 0) == 0)
{ {
throw std::runtime_error("PUTLLC succeeded without GETLLAR" HERE); fmt::throw_exception("PUTLLC succeeded without GETLLAR" HERE);
} }
return ch_atomic_stat.set_value(MFC_PUTLLC_SUCCESS); return ch_atomic_stat.set_value(MFC_PUTLLC_SUCCESS);
@ -495,7 +495,7 @@ void SPUThread::process_mfc_cmd(u32 cmd)
return; return;
} }
throw EXCEPTION("Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)", fmt::throw_exception("Unknown command %s (cmd=0x%x, lsa=0x%x, ea=0x%llx, tag=0x%x, size=0x%x)" HERE,
get_mfc_cmd_name(cmd), cmd, ch_mfc_args.lsa, ch_mfc_args.ea, ch_mfc_args.tag, ch_mfc_args.size); get_mfc_cmd_name(cmd), cmd, ch_mfc_args.lsa, ch_mfc_args.ea, ch_mfc_args.tag, ch_mfc_args.size);
} }
@ -536,7 +536,7 @@ void SPUThread::set_events(u32 mask)
{ {
if (u32 unimpl = mask & ~SPU_EVENT_IMPLEMENTED) if (u32 unimpl = mask & ~SPU_EVENT_IMPLEMENTED)
{ {
throw EXCEPTION("Unimplemented events (0x%x)", unimpl); fmt::throw_exception("Unimplemented events (0x%x)" HERE, unimpl);
} }
// Set new events, get old event mask // Set new events, get old event mask
@ -556,7 +556,7 @@ void SPUThread::set_interrupt_status(bool enable)
// detect enabling interrupts with events masked // detect enabling interrupts with events masked
if (u32 mask = ch_event_mask) if (u32 mask = ch_event_mask)
{ {
throw EXCEPTION("SPU Interrupts not implemented (mask=0x%x)", mask); fmt::throw_exception("SPU Interrupts not implemented (mask=0x%x)" HERE, mask);
} }
ch_event_stat |= SPU_EVENT_INTR_ENABLED; ch_event_stat |= SPU_EVENT_INTR_ENABLED;
@ -588,7 +588,7 @@ u32 SPUThread::get_ch_count(u32 ch)
case SPU_RdEventStat: return get_events() ? 1 : 0; break; case SPU_RdEventStat: return get_events() ? 1 : 0; break;
} }
throw EXCEPTION("Unknown/illegal channel (ch=%d [%s])", ch, ch < 128 ? spu_ch_name[ch] : "???"); fmt::throw_exception("Unknown/illegal channel (ch=%d [%s])" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???");
} }
bool SPUThread::get_ch_value(u32 ch, u32& out) bool SPUThread::get_ch_value(u32 ch, u32& out)
@ -737,7 +737,7 @@ bool SPUThread::get_ch_value(u32 ch, u32& out)
} }
} }
throw EXCEPTION("Unknown/illegal channel (ch=%d [%s])", ch, ch < 128 ? spu_ch_name[ch] : "???"); fmt::throw_exception("Unknown/illegal channel (ch=%d [%s])" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???");
} }
bool SPUThread::set_ch_value(u32 ch, u32 value) bool SPUThread::set_ch_value(u32 ch, u32 value)
@ -789,12 +789,12 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_send_event(value=0x%x, spup=%d): Out_MBox is empty", value, spup); fmt::throw_exception("sys_spu_thread_send_event(value=0x%x, spup=%d): Out_MBox is empty" HERE, value, spup);
} }
if (u32 count = ch_in_mbox.get_count()) if (u32 count = ch_in_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_send_event(value=0x%x, spup=%d): In_MBox is not empty (count=%d)", value, spup, count); fmt::throw_exception("sys_spu_thread_send_event(value=0x%x, spup=%d): In_MBox is not empty (count=%d)" HERE, value, spup, count);
} }
const u32 data = ch_out_mbox.get_value(); const u32 data = ch_out_mbox.get_value();
@ -830,7 +830,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_throw_event(value=0x%x, spup=%d): Out_MBox is empty", value, spup); fmt::throw_exception("sys_spu_thread_throw_event(value=0x%x, spup=%d): Out_MBox is empty" HERE, value, spup);
} }
const u32 data = ch_out_mbox.get_value(); const u32 data = ch_out_mbox.get_value();
@ -867,12 +867,12 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_event_flag_set_bit(value=0x%x (flag=%d)): Out_MBox is empty", value, flag); fmt::throw_exception("sys_event_flag_set_bit(value=0x%x (flag=%d)): Out_MBox is empty" HERE, value, flag);
} }
if (u32 count = ch_in_mbox.get_count()) if (u32 count = ch_in_mbox.get_count())
{ {
throw EXCEPTION("sys_event_flag_set_bit(value=0x%x (flag=%d)): In_MBox is not empty (%d)", value, flag, count); fmt::throw_exception("sys_event_flag_set_bit(value=0x%x (flag=%d)): In_MBox is not empty (%d)" HERE, value, flag, count);
} }
const u32 data = ch_out_mbox.get_value(); const u32 data = ch_out_mbox.get_value();
@ -881,7 +881,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (flag > 63) if (flag > 63)
{ {
throw EXCEPTION("sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d)): Invalid flag", data, value, flag); fmt::throw_exception("sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d)): Invalid flag" HERE, data, value, flag);
} }
LOG_TRACE(SPU, "sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d))", data, value, flag); LOG_TRACE(SPU, "sys_event_flag_set_bit(id=%d, value=0x%x (flag=%d))", data, value, flag);
@ -913,7 +913,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_event_flag_set_bit_impatient(value=0x%x (flag=%d)): Out_MBox is empty", value, flag); fmt::throw_exception("sys_event_flag_set_bit_impatient(value=0x%x (flag=%d)): Out_MBox is empty" HERE, value, flag);
} }
const u32 data = ch_out_mbox.get_value(); const u32 data = ch_out_mbox.get_value();
@ -922,7 +922,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
if (flag > 63) if (flag > 63)
{ {
throw EXCEPTION("sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d)): Invalid flag", data, value, flag); fmt::throw_exception("sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d)): Invalid flag" HERE, data, value, flag);
} }
LOG_TRACE(SPU, "sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d))", data, value, flag); LOG_TRACE(SPU, "sys_event_flag_set_bit_impatient(id=%d, value=0x%x (flag=%d))", data, value, flag);
@ -948,11 +948,11 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
{ {
if (ch_out_mbox.get_count()) if (ch_out_mbox.get_count())
{ {
throw EXCEPTION("SPU_WrOutIntrMbox: unknown data (value=0x%x); Out_MBox = 0x%x", value, ch_out_mbox.get_value()); fmt::throw_exception("SPU_WrOutIntrMbox: unknown data (value=0x%x); Out_MBox = 0x%x" HERE, value, ch_out_mbox.get_value());
} }
else else
{ {
throw EXCEPTION("SPU_WrOutIntrMbox: unknown data (value=0x%x)", value); fmt::throw_exception("SPU_WrOutIntrMbox: unknown data (value=0x%x)" HERE, value);
} }
} }
} }
@ -1094,7 +1094,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
// detect masking events with enabled interrupt status // detect masking events with enabled interrupt status
if (value && ch_event_stat & SPU_EVENT_INTR_ENABLED) if (value && ch_event_stat & SPU_EVENT_INTR_ENABLED)
{ {
throw EXCEPTION("SPU Interrupts not implemented (mask=0x%x)", value); fmt::throw_exception("SPU Interrupts not implemented (mask=0x%x)" HERE, value);
} }
// detect masking unimplemented events // detect masking unimplemented events
@ -1119,7 +1119,7 @@ bool SPUThread::set_ch_value(u32 ch, u32 value)
} }
} }
throw EXCEPTION("Unknown/illegal channel (ch=%d [%s], value=0x%x)", ch, ch < 128 ? spu_ch_name[ch] : "???", value); fmt::throw_exception("Unknown/illegal channel (ch=%d [%s], value=0x%x)" HERE, ch, ch < 128 ? spu_ch_name[ch] : "???", value);
} }
bool SPUThread::stop_and_signal(u32 code) bool SPUThread::stop_and_signal(u32 code)
@ -1160,7 +1160,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (found == m_addr_to_hle_function_map.end()) if (found == m_addr_to_hle_function_map.end())
{ {
throw EXCEPTION("HLE function not registered (PC=0x%05x)", pc); fmt::throw_exception("HLE function not registered (PC=0x%05x)" HERE, pc);
} }
if (const auto return_to_caller = found->second(*this)) if (const auto return_to_caller = found->second(*this))
@ -1179,7 +1179,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_receive_event(): Out_MBox is empty"); fmt::throw_exception("sys_spu_thread_receive_event(): Out_MBox is empty" HERE);
} }
if (u32 count = ch_in_mbox.get_count()) if (u32 count = ch_in_mbox.get_count())
@ -1198,7 +1198,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU Thread Group"); fmt::throw_exception("Invalid SPU Thread Group" HERE);
} }
if (group->type & SYS_SPU_THREAD_GROUP_TYPE_EXCLUSIVE_NON_CONTEXT) // this check may be inaccurate if (group->type & SYS_SPU_THREAD_GROUP_TYPE_EXCLUSIVE_NON_CONTEXT) // this check may be inaccurate
@ -1254,7 +1254,7 @@ bool SPUThread::stop_and_signal(u32 code)
} }
else else
{ {
throw EXCEPTION("Unexpected SPU Thread Group state (%d)", (u32)group->state); fmt::throw_exception("Unexpected SPU Thread Group state (%d)" HERE, (u32)group->state);
} }
if (queue->events()) if (queue->events())
@ -1294,7 +1294,7 @@ bool SPUThread::stop_and_signal(u32 code)
} }
else else
{ {
throw EXCEPTION("Unexpected SPU Thread Group state (%d)", (u32)group->state); fmt::throw_exception("Unexpected SPU Thread Group state (%d)" HERE, (u32)group->state);
} }
for (auto& thread : group->threads) for (auto& thread : group->threads)
@ -1320,7 +1320,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_group_exit(): Out_MBox is empty"); fmt::throw_exception("sys_spu_thread_group_exit(): Out_MBox is empty" HERE);
} }
const u32 value = ch_out_mbox.get_value(); const u32 value = ch_out_mbox.get_value();
@ -1333,7 +1333,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU Thread Group"); fmt::throw_exception("Invalid SPU Thread Group" HERE);
} }
for (auto& thread : group->threads) for (auto& thread : group->threads)
@ -1362,7 +1362,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("sys_spu_thread_exit(): Out_MBox is empty"); fmt::throw_exception("sys_spu_thread_exit(): Out_MBox is empty" HERE);
} }
LOG_TRACE(SPU, "sys_spu_thread_exit(status=0x%x)", ch_out_mbox.get_value()); LOG_TRACE(SPU, "sys_spu_thread_exit(status=0x%x)", ch_out_mbox.get_value());
@ -1371,7 +1371,7 @@ bool SPUThread::stop_and_signal(u32 code)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU Thread Group"); fmt::throw_exception("Invalid SPU Thread Group" HERE);
} }
status |= SPU_STATUS_STOPPED_BY_STOP; status |= SPU_STATUS_STOPPED_BY_STOP;
@ -1384,11 +1384,11 @@ bool SPUThread::stop_and_signal(u32 code)
if (!ch_out_mbox.get_count()) if (!ch_out_mbox.get_count())
{ {
throw EXCEPTION("Unknown STOP code: 0x%x (Out_MBox is empty)", code); fmt::throw_exception("Unknown STOP code: 0x%x (Out_MBox is empty)" HERE, code);
} }
else else
{ {
throw EXCEPTION("Unknown STOP code: 0x%x (Out_MBox=0x%x)", code, ch_out_mbox.get_value()); fmt::throw_exception("Unknown STOP code: 0x%x (Out_MBox=0x%x)" HERE, code, ch_out_mbox.get_value());
} }
} }
@ -1410,7 +1410,7 @@ void SPUThread::halt()
} }
status |= SPU_STATUS_STOPPED_BY_HALT; status |= SPU_STATUS_STOPPED_BY_HALT;
throw EXCEPTION("Halt"); fmt::throw_exception("Halt" HERE);
} }
void SPUThread::fast_call(u32 ls_addr) void SPUThread::fast_call(u32 ls_addr)

View File

@ -442,7 +442,7 @@ public:
return this->_u32[3] >> 10 & 0x3; return this->_u32[3] >> 10 & 0x3;
default: default:
throw EXCEPTION("Unexpected slice value (%d)", slice); fmt::throw_exception("Unexpected slice value (%d)" HERE, slice);
} }
} }

View File

@ -929,7 +929,7 @@ extern void ppu_execute_syscall(ppu_thread& ppu, u64 code)
return; return;
} }
throw fmt::exception("Invalid syscall number (%llu)", code); fmt::throw_exception("Invalid syscall number (%llu)", code);
} }
extern ppu_function_t ppu_get_syscall(u64 code) extern ppu_function_t ppu_get_syscall(u64 code)

View File

@ -51,7 +51,7 @@ s32 sys_cond_create(vm::ptr<u32> cond_id, u32 mutex_id, vm::ptr<sys_cond_attribu
if (!++mutex->cond_count) if (!++mutex->cond_count)
{ {
throw EXCEPTION("Unexpected cond_count"); fmt::throw_exception("Unexpected cond_count" HERE);
} }
*cond_id = idm::make<lv2_cond_t>(mutex, attr->name_u64); *cond_id = idm::make<lv2_cond_t>(mutex, attr->name_u64);
@ -79,7 +79,7 @@ s32 sys_cond_destroy(u32 cond_id)
if (!cond->mutex->cond_count--) if (!cond->mutex->cond_count--)
{ {
throw EXCEPTION("Unexpected cond_count"); fmt::throw_exception("Unexpected cond_count" HERE);
} }
idm::remove<lv2_cond_t>(cond_id); idm::remove<lv2_cond_t>(cond_id);
@ -233,7 +233,7 @@ s32 sys_cond_wait(ppu_thread& ppu, u32 cond_id, u64 timeout)
// mutex owner is restored after notification or unlocking // mutex owner is restored after notification or unlocking
if (cond->mutex->owner.get() != &ppu) if (cond->mutex->owner.get() != &ppu)
{ {
throw EXCEPTION("Unexpected mutex owner"); fmt::throw_exception("Unexpected mutex owner" HERE);
} }
// restore the recursive value // restore the recursive value

View File

@ -80,7 +80,7 @@ void lv2_event_queue_t::push(lv2_lock_t, u64 source, u64 data1, u64 data2, u64 d
} }
else else
{ {
throw fmt::exception("Unexpected (queue type=%d, thread type=%d)" HERE, type, (s32)thread->type); fmt::throw_exception("Unexpected (queue type=%d, thread type=%d)" HERE, type, (s32)thread->type);
} }
VERIFY(!thread->state.test_and_set(cpu_state::signal)); VERIFY(!thread->state.test_and_set(cpu_state::signal));
@ -173,7 +173,7 @@ s32 sys_event_queue_destroy(u32 equeue_id, s32 mode)
} }
else else
{ {
throw fmt::exception("Unexpected (queue.type=%d, thread.type=%d)" HERE, queue->type, thread->type); fmt::throw_exception("Unexpected (queue.type=%d, thread.type=%d)" HERE, queue->type, thread->type);
} }
thread->state += cpu_state::signal; thread->state += cpu_state::signal;
@ -198,7 +198,7 @@ s32 sys_event_queue_tryreceive(u32 equeue_id, vm::ptr<sys_event_t> event_array,
if (size < 0) if (size < 0)
{ {
throw fmt::exception("Negative size (%d)" HERE, size); fmt::throw_exception("Negative size (%d)" HERE, size);
} }
if (queue->type != SYS_PPU_QUEUE) if (queue->type != SYS_PPU_QUEUE)

View File

@ -79,7 +79,7 @@ struct lv2_event_flag_t
} }
else else
{ {
throw EXCEPTION("Unknown mode (0x%x)", mode); fmt::throw_exception("Unknown mode (0x%x)" HERE, mode);
} }
} }
@ -99,7 +99,7 @@ struct lv2_event_flag_t
} }
else else
{ {
throw EXCEPTION("Unknown mode (0x%x)", mode); fmt::throw_exception("Unknown mode (0x%x)" HERE, mode);
} }
} }

View File

@ -127,7 +127,7 @@ ppu_error_code sys_fs_open(vm::cptr<char> path, s32 flags, vm::ptr<u32> fd, s32
if (!test(open_mode)) if (!test(open_mode))
{ {
throw EXCEPTION("Invalid or unimplemented flags (%#o): '%s'", flags, path.get_ptr()); fmt::throw_exception("Invalid or unimplemented flags (%#o): '%s'" HERE, flags, path.get_ptr());
} }
fs::file file(local_path, open_mode); fs::file file(local_path, open_mode);

View File

@ -82,7 +82,7 @@ s32 _sys_lwcond_signal(u32 lwcond_id, u32 lwmutex_id, u32 ppu_thread_id, u32 mod
if (mode != 1 && mode != 2 && mode != 3) if (mode != 1 && mode != 2 && mode != 3)
{ {
throw EXCEPTION("Unknown mode (%d)", mode); fmt::throw_exception("Unknown mode (%d)" HERE, mode);
} }
// mode 1: lightweight mutex was initially owned by the calling thread // mode 1: lightweight mutex was initially owned by the calling thread
@ -135,7 +135,7 @@ s32 _sys_lwcond_signal_all(u32 lwcond_id, u32 lwmutex_id, u32 mode)
if (mode != 1 && mode != 2) if (mode != 1 && mode != 2)
{ {
throw EXCEPTION("Unknown mode (%d)", mode); fmt::throw_exception("Unknown mode (%d)" HERE, mode);
} }
// mode 1: lightweight mutex was initially owned by the calling thread // mode 1: lightweight mutex was initially owned by the calling thread

View File

@ -15,7 +15,7 @@ void lv2_lwmutex_t::unlock(lv2_lock_t)
{ {
if (signaled) if (signaled)
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
if (sq.size()) if (sq.size())
@ -44,7 +44,7 @@ s32 _sys_lwmutex_create(vm::ptr<u32> lwmutex_id, u32 protocol, vm::ptr<sys_lwmut
if (arg4 != 0x80000001 || arg6) if (arg4 != 0x80000001 || arg6)
{ {
throw EXCEPTION("Unknown arguments (arg4=0x%x, arg6=0x%x)", arg4, arg6); fmt::throw_exception("Unknown arguments (arg4=0x%x, arg6=0x%x)" HERE, arg4, arg6);
} }
*lwmutex_id = idm::make<lv2_lwmutex_t>(protocol, name); *lwmutex_id = idm::make<lv2_lwmutex_t>(protocol, name);

View File

@ -159,7 +159,7 @@ s32 sys_mutex_lock(ppu_thread& ppu, u32 mutex_id, u64 timeout)
// new owner must be set when unlocked // new owner must be set when unlocked
if (mutex->owner.get() != &ppu) if (mutex->owner.get() != &ppu)
{ {
throw EXCEPTION("Unexpected mutex owner"); fmt::throw_exception("Unexpected mutex owner" HERE);
} }
return CELL_OK; return CELL_OK;
@ -230,7 +230,7 @@ s32 sys_mutex_unlock(ppu_thread& ppu, u32 mutex_id)
{ {
if (!mutex->recursive) if (!mutex->recursive)
{ {
throw EXCEPTION("Unexpected recursive_count"); fmt::throw_exception("Unexpected recursive_count" HERE);
} }
mutex->recursive_count--; mutex->recursive_count--;

View File

@ -84,10 +84,10 @@ s32 sys_process_get_number_of_object(u32 object, vm::ptr<u32> nump)
case SYS_INTR_SERVICE_HANDLE_OBJECT: *nump = idm::get_count<lv2_int_serv_t>(); break; case SYS_INTR_SERVICE_HANDLE_OBJECT: *nump = idm::get_count<lv2_int_serv_t>(); break;
case SYS_EVENT_QUEUE_OBJECT: *nump = idm::get_count<lv2_event_queue_t>(); break; case SYS_EVENT_QUEUE_OBJECT: *nump = idm::get_count<lv2_event_queue_t>(); break;
case SYS_EVENT_PORT_OBJECT: *nump = idm::get_count<lv2_event_port_t>(); break; case SYS_EVENT_PORT_OBJECT: *nump = idm::get_count<lv2_event_port_t>(); break;
case SYS_TRACE_OBJECT: throw EXCEPTION("SYS_TRACE_OBJECT"); case SYS_TRACE_OBJECT: fmt::throw_exception("SYS_TRACE_OBJECT" HERE);
case SYS_SPUIMAGE_OBJECT: throw EXCEPTION("SYS_SPUIMAGE_OBJECT"); case SYS_SPUIMAGE_OBJECT: fmt::throw_exception("SYS_SPUIMAGE_OBJECT" HERE);
case SYS_PRX_OBJECT: *nump = idm::get_count<lv2_prx_t>(); break; case SYS_PRX_OBJECT: *nump = idm::get_count<lv2_prx_t>(); break;
case SYS_SPUPORT_OBJECT: throw EXCEPTION("SYS_SPUPORT_OBJECT"); case SYS_SPUPORT_OBJECT: fmt::throw_exception("SYS_SPUPORT_OBJECT" HERE);
case SYS_LWMUTEX_OBJECT: *nump = idm::get_count<lv2_lwmutex_t>(); break; case SYS_LWMUTEX_OBJECT: *nump = idm::get_count<lv2_lwmutex_t>(); break;
case SYS_TIMER_OBJECT: *nump = idm::get_count<lv2_timer_t>(); break; case SYS_TIMER_OBJECT: *nump = idm::get_count<lv2_timer_t>(); break;
case SYS_SEMAPHORE_OBJECT: *nump = idm::get_count<lv2_sema_t>(); break; case SYS_SEMAPHORE_OBJECT: *nump = idm::get_count<lv2_sema_t>(); break;
@ -131,10 +131,10 @@ s32 sys_process_get_id(u32 object, vm::ptr<u32> buffer, u32 size, vm::ptr<u32> s
case SYS_INTR_SERVICE_HANDLE_OBJECT: idm_get_set<lv2_int_serv_t>(objects); break; case SYS_INTR_SERVICE_HANDLE_OBJECT: idm_get_set<lv2_int_serv_t>(objects); break;
case SYS_EVENT_QUEUE_OBJECT: idm_get_set<lv2_event_queue_t>(objects); break; case SYS_EVENT_QUEUE_OBJECT: idm_get_set<lv2_event_queue_t>(objects); break;
case SYS_EVENT_PORT_OBJECT: idm_get_set<lv2_event_port_t>(objects); break; case SYS_EVENT_PORT_OBJECT: idm_get_set<lv2_event_port_t>(objects); break;
case SYS_TRACE_OBJECT: throw EXCEPTION("SYS_TRACE_OBJECT"); case SYS_TRACE_OBJECT: fmt::throw_exception("SYS_TRACE_OBJECT" HERE);
case SYS_SPUIMAGE_OBJECT: throw EXCEPTION("SYS_SPUIMAGE_OBJECT"); case SYS_SPUIMAGE_OBJECT: fmt::throw_exception("SYS_SPUIMAGE_OBJECT" HERE);
case SYS_PRX_OBJECT: idm_get_set<lv2_prx_t>(objects); break; case SYS_PRX_OBJECT: idm_get_set<lv2_prx_t>(objects); break;
case SYS_SPUPORT_OBJECT: throw EXCEPTION("SYS_SPUPORT_OBJECT"); case SYS_SPUPORT_OBJECT: fmt::throw_exception("SYS_SPUPORT_OBJECT" HERE);
case SYS_LWMUTEX_OBJECT: idm_get_set<lv2_lwmutex_t>(objects); break; case SYS_LWMUTEX_OBJECT: idm_get_set<lv2_lwmutex_t>(objects); break;
case SYS_TIMER_OBJECT: idm_get_set<lv2_timer_t>(objects); break; case SYS_TIMER_OBJECT: idm_get_set<lv2_timer_t>(objects); break;
case SYS_SEMAPHORE_OBJECT: idm_get_set<lv2_sema_t>(objects); break; case SYS_SEMAPHORE_OBJECT: idm_get_set<lv2_sema_t>(objects); break;

View File

@ -109,7 +109,7 @@ s32 sys_rwlock_rlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout)
{ {
if (!++rwlock->readers) if (!++rwlock->readers)
{ {
throw EXCEPTION("Too many readers"); fmt::throw_exception("Too many readers" HERE);
} }
return CELL_OK; return CELL_OK;
@ -141,7 +141,7 @@ s32 sys_rwlock_rlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout)
if (rwlock->writer || !rwlock->readers) if (rwlock->writer || !rwlock->readers)
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
return CELL_OK; return CELL_OK;
@ -167,7 +167,7 @@ s32 sys_rwlock_tryrlock(u32 rw_lock_id)
if (!++rwlock->readers) if (!++rwlock->readers)
{ {
throw EXCEPTION("Too many readers"); fmt::throw_exception("Too many readers" HERE);
} }
return CELL_OK; return CELL_OK;
@ -244,7 +244,7 @@ s32 sys_rwlock_wlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout)
{ {
if (rwlock->wsq.front() != &ppu) if (rwlock->wsq.front() != &ppu)
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
rwlock->wsq.clear(); rwlock->wsq.clear();
@ -264,7 +264,7 @@ s32 sys_rwlock_wlock(ppu_thread& ppu, u32 rw_lock_id, u64 timeout)
if (rwlock->readers || rwlock->writer.get() != &ppu) if (rwlock->readers || rwlock->writer.get() != &ppu)
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
return CELL_OK; return CELL_OK;

View File

@ -19,7 +19,7 @@ void LoadSpuImage(const fs::file& stream, u32& spu_ep, u32 addr)
if (obj != elf_error::ok) if (obj != elf_error::ok)
{ {
throw fmt::exception("Failed to load SPU image: %s" HERE, obj.get_error()); fmt::throw_exception("Failed to load SPU image: %s" HERE, obj.get_error());
} }
for (const auto& prog : obj.progs) for (const auto& prog : obj.progs)
@ -70,7 +70,7 @@ s32 sys_spu_image_open(vm::ptr<sys_spu_image_t> img, vm::cptr<char> path)
if (hdr.CheckMagic()) if (hdr.CheckMagic())
{ {
throw fmt::exception("sys_spu_image_open() error: '%s' is encrypted! Try to decrypt it manually and try again.", path.get_ptr()); fmt::throw_exception("sys_spu_image_open() error: '%s' is encrypted! Try to decrypt it manually and try again.", path.get_ptr());
} }
f.seek(0); f.seek(0);
@ -116,7 +116,7 @@ u32 spu_thread_initialize(u32 group_id, u32 spu_num, vm::ptr<sys_spu_image_t> im
if (count > group->num) if (count > group->num)
{ {
throw EXCEPTION("Unexpected thread count (%d)", count); fmt::throw_exception("Unexpected thread count (%d)" HERE, count);
} }
if (count == group->num) if (count == group->num)
@ -171,12 +171,12 @@ s32 sys_spu_thread_set_argument(u32 id, vm::ptr<sys_spu_thread_argument> arg)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU thread group"); fmt::throw_exception("Invalid SPU thread group" HERE);
} }
if (thread->index >= group->threads.size() || group->threads[thread->index] != thread) if (thread->index >= group->threads.size() || group->threads[thread->index] != thread)
{ {
throw EXCEPTION("Unexpected SPU thread index (%d)", thread->index); fmt::throw_exception("Unexpected SPU thread index (%d)" HERE, thread->index);
} }
group->args[thread->index].arg1 = arg->arg1; group->args[thread->index].arg1 = arg->arg1;
@ -292,7 +292,7 @@ s32 sys_spu_thread_group_start(u32 id)
{ {
if (t->index >= group->threads.size()) if (t->index >= group->threads.size())
{ {
throw EXCEPTION("Unexpected SPU thread index (%d)", t->index); fmt::throw_exception("Unexpected SPU thread index (%d)" HERE, t->index);
} }
auto& args = group->args[t->index]; auto& args = group->args[t->index];
@ -583,7 +583,7 @@ s32 sys_spu_thread_group_join(u32 id, vm::ptr<u32> cause, vm::ptr<u32> status)
} }
default: default:
{ {
throw EXCEPTION("Unexpected join_state"); fmt::throw_exception("Unexpected join_state" HERE);
} }
} }
@ -619,7 +619,7 @@ s32 sys_spu_thread_write_ls(u32 id, u32 lsa, u64 value, u32 type)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU thread group"); fmt::throw_exception("Invalid SPU thread group" HERE);
} }
if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING) if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING)
@ -661,7 +661,7 @@ s32 sys_spu_thread_read_ls(u32 id, u32 lsa, vm::ptr<u64> value, u32 type)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU thread group"); fmt::throw_exception("Invalid SPU thread group" HERE);
} }
if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING) if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING)
@ -698,7 +698,7 @@ s32 sys_spu_thread_write_spu_mb(u32 id, u32 value)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU thread group"); fmt::throw_exception("Invalid SPU thread group" HERE);
} }
if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING) if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING)
@ -774,7 +774,7 @@ s32 sys_spu_thread_write_snr(u32 id, u32 number, u32 value)
if (!group) if (!group)
{ {
throw EXCEPTION("Invalid SPU thread group"); fmt::throw_exception("Invalid SPU thread group" HERE);
} }
//if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING) // ??? //if (group->state < SPU_THREAD_GROUP_STATUS_WAITING || group->state > SPU_THREAD_GROUP_STATUS_RUNNING) // ???
@ -1328,7 +1328,7 @@ s32 sys_raw_spu_set_spu_cfg(u32 id, u32 value)
if (value > 3) if (value > 3)
{ {
throw EXCEPTION("Unexpected value (0x%x)", value); fmt::throw_exception("Unexpected value (0x%x)" HERE, value);
} }
const auto thread = idm::get<RawSPUThread>(id); const auto thread = idm::get<RawSPUThread>(id);

View File

@ -55,7 +55,7 @@ u64 get_timebased_time()
LARGE_INTEGER count; LARGE_INTEGER count;
if (!QueryPerformanceCounter(&count)) if (!QueryPerformanceCounter(&count))
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
const u64 time = count.QuadPart; const u64 time = count.QuadPart;
@ -66,7 +66,7 @@ u64 get_timebased_time()
struct timespec ts; struct timespec ts;
if (::clock_gettime(CLOCK_MONOTONIC, &ts)) if (::clock_gettime(CLOCK_MONOTONIC, &ts))
{ {
throw EXCEPTION("System error %d", errno); fmt::throw_exception("System error %d" HERE, errno);
} }
return static_cast<u64>(ts.tv_sec) * g_timebase_freq + static_cast<u64>(ts.tv_nsec) * g_timebase_freq / 1000000000u; return static_cast<u64>(ts.tv_sec) * g_timebase_freq + static_cast<u64>(ts.tv_nsec) * g_timebase_freq / 1000000000u;
@ -82,7 +82,7 @@ u64 get_system_time()
LARGE_INTEGER count; LARGE_INTEGER count;
if (!QueryPerformanceCounter(&count)) if (!QueryPerformanceCounter(&count))
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
const u64 time = count.QuadPart; const u64 time = count.QuadPart;
@ -93,7 +93,7 @@ u64 get_system_time()
struct timespec ts; struct timespec ts;
if (::clock_gettime(CLOCK_MONOTONIC, &ts)) if (::clock_gettime(CLOCK_MONOTONIC, &ts))
{ {
throw EXCEPTION("System error %d", errno); fmt::throw_exception("System error %d" HERE, errno);
} }
const u64 result = static_cast<u64>(ts.tv_sec) * 1000000u + static_cast<u64>(ts.tv_nsec) / 1000u; const u64 result = static_cast<u64>(ts.tv_sec) * 1000000u + static_cast<u64>(ts.tv_nsec) / 1000u;
@ -122,7 +122,7 @@ s32 sys_time_get_current_time(vm::ptr<s64> sec, vm::ptr<s64> nsec)
LARGE_INTEGER count; LARGE_INTEGER count;
if (!QueryPerformanceCounter(&count)) if (!QueryPerformanceCounter(&count))
{ {
throw EXCEPTION("Unexpected"); fmt::throw_exception("Unexpected" HERE);
} }
// get time difference in nanoseconds // get time difference in nanoseconds
@ -137,7 +137,7 @@ s32 sys_time_get_current_time(vm::ptr<s64> sec, vm::ptr<s64> nsec)
struct timespec ts; struct timespec ts;
if (::clock_gettime(CLOCK_REALTIME, &ts)) if (::clock_gettime(CLOCK_REALTIME, &ts))
{ {
throw EXCEPTION("System error %d", errno); fmt::throw_exception("System error %d" HERE, errno);
} }
*sec = ts.tv_sec; *sec = ts.tv_sec;

View File

@ -12,7 +12,7 @@ ppu_error_code sys_tty_read(s32 ch, vm::ptr<char> buf, u32 len, vm::ptr<u32> pre
sys_tty.fatal("sys_tty_read(ch=%d, buf=*0x%x, len=%d, preadlen=*0x%x)", ch, buf, len, preadlen); sys_tty.fatal("sys_tty_read(ch=%d, buf=*0x%x, len=%d, preadlen=*0x%x)", ch, buf, len, preadlen);
// We currently do not support reading from the Console // We currently do not support reading from the Console
throw std::runtime_error("Unimplemented" HERE); fmt::throw_exception("Unimplemented" HERE);
} }
ppu_error_code sys_tty_write(s32 ch, vm::cptr<char> buf, u32 len, vm::ptr<u32> pwritelen) ppu_error_code sys_tty_write(s32 ch, vm::cptr<char> buf, u32 len, vm::ptr<u32> pwritelen)

View File

@ -302,7 +302,7 @@ public:
return pair->first.id(); return pair->first.id();
} }
throw EXCEPTION("Out of IDs ('%s')", typeid(T).name()); fmt::throw_exception("Out of IDs ('%s')" HERE, typeid(T).name());
} }
// Add a new ID for an existing object provided (returns new id) // Add a new ID for an existing object provided (returns new id)
@ -316,7 +316,7 @@ public:
return pair->first.id(); return pair->first.id();
} }
throw EXCEPTION("Out of IDs ('%s')", typeid(T).name()); fmt::throw_exception("Out of IDs ('%s')" HERE, typeid(T).name());
} }
// Add a new ID for an object returned by provider() // Add a new ID for an object returned by provider()

View File

@ -96,7 +96,7 @@ namespace vm
std::vector<std::shared_ptr<block_t>> g_locations; // memory locations std::vector<std::shared_ptr<block_t>> g_locations; // memory locations
access_violation::access_violation(u64 addr, const char* cause) access_violation::access_violation(u64 addr, const char* cause)
: std::runtime_error(fmt::exception("Access violation %s address 0x%llx", cause, addr)) : std::runtime_error(fmt::format("Access violation %s address 0x%llx", cause, addr))
{ {
g_tls_fault_count &= ~(1ull << 63); g_tls_fault_count &= ~(1ull << 63);
} }
@ -121,7 +121,7 @@ namespace vm
if (::mprotect(vm::base(addr & ~0xfff), 4096, no_access ? PROT_NONE : PROT_READ)) if (::mprotect(vm::base(addr & ~0xfff), 4096, no_access ? PROT_NONE : PROT_READ))
#endif #endif
{ {
throw EXCEPTION("System failure (addr=0x%x)", addr); fmt::throw_exception("System failure (addr=0x%x)" HERE, addr);
} }
} }
@ -136,7 +136,7 @@ namespace vm
if (::mprotect(vm::base(addr & ~0xfff), 4096, PROT_READ | PROT_WRITE)) if (::mprotect(vm::base(addr & ~0xfff), 4096, PROT_READ | PROT_WRITE))
#endif #endif
{ {
throw EXCEPTION("System failure (addr=0x%x)", addr); fmt::throw_exception("System failure (addr=0x%x)" HERE, addr);
} }
g_reservation_addr = 0; g_reservation_addr = 0;
@ -170,14 +170,14 @@ namespace vm
if (!size || !addr || size > 4096 || size != align || addr & (align - 1)) if (!size || !addr || size > 4096 || size != align || addr & (align - 1))
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
const u8 flags = g_pages[addr >> 12]; const u8 flags = g_pages[addr >> 12];
if (!(flags & page_writable) || !(flags & page_allocated) || (flags & page_no_reservations)) if (!(flags & page_writable) || !(flags & page_allocated) || (flags & page_no_reservations))
{ {
throw EXCEPTION("Invalid page flags (addr=0x%x, size=0x%x, flags=0x%x)", addr, size, flags); fmt::throw_exception("Invalid page flags (addr=0x%x, size=0x%x, flags=0x%x)" HERE, addr, size, flags);
} }
// break the reservation // break the reservation
@ -206,7 +206,7 @@ namespace vm
if (!size || !addr || size > 4096 || size != align || addr & (align - 1)) if (!size || !addr || size > 4096 || size != align || addr & (align - 1))
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
if (g_reservation_owner != thread_ctrl::get_current() || g_reservation_addr != addr || g_reservation_size != size) if (g_reservation_owner != thread_ctrl::get_current() || g_reservation_addr != addr || g_reservation_size != size)
@ -293,7 +293,7 @@ namespace vm
if (!size || !addr || size > 4096 || size != align || addr & (align - 1)) if (!size || !addr || size > 4096 || size != align || addr & (align - 1))
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
g_tls_did_break_reservation = false; g_tls_did_break_reservation = false;
@ -334,14 +334,14 @@ namespace vm
{ {
if (!size || (size | addr) % 4096 || flags & page_allocated) if (!size || (size | addr) % 4096 || flags & page_allocated)
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++) for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++)
{ {
if (g_pages[i]) if (g_pages[i])
{ {
throw EXCEPTION("Memory already mapped (addr=0x%x, size=0x%x, flags=0x%x, current_addr=0x%x)", addr, size, flags, i * 4096); fmt::throw_exception("Memory already mapped (addr=0x%x, size=0x%x, flags=0x%x, current_addr=0x%x)" HERE, addr, size, flags, i * 4096);
} }
} }
@ -356,14 +356,14 @@ namespace vm
if (::mprotect(priv_addr, size, PROT_READ | PROT_WRITE) || ::mprotect(real_addr, size, protection)) if (::mprotect(priv_addr, size, PROT_READ | PROT_WRITE) || ::mprotect(real_addr, size, protection))
#endif #endif
{ {
throw EXCEPTION("System failure (addr=0x%x, size=0x%x, flags=0x%x)", addr, size, flags); fmt::throw_exception("System failure (addr=0x%x, size=0x%x, flags=0x%x)" HERE, addr, size, flags);
} }
for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++) for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++)
{ {
if (g_pages[i].exchange(flags | page_allocated)) if (g_pages[i].exchange(flags | page_allocated))
{ {
throw EXCEPTION("Concurrent access (addr=0x%x, size=0x%x, flags=0x%x, current_addr=0x%x)", addr, size, flags, i * 4096); fmt::throw_exception("Concurrent access (addr=0x%x, size=0x%x, flags=0x%x, current_addr=0x%x)" HERE, addr, size, flags, i * 4096);
} }
} }
@ -376,7 +376,7 @@ namespace vm
if (!size || (size | addr) % 4096) if (!size || (size | addr) % 4096)
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
const u8 flags_inv = flags_set & flags_clear; const u8 flags_inv = flags_set & flags_clear;
@ -418,7 +418,7 @@ namespace vm
if (::mprotect(real_addr, 4096, protection)) if (::mprotect(real_addr, 4096, protection))
#endif #endif
{ {
throw EXCEPTION("System failure (addr=0x%x, size=0x%x, flags_test=0x%x, flags_set=0x%x, flags_clear=0x%x)", addr, size, flags_test, flags_set, flags_clear); fmt::throw_exception("System failure (addr=0x%x, size=0x%x, flags_test=0x%x, flags_set=0x%x, flags_clear=0x%x)" HERE, addr, size, flags_test, flags_set, flags_clear);
} }
} }
} }
@ -430,14 +430,14 @@ namespace vm
{ {
if (!size || (size | addr) % 4096) if (!size || (size | addr) % 4096)
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++) for (u32 i = addr / 4096; i < addr / 4096 + size / 4096; i++)
{ {
if ((g_pages[i] & page_allocated) == 0) if ((g_pages[i] & page_allocated) == 0)
{ {
throw EXCEPTION("Memory not mapped (addr=0x%x, size=0x%x, current_addr=0x%x)", addr, size, i * 4096); fmt::throw_exception("Memory not mapped (addr=0x%x, size=0x%x, current_addr=0x%x)" HERE, addr, size, i * 4096);
} }
} }
@ -447,7 +447,7 @@ namespace vm
if (!(g_pages[i].exchange(0) & page_allocated)) if (!(g_pages[i].exchange(0) & page_allocated))
{ {
throw EXCEPTION("Concurrent access (addr=0x%x, size=0x%x, current_addr=0x%x)", addr, size, i * 4096); fmt::throw_exception("Concurrent access (addr=0x%x, size=0x%x, current_addr=0x%x)" HERE, addr, size, i * 4096);
} }
} }
@ -462,7 +462,7 @@ namespace vm
if (::mprotect(real_addr, size, PROT_NONE) || ::mprotect(priv_addr, size, PROT_NONE)) if (::mprotect(real_addr, size, PROT_NONE) || ::mprotect(priv_addr, size, PROT_NONE))
#endif #endif
{ {
throw EXCEPTION("System failure (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("System failure (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
} }
@ -490,7 +490,7 @@ namespace vm
if (!block) if (!block)
{ {
throw fmt::exception("Invalid memory location (%u)" HERE, (uint)location); fmt::throw_exception("Invalid memory location (%u)" HERE, (uint)location);
} }
return block->alloc(size, align, sup); return block->alloc(size, align, sup);
@ -502,7 +502,7 @@ namespace vm
if (!block) if (!block)
{ {
throw fmt::exception("Invalid memory location (%u, addr=0x%x)" HERE, (uint)location, addr); fmt::throw_exception("Invalid memory location (%u, addr=0x%x)" HERE, (uint)location, addr);
} }
return block->falloc(addr, size, sup); return block->falloc(addr, size, sup);
@ -514,7 +514,7 @@ namespace vm
if (!block) if (!block)
{ {
throw fmt::exception("Invalid memory location (%u, addr=0x%x)" HERE, (uint)location, addr); fmt::throw_exception("Invalid memory location (%u, addr=0x%x)" HERE, (uint)location, addr);
} }
return block->dealloc(addr, sup_out); return block->dealloc(addr, sup_out);
@ -588,7 +588,7 @@ namespace vm
// Check alignment (it's page allocation, so passing small values there is just silly) // Check alignment (it's page allocation, so passing small values there is just silly)
if (align < 4096 || align != (0x80000000u >> cntlz32(align))) if (align < 4096 || align != (0x80000000u >> cntlz32(align)))
{ {
throw EXCEPTION("Invalid alignment (size=0x%x, align=0x%x)", size, align); fmt::throw_exception("Invalid alignment (size=0x%x, align=0x%x)" HERE, size, align);
} }
// Return if size is invalid // Return if size is invalid
@ -678,7 +678,7 @@ namespace vm
if (!size || (size | addr) % 4096) if (!size || (size | addr) % 4096)
{ {
throw EXCEPTION("Invalid arguments (addr=0x%x, size=0x%x)", addr, size); fmt::throw_exception("Invalid arguments (addr=0x%x, size=0x%x)" HERE, addr, size);
} }
for (auto& block : g_locations) for (auto& block : g_locations)
@ -698,7 +698,7 @@ namespace vm
{ {
if (g_pages[i]) if (g_pages[i])
{ {
throw EXCEPTION("Unexpected pages allocated (current_addr=0x%x)", i * 4096); fmt::throw_exception("Unexpected pages allocated (current_addr=0x%x)" HERE, i * 4096);
} }
} }
@ -831,7 +831,7 @@ namespace vm
if (context.gpr[1] < context.stack_addr) if (context.gpr[1] < context.stack_addr)
{ {
throw EXCEPTION("Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)", size, align_v, old_pos, context.stack_addr); fmt::throw_exception("Stack overflow (size=0x%x, align=0x%x, SP=0x%llx, stack=*0x%x)" HERE, size, align_v, old_pos, context.stack_addr);
} }
else else
{ {
@ -852,7 +852,7 @@ namespace vm
if (context.gpr[1]._u32[3] >= 0x40000) // extremely rough if (context.gpr[1]._u32[3] >= 0x40000) // extremely rough
{ {
throw EXCEPTION("Stack overflow (size=0x%x, align=0x%x, SP=LS:0x%05x)", size, align_v, old_pos); fmt::throw_exception("Stack overflow (size=0x%x, align=0x%x, SP=LS:0x%05x)" HERE, size, align_v, old_pos);
} }
else else
{ {
@ -872,7 +872,7 @@ namespace vm
if (context.SP < context.stack_addr) if (context.SP < context.stack_addr)
{ {
throw EXCEPTION("Stack overflow (size=0x%x, align=0x%x, SP=0x%x, stack=*0x%x)", size, align_v, context.SP, context.stack_addr); fmt::throw_exception("Stack overflow (size=0x%x, align=0x%x, SP=0x%x, stack=*0x%x)" HERE, size, align_v, context.SP, context.stack_addr);
} }
else else
{ {
@ -883,11 +883,11 @@ namespace vm
default: default:
{ {
throw EXCEPTION("Invalid thread type (%u)", cpu->type); fmt::throw_exception("Invalid thread type (%u)" HERE, cpu->type);
} }
} }
throw EXCEPTION("Invalid thread"); fmt::throw_exception("Invalid thread" HERE);
} }
void stack_pop_verbose(u32 addr, u32 size) noexcept void stack_pop_verbose(u32 addr, u32 size) noexcept

Some files were not shown because too many files have changed in this diff Show More