IOCCC 2018 Best of show, aka PDP-7/PDP-11 emulation in under 4kb!

You read that right.  And yes, here it is running 2.9BSD.  This is nothing short of amazing!

Read about Christopher Mills’s entry here:

http://ioccc.org/2018/mills/hint.html

And yes, the source has been stylized like a paper tape…

It really works best on a ‘real’ Unix like system.  I’ve run it on Debian 9 & OS X 10.13.14 … It does consume 100% of a CPU core.  But it’ll run a PDP-7 with v0 Unix, PDP-11 with Unix v6, and the aforementioned 2.9BSD. The Linux subsystem for Windows 10 didn’t handle the terminal control so well.

So, yeah kill your CPU and bask in the 4k glory!

BattleTech musings

Now that I have awesome animated GIF technology I can show off one of the greatest things to do in the 1988 BattleTech game, escaping the initial Kurita invasion with a battle mech.  While you can try to beat the 3-4 Jenners, and maybe win, it’s far far far easier to just make a dash for it.

So basically all you have to do is run south, then head west, don’t engage, just jump over rough terrain, and run!  Once outside the wall, you can flee.
Meanwhile back in 2018, people are crying that the new BattleTech is some how stacked, and the AI just cheats.  But the mechanics are pretty darned close to the real table top game, except that if you have been pushed down, you can not only get up on your next turn, but run around and fire.  Grrr…  The story in 2018 is just as laughably bad as it was in 1998, but honestly I didn’t come here for Shakespear, I wanted to see giant robots fight!  I know for many the idea of the table top game is … well outside of what people know, and the idea that you are standing in front of something with a 98% chance to hit, and you not only miss, but manage to explode while doing so is just a slice of life that is the hell that is table top gaming.

And for those who think the new game is rather ‘un-fair’, Just after I stole the Chameleon, guess what happened?

That’s right, a Locust of all things got off a lucky shot to my weak back, and destroyed my mech, and the next shot with a machine gun, killed me as I tried to flee.  How is that for fair?

BattleTech has always been like this.

So yeah, Kids need to GTFO my lawn.

Animated GIF’s from Qemu

I found this one recently… So the first thing is you need Qemu 0.10 or higher (probably not a problem), as it’ll save in ppm format no issues.  Then the fun expect program (Yay Linux subsystem), and of course Imagemagik.

Run Qemu so you can telnet to the command monitor:

i386-softmmu\qemu.exe -L pc-bios -hda c:\temp\127disk.img -monitor telnet:127.0.0.1:23,server,nowait -hdb fat:\temp\dosb

I used this small program

#!/usr/bin/expect
set timeout -60
set capture 1
spawn telnet localhost
expect “(qemu)”
send “brake 1000\r”;
expect “(qemu)”
while { 1 == 1 } {
set fstring [format %04s $capture]
send “screendump /temp/$fstring.ppm\r”;
expect “(qemu)”
incr capture
sleep 3
}

and then to convert it into an animated gif:

d:\ImageMagick-7.0.7-18-Q16>convert -loop 0 -delay 100 \temp\*.ppm \temp\GHZ.gif

and behold:

Isn’t that great?