(This is a guest post by Antoni Sawicki aka Tenox)
Another day another NT QEMU post. This time we have stock Windows NT 4.0 PowerPC running on QEMU, with complete emulation of the BIOS / Firmware and everything. Networking and 1280×1024 resolution.
Since I did some work on RM-200 QEMU and this system is also capable of running Windows NT MIPS in Lite Endian mode (the CPU can switch endianness) I decided to also get it working:
I have previously covered NT on MIPS QEMU Jazz emulated machine. This is not that much different and fundamentally very close. Just a different machine with different firmware and peripherals. Also much newer QEMU version.
(This is a guest post by Antoni Sawicki aka Tenox)
In the previous post I mentioned working on a large deployment of Citrix and NeoWare thin terminals. We were using Citrix ICA exclusively. But the NeoWare terminals also had this mysterious “NTRIGUE” protocol that I never had a chance to use:
Various brochures, press articles and ads about the HDS @workStation also mentioned that this thin client is for NTRIGUE with zero mention of Citrix or ICA!
Very strangely all NTRIGUE and no mention of ICA/Citrix! What is going on here?
And what exactly is this NTRIGUE?
In a nutshell: Isignia company was mainly known for SoftPC and SoftWindows – PC emulators for Mac and Unix.
Insignia NTRIGUE product was a version of Citrix WinFrame that used Xwindow / X11 protocol for the transport. X11 appears beside ICA in the WinStation protocol list.
And that would be all… if I didn’t score a red box on eBay!
Behold! After 30 years of waiting, I present you NTrigue:
The CDROM is essentially Citrix WinFrame but everything is find / replace rebranded as NTRIGUE.
Even the NTOS kernel prints NTRIGUE…
And the login screen
The real deal comes from WinStation configuration. You can create one with X11 protocol instead of ICA:
But how do you use it? Very simply! In two ways:
XDMCP Query, either from a physical Xterminal or Xnest or Xephyr:
…yes so now any plain regular Xterminal like NCD, HP, Tek, IBM, DEC, etc can connect to a Windows host!
Second way – export NTRIGUE X11 client via remote display export. Like you would with xterm -display x.x.x.x:N or export DISPLAY=..... You RSH into NTRIGUE box and request a client:
rsh <target> <client_ip> <resolution> <colors>
In practice:
It seems that the NT box runs a rsh daemon and can send you an X11 exported client via x11.dll. It looks like they ported xlib to NT:
I find it curiously odd that the NTRIGUE client “app” runs on the host and exports display via X11 protocol. This is unlike ICA or RDP where the client runs on … the client.
Citrix ultimately acquired NTrigue from Insignia. Never to be heard from again and the tech essentially being buried. Is possible that this became their X11 ICA Client, but more likely they just bought it to kill competition to ICA protocol. After Microsoft released Terminal Server Edition with RDP, the ICA protocol and app management was all that Citrix had left to offer. NTrigue offered a “client-less” alternative. That couldn’t be good for business.
Finally a gallery of various UNIX systems talking to NTRIGUE:
(This is a guest post by Antoni Sawicki aka Tenox)
Around 1998/99 or so I was involved in a large deployment of Windows NT TSE (Terminal Server Edition) with Citrix Metaframe, for a Forbes top-100 listed corporation. The general population were using plain boring Neoware thin terminals with ICA client for their daily tasks.
Unidentified generic Neoware thin client pic stolen from ParkyTowers
Managers and higher ups were using “high end” Neoware “workstations”. Actually named “@workStation Prima”. They had options for TV and AV capture cards, teleconferencing, streaming and multi screen. However no one really used these advanced features and the expensive workstations didn’t provide any extra functionality or value in practice. Just bigger, fancier and made you look more important in the corporate rat race.
For the more perceptive observer however they did have some interesting curiosities hiding inside the pizza box. Firstly they were rocking Intel i960 !
Secondly if you pressed the odd “Don’t login” button at the ICA screen, you would land at a full blown desktop with some apps, games and a terminal with local shell. The OS (named netOS) was some proprietary i960 UNIX. Because it did feature mostly GNU apps I assumed it simply must have been an embedded Linux distro and didn’t make much of it.
Fast forward almost 30 years, Rico scored a copy of Neoware netOS install media and some people even got it installed. Out of nostalgia, I also wanted to do some archeology here and play with i960 iron. Bought one of these Neoware @workstation terminals at eBay and got the OS copied to my tftp/nfs server and booted it up.
Good memories and fun with ICA and XDMCP terminal. But I wanted to see what else can be done with the weird i960 system. I started looking at the kernel and tools. Upon closer inspection of the binaries, turns out these are not Linux at all (also i960 doesn’t have MMU so it could not run it anyhow), instead it seem to be 4.4-BSD based.
AFAIK an official SDK was never publicly available. But applications like NEdit, XScreensaver and even Netscape Navigator shipped with the OS so they must have been ported to netOS internally. Fortunately with help of LLM I was able to do some reverse engineering and map out the binary format and syscall interface. GCC 2.95 did support i960 ISA and Binutils 2.11 was able to produce somewhat compatible binary format. i960-intel-nindy is the closest triplet (nindy is the i960 ROM monitor). The rest was history. An unofficial netOS SDK was born in an evening.
Aclock on i960 UNIX
For now it can compile just the simplest C apps, but I will expand it more. I want to port SimCity!
Last but not least the “premium workstation” has an IDE port and allows installation of a hard disk for local boot. This makes it lot less of a network booted terminal and more of a proper workstation. I slapped on an industrial IDE DOM, fdisk/newfs and got the OS copied to it using provided script:
Now I have a full blown i960 UNIX graphical workstation with local OS and SDK. Hopefully one day it can self host its own toolchain!
Update: now we have rshd, telnetd and even busybox !!
studio:/Users/tenox> telnet 192.168.1.11
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
netOS telnetd - exit or ^D to quit
NETOS> busybox sh
BusyBox v1.00 (2026.09.27-09:42+0000) hush - the humble shell v0.01 (testing)
Enter 'help' for a list of built-in commands.
~ # version
Server Code Version: 3.2-D (Build 560)
PLCC Boot PROM Version: 3.1.1-E (Build 12)
netOS Version: 3.2 netOS for the Enterprise with ICA
~ #
In the past I did some and some more work on SimCity/Micropolis to bring it to vintage computing. This old DUX SimCity / Micropolis works remarkably well, but because of the TCL/TK and X11 UI, platform availability is quite limited. I have previously also ported Micropolis to Windows NT (RISC) as WinTown.
But thats not enough! I wanted to run SimCity on a vintage Unix without dependency on X11 and TCL/TK. The game graphics (basically a map) is quite simplistic and structured. I was wondering if text mode rendering would work. Quite a while ago I winged up a quick ncurses based map/city viewer and it was quite promising! Fast forward to today… Behold TTY City!
The game is quite usable and playable. In a modern terminal it even supports mouse with panig and simple animations. Earthquakes look pretty cool!
The monochrome terminals are little more difficult, but I’d say is playable.
Here is a picture from an actual DEC VT420! Not bad!
When perfecting the letters and characters, I had this idea… what if modern terminal amenities could be used… like Unicode Emojis perhaps? After all you can have these 🌲🌳🌴🌵 and these 🏠🏡🏢🏭 in rendered in a terminal❗
Behold Unicode Emoji Terminal SimCIty!
Available from: https://github.com/tenox7/ttycity – there are no releases or packages yet, as it’s work in progress but expect it to be available for most modern and vintage operating systems!
It worked quite good but I did not particularly like some of the Firefox/Mozilla foundation controversies and policies. Started looking for alternatives, but the situation was quite grim. Ladybird Browser is still in active development. Chrome exterminated Ad Blockers. Brave was over bloated with crapware.
TIL Brave has released “Origin” version which is minimal and void of all the garbage features, but still has a fully functional Ad Block! Normally Origin asks for a one time license purchase, however Linux version is free. Since Docker is Linux… a perfect fit for the use case! VNCBRAVE was born.
In practice is so nice that I wrote this article on HPUX 10.20 with VUE desktop:
VNCBRAVE – Brave Origin with VNC Server as Docker Container
I also added routing of Brave active tab title in to VNC “Desktop Name” so it shows in the client window if supported.
I also typically switch to compact mode to save some real estate and make some other settings like solid background color, tab suspension and aggressive ad blocking.
A collection of TightVNC ports for old OS is available here.