All Projects → ix → Lazyboy

ix / Lazyboy

Licence: bsd-3-clause
An EDSL implemented in Haskell for programming the Nintendo Game Boy.

Programming Languages

haskell
3896 projects
dsl
153 projects

Projects that are alternatives of or similar to Lazyboy

Docker Dontstarvetogether
Dockerfile for building a Don't Starve Together dedicated server image.
Stars: ✭ 240 (+445.45%)
Mutual labels:  games, gaming
hUGEDriver
An easy-to-use, fast, tracker-based, public domain sound driver for Game Boy homebrew
Stars: ✭ 26 (-40.91%)
Mutual labels:  homebrew, gameboy
tobutobugirl-dx
An arcade platformer homebrew game for the Game Boy, Game Boy Color and Super Game Boy
Stars: ✭ 58 (+31.82%)
Mutual labels:  homebrew, gameboy
Nes
A Javascript NES Emulator
Stars: ✭ 168 (+281.82%)
Mutual labels:  games, gaming
xcloud-shield
Xcloud Beta Unofficial App for the Nvidia Shield Android TV. Playing Xbox Cloud Gaming directly on the box Nvidia Shield tv in the best way.
Stars: ✭ 93 (+111.36%)
Mutual labels:  games, gaming
Iw4x Client
🎮 Official IW4x source code
Stars: ✭ 218 (+395.45%)
Mutual labels:  games, gaming
leagueoflegends
A command-line interface for League of Legends Esports.
Stars: ✭ 28 (-36.36%)
Mutual labels:  games, gaming
Gbdk playground
Simplified GBDK examples
Stars: ✭ 100 (+127.27%)
Mutual labels:  gameboy, homebrew
SteamDepotDownloaderGUI
A simple GUI tool based on DepotDownloader for downloading Steam depots.
Stars: ✭ 26 (-40.91%)
Mutual labels:  games, gaming
Trivia-Knowledge
Trivia knowledge is a fun trivia game in which players have to guess the answers of questions by filling the answers boxes with correct letters.
Stars: ✭ 77 (+75%)
Mutual labels:  games, gaming
Bottles
🌠 Easily manage 🍷prefix in a new way! (Run Windows software and games on Linux)
Stars: ✭ 147 (+234.09%)
Mutual labels:  games, gaming
Evoland.gb
A fan-made demake of Evoland on GameBoy
Stars: ✭ 24 (-45.45%)
Mutual labels:  gameboy, homebrew
Unity Solutions
Use Firebase tools to incorporate common features into your games!
Stars: ✭ 95 (+115.91%)
Mutual labels:  games, gaming
Antimicrox
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
Stars: ✭ 226 (+413.64%)
Mutual labels:  games, gaming
Tobutobugirl
An arcade platformer homebrew game for the Game Boy
Stars: ✭ 243 (+452.27%)
Mutual labels:  gameboy, homebrew
piw5 bot warfare
The Bot Warfare mod for PlutoniumIW5
Stars: ✭ 57 (+29.55%)
Mutual labels:  games, gaming
Gb303
GB303 wavetable-based TB-303 style synthesizer for the Nintendo Gameboy.
Stars: ✭ 80 (+81.82%)
Mutual labels:  gameboy, homebrew
StadiaIcons
A set of icons for games based on the Google Stadia logo.
Stars: ✭ 20 (-54.55%)
Mutual labels:  games, gaming
Awesome One Person Games
🎮 A curated list of successul games, made (quite) entirely by a lone gamedev.
Stars: ✭ 276 (+527.27%)
Mutual labels:  games, gaming
Vba M Nx
WIP full featured port of VBA-M for Nintendo Switch
Stars: ✭ 11 (-75%)
Mutual labels:  gameboy, homebrew

LAZYBOY Build Status Coverage Status Hackage

An embedded domain-specific language + compiler written in Haskell for producing code to run on the Nintendo Game Boy.

Also features a library for manipulating constructs such as memory and graphics.

Currently, RGBASM is the only output target, but in the future native machine code generation is planned.

Syntax example (will be updated as more complex constructs are added):

main :: IO ()
main = rom >>= T.putStrLn
    where rom = compileROM $ do
            byte A 0xDE
            byte B 0xDE
            if' ((A == (0xDE :: Word8)) && (A == B)) $ do
                write (Address wram0) 0xDE
            freeze

See app/Main.hs for a full usage example.

Build a ROM (output will be named main.gb):

stack run > examples/main.asm
cd examples && make NAME=main

About issues

I mostly use the issue tracker on here as a place to write about planned features and compiler development, don't take the count as an indicator of active bugs, and be sure to filter to show only issues that are bugs if you are curious on the state of the project.

Contributing

Please see the Contributing page on the Wiki.

Additional information about the project can also be found on the Wiki.

Special thanks

Thanks to Francesco149 and Bonzi for kindly devoting their time and knowledge to the project. The graphics functionality in particular would not be where it is without their assistance.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].