Source to the Apple-II MIT Logo recovered

;  LOGO Language Interpreter for the Apple-II-Plus Personal Microcomputer
;  Written and developed by Stephen L. Hain, Patrick G. Sobalvarro,
;  and the M.I.T. LOGO Group, at the Massachusetts Institute of
;  Technology.

It’s over on github: https://github.com/PDP-10/its/blob/master/src/aplogo/logo.958

Adding an Xserve RAID

Xserve Raid

So yeah, I wanted to get a ‘real’ SAN for a while, but they always cost too much.  So I just decided to look for something older, like a MSA-1000, which are surprisingly still expensive.  Failing that I thought about how I could get that MacPro 2010 for ~$300 so I said what the heck and picked up a super cheap 7TB fully loaded out Xserve RAID.

I got a PCI-133 LSI Logic “LSI7202XP” Fiber Channel card for my G5, as I figured that this stuff was of the same era, may as well configure it with a PowerPC.

Configure the LSI

After setting the LSI to 2GB and in point to point mode, the system needed a reboot, and it would report a link on the FC adapter. Great.

To actually configure the array, you need the Xserve RAID admin tool, along with a working copy of Java on your machine.  I downloaded version 1.5.1 which is thankfully still on Apple’s site. It runs fine from OS X 10.5, although the readme does make mention of 10.2, so perhaps it’d run there, although I didn’t feel like booting into 10.2 to find out.  By default the password for read only access is ‘public’ and for admin control it’s ‘private’. Yes just like SNMP community strings.

Finding the array

You need to connect the Xserve RAID to an Ethernet network.  I’ve only used the MSA’s and they let you configure them over the FC, but no so with Apple, it’s a Bonjour enabled service, so you don’t have to setup the Ethernet, just plug it in, and that’ll be good enough.

Creating the array is straight forward, however the SAN with it’s two controllers aren’t redundant, rather it’s really 2 SAN’s in one chassis with a left & right hand side.

A new disk appears!

So the solution is to use 2 connectors to the dual card, I have 2 DAC cables so I’m set.

But for now it’s just more so messing with the unit.  I’ll probably just set it in JBOD mode, and pass it up to something like Solaris 10 with ZFS exports.

Source code to EXXOS / ERE Informatique Captain Blood not exactly released

It’s no secret that I always was fascinated with the 1988 game Captain Blood.  Last time I played it through was when I’d modified it to run with a virtual floppy drive on an Amiga 600.  While the game had been ported to numerous 8 bit and 16 bit platforms, it basically vanished into the haze that was French 80’s SciFi body horror.

But then I saw this tweet:

And sure enough I grabbed a copy of the IIGS emulator KEGS32, the ROM, an OS disk, and booted up System 6.0.1 after putting the OS disk into slot S7D1. I then mounted up the source code diskette found at brutaldeluxe.fr

Captain Blood source code release

Great right?

Well it’s a bunch of assembler files.  Ok, so when I try to open one from System 6.0.1 I get this:

Corruption

So not giving up just yet, I loaded up a program called CiderPress that can read the IIGS disk image files, and using that I was able to extract the source.

CiderPress extraction

And then I saw this gen scattered in the ASM files that were.. well honestly pretty bare of any comments.  Or sane labels.

TFBD generated externals

Which of course is the output from The Flaming Bird Disassembler, a product of Brutal Deluxe, aka where this ‘source’ came from.  Although apparently it can be re-assembled into a working executable, as Antoine had fixed it so the mouse used toolbox calls for the mouse for ROM 03.

I put the source code online in CVS.  Although I don’t think many people would care, as it’s reversed and VERY terse.

Darwin 0.3 single user mode test drive

So I asked around for some old Darwin CD’s and I got lucky!

Darwin 0.3 Front

Volume 1, Summer of 1999!  Although the back doesn’t really give it justice:

Darwin 0.3 back

As you can guess, when they talk about binary and installers, it’s for the PowerMa computers of the era, and not x86.

So once more again, I was able to rebuild a kernel, and build some of the OS.  There isn’t really anything to see, it’s not even slightly usable.  However at the boot loader type in

-s

hit enter, and it’ll boot up in single user mode.

Darwin 0.3 single user mode

Darwin03_qemu090_24_4_2017.7z

There is no games, nothing fun to do, I didn’t even build a compiler.  It’s just enough to show that it’ll boot up.  If you manually conifgure the loop back you can ping yourself, launch inetd you can even try to telnet in, but control break is .. broken, and there is no NetInfo running so no passwords.

Of course for anyone finding this site today there are more newer, and capable images on my sourceforge page:

aapl-darwin/files/qemu-images/

Thanks Apple!

iPod is disabled
iPod is disabled

I only have to wait 24,153,992 minutes to unlock my iPod!  That is just under 46 years.

