yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
snes.cc File Reference
#include "app/emu/snes.h"
#include <algorithm>
#include <array>
#include <cstdint>
#include <cstring>
#include <fstream>
#include <sstream>
#include <type_traits>
#include <vector>
#include <string>
#include "app/emu/audio/apu.h"
#include "app/emu/memory/dma.h"
#include "app/emu/memory/memory.h"
#include "app/emu/video/ppu.h"
#include "app/emu/render/render_context.h"
#include "absl/status/status.h"
#include "absl/strings/str_format.h"
#include "util/log.h"

Go to the source code of this file.

Classes

struct  yaze::emu::anonymous_namespace{snes.cc}::ChunkHeader
 

Namespaces

namespace  yaze
 
namespace  yaze::emu
 SNES Emulation and debugging tools.
 
namespace  yaze::emu::anonymous_namespace{snes.cc}
 

Macros

#define RETURN_IF_ERROR(expr)
 

Functions

void yaze::emu::anonymous_namespace{snes.cc}::input_latch (Input *input, bool value)
 
uint8_t yaze::emu::anonymous_namespace{snes.cc}::input_read (Input *input)
 
bool yaze::emu::anonymous_namespace{snes.cc}::IsLittleEndianHost ()
 
constexpr uint32_t yaze::emu::anonymous_namespace{snes.cc}::MakeTag (char a, char b, char c, char d)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::WriteBytes (std::ostream &out, const void *data, size_t size)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::ReadBytes (std::istream &in, void *data, size_t size)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::WriteUint32LE (std::ostream &out, uint32_t value)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::ReadUint32LE (std::istream &in, uint32_t *value)
 
template<typename T >
absl::Status yaze::emu::anonymous_namespace{snes.cc}::WriteScalar (std::ostream &out, T value)
 
template<typename T >
absl::Status yaze::emu::anonymous_namespace{snes.cc}::ReadScalar (std::istream &in, T *value)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::WriteChunk (std::ostream &out, uint32_t tag, uint32_t version, const std::string &payload)
 
absl::Status yaze::emu::anonymous_namespace{snes.cc}::ReadChunkHeader (std::istream &in, ChunkHeader *header)
 

Variables

constexpr uint32_t yaze::emu::anonymous_namespace{snes.cc}::kStateMagic = 0x59415A45
 
constexpr uint32_t yaze::emu::anonymous_namespace{snes.cc}::kStateFormatVersion = 2
 
constexpr uint32_t yaze::emu::anonymous_namespace{snes.cc}::kMaxChunkSize = 16 * 1024 * 1024
 

Macro Definition Documentation

◆ RETURN_IF_ERROR

#define RETURN_IF_ERROR ( expr)
Value:
do { \
absl::Status _status = (expr); \
if (!_status.ok()) { \
return _status; \
} \
} while (0)

Definition at line 22 of file snes.cc.

