Virtual Floppy Drive – Part II – Testing Gotek

(this is a guest post from Tenox)

This is a continuation of my another post where I do a high level overview of different Floppy Disk Emulators. Gotek is one of them but from various research I have done before buying it I antcipated it will be the worst. Unfortunately the claims turned to be true.

The emulator arrived by FedEx earlier on today. It only took two days since the order, which is excellent, but unfortunately this was the only good thing about Gotek.

The FedEx bag looked like it has been used by at least 5 previous shipments and has already circled the globe few times. The inner package was even worse, a bit of old bubble wrap taped together with the unit and unpacked cdrom. Disgusting!

The unit itself looks rather good, they have made a better looking self adhesive front panel label.

gotek-f

I went to replace my original 1.44MB floppy drive with Gotek. First roadblock that I encountered was the fact that the emulator is about an inch shorter and the original floppy cable did not reach so I had to improvise. The unit powered on so I went on to the documentation and software.

gotek-ribbon

Documentation is absolutely horrible. Written in Engrish is rather hard to understand, however invaluable because without it you will not be able to figure out how to use the software. Looks like they are aware of the software limitations because the documentation is full of workarounds and troubleshooting.

The software is even worse. It only works on Windows XP / 2000, so I had to run it inside VMware Workstation with USB pass-through  It actually did work but usability is similar to RiscOS or Plan 9. Here is a photo from one of the manual pages that illustrates both the documentation and the application itself.

gotek-sw

So how does it actually work? Here is a small excerpt from the user manual: “We will divide a pen drive into 100 partitions of 1.44 mb capacity each.” – err what? That’s right, this is what they are doing. Dividing a pen drive to small partitions and multiplexing them so that you see one at a time. You select the partition using the buttons on the front panel or from the software. When you switch the floppy drive will be mapped to another partition. On the host computer you can see it as a removable drive in Windows Explorer.

gotek-drv

Gotek has promised me that the Type-F will support non-FAT and bootable floppy disks. So I started testing with writing QNX2 aclock demo floppy disk using ntrawrite.

gotek-rawrite

The system has completely freaked out and went to an error mode. Fortunately described in the troubleshooting guide, however requires full reformatting. Now imagine rewriting 100 floppy disks stored on the unit… I spent hours trying to figure what is going in. What I think is that the non-FAT bootable disk can only be used in “singular mode” where you store just a single floppy disk image on the pen drive. What a waste, but it did work and in the end I did boot QNX2 on my 286 from a pen drive.

gotek-qnx2

The next test was trying to boot Xenix from emulated 1.2MB 5.25″ drive. I have re formatted the singular drive to 1.2MB and switched it in the bios. However the system never actually loaded.

When it comes to FAT compatible operating systems like MS-DOS or OS/2, you can actually boot and use multiplexed floppies. You can install MS-DOS 6.22 by flipping the selector to change disks. Pretty cool. I was also able to run BIOS built in floppy disk diagnostics.

gotek-diag

So the device sort of works. I was able to boot a non-DOS operating system and for DOS based floppies I was able to hold more than one disk per USB key. However the whole experience was rather horrible. The verdict:

  • Packaging: garbage
  • Usability: garbage
  • Software: garbage
  • User manual: garbage
  • Compatibility: garbage
  • Total: garbage

So in short do not waste your time with this. Do not buy Gotek unless you absolutely have to.

I’m still awaiting for arrival of HxC, however it appears to be stuck in Polish Post Office, probably due to the holiday season.

Update: EMUFDD has provided me with a link to their page that lists all Gotek-like cheap Chinese and Indian made devices – with a warning how bad they are. They are claiming that German Ipcas also sells Gotek like devices, so I will be updating my previous post.

Booting from USB in VMware Workstation

(note this is a guest post from Tenox)

Jason’s note on hybrid bootable ISO reminded me of a recent discovery. I have a bootable USB pen drive that I wanted to boot in VMware Workstation. Normally impossible, but there always is a work around! Turns out the problem is with the VMware built-in BIOS and more specifically lack of USB boot support. All you have to do is get a bootable media, floppy or CDROM with a boot loader that can redirect you to the USB device. I’m using Plop. Important thing to remember is to connect the USB pen drive to the virtual machine in a pass through mode. Also it’s very very slow.

Wyse Unix Lives Again! (sort of)

I was waiting for this for a long time. Recently I came in to possession of a box of 5.25″ floppy disks, among them following find:

Thanks to efforts of Al Kossow of bitsavers.org and Michal Necasek of OS/2 Museum we got the system to boot on VirtualBox!

