Skip to content

Conversation

@1nf3rna
Copy link

@1nf3rna 1nf3rna commented Dec 28, 2025

Summary

Adds support for NWA and QUSB autosplitters

Checklist

  • Prettier/fmt run (task fmt)
  • Tests pass (task test)
  • Lint passes (task lint)
  • Docs/README updated (if needed)

Notes for reviewers

TODO:
main.go

  1. Add reading autosplitter config file
  2. Configure autosplitter service from config file
  3. Pass config to autosplitter service
  4. Remove temporary config

autosplitters/service.go

  1. Add support for closing the autosplitters
  2. Remove temporary test autosplit data
  3. Get/Receive autosplitter file loading
  4. Get/Receive current split index

autosplitters/QUSB2SNES/qusb2snes_splitter.go

  1. Enable and add IGT support (only if opensplit adds support)

1nf3rna and others added 30 commits October 8, 2025 00:44
- to do: file format for splitter language, add usage to main project, test functionality
Currently only supports NWA
- moved public stuff to top of file and private stuff to bottom
- added comments
- moved public stuff to the top of the file and private to the bottom
- changed NWASplitter stuct to make it generic
- added compare_type enum (might remove this)
- added Element and MemoryEntry structs to make generic interface
- added setup function for initializing memory and conditions
- made client public
- updated Update function for generic interface, construct arguments, build multi-byte values from little endian data
- start, reset, and split helper functions updated for generic usability
- addedfindInSlice, compareTypeConverter, and compare functions for generic usability
- added example usage
added autosplitter service initialization and activation
added service struct
added service thread to connect, setup NWA splitter, control splitter
added read deadline
removed unneeded enum and converter function
made MemoryEntry struct variables public
fixed hex to int conversion and byte to int conversion
added output for invalid condition lengths
…d QUSB, added start condition object, updated autosplit format, added temporary splitcount and run state tracking, QUSB implementation
…te import function for new format, added start conditions to import/update/output, added soft and hard console reset options, rewrote update function for improved performance, rewrote/replaced findInSlice function, added hex to int converter
@1nf3rna
Copy link
Author

1nf3rna commented Dec 28, 2025

Also need to prevent crashing if the EMU is paused ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant