From 99cae5a5a37f41f878a84857361eda47910303ba Mon Sep 17 00:00:00 2001 From: crecher Date: Tue, 13 Oct 2026 01:13:13 +0200 Subject: sprites!!!!!! --- cmd/gones/main.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'cmd') diff --git a/cmd/gones/main.go b/cmd/gones/main.go index 57b1b6e..0a1fbe7 100644 --- a/cmd/gones/main.go +++ b/cmd/gones/main.go @@ -96,6 +96,7 @@ func run(romPath string) error { } } + console.SetButtons(0, heldButtons()) console.StepFrame() // UpdateRGBA multiplies the pitch by 4 itself, so this is in pixels, not bytes @@ -126,3 +127,26 @@ func run(romPath string) error { } } } + +// keyboard layout for controller 1 +var keyMap = map[sdl.Scancode]uint8{ + sdl.SCANCODE_X: nes.ButtonA, + sdl.SCANCODE_Y: nes.ButtonB, + sdl.SCANCODE_RSHIFT: nes.ButtonSelect, + sdl.SCANCODE_RETURN: nes.ButtonStart, + sdl.SCANCODE_UP: nes.ButtonUp, + sdl.SCANCODE_DOWN: nes.ButtonDown, + sdl.SCANCODE_LEFT: nes.ButtonLeft, + sdl.SCANCODE_RIGHT: nes.ButtonRight, +} + +func heldButtons() uint8 { + keys := sdl.GetKeyboardState() + var b uint8 + for scancode, button := range keyMap { + if keys[scancode] != 0 { + b |= button + } + } + return b +} -- cgit v1.2.3