Unfortunately we are missing the rest of the system which was distributed either on 15 floppy disks or a tape. If anyone has it, please let me know…

Little bits of information I have found on the web about Wyse Unix:

Interestingly Wyse Unix is a supported os emulation for iBCS.

Update: A full install tape has been found and the system has been fully installed

Virtualizing Floppy Disk Drive – Part 1

(this is a guest post from Tenox)

I had a really bad weekend associated with floppy drive failures. Either all my floppy disks or all my drives decided to jump the ship. Nothing worked! Worse, I could not buy any “new” floppy disk anywhere. Office Depot still stocks floppies but not in stores and you have to order online and wait. Neither Halted nor Weirdstuff had them as well. Seriously?

A major disaster! Something had to be done to make it future proof. So I went to research floppy drive replacement solutions. And this is what I found. There are several Floppy Disk Emulators on the market.

Here is the list and a little bit of research on every one of them. They do have major differences to be aware of.

  • EMUFDD – The first one I found. Italian made, intended to be used in industrial machinery. The device is extremely compatible, customizable, feature rich and according to the company, individually installed in each deployment. I bears a lot of interesting features such as Network option. Apart from the high price the device is not intended to be used by hobbyists.

emufdd

  • Gotek – This one is by an Indian company. Very cheap and you can find it everywhere. It costs about $25 on eBay including shipment. However a major warning: they work by dividing the SD card in to 100 partitions, each size of a single floppy disk and multiplexing them to emulate a floppy disk. Because the partitions are formated with FAT12 the device is not usable for anything else than MS-DOS and Windows. Apparently revision F is capable of storing a single “bootable” or non-MS-DOS disk image. Also they have separate models for 720k, 1.2MB and 1.44MB.  There is a whole army of Gotek clones.

  • IPCAS – This is another clone of Gotek, however worth separate mention and a warning, it costs $300 – ouch!

ipcas

  • HxC – this one was found by claunia. As with most French stuff bit confusing because it has several web sites (one two three). The devices are manufactured in Poland by Lotharek. The price is around $150 and you can buy it on eBay. Feature wise may be the best of all, it definitely supports all the non-PC platforms and even very weird formats. The software naively supports conversion from the notorious IMD and TD0. For some people it will be appealing the HxC is an open source project and you can build it yourself. Certainly it helps to ensure longevity in case of the vendor going out of business. Definitely a winner here.

  • HxC USB Version – This is interesting variant that instead of SD card uses a wired USB connection to a host machine.  The main drawback is that it is read only. However you can’t beat it’s $70 price. For this I could probably refit few of my machines and use it for boot only.

hxcusbonly

 

  • FlexiDrive – Made in Argentina. The manufacturer claims to support all floppy disk formats including 8″ disks. SD card or USB based. They are made for industrial machinery and customized firmware for different applications. Cost $385.

FlexiDriveMV-SD

 

  • DTX200 – from Datex a French company. These are also made for industrial machinery. They maintain a large database of emulated floppy drive types. Interestingly they have video of MicroVAX using their emulator, certainly interesting from retrocomputing point of view! They also make MFM 2 CF hard disk emulator. The price is $495.

dtx200

 

I have ordered two units for testing: HxC, SD revision F from eBay and Gotek Rev F from the manufacturer. I guess testing of the units will be subject of part 2 of this post. I’m planning to try to install some of the weirdest operating systems with wildest disk formats.

Also as a final note, for more modern computers with USB support there are some more mainstream options. I have used following two professionally:

  • Floppy Emulator in Pendrive / USB Stick. The best success I had so far was zMate pen drive from DaneElec which registers as a floppy drive with the system in addition to regular removable disks. I used it several times for booting, loading Windows storage drivers or saving BIOS diagnostic logs from servers without FDD.
  • Lantronix Spider, which allows you to mount a virtual floppy disk or cdrom image from the viewer machine or SMB share, just as you would using VMware or VirtualBox. Pretty cool.

Updates:

  • Mac Floppy Emu – is specifically designed for Macintosh. However currently it only support 800K. Very promising project and once they add 1.44MB support I will want to retrofit my Macs with this.
  • 1541 Ultimate – Floppy disk emulator for Commodore C64.

Aclock BSOD

(This is a guest post by Antoni Sawicki aka Tenox)

Do you remember the famous Windows NT Blue Screen Of Death? For years it was a source of jokes and bad reputation of Windows reliability.

There even was a Blue Screen Saver. Today we fortunately see much less of it, but it still is there, reminding us that Windows NT internally is in fact a text mode operating system. The 1989 NT Design Workbook tells us that in the early days of development, before OS/2, Win32 subsystems or any GUI were developed, there was an ANSI console and bunch of command line utilities running in the text mode. Sadly all were removed in the retail version. The only true text mode application left around was autochk. Since the day Aclock was conceived I always wanted to run it on the NT text mode boot screen. In it’s twisted logic it actually makes a perfect sense.

