DISCORD
> Chat client for vintage DOS PCs.
NetISA suite app. v2 ground-up rebuild. 8 channels with unread counts, 128 messages per channel on far-heap storage, multi-line compose, in-message find, PC speaker notifications, CP437 reactions. Builds clean under Open Watcom V2; 8088 is the floor.
Status
2026-04-25. v2 (ground-up rebuild from the v1 prototype). Builds clean under Open Watcom V2 at 37 KB. Source migrated to discord/ at the NetISA repo root.
Features
- 8 channels with per-channel unread counts.
- 128 messages per channel on far-heap storage (was 32 in v1).
- Multi-line compose via
Shift+Enter. - In-message find with
Ctrl+Fand match highlighting. - 8 hash-based author colors.
- CP437 reaction display.
- Thread reply indicators.
- User list overlay (
Alt+U). - Help overlay (
F1). - VGA palette fade in/out.
- PC speaker notifications. Four cue types.
F9toggles. - Scroll bar.
- Notification title flash.
- Settings persistence via
DISCORD.CFG. - Stub backend ships for development without a NetISA card.
Source layout
Lives at discord/ in the NetISA repo.
src/main.c: entry point.src/discord.c: channel and message state.src/render_dc.c: rendering.src/input_dc.c: keyboard handling.src/audio_dc.c: PC speaker notification cues.src/config_dc.c:DISCORD.CFGreader/writer.src/search_dc.c: in-message find.src/stub_discord.c: stub backend (channel + message fixtures).../lib/screen.c: shared suite library.
Building
Hardware
The 8088 floor is real: -0 -fpi -ms. DISCORD runs on XT-class hardware with a NetISA card and a PC Speaker. VGA is recommended for the palette fade, but every adapter from CGA up works.
Suite context
One of nine NetISA suite apps. Shared screen lib at /lib/screen.c, shared INT 63h API at /lib/netisa.h. Cmdline conventions match the rest of the suite.
Out of scope
Not actually Discord, the brand. The name is descriptive of the shape: a chat client with channels and threaded messages. The transport is NetISA-flavoured (TLS sessions over the ISA bus to a server-side gateway), not the Discord protocol.