MARS.EXE → COM (2021)

1 year ago (chaos.if.uj.edu.pl)

The explanation is a great read. It reminds me of Unc's amazing explanation of how they did "cdak", possibly one of the best 4k demos ever made:

https://web.archive.org/web/20150112121832/https://www.pouet...

(for completeness, cdak pouet/download page: https://www.pouet.net/prod.php?which=55758 - youtube capture: https://www.youtube.com/watch?v=RCh3Q08HMfs)

  • yay, another person with a bookmark to webarchive copy of that thread. dune's (Lassi Nikko) post about the making of the music for cdak was equally metal, if a bit too short.

Description from pouet.net and how it works (1)

The Mars demo was written by Elixir's resident graphics guru and Head of R & D Tim Clarke in 1993, whilst he was still at school. Freely distributed on the Internet, the demo soon gained legendary status for its ability to generate fractal terrain and render it real time, all with a meagre 5K. As a result Tim was headhunted to work for space agency Lunacorp in Washington for several summers whilst studying at Cambridge University.

We recommend running this in DOS mode as it was designed to run on a 386 and may well crash Windows. Remember that this demo was designed for machines that were around in 1993! Use the mouse to move around and press any key to quit.

(1) https://www.pouet.net/prod_nfo.php?which=4662

  • One of the first emails I've sent in my life was to Tim Clarke asking how Mars did work and I was so happy he answered! I remember the graph with the stars.

    • I didn't have any access to email at this time, and Mars looked to me like people somewhere out there were playing with real-time generated 3d virtual worlds while I was stuck with Windows 3.1 forever and no one would rescue me.

  • I remember mouse control - I didn’t expect in a dos application at the time, and it also felt like a waste of space ( I think you had to fiddle with interrupt 33 or something like that to deal with the mouse which was more complicated than basic port reading )

I remember when I saw MARS.EXE for the first time on my 386. That was something absolutely unimaginable for real-time graphics. Pure magic!

It's fascinating to see that 30 years later someone is still working around its source code.

Beautiful.

For comparison: In Windows 11, Notepad's size, referring to the disk space it occupies, is approximately 25.1 MB according to the Microsoft Store.

  • How did it get that big? On my Windows 10, notepad.exe is 196 kB, I remembered it being under 100 kB, but it did get a few more features in the last years. Anyways, hard to judge considering that a good part of the original Notepad is likely to be standard Win32 components.

    Anyways, none of these "mainsteam" apps hold a candle to sizecoding productions. Just look like what comes out of Lovebyte, a demoparty where no production is above 1 kB.

    • Win11 notepad has multiple tabs and previous session saving, which is nice. But it also has a bunch of other crap such as copilot integration and it's logged into your Microsoft account.

      8 replies →

It's a classic demo. The question is, how does the size-reduced version perform on an 80386? (as opposed to a multi-gigahertz machine trusting DOSBox to emulate a 386)

  • at the end, it says it was at least tested to compile (and presumably run) on real machines.

I remember seeing this, reading the high level description of how it works, and doing my own implementation in school. Probably in Turbo Pascal on a 486.

I remember poking at it in the binary editor and finding a byte that changed the color palette from red base to green and blue.

Micro optimization like this to get big size or speed advantages seems to yield huge results, with the downside that it is hugely human labour intensive.

If we could train AI to do it, it might be a revolution in software performance.