Path: blob/master/libsnes/bsnes/snes/alt/ppu-performance/mmio/mmio.hpp
2 views
public:1uint8 mmio_read(unsigned addr);2void mmio_write(unsigned addr, uint8 data);34private:56struct Regs {7//internal8uint8 ppu1_mdr;9uint8 ppu2_mdr;1011uint16 vram_readbuffer;12uint8 oam_latchdata;13uint8 cgram_latchdata;14uint8 bgofs_latchdata;15uint8 mode7_latchdata;1617bool counters_latched;18bool latch_hcounter;19bool latch_vcounter;2021//$210022bool display_disable;23unsigned display_brightness;2425//$2102-$210326uint16 oam_baseaddr;27uint16 oam_addr;28bool oam_priority;2930//$210531bool bg3_priority;32unsigned bgmode;3334//$210d35uint16 mode7_hoffset;3637//$210e38uint16 mode7_voffset;3940//$211541bool vram_incmode;42unsigned vram_mapping;43unsigned vram_incsize;4445//$2116-$211746uint16 vram_addr;4748//$211a49unsigned mode7_repeat;50bool mode7_vflip;51bool mode7_hflip;5253//$211b-$212054uint16 m7a;55uint16 m7b;56uint16 m7c;57uint16 m7d;58uint16 m7x;59uint16 m7y;6061//$212162uint16 cgram_addr;6364//$2126-$212a65unsigned window_one_left;66unsigned window_one_right;67unsigned window_two_left;68unsigned window_two_right;6970//$213371bool mode7_extbg;72bool pseudo_hires;73bool overscan;74bool interlace;7576//$213c77uint16 hcounter;7879//$213d80uint16 vcounter;81} regs;8283uint16 get_vram_addr();84uint8 vram_read(unsigned addr);85void vram_write(unsigned addr, uint8 data);8687uint8 oam_read(unsigned addr);88void oam_write(unsigned addr, uint8 data);8990uint8 cgram_read(unsigned addr);91void cgram_write(unsigned addr, uint8 data);9293void mmio_update_video_mode();94void mmio_reset();959697