Categorygithub.com/codefrite/gameboy-go-server
modulepackage
0.2.0
Repository: https://github.com/codefrite/gameboy-go-server.git
Documentation: pkg.go.dev

# README

Gameboy Server

This is a go server exposing the gameboy emulator as a websocket

context: rest-api technology: websockets endpoints: GET /gameboy

messages:

  • user -> server:
    • GET /gameboy: instantiates a new gameboy instance for the new user connection
  • server -> user:

Endpoints

GET /gameboy

Only one endpoint is available for this server. When hit by a user, it will instantiate a new gameboy and map it to the user's connection. It will then listen to incoming messages and react to it accordingly either by sending interrupts to the gameboy, actions to the emulator or by sending messages to the user like gameboy state notifications.

Messages

step (user->server)

The step message is sent by the user to the server to request the gameboy to execute a single instruction. The server will then send an interrupt to the gameboy to execute the next instruction.

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

add a breakpoint at a certain address on the gameboy.
notifies the client of the current APU state (message.data: ApuState).
initial client http connection even before upgrading to websocket.
notifies the client of the current CPU state (message.data: CpuState).
disable all breakpoint (but does not delete them).
disable a breakpoint at a certain address.
enable all breakpoint.
enable a breakpoint at a certain address.
notifies the client of an error (message.data: string).
notifies the client of the initial memory maps (message.data: MemoryWrite).
joypad keypresses (message.data: JoypadState).
load a given rom on the gameboy.
load the saved state to the gameboy.
notifies the client of a memory write (message.data: MemoryWrite) // TODO! should be an array []MemoryWrite that retrieves only changes and not whole memory state.
notifies the client of the current PPU state (message.data: PpuState).
remove a breakpoint at a certain address on the gameboy.
restart the gameboy with the current rom.
run the gameboy.
save the current state of the gameboy.
step the gameboy.
unused (to leave some space in case i need to change to add an event related to the current series).
unused.
unused.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author