AMIX

AMIX Ad

AMIX Ad

Back in 1990 Commodore took the Amiga in a new direction with it’s new Amiga 3000, by commissioning a port of A&T SYSV Unix to the Amiga. Taking advantage of the 3000’s 68030 CPU and 68881 Math coprocessor, along with its integrated SCSI controller. It certainly was the hallmark of typical UNIX machines of the time.

When originally announced there was some big interest in the platform by SUN, as their original SUN-1, SUN-2 & SUN-3 lines of workstations were all 68000 based machines, and being able to rebrand a mass produced Commodore model would have been a good thing, however the deal ultimately fell through.  The machine would have been the Amiga 3500, which later became the Amiga 3000T.

Another thing to keep in mind is that SUN’s SYSV (Solaris) was targeted to the SPARC processor, and it is unlikely that they would benefit from selling a 68030 based machine in 1991.

Typical of the time, AMIX installs from a set of boot floppies, and then pulls the rest of the installation from a tape drive, such as the A3070.

AMIX was released at a time when the UNIX world was rapidly moving to RISC processors, SUN had their SPARC, SGI had their MIPS, IBM and their POWER, Motorola built UNIX machines around their 88000 RISC processor, NeXT was also going to move to the 88000 until they gave up making their own hardware and shifted to a software company.  So who would want a then dated 68030 based machine when the industry had made their first steps into the world of RISC computing.

So how does it measure up?  Well it is SYSV, and if you’ve seen one, well honestly you’ve seen them all.  What is kind of neat is that AMIX includes OpenLook and a C compiler, which is kind of a rarity for the period.

Another flaw was that when the 68040 processor was released it’s MMU was incompatible with the 68030, and the VM subsystem for any UNIX would have to be rewritten.  While NetBSD can run on both the 68030 and 68040, AMIX never was updated, and so it can only run on 68030 based machines.

AMIX never did get any critical traction, and slipped into oblivion with the death of Commodore.

Up until recently it was impossible to run AMIX in any emulator, but there has been a lot of work on the ARANYM and Pervious emulators which included doing 68030 MMU support for the possibility of running early versions of NeXTSTEP. Toni Wilen was able to adapt their work onto WinUAE and it is not possible to run AMIX.!

Reading through this thread,  I was able to put together the needed bits, and get it running under CrossOver, by using the pre-configured settings for WinUAE, and replacing the exe with the new beta exe, the supplied hard disk image from amigaunix.com and I was up and running in no time!  The only real change from the config was to change the SCSI ID of the hard disk from 0 to 6.

Screen Shot 2013-01-13 at 8.48.54 PM

AMIX starting up on WinUAE

The default password is wasp.  I thought it was kind of interesting that AMIX includes ‘dungeon’.  really cool!

Open Look on AMIX

Open Look on AMIX

I am unsure of how to enable the high resolution graphics, but sadly the Amiga known for its multimedia capabilities, AMIX with stock graphics runs in monochrome.  Such a major underwhelming thing.

Oh well, for anyone inclined you can now run AMIX, and enjoy another dead SYSV.

Floppy emulation on the Commodore Amiga

Well for some unknown reason the floppy drive in my Amiga just stopped working.  I managed to find a drive out of an Amiga 500, but it too didn’t work.. I really don’t know if it is the controller or if it is the drives.  And I’m hesitant to sink £100 into a machine that for all I know could have a dead controller.

So this means while I do have the Compact Flash working as a hard disk, I am unable to load an old favorite Captain Blood.  Maybe I am more of a sucker for the Jean-Michael Jarre resampled sound track ethnicolor. Or maybe there is just something redeeming about blowing up random planets.

Then while digging around DICE, I looked at its examples, and one of them was the exec_dev one, FMS a floppy emulator!  I built the example installed the driver, and using it resulted in a nice crash in both AmigaDOS 2.04 and 2.1 .. I had to wonder if this was more so geared to AmigaDOS 1.3 ..?  A bit of googling around and I found an updated version, fms_20.lha.  Installation is a little cumbersome as you have to manually copy in the device driver, and then setup a mountlist describing the devices in question, which really reminded me the “fun” of 4.3 BSD’s disktab.

Another weird thing is that AmigaDOS 2.1 has the FastFileSystem driver built in, so I had to remove those lines…

Using an ADF I found (since there is no way I can read the physical disk now..) I was able to use DMS to make an image on an emulator, copy it onto the flash, then re-DMS it out on the emulated floppy diskette.  Thankfully this game doesn’t use any weird custom filesystem so it was easy enough to mount the disk, and run the game from the emulated floppy.. Or at least launch it.  Trying to use it however resulted in the game just crashing.

