Fantasy Console
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Isabelle L. cdd8206756 lots of work on ceres-asm (not working yet) il y a 5 ans
ceres-asm lots of work on ceres-asm (not working yet) il y a 5 ans
ceres-sys lots of work on ceres-asm (not working yet) il y a 5 ans
src lots of work on ceres-asm (not working yet) il y a 5 ans
.gitignore initial commit! il y a 6 ans
Cargo.lock lots of work on ceres-asm (not working yet) il y a 5 ans
Cargo.toml starting to make ceres-asm il y a 5 ans
LICENSE initial commit! il y a 6 ans
README.md lots of work on ceres-asm (not working yet) il y a 5 ans
justfile lots of work on ceres-asm (not working yet) il y a 5 ans
test.asm lots of work on ceres-asm (not working yet) il y a 5 ans

README.md

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:

  • ceres-sys: the core system structure of ceres-16
  • ceres-asm: the assembler for ceres-16

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

all registers are unsigned 16 bit

Register number Register name Register usage
0 z0 always contains zero
1 pc program counter
2 sp stack pointer
3 ra return address
4-6 a0-a2 argument registers
7 v0 return register
8 v1 return register 2
9-15 t0-t6 temporary registers

Memory map and info

god oh fuck what am i even doing

instructions

load - ld:signifier

can be vram/cram/imed

  • immediate ld:immd $dest immediate
    opcode signifier destination padding immediate
    00001 100 0000 0000 0000000000000000