OpenTTD Windows NT RISC

(This is a guest post by Antoni Sawicki aka Tenox)

A couple of years ago 1984 aka Nitton Åttiofyra ported OpenTTD to Alpha AXP Windows NT. This was a monumental work and we’re extremely grateful for this!

However I was not fully satisfied with this, as I could not run it on MIPS or PowerPC. This port required Visual Studio 6.0, which is not available for either of these platforms. Downgrading the code to compile with older visual C was quite a lot of work for which I did not have time.

Fortunately now we have a tireless army of robots to perform code rewrites. With help of LLM I got it to build on Visual C 4.0. Now available for all NT RISC platforms!

OpenTTD running on Windows NT MIPS on QEMU

Download from here.

Have fun with virtualization!

WinTown – Micropolis (SimCity) for NT RISC

(This is a guest post by Antoni Sawicki aka Tenox)

If you ever wanted to play SimCity on a NT RISC machine, your dreams finally came true!

WinTown aka Micropolis aka SimCity running on NT MIPS

The initial port happened some time last year but it was quite buggy and not fully playable. This release fixes all major bugs. Most importantly however it wraps around the original Unix SimCity C code from DUX instead of re-implementing it. Only the Win32 / GDI, dialogs, etc is custom Windows code.

Rlease 0.6 binaries: https://github.com/tenox7/wintown/releases/tag/0.6

Supports Alpha AXP, MIPS, PowerPC, Itanium (IA64) and ARM. Currently targets NT 4.0 and above, but work is being made to make it run on NT 3.1.

Github Repo: https://github.com/tenox7/wintown

Please report bugs and contribute, PRs welcome!

OpenVMS 7.3 VAX on SIMH via Docker – With VNC to DEC Windows

(This is a guest post by Antoni Sawicki aka Tenox)

I wanted to recompile the new smg$routines version of aclock for vax/vms and started messing with SIMH VAX emulator. Thought it would be cool to be able to run it as a Docker container. Here it is:

https://hub.docker.com/r/tenox7/openvms73

https://github.com/tenox7/docksimhvaxvms

To run, simply:

docker run -it --rm tenox7/openvms73:latest

If you want to telnet to it add -p 23:23.

For X11 XDMCP Query add -p 177:177

If you want to persist state of the OpenVMS image add -v .....:/data.

Login as system / systempassword

Have fun with virtualization!

UPDATE: Now it also includes a built-in VNC server that does XDMCP Query to the DEC Windows X-Server. Just VNC in to the container!

UPDATE: Because it’s fun with virtualization…

Insignia SoftPC running on OpenVMS on SIMH VAX in Docker

OpenVMS 9.2-3 x64 now has local console on OPA0

(This is a guest post by Antoni Sawicki aka Tenox)

I perviously covered x64 OpenVMS release on VMware. This was insanely cool achievement for the operating system. While it had no practical ramification there was one small annoyance. The OS console was on a serial port. In VMware it meant another VM connected via named pipe.

Now OpenVMS x64 supports (limited?) local console on OPA0. To enable it you have to type opa0 before boot in the bootmgr prompt:

Once the system boots your will be greeted with a login prompt on the local VGA console!

Does it support clear screen, cursor movement, etc? Yes! You can even run a text editor locally!

The default terminal size is 80×24. You can make it bigger by typing

$ set term /width=140 /page=70

This means we can have aclock on x64 OpenVMS local console!

Prior aclock binaries for VMS were compiled using Unix Curses library. To celebrate all this, I have created a new version using the native SMG$ screen management routines. So this is now a truly native VMS app. The binary is here. The source code here.

Have fun with virtualization!

Atari System V UNIX (ASV) virtualized under Hatari

(This is a guest post by Antoni Sawicki aka Tenox)

Some 12 years ago I ran a short series of articles about my efforts to run Atari Unix on an actual Atari TT 030 machine. Which by itself is not an easy task, as it requires specific late models of TT (or hardware fixes by Atari), copious amounts of TT RAM and a high resolution mono framebuffer graphics (which requires a very special monochrome monitor or an adapter which I had to build instead). I have later exhibited my ASV setup on VCF West:

Atari System V Unix (ASV) running on Atari TT on VCF West

Behold! This time I present ASV virtualized under Hatari!

Atari System V Unix (ASV) Running under Hatari by Plamen

This work is not mine, all credit goes to Plamen! This is absolutely amazing as now more people can experience this legendary OS. The works is still in progress. Will post updates and more screenshots regularly!

Update: X11, screenshot courtesy of Andrew W:

Atari System V Unix (ASV) Running under Hatari by Andrew W

Update: Complete setup available here!

Whitesmiths IDRIS OS for Atari ST Virtualized!

(This is a guest post from Antoni Sawicki aka Tenox)

This is now an old news, happened a few months ago, but since it hasn’t been mentioned here I think it would be nice addition to the collection!

Whitesmiths IDRIS for Atari ST has been dumped on bitsavers for a few years now, however we only had the root disk and C compiler. The boot “disk” was a ST ROM cartridge which has not been previously found.

