用Haskell编写的嵌入式领域特定语言+编译器,用于生成在任天堂游戏男孩上运行的代码。
还提供了一个用于操作内存和图形等构造的库。
目前,RGBASM是唯一的输出目标,但计划在未来生成本机代码。
语法示例(将随着更复杂的构造的添加而更新):
主::IO()main=rom>>=T.putStrLn其中rom=compileROM$do字节A 0xDE字节B 0xDE如果'((A==(0xDE::Word8))&&(A==B))$do写入(地址wram0)0xDE冻结
请参见应用程序/主程序.hs
以获取完整的用法示例。
构建ROM(输出将命名为主.gb
):
堆栈运行>示例/main.asmcd示例&&make NAME=main
关于问题
我主要使用这里的问题跟踪器来写计划的特性和编译器开发,不要将计数作为活动bug的指示器,如果您对项目的状态感到好奇,请务必进行筛选,以仅显示属于bug的问题。
贡献
请参阅贡献页面。
有关该项目的其他信息也可以在Wiki上找到。
特别感谢
多亏了弗朗西斯科149和邦齐感谢他们将时间和知识投入到这个项目中。尤其是图形功能,如果没有他们的帮助,将无法实现。