nesgo module - github.com/retroenv/nesgo - Go Packages (original) (raw)

  1. Discover Packages
  2. github.com/retroenv/nesgo

v0.10.0 Published: Jun 26, 2022 License: Apache-2.0

README

nesgo - Golang based tooling for the NES

Build status go.dev reference Go Report Card codecov

nesgo offers tooling for the Nintendo Entertainment System (NES), written in Golang.

Available tools

Tool Description
nesgo Golang to NES compiler
nesgodisasm Disassembler for NES ROMs
nesgoemu Emulator for NES ROMs

check the README of each tool for a more detailed description and instructions on how to install and use them.

Project layout

├─ cmd              tools main directories
├─ docs             documentation
├─ example/         NES Program examples in Golang
├─ internal/        internal compiler code
├─ pkg/             libraries used by different packages and tools
├─ pkg/neslib       helper useful for writing NES programs in Golang

Directories

Path Synopsis
cmd
nesgo command
nesgodisasm command
nesgoemu command
examples
blue command
debugprint command
internal
assert Package assert contains test assertion helpers. Package assert contains test assertion helpers.
ast Package ast implements utility functions for generating abstract syntax trees from Go BNF. Package ast implements utility functions for generating abstract syntax trees from Go BNF.
ast/tests Package tests contains AST tests. Package tests contains AST tests.
buildinfo Package buildinfo formats build information that is embedded into the binaries. Package buildinfo formats build information that is embedded into the binaries.
compiler Package compiler provides functionality for parsing Golang code. Package compiler provides functionality for parsing Golang code.
gocc/errors
gocc/lexer
gocc/parser
gocc/token
gocc/util
pkg
addressing Package addressing provides addressing helpers. Package addressing provides addressing helpers.
apu Package apu provides APU (Audio Processing Unit) functionality. Package apu provides APU (Audio Processing Unit) functionality.
cartridge Package cartridge provides .nes ROM loading and saving. Package cartridge provides .nes ROM loading and saving.
controller Package controller provides hardware controller functionality. Package controller provides hardware controller functionality.
cpu Package cpu provides CPU (Central Processing Unit) functionality. Package cpu provides CPU (Central Processing Unit) functionality.
disasm Package disasm provides an NES program disassembler. Package disasm provides an NES program disassembler.
disasm/ca65 Package ca65 provides helpers to create ca65 assembler compatible asm output. Package ca65 provides helpers to create ca65 assembler compatible asm output.
disasm/disasmoptions Package disasmoptions implements disassembler options that are passed down to the actual assembly writer. Package disasmoptions implements disassembler options that are passed down to the actual assembly writer.
disasm/param Package param contains the parameter to string conversion interface for disassembling. Package param contains the parameter to string conversion interface for disassembling.
disasm/program Package program represents an NES program. Package program represents an NES program.
gui Package gui implements multiple emulator GUIs. Package gui implements multiple emulator GUIs.
mapper Package mapper provides hardware mapper support. Package mapper provides hardware mapper support.
memory Package memory provides Memory functionality. Package memory provides Memory functionality.
nes Package nes provides helper functions for writing NES programs in Golang. Package nes provides helper functions for writing NES programs in Golang.
neslib Package neslib provides helper functions for writing NES programs in Golang. Package neslib provides helper functions for writing NES programs in Golang.
ppu Package ppu provides PPU (Picture Processing Unit) functionality. Package ppu provides PPU (Picture Processing Unit) functionality.
system Package system provides an initializer for the NES system. Package system provides an initializer for the NES system.