Referenced by yaze::cli::ProposalRegistry::AddScreenshot(), yaze::cli::anonymous_namespace{overworld_doctor_commands.cc}::ApplyTailExpansion(), yaze::test::ZSCustomOverworldTestSuite::ApplyVersionPatch(), yaze::editor::OverworldEditor::ApplyZSCustomOverworldASM(), yaze::cli::overworld::BuildMapSummary(), yaze::zelda3::OverworldMap::BuildMapWithCache(), yaze::editor::OverworldEditor::CheckForCurrentMap(), yaze::editor::Tile16Editor::CommitAllChanges(), yaze::editor::Tile16Editor::CommitChangesToOverworld(), yaze::gfx::lc_lz2::CompressV2(), yaze::gfx::lc_lz2::CompressV3(), yaze::zelda3::Overworld::ConfigureMultiAreaMap(), yaze::net::HttpLibWebSocket::Connect(), yaze::zelda3::OverworldMapScreen::Create(), yaze::zelda3::Inventory::Create(), yaze::zelda3::TitleScreen::Create(), yaze::cli::ProposalRegistry::CreateProposal(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::core::CreateWindow(), yaze::editor::Tile16Editor::CyclePalette(), yaze::net::HttpLibClient::Delete(), yaze::editor::Tile16Editor::DiscardChanges(), yaze::editor::GraphicsEditor::DrawExperimentalFeatures(), yaze::editor::GraphicsEditor::DrawFileImport(), yaze::editor::PaletteEditor::DrawPaletteGroup(), yaze::editor::OverworldEditor::DrawScratchSpace(), yaze::editor::Tile16Editor::DrawToCurrentTile16(), yaze::cli::OverworldDoctorCommandHandler::Execute(), yaze::cli::OverworldValidateCommandHandler::Execute(), yaze::cli::handlers::ToolsExtractValuesCommandHandler::Execute(), yaze::cli::handlers::ToolsExtractGoldenCommandHandler::Execute(), yaze::cli::handlers::ToolsPatchV3CommandHandler::Execute(), yaze::cli::overworld::FindTileMatches(), yaze::gfx::PaletteGroupMap::for_each(), yaze::cli::handlers::ToolsHarnessStateCommandHandler::GenerateHarnessState(), yaze::net::HttpLibClient::Get(), yaze::cli::agent::HandleAcceptCommand(), yaze::cli::agent::HandleRunCommand(), yaze::editor::AgentCollaborationCoordinator::HostSession(), yaze::editor::EditorManager::ImportProject(), yaze::editor::ProjectManager::ImportProject(), yaze::cli::overworld::InferWorldFromMapId(), yaze::zelda3::DungeonEditorSystem::Initialize(), yaze::editor::Tile16Editor::Initialize(), yaze::platform::SDL2WindowBackend::Initialize(), yaze::Rom::InitializeForTesting(), yaze::platform::SDL2WindowBackend::InitializeImGui(), yaze::editor::AgentCollaborationCoordinator::JoinSession(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::PolyhedralEditorPanel::Load(), yaze::editor::GraphicsEditor::Load(), yaze::editor::ScreenEditor::Load(), yaze::editor::OverworldEditor::Load(), yaze::zelda3::Overworld::Load(), yaze::gfx::LoadAllPalettes(), yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::EditorManager::LoadAssets(), yaze::zelda3::OverworldMapScreen::LoadCustomMap(), yaze::zelda3::LoadExits(), yaze::Rom::LoadFromData(), yaze::Rom::LoadFromFile(), yaze::zelda3::LoadGameData(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::zelda3::Inventory::LoadItemIcons(), yaze::emu::Snes::LoadLegacyState(), yaze::zelda3::Overworld::LoadOverworldMaps(), yaze::LoadPackageFonts(), yaze::zelda3::OverworldMap::LoadPalette(), yaze::editor::EditorManager::LoadProjectWithRom(), yaze::editor::EditorManager::LoadRom(), yaze::zelda3::Overworld::LoadSprites(), yaze::emu::Snes::loadState(), yaze::editor::Tile16Editor::LoadTile8(), yaze::zelda3::TitleScreen::LoadTitleScreen(), yaze::Rom::LoadZelda3(), yaze::Controller::OnEntry(), yaze::Controller::OnLoad(), yaze::editor::EditorManager::OpenProject(), yaze::editor::EditorManager::OpenRomOrProject(), yaze::cli::anonymous_namespace{test_suite_loader.cc}::ParseConfigBlock(), yaze::cli::anonymous_namespace{test_suite_loader.cc}::ParseGroupBlock(), yaze::cli::anonymous_namespace{test_suite_loader.cc}::ParseGroupEntry(), yaze::cli::anonymous_namespace{test_suite_loader.cc}::ParseTestCaseEntry(), yaze::cli::anonymous_namespace{test_suite_loader.cc}::ParseTestsBlock(), yaze::cli::ParseTestSuiteDefinition(), yaze::editor::MusicEditor::PersistMusicState(), yaze::editor::Tile16Editor::PickTile8FromTile16(), yaze::net::HttpLibClient::Post(), yaze::net::HttpLibClient::Put(), yaze::emu::anonymous_namespace{snes.cc}::ReadChunkHeader(), yaze::cli::ProposalRegistry::RecordDiff(), yaze::editor::OverworldEditor::RefreshMapPalette(), yaze::ReloadPackageFont(), yaze::editor::EditorManager::RepairCurrentProject(), yaze::editor::MusicEditor::RestoreMusicState(), yaze::cli::agent::EnhancedTUI::Run(), yaze::cli::resources::CommandHandler::Run(), yaze::test::ZSCustomOverworldTestSuite::RunAddressValidationTest(), yaze::test::E2ETestSuite::RunCorruptionDetectionTest(), yaze::test::ZSCustomOverworldTestSuite::RunDataIntegrityTest(), yaze::test::ZSCustomOverworldTestSuite::RunFeatureToggleTest(), yaze::test::E2ETestSuite::RunLargeScaleEditingTest(), yaze::cli::agent::MemoryDebuggingExample::RunMemoryDebuggingSession(), yaze::test::E2ETestSuite::RunTransactionSystemTest(), yaze::test::ZSCustomOverworldTestSuite::RunV2UpgradeTest(), yaze::test::ZSCustomOverworldTestSuite::RunV3UpgradeTest(), yaze::editor::MessageEditor::Save(), yaze::editor::MusicEditor::Save(), yaze::editor::OverworldEditor::Save(), yaze::editor::PaletteEditor::Save(), yaze::zelda3::Overworld::Save(), yaze::zelda3::OverworldMapScreen::Save(), yaze::zelda3::TitleScreen::Save(), yaze::zelda3::RoomEntrance::Save(), yaze::Rom::SaveAllPalettes(), yaze::gfx::PaletteManager::SaveAllToRom(), yaze::zelda3::Overworld::SaveAreaSizes(), yaze::zelda3::Overworld::SaveAreaSpecificBGColors(), yaze::zelda3::Overworld::SaveCustomOverworldASM(), yaze::zelda3::Overworld::SaveDiggableTiles(), yaze::zelda3::SaveDungeonMaps(), yaze::zelda3::SaveDungeonMapTile16(), yaze::zelda3::Overworld::SaveEntrances(), yaze::zelda3::SaveEntrances(), yaze::zelda3::Overworld::SaveExits(), yaze::zelda3::SaveExits(), yaze::editor::MessageEditor::SaveExpandedMessages(), yaze::zelda3::SaveGameData(), yaze::zelda3::SaveGfxGroups(), yaze::zelda3::SaveHoles(), yaze::zelda3::Overworld::SaveItems(), yaze::zelda3::SaveItems(), yaze::zelda3::Overworld::SaveLargeAreaTransitions(), yaze::zelda3::Overworld::SaveLargeMaps(), yaze::zelda3::Overworld::SaveLargeMapsExpanded(), yaze::zelda3::Overworld::SaveMap16Expanded(), yaze::zelda3::Overworld::SaveMap16Tiles(), yaze::zelda3::Overworld::SaveMap32Expanded(), yaze::zelda3::Overworld::SaveMap32Tiles(), yaze::zelda3::Overworld::SaveMapOverlays(), yaze::zelda3::Overworld::SaveMapProperties(), yaze::zelda3::Overworld::SaveMusic(), yaze::zelda3::Overworld::SaveOverworldMaps(), yaze::zelda3::Overworld::SaveOverworldTilesType(), yaze::Rom::SavePalette(), yaze::editor::EditorManager::SaveRom(), yaze::editor::EditorManager::SaveRomAs(), yaze::editor::PolyhedralEditorPanel::SaveShapes(), yaze::zelda3::Overworld::SaveSmallAreaTransitions(), yaze::emu::Snes::saveState(), yaze::zelda3::Overworld::SaveTallAreaTransitions(), yaze::editor::Tile16Editor::SaveTile16ToROM(), yaze::zelda3::Overworld::SaveWideAreaTransitions(), yaze::test::TestRecorder::StopLocked(), yaze::test::TestManager::TestRomWithCopy(), yaze::editor::PolyhedralEditorPanel::Update(), yaze::editor::Tile16Editor::Update(), yaze::editor::Tile16Editor::UpdateAsPanel(), yaze::cli::ProposalRegistry::UpdateCommandStats(), yaze::editor::Tile16Editor::UpdateROMTile16Data(), yaze::cli::ProposalRegistry::UpdateStatus(), yaze::editor::Tile16Editor::UpdateTile16Edit(), yaze::gfx::lc_lz2::ValidateCompressionResult(), yaze::gfx::lc_lz2::ValidateCompressionResultV3(), yaze::emu::anonymous_namespace{snes.cc}::WriteChunk(), yaze::editor::PolyhedralEditorPanel::WriteShape(), yaze::Rom::WriteTile16(), and yaze::Rom::WriteTile16().