Fork me on GitHub

RetroScript


USE VNES.SCREEN_UTILS
DEF SCREEN: MainScreen
  onLoad: OnLoad()

  DEF FUNCTION OnLoad()
    DEF color: COLOR
    color.r = 255
    color.g = 0
    color.b = 0
    SCREEN_UTILS.Clear(color)
  END
END
        

Assembly


; TODO: make this code acctualy do what the RetroScript example does...
sei 
cld 
ldx #$40
stx $4017 
ldx #$ff
txs 
inx 
stx $2000 
stx $2001
stx $4010 


bit $2002
; etc (You get the idea...)
        

Features

Modular structure

Structure your project into modules.
Seperate functionality for each screen of your game.

Retro syntax

RetroScript code looks not from this time period but it's full of highlevel functions.
It's syntax is inspired by Python, Visual Basic and Lua.

Compile to ROM or library

Compile to a .NES file to run directly on your favorite emulator.
Or compile to a library file which you can include in other projects.

Various file formats supported

Load image assest from png, bmp and jpg files
Load music from midi files

Mapper support

Over 20 mappers supported by default.
Define your own custom mapper through a mapper.json file in the project root.

RetroScript Runtime

Reduce your byte count by using the RetroScript Runtime.
Define your own Runtime functions through asm files and a runtime.json in your project root.