Delivering WordPress in 7KB

I saw this over on Hacker News, and thought that trying out the susty theme from sustywp.com might be worth trying.

So, besides looking very different let me know how you think about the feel?

I’m just a little bummed out that this removes the Ultima banners.  On the other hand it sure does render PDQ.  But I don’t like how the colours clash, and I don’t see any user place to set the font colour or even what the highlights & link colours will be.

So in all likelyhood I’ll be reverting this, but in the meantime, here we are.

SimLife for Windows

Sim Life on Crossover for OS X

Continuing in my eventual goal to get all the Maxis games (Sim City, Sim Earth) for Windows 3.0 I just acquired Sim Life.

Although the box that I have is the ‘Classics’ version, it actually does support Windows 3.0 as specified on the box.  The requirements were again massive for the era, but pitiful for today requiring an 80386 processor, and 4MB of RAM, and a VGA display!

Unlike Sim City, the UI in Sim Life prevents you from moving MID child windows under the title bar, making playing on modern machines much more tolerable.  My copy arrived with 3 low density 3 1/2″ diskettes, and a 204 page manual, making for a very hefty learning curve, along with a more involved experience then something casual, say Spore.

There is no doubt about how there is a great deal of overlap between Sim Earth and Sim Life, although the timescale is certainly more geared to life, unlike Sim Earth’s geological timescale, and even with these 3 programs it certainly feels like the save files should have been able to be transfered at some point, that the genesis of Spore is here with moving from geological to biological then to human lifetime scales.  Although with so many things to change and get involved in, I really have to wonder if dumbing down Spore was the ‘right thing’ to do, to make it more accessible, however there is no doubt that the space portion of Spore was terrible with only a single ship to command, which made growing an empire of any size once the Grox has been encountered impossible.

Having a modern display does make the sense of the planet feel laughably small, but it’s a game, not a real life simulation, and as such expected to execute on 16Mhz machines.  That said running on Crossover (Wine) on my Xeon it is incredibly snappy.  One nice touch is that Sim Life is able to detect sound properly and it’ll run silently on Windows 3.0, but with 3.1 with configured audio & MIDI drivers, it’ll play (annoying) sounds, and the occasional MIDI track.

The included catalogue for this game didn’t have any prices so I don’t know what the retail price was at the time.  And I have to admit, short of collecting old games for Windows 3.0 there is probably little value here compared to the far more relatable Sim City for Windows.

VGA display

Also it just goes to say that although it scales nicer for the UI on a VGA display, comparing my Apple Cinema display to VGA really makes for a claustrophobic experience.

Unless you are a diehard fan, I’d say that you’d get more out of the much flawed spore.  Although if you want to see how incredibly more detailed the older games were, you’ll certainly love this one!

BBC releases its computer history archive

I thought it was somewhat worth mentioning that the BBC was releasing their old Computer Literacy Project Archive.  Although they for some reason never released any of their materials to the colonies and or territories, so although I’ve never seen any of this stuff, I’m sure others know far more about it.

I’m kind of surprised they didn’t keep this kind of thing up, although I guess after David Braben made it a priority again, and the Raspberry Pi was born, completing the cycle of the birth of Elite!

So I picked up a couple Super Impulse Tiny Arcade machines

Warm glow of the LCD panel.

What is this, an arcade for ants?

I saw these at a local Toys R Us, and picked a few up.  They were selling for $200 HKD which is about $25 USD.  They are SUPER tiny, and yet very cool to actually play with.  They feature a single game on each cab, and luckily there is no coin slot, just a player 1 button.   As a bonus the marque does light up, which is why I wanted to do a dark/night picture of the machine.

The games have been modified for what I’d assume is an ARM SOC, and game play is somewhat easier.  For anyone looking for the exact arcade expedience, they will be no doubt disappointed as many things like sprite animations are simply lacking in this version.

That said the controls are surprisingly very responsive, and it’s almost a treat to play, except of course that the screen is so incredibly small, the sound is faint, and it’s not hard to have your thumb in the way obscuring things.

It’s a neat novelty item, but it’s no substitute for a nice USB arcade stick & a copy of MAME, or the actual PCB & a JAMMA harness.

Program in C

If you have kids, or were a kid of the 1990's you'll appreciate this.

Open Quartz

While stumbling around, I found Open Quartz, which is to Quake as FreeDooM is to DooM, or for those who don’t know it is free assets allowing a fully redistributed game.  Although the bundled levels are actually kind of reminiscent of Q3 Arena, one of the great abilities of Quake 1 was inline total game conversions like Team Fortress.  Yes it started as a Quake mod.

So I downloaded the Open Quartz binary pak’s and went to do a quick comparison of the two:

ctf with oq assets

ctf with id assets

I should do an update for QWDOS to allow multiple clients at once for OS’s that’ll support multitasking (Windows) where you can bind the client to different ports to allow more than one to work at a time.  The line is:

