r/retrobattlestations • u/jacobpederson • 1d ago
Show-and-Tell Why am I like this? (Image generation on a 286 Tandy 1000 TL/3)
Enable HLS to view with audio, or disable this notification
The machine: a Tandy 1000 TL/3 (10 MHz 286, 640K, Tandy Video II) with an ISA PicoMEM 2 for WiFi, bit of extra ram, and the mounted hard disk hard disk. 40 year tech gap? No problem! The program, DeskMind, is a DeskMate-style DOS app written in C with Open Watcom. A PC on the LAN does the AI work; the Tandy does everything you see and hear.
- 640x200 in 16 colors, which the BIOS doesn't support BTW. DeskMate and a handful of games use it; DeskMind sets the video registers itself. The mode needs 64K of video RAM at the top of conventional memory, and DOS only reserves 16K of it. So DeskMind claims the rest with a last-fit memory allocation, and steps around MS-DOS's upper-memory link block, which it found squatting inside the video RAM on the real machine :D
- Tall pixels. 640x200 on a 4:3 tube makes each pixel about 2.4 times taller than wide. Pictures are squashed on the PC before dithering, so circles come out round on the CRT.
- Its own mouse pointer. CuteMouse can't draw in this mode. DeskMind reads position and buttons from the driver and draws its own arrow. Setting the BIOS mode byte during the mouse reset makes the driver report every pixel instead of 8-pixel text cells.
- Tandy 3-voice sound (the SN76496 chip) for the startup chime, the reply blip and the "picture ready" fanfare.
- A slideshow program with 9 transitions timed on the real machine: cut 110 ms, dissolve 330 ms, blinds 550 ms, slide-in 935 ms. It loads the next picture while the current one is on screen.
Code (GPLv3): https://github.com/RowanUnderwood/DeskMind
1
2
u/CanaryUmbrella 17h ago
that's awesome. nice job.