Ver código fonte

added some comments

master
Isabelle L. 5 anos atrás
pai
commit
e49ac92835
5 arquivos alterados com 15 adições e 5 exclusões
  1. +1
    -1
      Cargo.toml
  2. +6
    -4
      README.md
  3. +5
    -0
      ceres-sys/src/lib.rs
  4. +1
    -0
      ceres-sys/src/memory.rs
  5. +2
    -0
      ceres-sys/src/video.rs

+ 1
- 1
Cargo.toml Ver arquivo

@@ -12,5 +12,5 @@ ceres-sys = { path = "ceres-sys" }


[workspace] [workspace]
members = [ members = [
"ceres-sys"
"ceres-sys",
] ]

+ 6
- 4
README.md Ver arquivo

@@ -1,9 +1,11 @@
# Ceres
a shitty fantasy console written in rust using a proprietary MIPS based asm instruction set. a bit of inspiration from PICO-8
# CERES-16
a shitty fantasy console written in rust using a proprietary MIPS based asm instruction set. a lot of inspiration from PICO-8. ceres is structured of these crates:


### GRAPHICS
- ceres-sys: the core system structure of ceres-16


uhhhhh funny 256x144 screen
### Graphics

ceres uses a 256x144 screen with a separate video buffer from the standard memory. colors are 16-bit structured like `0b0000_rrrr_gggg_bbbb` where the first four bits are ignored. the video buffer is structured row major where each u16 is an individual pixel


### Register layout and info ### Register layout and info




+ 5
- 0
ceres-sys/src/lib.rs Ver arquivo

@@ -6,10 +6,14 @@ pub use memory::Memory;
pub use registers::Registers; pub use registers::Registers;
pub use video::VideoMemory; pub use video::VideoMemory;


/// ceres screen width
pub const SCREEN_WIDTH: usize = 256; pub const SCREEN_WIDTH: usize = 256;
/// ceres screen height
pub const SCREEN_HEIGHT: usize = 144; pub const SCREEN_HEIGHT: usize = 144;
/// ceres video memory buffer length
pub const VIDEO_MEMORY_LEN: usize = SCREEN_HEIGHT * SCREEN_WIDTH; pub const VIDEO_MEMORY_LEN: usize = SCREEN_HEIGHT * SCREEN_WIDTH;


/// the core system structure of ceres
pub struct System { pub struct System {
pub registers: Registers, pub registers: Registers,
pub memory: Memory, pub memory: Memory,
@@ -17,6 +21,7 @@ pub struct System {
} }


impl System { impl System {
/// initialize a new system and all of it's component parts
pub fn init() -> System { pub fn init() -> System {
System { System {
registers: Registers::init(), registers: Registers::init(),


+ 1
- 0
ceres-sys/src/memory.rs Ver arquivo

@@ -4,6 +4,7 @@ pub struct Memory {
} }


impl Memory { impl Memory {
/// initialize the main memory buffer
pub fn init() -> Memory { pub fn init() -> Memory {
Memory { data: [0x00; std::u16::MAX as usize] } Memory { data: [0x00; std::u16::MAX as usize] }
} }


+ 2
- 0
ceres-sys/src/video.rs Ver arquivo

@@ -1,8 +1,10 @@
/// video memory
pub struct VideoMemory { pub struct VideoMemory {
data: [u16; crate::VIDEO_MEMORY_LEN], data: [u16; crate::VIDEO_MEMORY_LEN],
} }


impl VideoMemory { impl VideoMemory {
/// initialize the video memory
pub fn init() -> VideoMemory { pub fn init() -> VideoMemory {
VideoMemory { data: [0x0000; crate::VIDEO_MEMORY_LEN] } VideoMemory { data: [0x0000; crate::VIDEO_MEMORY_LEN] }
} }


Carregando…
Cancelar
Salvar