Apparently someone posted a complete set of Idris Atari ST floppy disks on github. Thank you!

Not only that but it has been virtualized now works on Hatari. This post reads that patches have been merged to Hatari so it should work out of the box!

Atari ST IDRIS on Hatari

Atari ST IDRIS on Steem SSE

Some time I also acquired and scanned programmers manual. Happy Whitesmlthlng! Since we have working system, compiler and utilities we should be able to port some cool apps to this platform!

MacOS RAR via Finder Quick Actions Extension

(This is a guest post from Antoni Sawicki)

I have been using the MacOS CLI version of RAR for a very long time. I have a bunch of aliases and shell wrappers but every so often I just want to right right click on a file or folder in the Finder and create a RAR archive from there without dealing with the terminal.

There are a bunch of apps like Keka, BetterZip, Unarchiver that can extract .rar files. The app store is littered with a bunch of shady “rar extractors”. But nothing can create a rar archive. I think Keka did have support but it was removed.

As a stop gap I have been using an Automator Quick Action RAR script. This sort of works for basic stuff but falls apart pretty quick. Firstly you can’t specify any options, secondly there is no progress bar or any output from rar binary so you dont know if this thing worked, failed or even still running. I experimented with various options but nothing worked to my satisfaction.

Claude Code to the rescue I vibe coded a more complete extension in Swift UI:

It allows to specify options and parameters, but most importantly the rar command output is printed in a window so you can see it running.

I admit this overall is pretty lame but it works better than any alternative I tried so far.

You can download from https://github.com/tenox7/rarext

Feedback, issues and PRs welcome!

Web Rendering Proxy 4.9 – Featuring Ultra Fast GIF Render

(This is a guest post from Antoni Sawicki aka Tenox)

For those not familiar, WRP is a “proxy” that allows vintage web browsers to surf modern web. Some details in old post and another one.

It works pretty well for casual use, however it always been a little slow, and not only on the old computer side. Screenshot capture and encoding to GIF image has always been little time challenged. As of version 4.6, Hill Ma added a fast gif encoder with optimized palette. This has been a game changer. However the image encoding was still single threaded bottleneck.

In v4.9 I have added a parallel, multithreaded GIF encoder that uses Hill’s fast palette optimization. The improvement is about 100x faster encoding on my 20 core Mac Studio. In addition the file size is also about 30-40% smaller than the original. It’s actually faster and smaller than PNG image! This encoder works both in ISMAP and Simple HTML mode. It finally allows for fast and snappy browsing experience!

In addition I have added support for Brave Browser, DuckDuckGo search, as Google had Captcha nightmare. Finally the default, automatic “headless” User Agent has been replaced with jnrsbsn allowing some rudimentary anti-headless browser detection.

Happy browsing!

VNCFOX – Better way of browsing modern web on vintage machines

(this is a guest post by Antoni Sawicki aka tenox)

TL;DR
Firefox with TightVNC server in a Docker container.
https://github.com/tenox7/vncfox

I often work on vintage Unix Workstations and other obsolete systems. I have a need to browse modern web on old computers somehow. In the past I developed Web Rendering Proxy to help with this. While WRP is awesome as a showcase, and some light browsing, unfortunately it falls little short of being practical for a daily driver.

Like many others I have been cheating and using a VM with a web browser and remotely connecting to it via VNC or RDP. This is rather obvious and mostly works, but a VM is hard to run and upkeep. Takes time to boot and eats resources. You need to customize it, install updates and other nonsense. I wanted something much simpler, leaner and not requiring any maintenance. I also need to run it on ARM based hosts like a Mac or Raspberry PI.

Enter VNCFOX – a Firefox browser with TightVNC server packaged as a Docker container. It’s small, lean, easy to run and there is no boot time and lengthy updates. You can mount Firefox .mozilla profile in a Docker volume to preserve your settings, plugins like uBlock, history, cookies and cache, across container restarts! I also typically bind mount a folder exported over NFS in to /home/vncfox/Downloads.

VNCFOX on HP-UX 9

TightVNC version of VNC is rather crucial, especially for older computers. Without the “Tight” protocol, VNC screen refresh consumes a lot of CPU on the client side and the session is laggy. TightVNC works incredibly smooth. For ease of use I have compiled clients for some older operating systems.

Overall this approach works really well, including stuff like Perplexity/ChatGPT/Claude, Google Docs, Email, even Discord and other web based chat clients. I regularly now post and edit this very blog from a HP-UX workstation!

VNCFOX on IRIX 5.3

The container is dual platform for both AMD64 and ARM64. It can be run even on Mac host with Apple Silicon. Raspberry PI maybe?

Is it future proof? Maybe. Apparently Wayland supports VNC, including Tight protocol. Some day I will migrate the server. But for now x11 vncserver works pretty well.

Useful keyboard shortcuts:

  • F8 – TightVNC Menu – Including clipboard transfer etc
  • F11 – Firefox Full Screen Mode

More info and customization, including dealing with retarded scrollbars:
https://github.com/tenox7/vncfox