ReC98/Research
nmlgc 152ecaa496 [Separate translation units] [th05] Music Room piano (undecompilable functions)
Reasons:
• piano_fm_part_put_raw(): SI register referenced and not saved on
  the stack
• piano_current_note_from(): Would be decompilable… into a mess.
  Not worth adding a separate translation unit just for it.
• piano_part_keys_put_raw(): DI register saved before the SI register
• piano_pressed_key_put(): DI register referenced and not immediately
  saved on the stack
• piano_label_put_raw(): SI and DI registered referenced and not saved
  on the stack
• grcg_setcolor_direct_seg1_raw(): Let's procrastinate this one until
  we have to reference all of these instances in C land.

And we could have even emitted that PIANO_KEY_PRESSED_TOP pixel data
into the code segment, by using `#pragma option -z` to give identical
names to both the code and the data segment. At least we can decompile
the first two functions here.

Part of P0135, funded by [Anonymous].
2021-03-19 23:23:06 +01:00
..
Borland C++ decompilation.md [Separate translation units] [th05] Music Room piano (undecompilable functions) 2021-03-19 23:23:06 +01:00
HOLDKEY.C [Maintenance] Decide on __asm as the keyword for inline assembly 2020-06-21 22:18:00 +02:00
Makefile.mak [Research] Find out why ≥TH03 checks input twice per frame, with a 0.6ms delay 2018-09-13 18:32:24 +02:00
README.md [Research] Find out why ≥TH03 checks input twice per frame, with a 0.6ms delay 2018-09-13 18:32:24 +02:00

README.md

This directory collects various pieces of research into PC-98 hardware details that were made during the reverse-engineering phase, in order for us to better understand certain details and name functions/data more adequately.

Run maker to build the examples. The executables will be directly placed into this directory.