Skip to content
This repository has been archived by the owner on Oct 5, 2020. It is now read-only.

dobyrch/termboy-go

 
 

Repository files navigation

Term Boy

Term Boy is a Nintendo Game Boy emulator...for your terminal.

This is an early implementation written in Go. A more complete version (written in C++) is available here.

This project is based on code from an existing Game Boy Color emulator, gomeboycolor.

Be sure to also check out libtermboy, which distills the techniques used to implement Term Boy into a reusable library (with color support!).

Boot Intro Title Gameplay

Usage

If you're an Arch Linux user, you can download Term Boy from the AUR. After compilation, the binary will be installed as /usr/bin/termboy.

Users of other distros can download and build Term Boy by running go get github.com/dobyrch/termboy-go. Start Term Boy by running termboy-go <ROM.gb> in a Linux virtual console.

Use ESDF for the D-pad, G/H for SELECT/START, and J/K for B/A. Press ESC to quit.

Miscellanea

Ubuntu users may see the message "Failed to set font height." Term Boy uses the setfont command to change the font height, which looks for the font default8x16.psfu in /usr/share/consolefonts. The font can be downloaded from the Kbd project. Download any of the archives and the font will be located in data/consolefonts.

A branch for FreeBSD is also available (git checkout freebsd). See PORTING for more details.

Sound is not yet supported. If you want sound now, try out my other implementation.

If you would like to see how I generated a custom boot ROM (that shows "Term Boy" in place of "Nintendo"), see bootrom-gen.

So... What's the point of this?

Unlike other video game emulators, Term Boy has no dependencies on X11 or any graphics libraries. This makes it possible to play high-quality, graphical games in a command-line environment. If you're bored of text-based games like Adventure, give Term Boy a shot!

About

Another Game Boy emulator for your terminal

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.2%
  • Other 0.8%