I found this online a while ago, although it’s taken about half a year to pick it up, but here we are.
What is kind of cool about this, is that being from 1991 this is not for Windows, that this reference library instead targets MS-DOS using the MSL/Microsoft Library from the Programmer’s Library. So the same advantage holds true, that the content can be scraped from the text mode video RAM.
So yeah, back in the day this was some really amazing stuff, the ability to search a few books in some incredibly fast and convenient, although as always lacking super depth.
Back then online services were crazy expensive, charging by the minute, and of course just like the stock MS-DOS client preventing you from being able to easily copy the text. Outside of anything beyond gradeschool I couldn’t imagine the ‘encyclopedia’ being of all that much worth but the dictionary/thesaurus & quotations is okay enough, although in 2018 it really is showing it’s age.
Having your own private reference back then was a big deal, something like this would have been more apt in a library, but you’d have to wait in line, no doubt as the ability to look up stuff just by typing would have been great. While using this online would have cost quite a bit quickly justifying the cost of a CD-ROM drive along with the program.
The common carrier and lower costs of delivering content over the internet has really made something like this an oddity of time, but for anyone that needs to work 100% offline, these are a real gem.
Another great use of extracting the books from the CD-ROM, is that you can take, say the “American Heritage Dictionary“, a 30MB file, and compress it with 7zip, yielding a file just under 4MB, or an 87%, or a 7.76:1 compression ratio. So unlike other ‘dictionary’ test compression sets, this is using an actual dictionary.
For anyone wanting to take a dive, I put it on archive.org
As you may or not be aware of, Microsoft hit it big as a computer languages company, before they added operating systems into it’s portfolio. And for some weird reason after the whole OS/2 divorce thing, someone decided that everything that had been painfully learned in the earlier eras should just be expunged from history. Which is a real shame to anyone interested in Basic, Fortran, Pascal, C and MASM. Years ago I had gone through the steps of extracting the text the only way I could figure out easily, by writing a simple TSR that would dump the contents of the text video buffer, and write it to a file, then press the page down key, and keep repeating the process. The end result being that I had then dumped the MSPL aka the Microsoft Programmer’s Library. I had put the text into an archive, aptly named Microsoft_Programmers_Library.7z, and pretty much used grep whenever I wanted any information, and left it at that..
One thing that is annoying is that information on CD from the late 1980’s seems to be darned near impossible to find. I know that each generation of machines until about 2005 was exponentially larger than the previous one (post 2007 we hit the iThing world, along with most machines being ‘good enough’ for day to day usage). I know this ad may seem insane, but Microsoft really was trying to push people to CD distributions. As we all know that internet thing didn’t quite tickle their fancy. Did they ever put resources like this online? Like on BIX or Compuserve? It seems like an ideal resource. But I was a kid, and didn’t have that kind of money.
So in the interest of a bad idea, here is MSPL, aka qemu/curses in action.
Well as an addendum I thought it’d be cool to put MSPL online, via shellinabox. First off I needed a 5MB MS-DOS disk, basically enough MS-DOS too boot up, run smartdrive, idle and the CD-ROM driver, along with the minimal MSPL install. And to button it up, I added a reboot.com from the autoexec, so when you exit it’ll reboot the VM. Great.
The reboot command was input via debug, as it’ll let you assemble code directly. Although it isn’t a MACRO assembler, so you have to know exactly what you are doing.
XOR AX, AX
(return on a line by itself)
And with that saved, now I have to setup Qemu. Since I’m taking the shellinabox approach that means I need something text mode, and I was thinking this was light weight. Qemu has a curses output so that’ll work. I set it up to use qcow2 and a backing store image so that way every forked user doesn’t eat 5MB of disk space, it’s more like 100kb.
So it’ll find numerical directories that are at least 30 minutes old, kill them and remove their directory. Probably very dangerous to run, but it’s isolated so Im not too worried. Then just have root add that script to it’s crontab, and run it every minute, and it’ll kill the old stuff hanging around.
I’ll add a video later on how to use MSPL via this setup. And maybe I’ll rig something to have RDP access as well, depending on how I’m feeling.
Well I put out a cry for help all over the place, looking for Darwin 0.3
And much to my amazement, when I woke up, I not only got a reply but a link to a toast image. Great, what is toast? Well simply put toast is a format made popular by then Adaptec Toast. Obviously the sane thing to do is to find Toast, install it, and mount the disk image inside of a Macintosh.
But, honestly, where is the fun in that?
Instead let’s have Cockatrice III do it! Now I never did get around to writing proper CD-ROM emulation, nor integrating it, but that doesn’t matter! Instead I’m going to rely on Daemon tools Lite, to do all the heavy lifting. DTL will create a virtual SCSI adapter, add in a SCSI CD-ROM device, and mount the image. Needless to say, I’m on Windows and that is where that part of the adventure ends, as Windows 10 cannot read HFS.
Now back to Cockatrice!
All I had to do was assign the SCSI 6 position to the mounted drive letter, and I’m set! Just add this to the CockatriceIII_Prefs file:
And now I can mount the image from within Cockatrice III
And there we go, now I can copy the files of just like having a real Mac.
Well I found that one of the things that was preventing me from booting up this “Solaris 1.1.2” AKA SunOS 4.1.4 CD is that Qemu on Win32 using raw devices has issues with all these slices and whatnot.
Slices you say?
Yeah, back in the ISO9660 Rock Ridge days, CD-ROMS were basically given a common format for the “LCD” of the day. In that case MS-DOS. Naturally people like Unix vendors were not to keen on that, as they wanted file attributes, long file names, symbolic links etc… So a *LOT* of people started to split up their CD’s into partitions like hard disks, and slap down actual filesystems on the disks. NeXT just used one giant partition on the CD-ROM, but their exe format let them ‘bind’ all the CISC machines onto one CD, and all the RISC machines on another. Meanwhile SUN decided to make all these ‘boot’ partitions for various machines, a miniroot, then an I9660 partition for basic tar files of the OS…
Which is kind of funny seeing how some BSD derived OS’s still keep some of these package names alive.
Anyways, the problem is that I tried to use \\.\d: for the cdrom, and booting didn’t work at all. I even tried reading an ISO from the CD, but all it ended up doing was skipping to the ISO9660 part, and dumping that, ignoring the slices, giving me this:
So after googling around, trying to at least find a way to back up this CD (it was a souvenir from Japan!) I found someone mentioning to backup their Solaris CD, they had to use the “readcd” program.
Well, I’d never explored that much with the cdrtools, but behold there is a readcd program that’ll dump an entire CD out!
So running it with –scan-bus to find your CD drive…
I should also add that Qemu’s CDROM (like 99% in the world) are fixed block, while SUN (and other vendors) had these CD ROM’s that could change block size… So in Qemu you have to use the DISK driver vs the CDROM driver….