yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
emu_test.cc File Reference
#include "app/platform/sdl_compat.h"
#include <cstdint>
#include <cstdio>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "app/emu/snes.h"
#include "util/log.h"

Go to the source code of this file.

Classes

class  yaze::emu::test::HeadlessEmulator
 

Namespaces

namespace  yaze
 
namespace  yaze::emu
 SNES Emulation and debugging tools.
 
namespace  yaze::emu::test
 

Functions

 ABSL_FLAG (std::string, emu_test_rom, "", "Path to ROM file to test")
 
 ABSL_FLAG (int, max_frames, 60, "Maximum frames to run (0 = infinite)")
 
 ABSL_FLAG (int, log_interval, 10, "Log APU state every N frames")
 
 ABSL_FLAG (bool, dump_audio, false, "Dump audio output to WAV file")
 
 ABSL_FLAG (std::string, audio_file, "apu_test.wav", "Audio dump filename")
 
 ABSL_FLAG (bool, verbose, false, "Enable verbose logging")
 
 ABSL_FLAG (bool, trace_apu, false, "Enable detailed APU instruction tracing")
 
int main (int argc, char **argv)
 

Function Documentation

◆ ABSL_FLAG() [1/7]

ABSL_FLAG ( std::string ,
emu_test_rom ,
"" ,
"Path to ROM file to test"  )

◆ ABSL_FLAG() [2/7]

ABSL_FLAG ( int ,
max_frames ,
60 ,
"Maximum frames to run (0 = infinite)"  )

◆ ABSL_FLAG() [3/7]

ABSL_FLAG ( int ,
log_interval ,
10 ,
"Log APU state every N frames"  )

◆ ABSL_FLAG() [4/7]

ABSL_FLAG ( bool ,
dump_audio ,
false ,
"Dump audio output to WAV file"  )

◆ ABSL_FLAG() [5/7]

ABSL_FLAG ( std::string ,
audio_file ,
"apu_test.wav" ,
"Audio dump filename"  )

◆ ABSL_FLAG() [6/7]

ABSL_FLAG ( bool ,
verbose ,
false ,
"Enable verbose logging"  )

◆ ABSL_FLAG() [7/7]

ABSL_FLAG ( bool ,
trace_apu ,
false ,
"Enable detailed APU instruction tracing"  )

◆ main()

int main ( int argc,
char ** argv )
Todo
Use factory or detect backend
Todo
Use proper aspect ratio handling

Definition at line 219 of file emu_test.cc.

References yaze::emu::Snes::apu(), yaze::emu::audio::AudioConfig::buffer_frames, yaze::emu::audio::AudioConfig::channels, yaze::platform::Close, yaze::emu::Snes::cpu(), yaze::emu::audio::AudioBackendFactory::Create(), yaze::gfx::RendererFactory::Create(), yaze::platform::WindowBackendFactory::Create(), yaze::platform::DropFile, yaze::platform::WindowEvent::dropped_file, yaze::emu::audio::AudioConfig::format, yaze::platform::WindowBackendFactory::GetDefaultType(), yaze::platform::WindowConfig::height, yaze::platform::WindowConfig::high_dpi, yaze::emu::test::HeadlessEmulator::Init(), yaze::emu::Snes::Init(), yaze::emu::input::InputManager::Initialize(), yaze::emu::audio::INT16, yaze::Rom::is_loaded(), yaze::Rom::LoadFromFile(), yaze::emu::Snes::loadState(), yaze::emu::Snes::memory(), yaze::emu::input::InputManager::Poll(), yaze::platform::Quit, yaze::platform::WindowConfig::resizable, yaze::emu::Snes::RunFrame(), yaze::emu::test::HeadlessEmulator::RunFrames(), yaze::emu::audio::AudioConfig::sample_rate, yaze::emu::Snes::saveState(), yaze::emu::audio::AudioBackendFactory::SDL2, yaze::emu::input::InputBackendFactory::SDL2, yaze::emu::Snes::SetPixels(), yaze::emu::Snes::SetSamples(), yaze::Rom::size(), yaze::platform::WindowConfig::title, yaze::platform::WindowEvent::type, yaze::Rom::vector(), and yaze::platform::WindowConfig::width.

Referenced by yaze::zelda3::OverworldMap::LoadPalette(), and yaze::zelda3::palette_internal::SetColorsPalette().