nedis
Tool
tools/dos/nedis.py(program, 16-bit DOS). Disassemble 16-bit code with its relocations applied and its names shown.
Run it with ./gameframe run nedis ARGS or python3 tools/dos/nedis.py. Source on GitHub.
Its own help
This is the help text in the tool itself, as ./gameframe tool nedis prints it.
text
Disassemble 16-bit code with its relocations applied and its names shown.
Usage: nedis.py BINARY SEG:OFF|LABEL [LENGTH] [--labels FILE]
Ghidra's listing aside, a plain disassembler shows a 16-bit program's calls to other segments
and to imports as `lcall 0:ffff`: the file holds placeholders that the loader fills in. This
tool loads the program the way tools/emu/dos_emu/ does (relocations applied, Ghidra's
selectors, imports as named stubs) and disassembles the result with capstone. Call and jump
targets, and data offsets in DS, are replaced by names from a labels file (labels/names.tsv
by default) where one matches: `lcall Reset_1040_0a12`, `mov al, byte ptr [PlayDemoNum]`.
LENGTH is in bytes (default 0x100). Addresses are Ghidra's (1000:7f40). Needs capstone and
unicorn (GameFrame's .venv). It does not follow jumps or find function ends.Named by
Skills: re-ghidra.