ReC98/libs/sprite16
nmlgc b6e0330ff6 [Decompilation] [th03] Sprite display calls
Yes, decompilation, of something that was so obviously originally
written in ASM. We're still left with two un-decompilable instructions
here, but I'm amazed at how nicely I was able to abstract away all of
the gory register details, leading to pretty clear, readable, and dare
I say *portable* code?! Turbo C++ was once again pretty helpful here:

• `static_cast<char>(_BX) = _AL` actually compiles into `MOV BL, AL`,
  as you would have intended,
• and no-op assignments like _DI = _DI are optimized away, allowing
  us to leave them in for clarity, so that we can have all parameter
  assignments for the SPRITE16 display call in a single place.

I love this compiler.

Part of P0060, funded by Touhou Patch Center.
2019-11-28 23:14:21 +01:00
..
sprite16.asm [th03] Identify ZUNSP.COM as a rebrand of Promisence Soft's SPRITE16.COM driver 2019-11-06 23:30:43 +01:00
sprite16.doc [th03] Identify ZUNSP.COM as a rebrand of Promisence Soft's SPRITE16.COM driver 2019-11-06 23:30:43 +01:00
sprite16.h [Position independence] False positives in master.lib GRCG function calls 2019-11-14 00:51:48 +01:00
sprite16.inc [Decompilation] [th03] Sprite display calls 2019-11-28 23:14:21 +01:00