GoBoy alternatives and similar packages
Based on the "Other Software" category.
Alternatively, view GoBoy alternatives based on common mentions on social networks and blogs.
-
croc
Easily and securely send things from one computer to another :crocodile: :package: -
Seaweed File System
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs] -
Gor
GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes. -
limetext
Open source API-compatible alternative to the text editor Sublime Text -
rkt
An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. -
toxiproxy
:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing -
Comcast
Simulating shitty network connections so you can build better systems. -
confd
Manage local application configuration files using templates and data from etcd or consul -
scc
Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go -
Docker
Notary is a project that allows anyone to have trust over arbitrary collections of data -
Stack Up
Super simple deployment tool - think of it like 'make' for a network of servers -
Juju
Universal Operator Lifecycle Manager (OLM) for Kubernetes operators, and operators for traditional Linux apps, with declarative integration between operators for automated microservice integration. -
blocky
Fast and lightweight DNS proxy as ad-blocker for local network with many features -
Documize
Modern Confluence alternative designed for internal & external docs, built with Go + EmberJS -
GoDNS
A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go. -
peg
Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. -
Go Package Store
An app that displays updates for the Go packages in your GOPATH. -
Guora
🖖🏻 A self-hosted Quora like web application written in Go 基于 Golang 类似知乎的私有部署问答应用 包含问答、评论、点赞、管理后台等功能 -
Gokapi
Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. -
mockingjay
Fake server, Consumer Driven Contracts and help with testing performance from one configuration file with zero system dependencies and no coding whatsoever -
ipe
An open source Pusher server implementation compatible with Pusher client libraries written in GO -
ide
A Go code editor. With debugging and Autocomplete. 一个 Go 代码编辑器,具有 DEBUGGING 和 AUTOCOMPLETE -
tcpprobe
Modern TCP tool and service for network performance observability.
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of GoBoy or a related project?
Popular Comparisons
README
GoBoy
GoBoy is a multi-platform Nintendo GameBoy and GameBoy Color emulator written in go. The emulator can run the majority of GB games and some CGB games. There is also colour and sound support. This emulator was primarily built as a development exercise and is still work in progress. Please feel free to contribute if you're interested in GameBoy emulator development.
The program includes debugging functions making it useful for understanding the emulator operation for building one yourself. These functions include printing of opcodes and register values to the console at each step (although will greatly slow down the emulation) and toggling of individual sound channels.
Installation
Download the latest release of GoBoy from the releases page.
Building from source
With go installed, you can install GoBoy into your go bin by running:
go get github.com/Humpheh/goboy/cmd/goboy
If you have Go 1.11 you can also do:
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.go
GoBoy is compatible with MacOS, Windows and Linux. Building on Windows 10 requires MinGW and on Linux, you'll need to install gtk.
GoBoy uses the go library pixel for control binding and graphics rendering, which requires OpenGL. You may need to install some requirements which can be found on the pixels readme.
Usage
goboy zelda.gb
Controls: ← ↑ ↓ → Z X Enter Backspace
The colour palette can be cycled with = (in DMG mode), and the game can be made fullscreen with F.
Other options:
-dmg
set to force dmg mode
-mute
mute sound output
Debug or experimental options:
-cpuprofile string
write cpu profile to file (debugging)
-disableVsync
set to disable vsync (debugging)
-stepthrough
step through opcodes (debugging)
-unlocked
if to unlock the cpu speed (debugging)
Debugging
There are a few keyboard shortcuts useful for debugging:
Q - force toggle background W - force toggle sprites A - print gb background palette data (cgb) S - print sprite palette data (cgb) D - print background map to log E - toggle opcode printing to console (will slow down execution) 7,8,9,0 - toggle sound channels 1 through 4.
Saving
If the loaded rom supports a battery a <rom-name>.sav
(e.g. zelda.gb.sav
) file will be created
next to the loaded rom containing a dump of the RAM from the cartridge. A loop in the program will
update this save file every second while the game is running.
Testing
GoBoy currently passes all of the tests in Blargg's cpu_instrs
and instr_timing
test roms.
These roms are included in the source code along with a test to check the output is as expected
(instructions_test.go
and timing_test.go
). These tests are also run on each commit.
Contributing
Please feel free to open pull requests to this project or play around if you're interested! There are still plenty of small bugs that can easily be found through playing games on the emulator, or take a task from the TODO list below!
Known Bugs and TODO list
- [x] Sprites near edge of screen not drawing
- [x] Top half of sprite disappearing off top of screen
- [x] Small sprites row glitch
- [x] BG tile window offset issue - visible on Pokemon Red splash screen - possibly mistimed interrupt?
- [x] Harry Potter and The Chamber of Secrets has odd sprite issues
- [x] Request to set screen to white does not do so
- [x] MBC3 banking support
- [x] Improve APU (see Pokemon Yellow opening screen for reason why)
- [x] Resizable window
- [x] White screen when off
- [x] STOP opcode behaviour
- [ ] Sprite Z-drawing bugs
- [ ] Minor APU timing issues
- [ ] Better APU buffering
- [ ] Stop jittering
- [ ] MBC3 clock support
- [ ] Speed up CPU and PPU
- [ ] Platform native UI?
- [ ] More DMG colour palettes
- [ ] Support save-states
- [ ] Support boot roms
- [ ] Blargg's test ROMs
Resources
A large variety of resources were used to understand and test the GameBoy hardware. Some of these include:
- http://www.codeslinger.co.uk/pages/projects/gameboy/files/GB.pdf
- https://github.com/retrio/gb-test-roms
- http://www.codeslinger.co.uk/pages/projects/gameboy/beginning.html
- http://bgb.bircd.org/ - invaluable for debugging
- https://github.com/AntonioND/giibiiadvance/tree/master/docs
- https://github.com/trekawek/coffee-gb