v0.0.1
Changelog
fa82b4a Fix bad uint32 size
2407fb8 Fix nil map access
9eb37a6 Implement kinds filter for ListDevices
b0b8a72 Initial commit
358c64c Initial commit of SNI project, copying all code from o2 and removing irrelevant bits
a5d2135 Move command error to chan
358d911 Rewrite udpclient to not use channels
8b55d77 Split service up; remove error from message response
ad34811 Split up read request into multiple VGET chunks
3fd2298 Swap out individual timing code with general interceptor
7db3e9e Switch to RWMutex for devices map access
a3cda21 Switch to URI without path and just use Opaque
5c602d1 Wait for all batches to complete
4e0e70a build: add goreleaser support with build.sh script, add github workflow actions
91fbb9c build: add release scripts
4d3cbac fxpakpro: implement MultiWriteMemory; remove redundant int32 conversions
753fa18 fxpakpro: implemented MultiReadMemory; snes: refactored BaseDeviceDriver pattern
cef81af gRPC service defined and ListDevices implemented
eb2447f lorom: fix ROM mapping
f979a7a lorom: fix reverse translation which is not used
e813b8a retroarch: detect max read size
4508104 retroarch: dont close queue device on error
8659a3c retroarch: fix to use Host instead of Opaque
ab79275 retroarch: implement MultiReadMemory; fix ReadMemory to remap address
18c403f retroarch: implement ReadMemory in terms of MultiReadMemory
783ec9c retroarch: removed QueueDriver implementation
d3361a5 retroarch: track RAClient/UDPClient IsClosed() status
a499a68 snes: add IsClosed() bool func to Queue
533742b snes: add write responses to MultiWriteMemory; convert mock driver to Device
81339e6 snes: added Kind() to Driver; sni: corrected kind filter in ListDevices
7dc9db0 snes: expose Kind and Capabilities on DeviceDescriptor
158cce2 snes: fix HiROM mapping for SlowROM banks $00-3F
cd6bec7 snes: fixed LoROM ROM access to use banks $80-$FF for consistency; fixed SRAM and WRAM mappings
f6c0995 snes: implement HiROM and ExHiROM mapping from FX Pak Pro space to SNES bus space
dafd48b snes: introduce UseDeviceMemory; introduce ExclusiveUse and BaseDeviceDriver
08f41cc snes: introducing Device and DeviceDriver to deprecate Command Queue
1415163 snes: more tests and fixes for LoROM, HiROM, and ExHiROM
966abdc snes: remove ReadMemory and WriteMemory in favor of Multi interface
dc5890f snes: replaced interface design of DeviceDescriptor with simpler struct design with Uri, DisplayName pairs
3695253 snes: restructure requests/responses to match sni proto
079d933 snes: simplify UseDevice methods
81c3585 snes: switch to using *url.URL for device identifiers
5cb9331 snes: validate required device capabilities before attempting calls
1967e1c snes: walk back the ExclusiveUse to just Use and avoid double-lock problems
8749bfd sni: add -logtiming flag; custom log format for request/responses to avoid showing data
c048bcb sni: add DeviceControl service for Reset/Pause control; retroarch: first implementation of Reset and Pause
8c662e8 sni: add confidence bool to detection response; add internal bug checks for read/write methods
b147d7c sni: added ROM header to detection response
adbcd5b sni: dumb timing instrumentation for gRPC method handlers
7829b25 sni: generated new code from new proto and updated service
7dddf89 sni: implement MultiRead
0734ce7 sni: implement MultiWrite
0b570bb sni: implement memory mapping get. set. detect; implement address translation; TODO: hirom, exhirom address translation logic
205b169 sni: implemented Write gRPC; retroarch: detect -1 response
1fbdea5 sni: introduce UseDevice pattern to allow for releasing device if closed
262beed sni: rewrite sni.proto and regenerate code
9099c2a udpclient: Close on error and track IsClosed() status
ced2f1b udpclient: close client on errors so that reconnection can fix any read/write desyncs
760feb6 udpclient: fix too-small buffer for localhost UDP
15161c1 udpclient: refactored to use deadlines instead of timeouts; retroarch: using context.Deadline() when available
6c6b8df udpclient: rewritten for better debug breakpoint support