Pov-ray & Fortran

A long time ago, I had this 286 computer, and I thought it was so cool because I had a 287XL math co-processor. It basically was a 80387 math chip that was wedged to work on a 80286 computer. And it being the early 1990’s the one thing everyone loved to do was to show off rendering stuff.

I’ve long since lost all my stuff, but I do remember the ‘switch’ from DKBTrace to POV-Ray.

I did lament at the time that doing a good ‘quality’ render could take a week or more… And power in South Florida being a ‘best effort service’ wasn’t very forgiving for those of us on FPL. But it was still very neat and exciting for the time. OpenGL kind of killed that as now you could do ‘good enough’ stuff in realtime!

Anyways I was googling around checking out pageranks (I know so shameless) when I came across Kurt Bangert’s page, that included a POV-Ray scene with some fun filled Fortran stuff.

So after downloading the files, and the latest POV-Ray (3.7), and fixing a trivial line I was able to render the above picture in 16 minutes!!

I figured by now POV-Ray could support SMP, and found the new beta version, that supports SMP! So on my HP laptop with 4 cores, and hyperthreading enabled, I was able to render the scene in 1.5 minutes in 1024×768 resolution!!

The Fortran printout is the ‘adventure’ cave game, along with another variation of the snoopy Fortran calendar.

Duke 3d & the Build engine

Well I was looking at some stuff on old games, and naturally everyone always did love Duke Nukem 3D!

Now what is really cool, is that that the guy behind the build engine, Ken Silverman released the source to the ‘build’ engine, but also some of the builds of build as it progressed.

Ken is a big fan of QuickBasic, so to compile his earliest version, you’ll need QuickBasic 4.5, or the QBasic that came with MS-DOS 5.0 and above.

Download picrot4.bas, and run it through basic, and you’ll get this:

Qbasic 'Build'

Qbasic ‘Build’

Under some emulators (Virtual PC) you’ll get a corrupted screen at first, hit any of the arrow keys, and it’ll redraw the screen into what it should look like. Considering the 8kb of basic code includes the engine, and the map it’s pretty snazzy!

You can find the timeline, and other versions of the build engine as it progressed on Ken’s web page.

As the engine improved, and was ported into C, it only got better! Then it was sold and licensed out, which gave rise to great games like 3D Realms Duke Nukem!

Notice the similarities?

Notice the similarities?

After the build engine went open, 3D realms followed up, in releasing their extensive modifications to build which can be found here.

In the off chance you don’t have the game, you can still get the shareware version of it from 3D Realms here, and of course the full version on Good Old Games for $5.99 USD.

With the release of Build & Duke 3D, it’s only natural that they shed their humble MS-DOS beginnings and found their way onto Windows as full Win32 applications taking advantage of the hardware. Thanks to the work of Ken & Jonathon. You can find the results on Jonathon Fowler’s page here.

I suppose later I’ll have to see if it’ll build with the win64 tools… It’s be neat for a 64bit version of Duke!

Microsoft Word 2007/2010

I just found out about this….. For those of us OLD people, we saw the new version of Office and said…

Dude, where is my screen??

Dude, where is my screen??

But I just found out on TWiT that by simply hitting CTRL+F1 you can get rid of that ribbon that blocks 1/3rd of your visible screen area…!

Nice clean screen!

Nice clean screen!

There isn’t that great! The ribbon is out of the way! Now you can see what the hell you are doing. Honestly why is this stuff hidden? Or is it the death of printed documentation that leads to this stuff. Then again MS Word 2.0 installs in under 15MB. lol

Some Java & Javascript

Well I found this program, Dioscuri quite interesting… It’s a PC emulator written in JAVA!

It’s very interesting in how it’s trying to be accurate hardware wise, although holding down keys tends to cause it to crash…. 😐

Maybe a later version will work, but for what it’s worth, here is the title screen from Battle Tech.

battletech

The best game of 1988!

Naturally, any machine with a good JVM ought to be able to run this… But I’ve always found Java to be such a moving target….

Another thing I came across was this fantastic i8080 emulator coded in javascript. And it’s setup to play space invaders!

On Chrome, or Firefox it should perform at a reasonable rate. Internet explorer users are in the cold, as IE doesn’t have a javascript canvas. Sorry. But here is what you are missing out on.

javascript space invaders

Complete with i8080 emulator in Javascirpt!

 

This is some really neat stuff (to me) anyways.

MS-DOS Player…

You’ll probably need to run this through translate.google.com, this this site, by Takeda Toshiya, has this nifty utility that’ll run some MS-DOS programs at the command prompt from Windows x64!

It’s best geared towards command line utilities, but it seems to work fine for little (old) stuff.. nothing too fancy though the CPU core is taken from MAME’s i86 (which looks heavily influenced from pcemu).

Today is a slow internet day.

Some random updates…

I just got back from a trip, so here is a quick shot of the 8″ diskette of Zork 1 for CP/M… I put it against my keyboard for some sense of scale.. It’s MASSIVE.

Zork 1 on an 8" floppy disk

Zork 1 on an 8″ floppy disk

I also found this Infocom interpeter written in Turbo Pascal, written by Martin Korth. It was written for Turbo Pascal 4.0, but I’ve built it with 5.5 and 7.0 without issues.

A friend of mine pointed me towards this new emulator PCE that looks very promising.. It boots off real IBM ROMS! Right now it’s 8086/80186 capable, but it’s still VERY cool.

Word is the author is working on Sparc32, ARM & PPC emulation… It looks very cool.

Thats about it for me!

Some more random stuff.

Well while I was playing with NeXTSTEP on my P4, I managed to screw up the BIOS settings… The sound card I have is the AWE 64, one of those great ISA Plug & Play cards. The crazy thing is the only way to configure it properly is with a Pnp capable OS..

But back in the day, you could configure these things under MS-DOS with the ICU, or ISA configuration utility.. Which has become nearly impossible to track down, but I did manage to find a copy from Dell ICU-143N.EXE. It’s a bit crazy to setup, but once you go through the motion you can setup the IRQ dma etc etc, and with one more bit of ‘trickery’ on the nextstep pnp sb16 driver it’ll work. Naturally mine needed a different hex code 0x08ec009d

phew.

With that out of the way, I found another program for the NeXT, str a port of a SUN mod player.. Oddly enough it’s too slow to run on my m68k next cube, but it runs great on my white box now that I’ve managed to run the thing. At least it’ll be some kind of starting point for audio for Quake.

In other news Artyom managed to get Solaris 2.3 installed & running on Qemu.

I know people wanted me to go over AIX for the pc, but it tends to corrupt itself like crazy, however I got a tip that if you boot from floppy all the time, then have it mount the hard disk as multi user it doens’t freak out with hdintr issues…

That’s about it for today.

NeXTSTEP audio & mod files…

Well I’ve been looking for a way to get some audio out of Quake for NeXTSTEP… and it’s incredibly complicated. I found some ‘smallish’ program for the m68k black hardware that is a MOD player, modPlayer 2.5 which also included source!

However, for me I can’t run it as the monitor to my cube is busted… But I was able to compile it to verify the source ‘works’. I then built it on my white box (P4 2.4Ghz 1GB of ram, and a real soundblaster 16!) and, after removing the reference to the decrunch routine it produced.. noise, and lots of it. But I did feel like I was getting *somewhere*.

I figure the main reason it’s exploding is that the m68k port uses the same CPU as the Amiga for these MOD files, so no doubt there is some bit flipping needed to go from big endian to little endian, but I know *nothing* about the MOD format.. So after a quick google search on basic mod players, I found qmod, a module player written in Quick Basic!!

So I looked around for a copy of Quick Basic 4.5, and tried to build the program, and it was all crash & burn.