NET_Init (PORT_CLIENT);

Although I guess the next best thing is to change the NET_Init code to start with the default port as a base, and if it can’t bind to it, then just increment until you get a winner.

And yes, that is the Quake World for MS-DOS port running on Windows.  I built it with Visual C++ 5.0, although using a newer linker that I pulled from masm32.com, which would work with the newer libs, well all except the ogg vorbis stuff, so I just disabled it, as I just wanted to test, and didn’t care too much about music.

So I guess the next thing to do is bundle it all together into something more convenient to the end user.

Jet Set Radio Future now at 60fps on CXBX Reloaded

JSRF title

The laptop I’m using at the moment is old, Alienware 14 P39G that is 5 years old.  The power is convinced that it can’t run over 700Mhz unless it’s on battery for some reason, then it’ll jump to 2.3Ghz just fine.  Oh well It’s otherwise not bad, just getting old.

Alienware 14 P39G

Also it’s only using the Intel GPU.  I think I need to do a fresh install of the 2018 version of Windows 10 on this thing.

Anyways so CXBX Reloaded can run many xbe’s directly so you don’t need a ROM or dashboard, but it’ll run the dashboard if you have it.  It’s really cool though as JSRF did come to Android but it won’t run on any modern versions of Android.  As far as I know it never came to PC, but being able to run the X Box version is certainly cool.

Sourcecode & nightly binary builds are currently on github:

https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/

I was able to find Jet Set Radio Future (JPN Demo).7z, which I think is a playable demo, although I don’t have any controllers to test it.  But it certainly loads up just fine!

Also here is a very poorly captured video of JSRF on CXBX, You can see the laptop struggle on the main power, then able to run at 60fps on battery power…

2ine updated to have preliminary 16-bit .exe support!

From icculus’s patreon

This is nothing short of amazing.  In the last update, 2ine was running simple 32bit programs on Linux, and providing a portable API set to allow strict OS/2 API based programs to run on Linux.

And now Ryan has turned his focus onto 16bit support for 2ine, which you can read about here:

https://www.patreon.com/posts/2ine-16-bit-exe-19337541

As you can read right now It’s running a simple OpenWatcom 16bit hello world based program.  The 16bit OS/2 and 32bit OS/2 API’s ended up having different calling sizes, among other issues which had complicated the bridge program.  However Ryan’s newer use of scripts to generate the required glue for the API’s at least mean that adding the 16bit/32bit calling conventions & required bridges/glue is at least now automated.

This is super cool, as this will eventually open the door to Watcom C/Fortran, Zortec C, Microsoft Basic/C/Cobol/Fortran and of course many other languages that burst out into the initial OS/2 scene before the eventual weight of the SDK & associated costs doomed OS/2 to failure.

Seriously, for those among us who love OS/2 and have like $5 to spare, send some encouragement to Ryan… 🙂

Quake 1.01 / Shareware

Quake Shareware CD

I saw this pop up while cruising archive.org, and I thought it’d be fun to play with.  The shareware version of Quake on this CD image is version 1.01, which corresponds with the crack dot com leak of the Quake source code.  Searching around revels that the leak was aptly named “Quake101leakedsource.zip”, which wasn’t so hard to track down.

The source code is, naturally, in the process of being ported to Linux, and the makefiles reflect this.  I used my MinGW to DJGPP cross compiler toolchain that is close to era specific.

I had a single issue with the code, d_copy.s the following line was giving me trouble:

movl	$2,%al

changing it to the following however, let my version of GAS happily assemble it.

movb $2,%al

After a while of messing with the Makefile, and adding in the DOS components, it was easy enough to get an executable.  And even better it’ll run with the data/music from the demo disc!

I used Daemon tools to mount the MDS/MDF image, and just pointed DOSBox to the CD drive letter with a simple:

mount d: f:\ -t cdrom

And now when I fired up Quake, it’ll play the music tracks from the CD.

Quake 101 on DOSBox

One thing that caught my interest was that when you exit the game, I get the “couldn’t load endscreen.” message.

Well it turns out that someone was naughty and had modified common.c on January 20th 1997,  and made the following addition:

if (h == -1)
{
Con_Printf ("Playing shareware version.\n");
// if (com_modified)
// Sys_Error ("You must have the registered version to use modified games");
// /*return;*/
}

So yeah, since they had double commented out that return statement, it’ll fall out the logic, and set the game to registered, which is why the endscreen message is missing.  Uncommenting them all will restore the default execution behavior.  Speaking of registered, on the CD there is a file QUAKE.MJ3, which is 25MB, which looks like an encrypted version of the registered game.  I guess it’d be ‘neat’ to have version 1.01, although the Steam version I have is 1.06 and I don’t know how much difference it’d really make.   Although I guess 22 years later it doesn’t matter much.

On the one hand I’m really impressed that it works.  For anyone who is slightly interested I guess, you can find my re-build of the source here:

Quake101-djgpp2.zip