1#ifndef YAZE_APP_EMU_PPU_H
2#define YAZE_APP_EMU_PPU_H
20 virtual void Write(uint16_t address, uint8_t data) = 0;
21 virtual uint8_t
Read(uint16_t address)
const = 0;
275 int GetPixel(
int x,
int y,
bool sub,
int* r,
int* g,
int* b);
305 void HandleOPT(
int layer,
int* lx,
int* ly);
309 uint8_t
Read(uint8_t adr,
bool latch);
310 void Write(uint8_t adr, uint8_t val);
virtual void Write(uint16_t address, uint8_t data)=0
virtual ~PpuInterface()=default
virtual uint8_t Read(uint16_t address) const =0
std::vector< uint8_t > tile_data_
void HandleOPT(int layer, int *lx, int *ly)
void HandlePixel(int x, int y)
void EvaluateSprites(int line)
std::vector< SpriteAttributes > sprites_
uint8_t pixelBuffer[512 *4 *239 *2]
uint16_t screen_brightness_
int GetPixel(int x, int y, bool sub, int *r, int *g, int *b)
bool enable_forced_blanking_
uint16_t tilemap_base_address_
std::array< BGVOFS, 4 > bgvofs_
uint8_t prevent_math_mode_
bool GetWindowState(int layer, int x)
void CalculateMode7Starts(int y)
bool vram_increment_on_high_
uint16_t vram_base_address_
void Write(uint8_t adr, uint8_t val)
std::array< BGHOFS, 4 > bghofs_
std::array< BGNBA, 4 > bgnba_
std::array< BackgroundLayer, 4 > bg_layers_
std::array< uint8_t, 256 > obj_pixel_buffer_
void PutPixels(uint8_t *pixel_data)
std::array< uint8_t, 256 > obj_priority_buffer_
uint8_t Read(uint8_t adr, bool latch)
uint8_t mosaic_startline_
bool oam_in_high_written_
const std::vector< uint8_t > & GetFrameBuffer() const
uint8_t pixelOutputFormat
uint16_t GetOffsetValue(int col, int row)
const int visibleScanlines
const int cyclesPerScanline
std::vector< uint8_t > frame_buffer_
std::array< BGSC, 4 > bgsc_
bool math_enabled_array_[6]
int GetPixelForBgLayer(int x, int y, int layer, bool priority)
int GetPixelForMode7(int x, int layer, bool priority)
WindowLayer windowLayer[6]
uint16_t vram_read_buffer_
SNES Emulation and debugging tools.
struct yaze::emu::BgLayer BgLayer
struct yaze::emu::WindowLayer WindowLayer
struct yaze::emu::Layer Layer
Main namespace for the application.
uint16_t tilemap_base_address
std::vector< Tile > tilemap
std::vector< uint8_t > tile_data
uint16_t tile_data_base_address
uint8_t softwareLatchHvCounter
uint16_t horizontalIrqTrigger
uint8_t statusRegisterIrq
uint16_t verticalScanLocation
uint16_t verticalIrqTrigger
uint16_t horizontalScanLocation
uint16_t hdmaCountPointer[8]
uint16_t bytesToTransfer[8]
uint32_t dmaSourceAddress[8]
uint8_t dmacontrol_register_ister[8]
uint8_t enableHDmaTransfer
uint8_t dmaDestinationAddress[8]
uint8_t oldStyleJoypadRegisters[2]
uint8_t oam_priority_rotation
uint8_t general_screen_mode
std::vector< TilemapEntry > entries
uint8_t color_windows_enable
uint8_t color_windows_clip_in_out
uint8_t sprites_clip_in_out