Skip to content

Commit

Permalink
New compact representation for NSS opcodes
Browse files Browse the repository at this point in the history
nullsound now supports playing multiple NSS streams concurrently, as
well as a new, more compact representation of the music's channels.

This is achieved by a couple of things:
  . Adding new NSS opcodes such as call/ret, which allows storing a
    pattern's data only once if this pattern is repeated in the music
  . Saving channels as individual NSS streams the deduplication with
    call/ret, as well as future opcode compaction strategies.

By default, the old "inline" NSS stream is still generated by nsstool,
the switch to compact format or the deprecation of the inline format
will be assessed later.
  • Loading branch information
dciabrin committed Aug 15, 2024
1 parent d45faf9 commit 43ab3cf
Show file tree
Hide file tree
Showing 4 changed files with 743 additions and 226 deletions.
2 changes: 1 addition & 1 deletion nullsound/nss-ssg.s
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
;;; ------
;; This padding ensures the entire _state_ssg data sticks into
;; a single 256 byte boundary to make 16bit arithmetic faster
.blkb 90
;; .blkb 90

_state_ssg_start:

Expand Down
Loading

0 comments on commit 43ab3cf

Please sign in to comment.