Some more digging with a hex editor showed that the string “DF0:” was strewn all through the executable, so a few minutes, and I changed them all to “FF7” and now the game plays properly.

Captain Blood on my Amiga 600

Captain Blood on my Amiga 600

I wonder if it is possible to load the bootblock from one of these custom filesystems then use a virtual void pointer in DICE C, and execute the bootblock directly?  I’ll have to experiment.

DICE C Compiler for the Amiga

So on my last adventure through some disk corruption on my Amiga, the natural thing to do is find some kind of MD5 checksum program to then compare signatures of files being copies to ensure that they are being copied correctly.

While there were several great C compilers for the Amiga when it was a viable platform, the one left standing today is GCC.  Which is fine and all, but it is rather large, and unwieldy.  And won’t run on a computer with 2MB of RAM (In the off chance that I want to run it on the 600).  But that is when I found out that the source code (dice.com has moved!)  to old DICE compiler is available!  DICE, was originally a public domain compiler then turned commercial then finally turned freeware.  For its time it was thought as a highly capable compiler as reviewed here. Also of note is that is was written by  Matt Dillon, who later went on to DragonFLY BSD fame.

So I thought I’d try something completely different.

So after extracting the 3.15 binary distribution (which also included cross compiling from linux/i386), and following the install notes I tried to build a md5 program that I had found into an AmigaDOS binary.  And it didn’t work.  It turns out that it is missing include files related to AmigaDOS.  And I was further unable to build DICE C from within DICE C.

So after a lot of searching, I came across this, a cut down “Mini DICE” that was bundled with Amiga Shopper, meaning it has the following limitations:

  • Only small library modules are included.
  • No Bitfields
  • No floating point
  • No pragmas
  • No register variables/arguments
  • The maximun executable program size is 40K
  • Each source file can only have up to 4 procedures
MiniDice

MiniDice

Wow that is.. limiting.  But it does have several of the needed include files, and a nice setup program to get going.  At first I tried doing a full-sale overlay of the ‘3.15 binary’ version but I broke something to do with REXX and how DICE links.  So instead I just overlaid the core compiler, namely dcc, dc1, dccp, das, dlink, dmake, fdtolib & fdtopragma.

I was then finally able to compile md5.  I went ahead and started to build some of the source, and so far using a combination of dmake & vmake I was able to rebuild das, dcc, dlink, dc1 and dccp.  I went ahead and created backups of my somewhat improved dice, and dice with source code.  Some programs build fine from the command line, others you need to invoke the visual build tool.

So how is the environment?  I tried to build Dungeon (dung27s.zip) for the heck of it, but the visual makefile tool couldn’t handle a project with 33 files.  I suppose I could have made a library and gone through with some linking hell but that seemed like work.  Instead I just typed in all the C files from the command line, and compiled it that way.  Taking care of a warning and a few errors and I actually got a binary!

Dungeon on the Amiga

Dungeon on the Amiga

Even better, it runs!

Some fun with my “new” Amiga 600

Compact Flash in Amiga 600

Compact Flash in Amiga 600

So after getting this Amiga 600, I did get some games on diskette, but using any computer in 2013 without a hard disk is just unimaginable.  So a Compact Flash card & IDE adapter I had ordered had finally arrived!  Thankfully it was sold as an “Amiga formatted” Flash disk, being already partitioned as that can be a major ordeal through emulation on OS X.

Of the few disks I do have, I don’t have a full copy of the OS so I don’t have the “install” disk with the partitioning tool, so I kind of had to improvise.. So like I said, I got lucky as the Flash disk had been partitioned on an Amiga before it was sent to me.  Sadly the Amiga emulator FS-UAE doesn’t seem to honor the “IDE0” controller settings and won’t mount the flash directly.  So on a whim, I dd’d the Compact Flash and worked with that.

dd if=/dev/disk1 of=compactflash.hdf bs=512

dd if=compactflash.hdf of=/dev/disk1 bs=512

Surprisingly this worked pretty well.  I was able to format the disk image, and install the OS from disk images. Slapping the whole thing into the Amiga and it booted up, and all was well!  Or so it seemed.  I then wanted to play Frontier: Elite II, of which I was able to locate a copy of the “shareware” version, and use DMS to convert the ADF to a DMS file which I could then extract onto a physical disk on the Amiga.  So everything was going fine, but then today disaster struck.  It seems the floppy drive has either gone bad, or the disk I was using went bad.  Either way it is very maddening.

Frontier Box

Frontier Box

So the natural solution is either to replace the floppy drive, and try to score some decent floppy disks, and repeat the procedure.  The better solution, of course is to just run the game from the Compact Flash.  The good thing is that Frontier doesn’t have any disk based copy protection, instead it relies on some in game reading from the manual, and the shareware & various pirate versions have removed the checks.

