# 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