So how do you actually output to the BSOD screen? Initially there was a lot hope in Windows NT Native Application, which can use NtDisplayString() function to display text before GUI takes over. Mark Russinovitch has written a sample Native Application with source code. Unfortunately I soon realized that NtDisplayString() does not allow for any control characters that would let me position the cursor or clear the screen. It doesn’t let much more than to display “Hello World” during Windows boot. This unfortunately wasn’t what I was hoping for. Out of lack of further ideas the project was shelved for nearly 10 years until I recently got some help from a real windows insider.

The new hope came from a HalDisplayString() and it’s helper functions HalQueryDisplayParameters() and HalSetDisplayParameters()which return screen resolution in characters and allow to position the text cursor. Exactly what I needed! Unfortunately these functions are part of the NT Kernel and there was absolutely no hope of calling them from user mode, even a Native application.

So a device driver version of Aclock was conceived. Err WHAT? Yes! A Windows Kernel Mode Device Driver version of Aclock. It sounds like craziest idea and most ridiculous waste of time ever. Worse than that, it definitely is! Despite that, development of the driver was actually surprisingly straight forward and the most difficulties I had was to do with setting up the right environment. It required Windows NT 4.0 SP6, an old version of NTDDK, SDK and Visual Studio. Once I had the project set up correctly, the only thing left to do was to figure out the kernel mode equivalents of some of the things I was getting for granted, for instance sleep(). My last surprise was rather unexpectedly difficult access to floating point in the driver. I was advised to avoid, so I have generated a pre computed tables of sin and cos values for every minute on the clock dial.

Aclock running on Windows NT BSOD in Kernel Mode

I must say that VMware Workstation Snapshots came very handy for launching and testing of the driver. It spared me from constant rebooting and re-launching the whole environment. I could load aclock and literarily click “back” like in a web browser.

Links:

Since running the driver on your own system will render it unbootable (you can always do a snapshot or use last known good configuration) I have built a minimal Windows NT Embedded (NTe) image that loads the driver on startup. It’s available as OVA image.

Windows NT Embedded project

The next steps may involve porting AA-Lib to NTHAL. From there the possibilities are unlimited aalib-quake? 😉

Update:  Video

Aclock Windows NT BSOD Driver from Antoni Sawicki on Vimeo.

Dell UNIX Lives Again!

(please note that this is a guest post from Antoni Sawicki)

Dell UNIX is so ultra rare among rare Unix species that it doesn’t even have a Wikipedia entry. I have been hunting this elusive but important piece of computer history for well over 15 years now. Fortunately thanks to Charles H. Sauer and his excellent blog post I was finally able to lay my hands on disk and tape images and the restoration process begun.

The install tape

The system can be installed from either a tape or network server (presumably NFS). Unfortunately no virtualization software can emulate a tape drive. Hopes for a network install are even slimmer since the required network support floppy disk has been lost and chances of suitable Ethernet driver working in Bochs or Qemu are equal to that of finding the lost floppy disk.

I have decided to try a hard disk image from a readily pre-installed system. The original Dell 486 workstation had a 1GB SCSI hard disk. Unfortunately neither Dell UNIX supports LBA mode nor Qemu/Bochs support the Adaptec 154x controller required by the OS.

As all normal install options have been exhausted, the only option left was to use a second hard disk image as source of cpio archive files. Booting from the two install floppies and attaching two disk images was a snap. The next step was to inject the tape “file” in to a right place on the disk, so it can be read by cpio command. A hard disk in Dell UNIX is pretty much unusable without a valid SysV partition and VTOC. Fortunately dellsetup command does it all for you. Once VTOC was put in place I’ve attached the transfer disk image as a loopback device in my host OS. In couple of iterations I was able to aim the host os dd if=file1 of=/dev/loop0 bs=512 seek=offset at the right place, which you work out using prtvtoc /dev/rdsk/1s0 command. Then cpio -ict < /dev/dsk/1s1 was able to list contents of the emulated tape… with errors…

In my infinite wisdom, for some unknown reason I’ve assumed that LBA addressing is required above 540MB. So to be on a safe side I have made the hard disk images 512 MB. What a mistake it was! I have lost several hours trying to figure out cpio header errors coming from the disk… By pure coincidence, while the tape archive was installing (with errors) I was researching for this very blog article and found that LBA starts at 504 MB… Recreating the hard disk images just few MB smaller took all tape and prior boot problems away!

Once the cpio archive was extracted I have made few final touches taken from the original tape install script. After a reboot Dell UNIX booted perfectly. You can experience this by using the firstboot image file. The final part of installation was injecting the second tape file containing System V PKG file to the transfer disk image and running pkgadd -d /dev/dsk/1s1. This is what’s included on allsoft.img.

Dell Unix at First Boot

Some final notes on running the OS:

  • To enable mouse to work:
    • Qemu just add “-chardev msmouse,id=msmouse -device isa-serial,chardev=msmouse” to the launch arguments.
    • Bochs add to the config file:
      mouse: type=serial, enabled=1 
      com1: enabled=1, mode=mouse
      then you have to kill mousemgr process and prevent from starting by deleting /etc/rc2.d/S25mse
      then edit /usr/lib/X11/Xconfig:
      disable Xqueue
      enable Microsoft Mouse
  • To enable keyboard to work correctly in VirtualBOX start with Num Lock OFF.
  • You can use qemu-img utility to convert the image to VMware vmdk to use in VirtualBox.
  • To run X window type startx

X11 and all its glory

  • To attach it to internet use SLIP as there is no working Ethernet driver.  Contrary to most UNIXen of the time, the command is not slattach, but rather slipattach.  Thankfully it does work the same way.  I have found that running Dell Unix with VirtualBOX, along with Windows NT 4.0 I was able to connect into the Dell Unix VM, and get network access.  Just set the two VM’s up for a named pipe (\\.\pipe\dellunix) and make one of them a server, and start that VM 1st.  The steps to prepare Windows NT have been outlined before.

Telnet via SLIP

Legal disclaimer: Dell UNIX is a commercial software and should not be distributed without manufacturers permission. However as the operating system has been dead for 20 years and with a long tradition from Unix Heritage Society and Bitsavers I’m publishing this in good faith under abandonware category. If Dell or any other copyright holder wishes this software removed, please let me know.

Attached are:

  • firstboot image
  • all (pkg) software installed
  • setup instructions if you wish to install from scratch.

Download:

You may also be interested in my post about a sister System V operating system – Interactive UNIX:

Update: Dell Unix now runs on 86Box with higher resolution and proper networking.

Fun with INTERACTIVE UNIX 3.0

(This is a guest post from Antoni Sawicki aka Tenox)

ix30
I’ve been hunting for a complete set of INTERACTIVE UNIX System for quite some time. While I had the “basic set” of it, the real stuff Visix Looking Glass graphical environment was nowhere to be found. Recently I got my hands on a box containing a massive set of 5.25″ floppy disks. Without further delay this is how the famous 386 UNIX GUI looks like:
The os has a long and convoluted history. It started as PC/IX for the IBM XT created by Interactive Systems Corporation. Later updated to 386/ix and renamed as INTERACTIVE UNIX System V/386. The company was acquired by Kodak and the OS was later sold to Sun Microsystems.
SunSoft INTERACTIVE UNIX 4.1
Sun has reportedly used the OS to help port SunOS/Solaris to x86 platform. However they also sold and supported it as a stand alone product. The system was widely used as part of Reuters Terminal and other embedded applications. It briefly survived Oracle acquisition making the os Oracle INTERACTIVE UNIX?

This article specifically covers version 3.0 released by ISC around 1991. The installation is pretty straightforward except for swapping 50 disk images and later configuration of NIC, TCP/IP and VGA/X11. The floppy images are available here. I have spent quite a lot of time to get TCP/IP working and VGA at half decent resolution.

Fortunately thanks to 86Box you can enjoy a fully working OS in a “high-res” (1024×768) mode, 256 colors and working TCP/IP. You can even pretend to browse the web using early version of Mosaic and WRP:

Looking Glass comes with a file manager and funky icons for pretty much every utility in the system:

The OS has a bunch of GNU apps and I even found a super early version of xv:

Finally this is how you manage the system with a “sysadm” utility and “kconfig” kernel configurator:

On a text console side, the OS has virtual consoles switchable via SYSRQ + F key. Console is on F8.

One should probably appreciate that PC had such a cool Unix version before Linux was even born. Unfortunately this stuff was all prohibitively expensive and mortals could not afford it to run on their 386s.

You can download 86Box version here. Make sure to look at readme for some last minute updates. Especially around configuring TCP/IP and Looking Glass licensing. There also is a VirtualBox OVA, however it only works in 800×600 and no networking/tcpip. Additional software can be downloaded from funet ftp. Install disks are here.

Also you may be interested in a follow up article covering VP/ix DOS hypervisor included with the OS.

Have Fun With Virtualization!