ncpcalls: split IPX and requester assembly glue

Split the Open Watcom assembly glue into separate IPX and NCP requester
modules.

Keep the IPX socket and far-memory helper entry points in ipx.asm and move the
INT 21h Net_Call plus Client32 requester entry points into ncpcall.asm. Split
the former kern.h declarations accordingly into ipx.h and ncpcall.h, and update
net.h and the Open Watcom build to use the new headers and object files.

This matches the current source layout where ncpcall.c owns the low-level NCP
transport helpers and ncpapi.c owns the ncpXX_YY_* protocol API wrappers.

No behavior change.
This commit is contained in:
Mario Fetka
2026-05-29 12:04:16 +02:00
parent 3740e1450c
commit 98ffa17006
11 changed files with 368 additions and 272 deletions

View File

@@ -120,7 +120,7 @@ The modern Client32 path is implemented through a small reusable helper layer:
- `ncpapi.c`
- `ncpapi.h`
- Client32 assembly entry points in `kern_wasm.asm`
- Client32 assembly entry points in `ncpcall.asm`
The working sequence is:
@@ -628,7 +628,7 @@ cmake --build build
The CMake build:
- assembles `kern_wasm.asm` with `wasm`
- assembles `ipx.asm` and `ncpcall.asm` with `wasm`
- compiles each C file to a binary-directory `.obj`
- links `net.exe` from those binary-directory objects
- keeps `.obj`/`.o` intermediate files out of the source directory
@@ -676,7 +676,7 @@ They also install selected copies such as `login.exe`, `map.exe`, and `slist.exe
## Development notes
- `kern_wasm.asm` is the 16-bit Open Watcom assembly implementation used by the modern build.
- `ipx.asm` and `ncpcall.asm` are the split 16-bit Open Watcom assembly implementations used by the modern build.
- `kern.c` was an experimental C-side test wrapper and is no longer required by the current Client32 FLAG/FLAGDIR path.
- `ncpapi.c` and `ncpapi.h` contain reusable Client32 NCP helper functions for DOS tools.
- `trustee.c` and `trustee.h` contain shared code for `GRANT`, `REVOKE`, and `REMOVE`.