Skip to content

[h89] NetCat for the Heathkit H89, CP/M and HDOS - #5

Open
tschak909 wants to merge 3 commits into
mainfrom
add-h89
Open

tschak909 wants to merge 3 commits into
mainfrom
add-h89

Conversation

@tschak909

@tschak909 tschak909 commented Oct 15, 2026 •

Copy link
Copy Markdown

NetCat for the H89: NC.COM (CP/M) and NC.ABS (HDOS) from one source in src/h89/, each on a 100K H17 .h8d.

  • URL from the command line (NC <URL>), or a prompt with an example. Both OSes upper-case the command line, so the banner says to type case-sensitive URLs at the prompt.
  • N: is added if missing. TELNET/SSH get ?term=h19&cols=80&rows=24.
  • Host bytes go raw to the H19, keys raw to the host (^C included). Other protocols get a CR before a bare LF.
  • f5 (ESC W) hangs up. A slow ESC then W still goes to the host.
  • fujinet-lib comes from FujiNetWIFI/fujinet-lib via git; no release has H89 yet.

mekkogx is updated to upstream 53afcc4 for h89-hdos.mk and per-platform git lib builds:

  • hirestxt-mod-lib.mk's HIRESTXT_LIB is renamed so upstream's CoCo hook stays off.
  • adam/apple2/atari/c64/coco/vic20 rebuild byte-identical apart from timestamps.
  • Adam's r2r now holds nc.ddp instead of nc.prg (upstream's -create-app).
  • msx fails on main too (_FUJICMD_READ undefined in the experimental lib); not touched.

CI: h89-cpm and h89-hdos added, and the image moved from defoogi 1.4.2 to 1.4.8. 1.4.2 has no +hdos or atr, and its zcc fails on the experimental lib's -MMD. Every matrix platform builds on 1.4.8 from a clean checkout.

Tested in fujinet-go-h89-desktop's session runner, CP/M 2.2.04 and HDOS 2.0, against a local TCP fixture and HTTP server:

  • command line and prompt
  • typing, arrows, ^C
  • f5, and remote hang-up
  • refused connection (error 200), empty URL
  • console restored on HDOS exit
  • bare-LF text, and the TELNET NAWS offer

Not tested on real hardware.

🤖 Generated with Claude Code

tschak909 and others added 3 commits October 15, 2026 12:27
Brings in h89-hdos.mk, and an fnlib.py that builds just the platform it
needs from a git FUJINET_LIB.

hirestxt-mod-lib.mk's HIRESTXT_LIB is now HIRESTXT_CACHE: upstream's
common.mk takes HIRESTXT_LIB as its own CoCo hirestxt switch.

Rebuilt adam, apple2, atari, c64, coco and vic20 before and after: the
programs are byte-identical apart from build timestamps. The Adam's r2r
now holds nc.ddp (upstream adds -create-app) instead of nc.prg.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
NC.COM and NC.ABS from one source, each on an .h8d disk. The URL comes
from the command line, or from a prompt with an example. The H19 is the
terminal: host bytes go straight to it, keys straight to the host, and
TELNET/SSH get ?term=h19&cols=80&rows=24. Other protocols get a CR before
a bare LF. f5 hangs up.

fujinet-lib comes from FujiNetWIFI/fujinet-lib via git, as no release
ships H89 yet. CI builds both on defoogi 1.4.8 (1.4.2 has no +hdos).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.4.2 has no atr (atari), its zcc chokes on fujinet-lib's -MMD (adam),
and it has no +hdos (h89). 1.4.8 builds all seven.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant