Yes that John Carmack! From VR, to AI to drilling holes in your head!
Monthly Archives: August 2019
Macintosh Application Environment (Failure pt 1)
It’s a rainy day, and I didn’t feel well enough to wander around outside, and check out the ‘spyware street lights’. Although that’s the latest rage at the moment along with the usual stuff.
Instead I thought it’d be fun to try some ‘undercover’ software like that time when Apple thought it would be a good idea to port the ToolBox to Unix and run it as a competitor to programs like SoftPC as people with $30,000 workstations clearly needed a virtual Macintosh.
So I spent way too much time letting my 2006 Mac Pro grind out a Solaris 2.6 install, and then using the latest Tenox dump on archive.org I installed MAE 2.0! For anyone wondering the actual serial number is: 192c4838330166201b
And after serializing the app, and running it, I get a nice kernel panic. I thought I was playing it safe by opting out of the kernel module stuff as I don’t care about reading MacOS formatted diskettes.
I guess I really need Solaris 2.4 and those weird patches.
Meanwhile you can rest assured that Internet Explorer 5.0 loads up just fine. It is painfully slow, but there it is. I was even able to download stuff with my ‘http backdoor’ thing to vpsland. So at least that works.
Hard to imagine a time that Microsoft was going cross platform under Gates, but Internet Explorer 3/4/5 were available on MacOS & OS X, with 4&5 under Solaris and HP/UX. Then of course there was that SUN Java lawsuit and they pulled the rug out from interoptability. Although I was a Linux on SPARC user in this era, having it available on Linux would have helped a LOT, but naturally Microsoft didn’t entertain that Linux market thing as it was cancer to them. Meanwhile Chromium Edge is only a Windows / OS X thing.
I was hoping to go further, but it appears not today.
AVGN reviews Chex Quest
Okay that was funny. I never thought of even trying Brutal DooM + Chex Quest. Sounds awesome.
Although I’d played a little with Chex Quest before, I never tried it on the DooM source. Oddly enough it’s Ultimate DooM. In d_main.c you can do some simple test for chex.wad and pass it off as the ‘retail’ version.
if ( !access (chex,R_OK) ) { gamemode = retail; D_AddFile (chex); return; }
Or you can simply just rename chex.wad to doom.wad or doomu.wad. Many of the strings for DooM are compiled into the EXE, not taken from the WAD file (although it could have been, I guess it was to prevent people from making overtly cheeky mods?).
So firing up the wad under my crappy DooM port thing to MS-DOS (for the sane people just use some other Win64/OSX/Linux thing like zdoom), and when selecting an episode you’ll see the Ultimate DooM levels.
Wait? What? I though Chex Quest was a ‘total conversion’ WAD. Well it turns out that it is, and it isn’t. They replaced a lot of the default stuff from a retail version of Ultimate DooM. And what they didn’t replace, well it’s still there. And yes that does mean everything outside of the first 5 levels are the original DooM levels. And that includes the music as well!
Well isn’t that surprising! And yes that means that it’s possible to just replace the first 5 levels with the default DooM levels and have that reverse conversion. In the same way the menu screens are very Chexy too:
It certainly gives that kid like feeling to it. Although the replacement Barrons of Hell are a little too big so they do look kind of silly.
So as always I’m late to the party. I’m sure someone out there didn’t have the retail version of DooM and instead used Chex Quest for those LAN games. Although it does detect that the WAD has been modified so I don’t think it would just be all that fine.
Not that finding the original WAD files, or source to the maps, and just compiling them yourself is all that difficult, but I guess it is something else to load up.
How not to store optical media
Or how I finally broke down and bought that MkLinux book after all these decades. When I did own a PowerPC Mac as my daily driver it was an iMac back in 1999 and I ran OS X Server. I later bought a G4 to only find out that OS X didn’t support the G4. Linux had issues too and I ended up running OpenBSD on the G4. Which was fun, although for the ‘work at home’ bit, I ended up needing Windows NT 4.0, so I ran that in OS 8 on SoftPC. Yay.
I didn’t have any luck with Linux on Power as MkLinux wanted the beige hardware, and by the time I felt like digging in again to Linux, OS X had finally been ported to the G4 Sawtooth’s so it really didn’t matter.
I’d seen this book in a store but it was pretty expensive, and geared to such a tiny market. Although Mach does compile on the i386, why they didn’t include it was well to push Mach/Linux as a platform well that’s beyond me. Then again looking at the stunning success of Darwin on i386/x86_64 I guess the reality is, why bother.
I ordered this on Ebay, for the usual $5 plus $10 to ship, and it just showed up today! What mysteries lie on the CD-ROMs? I know others have posted stuff, but I wanted to hold them in my hands myself.
I didn’t know if the CD-ROM’s were included, and I first thought I got lucky: not only were they included, neither had been opened up before! These CD’s had been packed way like this for the last 22.5 years! Now for the bad part.
See that stupid leaflet in the back? Yeah well it turns out that it was a really stupid idea. No doubt this thing sat in the bottom of a stack for decades where the ink had been pressed for so long against the disk that it has transferred to the surface.
HOW ANNOYING.
So yes, they actually advertise the book, namely the one that I had bought with some crap ink leaflet in the CD-ROM pouch and it’s transferred to the disc.
Sigh.
I tried rubbing alcohol but that had no effect. I tried rubbing with a credit card, and it got a little off, but I fear I’m just going to damage the surface more.
I can only imagine what other CD-ROM’s out there that haven’t been archived are sitting under hundreds or thousands of pounds of book weight having nonsense imprinted onto them.
At least the second CD-ROM doesn’t suffer this defect and I’ll be uploading it later.
No book review yet, I’m just sitting here with this impacted CD.
UPDATE
Thanks to Shawn Novak for uploading the R3 images so I can at least pull up the compatible machines:
The latest Qemu can pull it the image fine, however trying to boot up looks like the Mach kernel just isn’t compatible enough with the emulated Mac99 machine (which isn’t surprising).
I’ll need to mess with stuff to see if the G3beige can boot Linux on Qemu, and if the BootX (I think it’s bootx?) can load the mach kernel.
Slackware finally goes to Patreon
It’s been a long time overdue, where helping to keep afloat the oldest continues Linux distro is now super easy to do!
Hi folks, Slackware founder Patrick Volkerding here. Welcome to the official page supporting the Slackware Linux Project. Slackware was founded in 1993 and made its first public releases that same year, making it the longest active Linux distribution project.
Today there are many Linux distributions available, but I’ve remained dedicated to this project as I believe it still holds an important place in the Linux ecosystem. Slackware is free, open source software that gives you everything you need to recompile the entire operating system and make any changes you like. The package system is constructed from shell scripts using standard utilities, and easily modified scripts are used throughout so that users may customize their operating system without having to recompile anything. Included software is changed very little (usually not at all) from the way the upstream developers intended. Einstein once said, “Everything should be made as simple as possible, but not simpler” — and when it comes to an operating system, trying to make things “easy” does not always achieve that goal. Anyone who has ever struggled with a package dependency system that doesn’t like the replacement of a system component knows what I’m talking about here. Slackware users know that once you’ve learned how to use the system, it’s easier to use than something that tries to put a GUI setup tool in front of the underlying text files that actually configure the system. And they know that Slackware can be trusted not to constantly change the way things work, so that your investment in learning Slackware lasts longer than it would with a system that’s a moving target. Slackware still builds upon a foundation of the latest development tools, libraries, and applications, and is supported by a vibrant user/developer community that welcomes new users and provides well-tested build scripts for nearly any software you may require.
Your support is greatly appreciated, and will make it possible for me to continue to maintain this project. Cheers!
For me, Slackware holds a special place as just as soon as SLS became a thing it quickly fell into disrepair and rot. The final straw was trying to bootstrap that new fangled ELF thing (it’s almost impossible to find any talk of that COFF thing) and it was just an incredible amount of work. At that point just getting Slackware on a shovelware CD-ROM set was just nothing short of incredible. And it was obvious at the time of ELF that the whole ‘I can’t xyz with little to no effort, therefore dump that distro and try another one’ was born. And Linux never recovered. Look no further at the insane cruft and required infrastructure for Docker to just load an application.
With that said when building a lot of crap from source it’s sometimes nice to have something that’ll just get out of the way, and Slackware does a reasonable job of that. Although last time I really fought with Slackware 13.37 it really didn’t go so well. But at the same time I am willing to make monetary support to ensure the future of Slackware.
The project currently stands at 230 supporters. Which is pretty good, as when it comes to supporting things, few will actually put their money into it, so hopefully this will allow Slackware to continue to exist, and maybe even flourish. I for one find this anti systemd distro important for the sake of software diversity in the ‘me too Debian’ sea of clones out there. Just as supporting OpenBSD is important in the standpoint of security.
You too can support Patrick over on patreon.com.
Ion Fury released!
So I’ve been busy with the day job stuff, and although I had ordered this I haven’t had time to play Ion Fury until today.
And yes, I’m sure you’ve seen video of it all over, and it’s so out of place, as it squarely belongs in 1997. And it’s great. The musical oddity is using samples much like a MOD, instead of the full synth or CD sounds. But it’s all the more era appropriate that I’m sure with a 90MB data file it would have been on CD-ROM, although I guess in the day it’d have audio tracks that would be quickly lost in the mists of time like the Quake 1/2 soundtrack.
I’m absolute crap, but it was fun enough to play. Although I did get ‘lost’ in the fan service, I didn’t realize I could make those jumps between the giant fans in the ventilation area.
So yes, this being a 3-D Realms experience means it’s not on rails. And the maps feel absolutely massive, and just look so great.
And it’s pretty cheap too! Although I think that is the local pricing for Hong Kong. For just under $110 it’s a steal.
From the sales blurb:
· While Shelly “Bombshell†Harrison earned her codename defusing bombs for the Global Defense Force, when evil transhumanist mastermind Dr. Jadus Heskel unleashes the members of his cybernetic cult onto the streets of Neo DC, she knows it’s time to start causing explosions instead of preventing them.
· Her quest to slay Heskel leaves a trail of carnage throughout huge, multi-path levels filled with gigantic explosions, more secret areas than we can count, and inhuman foes behind every corner. There’s no regenerating health here; stop taking cover and start running and gunning.
· Shelly’s crusade to take down Heskel’s army will see her leave destruction in her wake with a wide arsenal of weapons, complete with alternate fire modes and different ammo types. Her signature revolver, the tri-barreled Loverboy, brings enemies pain and players pleasure with both single shots and Old West-style hammer fanning action. Who needs a regular shotgun when you can load buckshot into your grenade launcher? Violent, over-the-top Bowling Bombs rip enemies apart with ease.
· Ion Fury laughs at the idea of mandatory checkpoints and straight paths through shooting galleries. But, just because this is a true old-school first-person shooter doesn’t mean we’ve ignored all the good new stuff the last two decades have brought. Headshots? Hell yeah. More physics and interactivity? You betcha. Widescreen, controller support, and Auto Saves? 3D Realms and Voidpoint have taken the best of both worlds and cooked it all into a bloody stew.
· The true successor to classic shooters such as Duke Nukem 3D, Shadow Warrior, and Blood. Experience the original BUILD engine on steroids, pumped up and ready to rock again after 20 years! Duck, jump, climb, swim, and blast your way through 7 exciting zones packed with multiple levels of mayhem!
A beautiful game world assembled from thousands of hand-crafted textures and sprites An awe-inspiring arsenal of devastating weapons, including multiple ammo types and alternate fire modes. Tri-barreled revolvers, grenade launchers, and heat-seeking smart bombs are your best friends!
The classic ’90s FPS action you love, meshed with modern inventions like locational damage and seamless level transitions ZERO PROCEDURAL GENERATION. All levels are hand made and full of multiple paths, cool effects, and complex set pieces!
Thumping soundtrack comprised of true tracked module music, in authentic FastTracker 2 format Easy access on to level editor and other development tools on day one, plus Steam Workshop support
For any Duke/Blood/Nam/TechWar fans really how could you pass Ion Fury by?
As goes Linux, so goes Microsoft
It’s entirely expected as print media is a dead artifact on 8/7 it was announced that Linux Journal would cease publication.
And then on 8/8 it was announced that MSDN magazine would also cease publication.
In the 90’s both magazines had an important role in both communities of developers and enthusiasts. I suppose it’s only fitting that they both passed away a day apart.
Both trade publications have been sources of pain with ‘new and exciting tech (that isn’t quite ready), but seeing their demise seems to just relegate us back to the world of word of mouth, that had served us poorly in the 80’s and before times.
There is something authoritative and to be said for putting print on word.
So I wanted to compare the new NCC vs the old one, and found that my CVS was broken.
Don’t you love upgrades that’ll break everything? For some reason now when I cvs init a repo the defaults have changed (where are they even stored?) and it’s been breaking things since going to Debian 9.
Although it presents itself as a warning if you see anything about warnings they apparently are errors. Such as this fine fatal error: “warning: duplicate LogHistory entry found.”. I was getting this from trying to login
cvs [login aborted]: unrecognized auth response from unix.superglobalmegacorp.com: cvs pserver: /ncc/CVSROOT/config [23]: warning: duplicate LogHistory entry found.
But it’s just a warning right? Well it turns out no, and that since I have multiple repos.
Apparently this was a bug in passing going back to 2006!
The problem is that a static variable is defined at line 618 in src/parseinfo.c. It is set when the first --allow-root option is processed for our first repository and then when the second --allow-root option is processed, the warning message is issued (erroneously, I believe) saying that another LogHistory line is encountered. But this is for a completely different repository, so it should have no relevance to the first config file. Unless, serving multiple repositories is for some reason no longer supported or the new syntax for using sections in a common config file is now mandatory. I hadn't seen any indications that either were intended, hence my question.
Thanks to Bob Bowen
The way out of this without re-compiling is to now comment out each repo’s LogHistory. Great.
The next issue at least presented itself as an error! .. if that’s progress.
$ cvs -d:pserver:[email protected]:/ncc ls . cvs ls: failed to create lock directory for `/ncc' (/ncc/#cvs.lock): Permission denied cvs ls: failed to obtain dir lock in repository `/ncc' cvs [ls aborted]: read lock failed - giving up
Yep, now the lock directory needs to be specified. Maybe I should have made one per directory although this is pretty much just a read-only anoncvs so I don’t think it matters. And looking back on the logs it was only used by a few people so, honestly that’s fine.
The final error goes back to something I must have figured out with a template that is now wiped out. I have the CVS book, but left it at the office, so I’m here just hacking as a guess, but there is no passwd file being copied into place.
Logging in to :pserver:[email protected]:2401/ncc CVS password: Fatal error, aborting. anonymous: no such user
This is at least simple to take care of, Just copy one from an older repo to a central location and propagate it everywhere. There is no point in doing system authentication as again it’s readonly and I don’t want users on my cvs crap thing.
So in 3 easy lines to remediate the thing, it is:
find ./ -type d -name CVSROOT -exec sed -i 's/LogHistory\=TMAR/#LogHistory\=TMAR/g' {}/config \; find ./ -type d -name CVSROOT -exec sed -i 's/#LockDir\=\/var\/lock\/cvs/LockDir\=\/var\/lock\/cvs/g' {}/config \; find ./ -type d -name CVSROOT -exec cp /virtual/unix/SOURCE/cvs-passwd {}/passwd
Current repos include such hits as:
- 32v
- binutils
- cblood
- cci
- coherent
- Corridor8
- CSRG
- darwin0
- darwinstep
- djgppv1
- dmsdos
- doom
- dynamips
- frontvm
- gas
- gcc130-x68000
- gcc1x
- gcc2x
- gdb
- gnumach
- gsmaster
- hatari
- linux
- linux001
- lites
- mach
- mach3
- machki386
- MacMiNT
- MiNT
- msdos-player
- ncc
- net2
- nextstep33examples
- ntsdk
- os2sdk
- pgp
- plan9next
- previous
- qemu
- quake1
- quake2
- research
- rsaref
- sbbs
- simh
- TekWar
- tme
- truecrypt
- uae
- Witchaven
- WitchavenII
- xinu
- xnu
General instructions are still valid on My crappy CVS archive of old crap is now online via pserver!
$ cvs --version Concurrent Versions System (CVS) 1.12.13-MirDebian-25 (client/server) $ cvs -d:pserver:[email protected]:/research login Logging in to :pserver:[email protected]:2401/research CVS password: $ cvs -d:pserver:[email protected]:/research ls . CVSROOT researchv10dc researchv10no researchv3 researchv6 researchv6id researchv6kw researchv7hs researchv7kb researchv7ni researchv7th researchv8dc researchv9
If you wish to make an apple pie from scratch, you must first invent the universe.
Back in 1995 I bought this rather expensive, and ambitious book simply called: Developing Your Own 32-Bit Operating
And while it is a LONG read, it really is the embodiment of Apple pie from scratch. Rather than rely on open and available tools, the author Richard Burgess instead goes on to write his own assembler, compiler, and then onward to a simple message passing RTOS.
No doubt the price he paid for eschewing popular GNU tools, and having a non BSD/GPL license for the time is that it was quickly relegated to history as the inevitable rise of Linux took place.
Recently while reading a comment about PC-MOS/386 v5.01 final, I came back to MMURTL, which is now in the public domain.
For those wishing to look, not only is the source code and a few patches available on the site ipdatacorp.com, but so is a PDF of the 1st edition of the book.
While MMURTL may not have caught on in the marketplace of ideas, it’s still astounding to look at the volume of work produced, that even though open source tools and starting points were available (The book easily could have been using CMU Mach 3.0) instead it’s all written from scratch by a single person.
TheGrue is doing further work doucmented on the BBS, along with work on github.
GXemul for Win32
Don’t get all to excited, it’s a terrible port, but it’s to the point where it can barely run stuff. Although I don’t know how much is me, and how much is GXemul. I probably should have tested on Linux first.
Anyways it’s enough to boot the Luna m88k OpenBSD ram disk up to the single user mode, and poke around. The hard disk doesn’t pick up, and I haven’t even tried the NIC, although the address is looking pretty bogus.
I wanted to try the PMAX version of Mach, but then it hit me, that there is no server to load. And porting the system level from Mach 3.0 to 2.5 looks way more involved than Mach 3.0 being ‘something minor’.
Back on the 88k front, the Luna shipped with something called UniOS-Mach, but good luck finding that in this day & age. I guess I’ll have to go back to Japan.
For the crazy among us, go ahead and try gxemul-0.6.2-ultra-primative.zip The name says just how stable it is.
In the meantime here is a super low resolution capture of the screensaver from a Luna via http://www.nk-home.net/~aoyama/luna88k/
As an update, I added in the timer code from PCemu, and now that the timers appear to be firing some stuff like OS/F 1.0 get’s further!
I need to go through the setup stuff a lot better as this is just untar’d and not setup at all. Not that it’s useful, but here, osf1-barely.7z .
So if anyone downloaded gxemul prior to this update, re-download it again! I put the m88k ramdisk kernel in there too so you can quickly test the Luna 88k emulation.