Skip to content

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.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.