Skip to content

monteslu/pycretro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pycretro

Compile a static, pygame-flavored Python subset to C for retro game consoles. This is the shared compiler front-end for the console SDKs gbapython (Game Boy Advance), mdpython (Sega Genesis), and gtpython (GameTank) — the Python-language sibling of the gtlua/gbalua/mdlua family.

Write the Python you learned in class; get a real console ROM. Familiar, not compatible — see SPEC.md and each SDK's DIFFERENCES.md.

Status

Early bring-up (0.0.x), co-developed with gbapython. See internal-pycretro/PLAN_00_common_frontend.md.

Pipeline

lex → parse → check → emit, producing C that a bundled WASM toolchain builds into a ROM. The AST is shared with the Lua-family emitter; the front-end (indentation lexer, Python parser, refusal diagnostics) is new.

Native resolutions (per SDK)

SDK platform native resolution
gbapython Game Boy Advance 240 x 160
mdpython Sega Genesis 320 x 224
gtpython GameTank 128 x 128

set_mode() must use the SDK'''s native size exactly.

About

Compile a static, pygame-flavored Python subset to C for retro consoles. Shared front-end for the gbapy/mdpy/gtpy console SDKs.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors