Installing SymbOS on an emulated MSX2+

No fancy introduction or longwinded story about childhood memories, just a quick and relatively easy how-to regarding installing and running SymbOS on an emulated MSX2+. Since it’s quite likely you’re not aware of what SymbOS and the MSX are, I’ll give you a short description of both.

First, the MSX is a standardised home computing platform conceived by Microsoft Japan in the early 80s. It was quite succesful in Japan, and saw decent success in (weirdly) The Netherlands and Spain, but saw little to no adoption in the United States. I didn’t have an MSX myself growing up, but a friend of mine had one, and I remember playing games on it with him when I was round 7-8 years old.

SymbOS is – other than a marvellous showcase of programming expertise – a microkernel operating system with preemptive multitasking with a mouse-driven, windows-based graphical user interface. It’s available for a number of Z80-based machines of the 80s – the MSX2, MSX2+, MSX TurboR, the complete Amstrad CPC 464/664/6128 range (old and new generation), and all Amstrad PCW models of the 8xxx, 9xxx, and 10 series.

Installing SymbOS on an emulated MSX2+ is actually quite easy.

First, go ahead and download blueMSX, a quite decent MSX emulator. I’m not entirely sure if this is the best one, but I’ve had success with it, it’s well-documented, and very easy to use, so I’ve been sticking to it. Be sure to also download the ROM database from the Resources page, and unzip its contents into the Databases directory of the blueMSX directory. Last but not least, download SymBOS for MSX and the ideutils.dsk image.

First, let’s set up the emulator.

  1. Launch blueMSX.
  2. Go to Options > Emulation, and set MSX machine to “MSX2+ – European”. I’m sure other machine would work as well, but this is the one I’ve been using, and it works well.
  3. Go to Tools > Input Editor, and set Joystick 1 to “Mouse”.
  4. Go to File > Cartridge Slot 1 > Insert Special > IDE, and select “Sunrise”.
  5. Go to File > Hard Disk > IDE 0 – Sunrise Primary, and select “Insert New Disk Image”. Select a file size (I picked 20MB), enter a name, and click Open.

This is where things got quite confusing for me, and I wasted 30 minutes trying to figure out what was going on. Your next step should be to format the disk you just created, install MSX-DOS on it, and boot from it. The problem is that after installing MSX-DOS, the hard disk in question is assigned drive letter A:, and inside MSX BASIC and MSX-DOS, both floppy drives get moved up the alphabet by one letter, so what was drive A: is now drive B:, and drive B: is now drive C:. The problem lies with the emulator’s UI; it doesn’t change its File menu to reflect the change in drive structure.

This took me way too long to figure out.

Now, let’s proceed with formatting the hard drive image, making it bootable, and installing MSX-DOS.

  1. Go to File > Disk Drive A > Insert, and select the ideutils.dsk image you downloaded.
  2. Start the emulator, and it should boot into MSX-DOS from the ideutils.dsk image.
  3. Launch IDEFDISK by typing, well, IDEFDISK. You can do all kinds of things with this utility, but we’re going for a very simple, straightforward setup:
    • [A]utogenerate partition table > press space
    • [W]rite partition table to medium > press Y > press space
    • [I]nitialize all ENABLED partitions > press Y > press space
    • Press Q to quit (be patient; it takes a few seconds for the command prompt to appear)
  4. Press F12 to perform a hard reset of the emulated MSX2+, and it should boot into MSX BASIC.

The hard drive you just formatted and prepared has now been assigned the A: drive letter, and the ideutils.dsk has been assigned the B: drive letter. It’s time to further prepare the hard drive to boot into MSX-DOS. To do this, we need to copy two files from the ideutils.dsk image onto the hard drive, which can be done with a few simple BASIC commands (in lowercase because I’m a rebel):

  1. copy "b:msxdos2.sys" to "a:"
  2. copy "b:command2.com" to "a:"
  3. Press F12 to perform a hard reset, and your MSX2+ should now boot straight into MSX-DOS at the A: prompt.

We’re almost done. Time to install what we came here for – SymbOS. This installation is incredibly straightforward.

  1. Go to File > Disk Drive A, and eject the ideutils.dsk image.
  2. Go to File > Disk Drive A > Insert, and select the SymbOS-MSX-setup.dsk you downloaded.
  3. In MSX-DOS, switch to the B: drive. Remember: even though you inserted the disk image into drive A:, you actually inserted into drive B: because the hard disk is drive A:.
  4. Start the SymbOS installation program by launching symsetup. The installation program will autodetect your storage devices.
  5. Select [1] new SymbOS installation.
  6. At the next screen, it will autodetect your A: hard drive and propose the installation path of a:symbos. Accept it by pressing enter, and then press enter again to continue. The actual copying of files will start. When done, press enter to continue.
  7. At the next screen, press S to save the autodetected device settings.
  8. Read the next screen, and press enter to continue.
  9. Press 1 to select and set the Sunrise IDE interface as the boot location.
  10. Press M to select the master IDE channel.
  11. Press 1 to select “primary partition 4 (Sunrise:A)”
  12. Press Y to confirm your choice.
  13. Press enter to store all configuration data, and complete the installation.

You’ll be dumped at a:symbos>symbos prompt. Hit enter to launch SymbOS. The next time you boot your MSX2+, you need to change to the SymbOS directory, and launch SymbOS from there. In any event, marvel at the magnificence that is SymbOS, a multitasking microkernel operating system with a mouse-driven, windowing graphical user interface running on a 3/4 MHz Z80 processor and 512K of RAM.

SymbOS on an emulated MSX2+.SymbOS on an emulated MSX2+.

This is the point where I’m at right now. The basic installation is relatively barebones, but there’s a few additional SymbOS applications you can download from the website, such as a web browser (for which you’ll need to set up an internet connection, something I haven’t done yet), games, an IRC client, and more.

I had a ton of fun setting this up, and it’s quite amazing to see what awesome programmers can squeeze out of such limited hardware. It doesn’t have a ton of uses, obviously, but that doesn’t – or shouldn’t – matter. This is just plain fun, end of story, and there’s no need to justify it.

12 Comments

  1. 2017-03-07 10:33 pm
    • 2017-03-08 7:32 pm
  2. 2017-03-08 7:44 am
  3. 2017-03-08 11:57 am
  4. 2017-03-08 12:26 pm
    • 2017-03-08 1:45 pm
  5. 2017-03-08 1:15 pm
    • 2017-03-08 4:22 pm
  6. 2017-03-08 5:48 pm
  7. 2017-03-09 3:47 am
  8. 2017-03-10 10:40 am
  9. 2017-03-10 3:26 pm