So I haven’t used this in a few months, and the battery went flat, but with iOS 9 or whatever this is running it reset to 1970, and now won’t let me even try to unlock it.  Good thing the MacBook Air I sync’d it with is dead too.  I guess that’s 2012 for me.

I just don’t want to hard reset it, so I guess I’ll have to see if there is a root kit/hack to set the clock.

A/UX Documentation Update

(this is a guest post from Tenox)

I have recently received a large box with Apple Unix 3.0 documentation. Scanned and published here: http://www.tenox.net/docs/

The latest additions are these documents:

  • Apple A/UX 3.0 Essentials
  • Apple A/UX 3.0 Installation Guide
  • Apple A/UX 3.0 MacX User Guide
  • Apple A/UX 3.0 Networking Essentials
  • Apple A/UX 3.0 Programming Languages and Tools Vol 1
  • Apple A/UX 3.0 Programming Languages and Tools Vol 2
  • Apple A/UX 3.0 Roadmap to A/UX
  • Apple A/UX 3.0 Setting up Accounts and Peripherals for A/UX
  • Apple A/UX 3.0 Toolbox: Mac ROM Interface
  • Apple A/UX 3.0 X11 User’s Guide for A/UX

 

To my knowledge only 2.0 version of these were floating around.

This should go nicely with the latest release of Shoebill Emulator.

So apparently in OS X packages actually expire

I found this out trying to install XCode 4.2 on OS X 10.6

Failed install preflight: Error Domain=PKInstallErrorDomain Code=102 UserInfo=0x1d9a30 “The package “iPhoneSDKTools.pkg” is untrusted.” Underlying Error=(Error Domain=NSOSStatusErrorDomain Code=-21 47409654 UserInfo=0x1dbe90 “The operation couldn’t be completed. CSSMERR_TP_CERT_EXPIRED”)

CSSMERR_TP_CERT_EXPIRED??

Yep turns out XCode 4.2 (and probably many others) will actually expire.  So turn off the automatic clock sync, and set your time back to before the package was issued (Xcode 4.3, released on February 16, 2012..) and you’ll be good to go.

Installing Xcode 4.3
Installing Xcode 4.2

Shoebill ported to Windows!

Shoebill!
Shoebill!

Good news, as mentioned here, the Shoebill emulator was recently given some much needed SDL love, and ported to Linux.

Well that’s great and all, but the vast majority of people who run anything these days do it with Windows.  So I decided to try to get it to compile with MinGW to see how far I could get.

And the short version is that I got it working!

The long version is that in the first pass there is some SIGUSR2 stuff that is undefined.  And for a good reason, since it won’t work.  So I just commented them out.  The next minor problem was the lack of bzero.  Honestly I don’t know why bzero is missing from MinGW, but who knows why.

Shoebill also processes some internal macros with a perl script that for some reason was dropping in binary values into the source, making GCC mad.  I just commented out a line that was adding in more comments into the header.  This let me compile with a simple pass.

There was some issues reading the ROM file, since the 68000 is a BIG ENDIAN processor, and the 8086 is LITTLE ENDIAN, Shoebill makes extensive use of hotns and hotnl, ntohl, and ntohll.  These can be found in the winsock library, and even better they dont need any winsock initialization, they work right away.  I just have to make sure I include winsock2.h, and link against the winsock library.

However when trying to boot, the checksum was 0x00000000, not the expected value!   Luckily there was an assert to catch that and crash.  This led me to notice that in Linux files are opened in binary mode by default, while on Windows, they are opened in ASCII mode.  A quick change of all the fopen calls, and I was reading the ROM, but now crashing on the disk.

As it turns out newer versions of GCC go all crazy when it comes to structs, and try to automatically align to boundaries for quick access.  Which sound nice, until you try to read in some binary data, and expect things to be in certain locations and find out that your structure is larger than expected, and data is read in the wrong place.

The solution is to force the compiler to leave it alone with

__attribute__ ((__packed__))

HOWEVER as luck would have it, Microsoft apparently packs structures a different way, and you have to either make a macro to do a bunch of work to force it to make the structure 1:1 of what you expect, or use the CFLAG option of

-mno-ms-bitfields

And now MinGW’s GCC will build something along the lines of what it’d build on Linux.

Putting it all together, I amazingly got this!

Shoebill on Windows
Shoebill on Windows

Phew!  So for those interested, here is the source code drop(Use the updated one here!), and here is the binary.

If you ever wanted to see the “OS X” of the 1980’s, now is your chance!

Virtual IIGS for Chrome, Active GS!

It’s a simple pluggin for Chrome, download it and you are good to go.  As a bonus, check out The Lost Treasures of Infocom!

No really!

Besides the disk swapping, it’s pretty cool!

Planetfall!
Planetfall!