After re-dding the image onto the flash I ran it, and it immediately crashed.  Even worse, I copied the game into the RAM disk, and it wouldn’t launch as the file was corrupted.  Clearly something was wrong or corrupting with the ROM version.  Now there is some conflicting information on Wikipedia regarding this, as 37.299 ROMS don’t include PCMCIA drivers, nor any IDE support.  37.300 has support for IDE & PCMCIA but Wikipedia lists it as only support disks up to 40MB.  I’m using a 128MB flash card, so at first I had figured this was the source of my problems regarding disk corruption.  Wiki lists another version 2 ROM, 37.350 which can apparently support disks & filesystems up to 4GB.  Of course there is also Kickstart v3.0 & 3.1 which run on the 68000’s.

After googling around it seems that 37.300 can work fine, and the ROM version, along with the version 2.1 of AmigaDOS should be enough to get this working.  That is when I found out about the MaxTransfer and Mask in HDToolBox.  Apparently the default values don’t work so well with things like PCMCIA disks, and Compact Flash drives.  Setting the MaxTransfer to 0x0FE00 and the Mask to 0x0FFFFFC did the trick!

HDToolBox in action

HDToolBox in action

Of course I found out the hard way that you have to press enter after entering the values, otherwise it won’t save your changes.

Wow what a convoluted process! But mass storage on the Amiga has always been a trying process even at the best of times.  Oh and here is it in action!

Next I’ll try to tackle WHDLoad, although I don’t think 2MB of ram will be enough.

So while I’m on this Amiga kick

Screen Shot 2013-01-05 at 9.29.43 PMI came across this great site, commodore.me, which includes PDF’s of Amiga Format magazine!

And on the same kick, now that Frontier Dangerous got its funding, I ordered a copy of the awesome Elite II: Frontier. And there is another site, amr.abime.net which includes just about every review of the game, along with some page scans! I do look forward to being able to play this game again.. It just isn’t the same with analog sticks, or the PC version.

And speaking of a Commodore overload, they are still doing the “World of Commodore” shows, here is the last from 2012..

It would be cool to go to this in 2013, I would assume it will be held in Toronto, again by the TPUG?

Something interesting happened on the way to Verona

We somehow managed to find an Amiga 600 for sale!

It is stock, 1mb if ram with a 37.300 ROM but it does have workbench disks. With all being well ill be able to rig this thing out!

Pictures and more to follow as I’m on a train to the airport.

Just got back from the UK, and check it out!

Euro amiga 600

On my way out of Italy, it was kind of funny as the security checkpoint people immediately recognized the Amiga 600, pulled it out of the line, and started to wave it around, so that others could come by to check it out, then they put it through the x-ray machine and took pictures.. Sadly I couldn’t take pictures.  But it was slightly amusing.  I guess you had to be there.

Also check this out, I think this game is Amiga 500 / AmigaDOS 1.2 only .. But it crashes with the good old fashioned Guru Meditation…

Now if only I had a serial port I could use this method of transferring ADF files..

Elite: Dangerous is going to get made!

Project Update #31: Update #31 – We’ve made it!

Posted by Frontier DevelopmentsLike

This is just a mini-update to thank everyone for their amazing support. As I write, we are at a pledge total of just over £1,287,000 and 21,816 pledges.

Astonishingly we crossed the line on my 49th birthday yesterday, which really made my day. I was really touched, delighted, excited, relieved by the news. It is really really great.

There will be a further update later today. Another £113,000 and we hit the Macintosh stretch goal too.

Huge thanks once again.

David

More improvements to the Commodore Amiga emulator, Janus

As I had mentioned earlier there is this great HTML5/Javascript Amiga emulator Janus.

And now, it supports loading a bunch of games & demos from the page!  Making this the easiest way to enjoy the best of the early 1990’s on Chrome.

Project-X

Project-X

The available games are:

  • Agony – Psygnosis 1992
  • Alien Breed -Team 17 1991
  • Alien Breed Tower Assault – Team 17 1994
  • Another World - Delphine – U.S. Gold 1991
  • Blood Money - DMA Design 1989
  • Body Blows Galactic  - Team 17 1993
  • Dyna Blaster  - Ubi Soft 1992
  • Lotus Turbo Challenge 2 - Gremlin 1991
  • Pinball Dreams - DICE 1992
  • Prince of Persia  - Domark 1991
  • Project-X – Special Edition 93  - Team 17 1993
  • Rick Dangerous  –  Firebird 1989
  • Shadow of the Beast II  -  Reflections 1990
  • Superfrog  -  Team 17 1993
  • Turrican II – The Final Fight   - Rainbow Arts 1991
  • Wings of Death  – Thalion 1990

And you can enjoy it here.