At work we have a copy of PDS, the Professional Development System, also known as Basic 7.1 .. This thing is still useful, it will target OS/2 so you can write these massive programs (and run them under Windows 2000). So I figured I could use that to get the thing to build.. And I ran into the same errors about overflows, and all kinds of crap.

So the next thing to try was a copy of Visual Basic 1.0 for DOS that I got from ebay a while back.. I made images of the disks, which was fun, installed the thing to get.. the exact same errors. But I have to say VB for DOS was cool in that the output window can be in a windows (although text one) and you can trace and see at the same time… If only this was on store shelves in 1992!!!!

Anyways after looking at the command line options for VB for dos, I spotted this…

/Ah Enable huge dynamic arrays

I was surprised! So it would seem the answer was in the compiler, not the nice interface.. I just has ‘assumed’ that the interface would provide all the options.. Not so.

So I re-extracted the qmod source as I’d hopelessly altered it, then ‘fixed’ the one line that prevented compilation…

DEF SEG = VARSEG(mixarea(0))

I just removed that line, and ran the compiler & linker.. and it runs!

C:\TEMP>bc /Ah /O qmod.bas

Microsoft (R) Visual Basic (TM) for MS-DOS (R)
Compiler – Professional Edition Version 1.00
Copyright (C) 1982-1992 Microsoft Corporation. All rights reserved.

Object Filename [qmod.obj]:

Source Listing [nul.lst]:

42555 Bytes Available
33278 Bytes Free

0 Warning Error(s)
0 Severe Error(s)

C:\TEMP>link qmod.obj

Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992. All rights reserved.

Run File [qmod.exe]:
List File [nul.map]:
Libraries [.lib];
Definitions File [nul.def]:

C:\TEMP>

Now this program does require a sound blaster card, and it also requires the blaster environment variable set properly… So for Virtual PC it’s simply

SET BLASTER=A220 I5 D1 H5 T4

Then run qmod and the supplied mod file, and away it goes!

Qmod under Virtual PC

Qmod under Virtual PC

And I have to say it’s really cool to listen to this thing work, only using peek/poke (ok it’s inp/out in the new syntax…) but it’s playing the soundblaster, and it sounds GREAT.

So going back to PDS & Quick Basic 4.5 they all support the /Ah flag.. So it’ll build on any of them.

So for those who aren’t inclined to play compiler games, here is a pre-built version of Qmod, and it includes a mod file.

Now for those of you who don’t have Virtual PC, or not running on Windows, the program will run on DOSBox as well!

I just found I had to tweak the cpu config a little to make it run.. This is my CPU block in the configuration file.

[cpu]
#core=auto
core=simple
#cputype=auto
cputype=486_slow
cycles=auto
cycleup=500
cycledown=500

Now when you launch DOSBox, it’ll pick some low cpu cycle number and stay there when you launch qmod.. And it’s too low so it’ll sound horrible. So hitting CTRL+F12 will increase the cycles. Set it to 25000, and it’ll run fine. If you set it too high, CTRL+F11 will bring it down. DOSBox already sets the blaster environment variable for you, so it should ‘just work’.

From there I’d recommend sites like Amiga Music Preservation, or Mod Archive. Qmod can play quite a few of the files with the MOD extension, but not all.. But it’s a great small example program.

As luck would have it, my whitebox is having some weird boot issue, so I can’t go any further on this… But I figure I’d share this much with the world…

The old AT&T "you will" ad campaign

So while I was looking at an iPad for no real reason, something told me I’d seen this thing before…. Something familiar..

iPad from the 1990s

iPad from the 1990s

Then I remembered this old thing.. The old AT&T you will from the early 1990’s.

 

The killer in retrospect, is that in the early 1990's most people were lucky to have pagers, cellphones were bulky and cost prohibitive (lol nothings changed there), I went from a regular pager, to a 2 way pager, then to a nextel, then to a Motorola startac..

Ok, it's not emulation, but it really is funny to see these future forward things, and how much we take for granted now, and just how... different things changed.