what assembler will assemble the code posted?
where are all the symbols defined?
A section showing "During vblank period, DMA the OAM buffer, into OAM." is not present. how is this done?
what startup code is needed in order to get the SNES into a condition to run the code you posted?
In other words, this ought to be an actual example where these subroutines could be included in a full source file (minimal as needed, of course, without all your secrets) with data for an actual sprite character (whatever it may be) and a table set up in RAM and all the necessary symbols defined as constants or RAM memory locations. Then show a screenshot of the result of running the program.
I mean, I get what the code does, but it isn't runnable in its current form.
I know this is kind of ancient dinosaur stuff, but if you can catch it at the beginning of the video, that's all the code that's needed to display moving sprites on the TI-99/4a...
https://www.youtube.com/watch?v=SPwRYXYO7ykThe X and Y velocity in this example is just randomly set, along with a random color. A hardcoded VBLANK routine in the console ROM just adds the X and Y fractional velocity to the position stored in a table, then sends the table into the sprite memory of the chip through a port that auto-increments its internal address. No such thing as DMA though.
It's a short, simple, stupid, yet interesting way to show how to display sprites on the system using BASIC. The TMS9918 was basically the first video chip to display sprites in a way which lasted up through the SNES era.
Maybe you can provide a simple example where the main routine is just a few lines of calls (jsr this, jsr that), and the dirty work of setting things up is handled by the subroutines, then just loop forever?