A high level programming language to program NES games.
- Trying to make a compiler/parser/lexer.
- designing a programming language from scratch.
- Frontend
- Language constructs (
WHILE
,FOR
,IF
, etc...) - Array's (only for build in datatypes and static array size)
- Language constructs (
- Backend
-
Parsing
- Visitors
- Validators
-
Code Generation
- Implementors
- Assembly opcodes
- Memory manager
- Program memory
- Ram memory
- PPU memory
- APU memory
- Garbage collection
- Rom file generation
-
NES features
- PPU support
- APU support
- Mappers
- Default mappers
- Custom mappers through
mapper.json
file in project root.
-
File loaders
- Images
-
.png
-
.jpeg
-
.bmp
-
.svg
(optional)
-
- Sound
-
.mid
/.midi
- custom format (optional)
-
- Runtime
-
.vasm
parser / visitors. -
.vasm
-
- Images
-
vNES runtime
- Design runtime
- Implement runtime
- Custom runtime configuration through
runtime.json
file in project root. - Features
- basic runtime (needs to be designed first)
- drawing runtime (like the winforms
Graphics
class in .Net)
-
- Standard library
- NES features
- PPU support
- APU support
- File loaders
- Images
-
.png
-
.jpeg
-
.bmp
-
.svg
(optional)
-
- Sound
-
.mid
/.midi
- custom format (optional)
-
- Images
- NES features
This project is licensed under the MIT License - see the LICENSE.md file for details