mirror of
https://github.com/FranLMSP/snes.git
synced 2026-08-03 08:30:01 -04:00
Show game framebuffer (#8)
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
use super::registers::PPURegisters;
|
||||
use super::registers::{PPURegisters, MAX_TV_HEIGHT, MAX_TV_WIDTH};
|
||||
|
||||
const FRAMEBUFFER_SIZE: usize = MAX_TV_HEIGHT * MAX_TV_WIDTH * 4;
|
||||
|
||||
pub struct PPU {
|
||||
framebuffer: Vec<u8>,
|
||||
@@ -10,7 +12,7 @@ pub struct PPU {
|
||||
impl PPU {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
framebuffer: vec![],
|
||||
framebuffer: vec![0; FRAMEBUFFER_SIZE],
|
||||
registers: PPURegisters::new(),
|
||||
was_vblank_nmi_set: false,
|
||||
is_irq_set: false,
|
||||
@@ -46,7 +48,7 @@ impl PPU {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn framebuffer(&self) -> &Vec<u8> {
|
||||
pub fn framebuffer(&self) -> &[u8] {
|
||||
&self.framebuffer
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,6 +88,9 @@ pub const STAT78: u16 = 0x213F; // PPU1 Status and PPU1 Version Number
|
||||
pub const MAX_BG_WIDTH: usize = 16 * 64;
|
||||
pub const MAX_BG_HEIGHT: usize = 16 * 64;
|
||||
|
||||
pub const MAX_TV_WIDTH: usize = 512;
|
||||
pub const MAX_TV_HEIGHT: usize = 448;
|
||||
|
||||
|
||||
#[derive(Debug, PartialEq, Copy, Clone)]
|
||||
pub enum TileSize {
|
||||
|
||||
Reference in New Issue
Block a user