mirror of https://github.com/nmlgc/ReC98.git
[Maintenance] [th04] Split code segment #1 into two
So yes, we *can* technically decompile from anywhere, by splitting the segment after the function we want, then .SEQuentially GROUPing the two segments back together into one virtual segment matching the original one. This gives us one more point where we can slot in new compilation units that emit their code into the same segment, in the order given on the link command line. *But* since all ASM in ReC98 heavily relies on being assembled in MASM mode, we then start to suffer from MASM's group addressing quirk, described in the "Accessing data in a segment belonging to a group" section in the Turbo Assembler Version 5 User's Guide. Which then forces us to manually prefix every single function call • from inside the group • to anywhere else within the newly created segment with the group name. It's stupidly boring busywork, because of all the function calls you *mustn't* prefix. Special tooling might make this easier, but I don't have it, and I'm not getting crowdfunded for it. And while this is faster than porting the entire codebase to Ideal mode, I'll only do this on rare occasions. Like the upcoming, particularly awful piece of reverse-engineering. Completes P0031, funded by zorg.
This commit is contained in:
parent
3383a4558b
commit
9f764fa6fb
|
@ -11,4 +11,4 @@ _grcg_fill_playfield_rows proc near
|
|||
jge short _grcg_fill_playfield_rows
|
||||
retn
|
||||
_grcg_fill_playfield_rows endp
|
||||
even
|
||||
nop
|
||||
|
|
1056
th04_main.asm
1056
th04_main.asm
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue