Giroptic 360cam review by a Ricoh Theta owner

Updates:

  • 2016/07/20 – more commentary.

I have been following 360-degree (sometimes called VR) images for many years. I even had an old webpage dedicated to one-shot VR style devices like the 0-360 mirror device.

The whole concept of a VR-style picture, where you could move the image and look in all different directions, was pioneered in 1994 by Apple QuickTime VR. In those days, you had to mount a camera on a tripod and take a bunch of photos then have them stitched together using special software. The viewer (QuickTime) then allowed the user to look left and right in the image.

As time progressed, other methods of doing these types of images were developed, including a process where you used a 150-degree fisheye lens and took only two photos and stitched them together. These spherical images allowed you to also look up and down.

0-360.com's one-shot VR lens attachment.

0-360.com’s one-shot VR lens attachment.

The easiest solutions were one-shot devices that used a mirror. The camera would point up towards the mirror and create a donut-like image that could then be turned in to a VR image without any stitching. I always wanted the 0-360 device (about $600), but ended up with a much cheaper one called SurroundPhoto ($250). It produced poor quality images, but you get what you pay for.

In recent years, special multi-lens cameras have been introduced that are substantially cheaper than a camera+lens mirror system, and can offer greater field-of-view (up and down).

The Giroptic 360cam was the first such camera I became aware of when it was announced as a Kickstarter project in 2014. It a three-lens camera that can take a 360 VR-style picture with one shot.

I signed up to get one at the half-price early bird level, and at the time they hoped to ship before the end of the year. A year later, the camera was nowhere to be found. During this delay, other similar devices from established companies  entered the market at a much lower price point, including:

  • Kodak SP360 – I saw the one advertised at RadioShack for under $300. It used one lens with a huge fisheye pointing up, so it couldn’t get full VR images, but it could create a circular panorama. It could be mounted on a bike or helmet so it was more of a 360 GoPro type device.
  • Ricoh Theta – This $350 two-camera came out with a first model, then the m15 improved model (which added video!) . It could instantly create full 360 images with one click. I had the m15 model.
  • …and likely many others by now.

The Theta m15 and it was amazing. It was small enough to carry with you at all times, and as fast as a regular digital camera at taking the images. There was an iOS and Android app to download and post photos and videos from the device and share them immediately. The resolution was not great. Photos and video could be especially grainy in lower light situations.

In July 2016, the 360cam finally shipped to all of it’s original 2014 backers. Today I want to quickly review how the 360cam stacks up. To save you some time, I’ll present the conclusion first:

CONCLUSION:

This camera is way too slow to be useful. I believe if you are looking in to a device like this, you should probably get something like the Theta S (now available at Best Buy). It is substantial cheaper, easier to use, and much easier to carry around. If there is any advantage to the 360cam’s three-lens setup, I feel most users will not benefit from it.

DETAILS:

The 360cam is neat, and had I obtained it two years ago (before owning a Theta), I would have raved about it. But today, it feels like a dinosaur.

CONS:

  • Heavy. The 360cam is much heavier than the candy-bar style Theta.
  • Bulky. It is the shape of a smaller pear, and therefore cannot be carried in a pocket. After lugging mine around, I find I have to carry a fanny pack or other type of pouch with me because there’s just no convenient way to attach something like this to a belt. (The Theta came with a belt strap padded carrier.)
  • SLOW! Oh my gosh. This thing is stone-age slow! When you turn it on, it takes about 25 seconds to boot up! This is ridiculous. Forget any concept of pulling out the 360cam and taking a quick photo. You have to plan ahead. Also, switching between video and photo mode is also frustratingly slow. My device spins a little animated mustache graphic for about 28 seconds while it goes from one mode to the next! (And right now, the display is showing me “E801” so I guess I have to go look up what went wrong. A quick look at their support site shows five codes, including the 801, that could mean “Something might be wrong with the camera last firmware update. You can restore your camera to factory settings, and try to update the camera again.” Great.) It also does not take pictures quickly. I have mine set for a 3 second countdown, and it will often display a little animated graphic for a few seconds before it even gets to the countdown! Useless!
  • iOS iPad App only works in Portrait Mode. In this modern era, why are any iPad apps still not supporting device rotation? The VR images rotate just fine, but all the menus are set for portrait mode, which seems odd for a world where video and modern digital images are 16×9 landscape.
  • More Seams. Three lenses means you will have three seams in your images, rather than just two with a two lens system. With the Theta, you just pointed it at your subject and hit the button. With this thing, you have to make sure one of the three lenses is pointing there to prevent a theme down it. Frustrating, but once you get used to this, it will become second-nature.
  • No Bottom View. Since the base of the camera is large, there are no straight down views offered. Instead, a large circular graphic is placed there (just like old VR images had, to hide where the tripod was). The Theta has no problem with straight down.
  • SHORT Battery Life! It seems with the unit on (WiFi and GPS enabled), you will be out of juice in 30-60 minutes just having it “on” and barely using it. I am watching the battery drain as I type this. I doubt I could ever fill up my 16GB memory card with only one (or maybe even two) batteries. I managed to completely drain the battery after recording a 9 minute video, and about 30 images. Do not expect to take this with you all day without stocking up on a ton of extra batteries.
  • App Required to Change Basic Settings! Why do I need the use my phone and WiFi to change between one picture and self timer mode? By the time I toggle through 360cam menus to turn on WiFi, then connect to the camera. then run the app … I’ve forgotten what I was trying to take a picture of.
  • Awful User Interface. The built in color display (big pixels) is neat, but the user interface of two buttons is very sluggish and cumbersome. At least it’s better than having to remember what button to hold down to change modes (like the display-less Theta does; they fixed that with the new S model). Once you learn how to navigate, it becomes easier, but it it still time consuming to dig through a half dozen or more displays to make a simple change.
  • SLOW!!! Did I mention how slow this thing is? It’s ridiculous.

That said, let’s look at the PROS:

  • Three lenses! This should mean better resolution for video and photos. But does it? I do not have a Theta S to compare side-by-side, so I will leave that to other reviewers. I will say the images from the 360cam look very nice and it handles low light better than my Theta m15 did.
  • GPS. The 360cam has GPS built in so images can be geotagged without requiring linking to a phone. That’s nice (but it will drain the battery quicker).
  • Removable battery. My Kickstarter package came with two batteries, so I can charge them up and swap them out during the day. Unfortunately, you have to pop open three connectors on each side and remove the base (and not lose the microSD card that seems to pop out easily). It’s a “stop walking to do this” operation.
  • Nice iOS and Desktop Software. The app and desktop software are nice, and probably on-par with the Ricoh software. They allow remotely operating the camera, changing modes and limited sharing. You will need to link your 360cam to an iOS/Android device if you want to change modes (one photo, self timer, timelapse, etc.). That is frustrating but at least the modes are there.
  • “Patch”. Many 360 image systems allow you to put a special graphic at the bottom of the image where the tripod would go. Giroptic refers to this as the “patch” (I’d call it a logo). You can customize your own logo, which is a nice touch. The last Ricoh I used had no such option.
  • NO HUGE FINGERS!  Since you can hold the 360cam by the base and take a picture using the self timer, you can voice the HUGE THUMBS problem all the Ricoh Theta selfies seem to have. This is very nice.

I personally plan to get rid of the 360cam and replace it with a Theta S soon. I’m quite disappointed. While I might be able to get used to the pear-shape, the slowness of this device is absolutely unacceptable. “Hey, let me take a cool picture. Everyone wait a minute while I boot up and switch from video mode to picture mode.”

Great attempt, Giroptic, but competition has rendered your device obsolete except for those who may benefit from the three-lens setup. I would have to see a side-by-side comparison to see if the 360cam even has that advantaged.

Just get a Ricoh Theta S and use the heck out of it :) They are $350, versus $499 for the 360cam.

Creating a RaspberryPi DriveWire server

  • 2016/05/12  This is a work-in-progress article I originally wrote on February 8, 2015, but never completed. The other night I was trying to look up my notes to help Curtis B. with a NitrOS-9 boot disk and I realized I never completed this. I will try to finish it when I have a moment.

Summary

To get DriveWire 4 server running on a Raspberry Pi, you will do the following:

  1. Download the DriveWire server to the Pi and unzip it:
    wget http://sites.google.com/site/drivewire4/download/DriveWire4_4.3.3.zip
    unzip DriveWire4_4.3.3.zip
    cd DriveWire4_4.3.3.zip
  2. Edit the config.xml file to default to your serial port on your Pi in <deviceType> and <serialDevice>. (i.e., “serial” and “/dev/ttyUSB0“)
  3. Run the server with no user interface:
    java -jar DW4UI.jar -noui
  4. On the CoCo, load the needed DriveWire modules from NITROS9/6x08L2/MODULES/RBF:
    dwio.sb, rbdw.dr, x0.dd up to x3.dd
  5. Use the “dw” command to test things by creating a blank disk image:
    dw disk create 0 /home/pi/test.dsk
    format /x0
    dir /x0
  6. Customize your boot disk to include the modules you want and read the documentation to learn how to use all the cool virtual terminals, MIDI and other neat features.

And now, the long version…

Materials Needed

  1. Raspberry Pi B (or B+, or probably the Pi 2 B). I did all these steps on a B.
  2. USB keyboard (a mouse makes things easier, but I do not have one so all of these tips will just use a Pi, keyboard and HDMI TV/monitor).
  3. Compatible* 8GB SD card (or larger).
  4. Ethernet cable to hook the Pi to the Internet. (Required if you plan to do the network install of NOOBS LITE).
  5. WiFi (with a supported USB dongle) or Ethernet is needed later for downloading the DriveWire software and updates, but there are ways to do all of this without any Internet access if you start with the full NOOBs installer.
  6. Compatible* USB serial adapter (or TTL->RS232 converter for use with the built in UART pins of the Pi).

Preparation on Windows/Mac/Linux

  1. Download the “NOOBS” installation for Raspberry Pi (currently 1.3.12). You can get the full NOOBS (780MB, just unzip and copy to the SD card and boot), or the NOOBS LITE (22.8MB) version.
    • NOOBS LITE can also be used. It is a much smaller download, but requires the Pi to be hooked up to the internet via Ethernet to download the rest of the OS files which is about 2355MB.
      http://www.raspberrypi.org/downloads/
  2. Unzip the files, then copy them over to a freshly formatted SD card.

Preparation on the Raspberry Pi

  1. Boot the Pi using this card. You will see a menu of operating systems you can install. Choose “Raspbian [RECOMMENDED]” at the top by using the arrow keys and SPACE to select. You may also wish to hit “l” for Language and set it to “English (US)” or your preference, and “9” for Keyboard and select yours. Once Raspbian is selected, press “I” for install. It will ask if you are sure you wish to overwrite the SD card. Select “Y” for yes.
    • NOOBS LITE: The Pi will then download the Raspbian image (2.3GB), then install.
    • NOOBS: The Pi will then install.
  2. The Pi will (eventually) reboot and after a bit, you get a DOS-like screen for the raspi-config utility. Arrow over to Finish and press ENTER. You will not be at the Pi shell prompt.
    pi@raspberrypi ~ $
  3. At this point, I like to do a full reboot to make sure everything is working properly:
    sudo reboot
  4. On a reboot, you won’t go directly to a shell prompt. You will get a login prompt. The default account is:
    username: pi
    password: rasbperry.
    Log in and you will get back to the shell prompt. You will be in the home directory for user “pi”.
  5. Now we need to download the DriveWire 4 software. Note the filename will change when DriveWire is updated, so check the official site if this does not work.
    wget http://sites.google.com/site/drivewire4/download/DriveWire4_4.3.3.zip
  6. After the zip file is download, you can extract it by typing:
    unzip DriveWire4_4.3.3.zip
  7. DriveWire 4 is set up to run with a nice GUI with mouse control. This requires a keyboard and mouse, and the Pi to be set up with X-Windows running. Since I do not have a mouse, and plan to run the Pi headless with nothing hooked up to it but power and the CoCo, this is not an option for me. Instead, I need to manually edit the configuration file to tell it what Linux serial port I will be using.
    cd DriveWire4_4.3.3
    copy config.xml config.xml.org (always keep a backup!)
    pico config.xml

    The editor will open, and you want to look for a few entries:<instance category=”instance” desc=”Autocreated 2013-03-24 23:57:53.831″ name=”TCP connection via TCP“>

    <DeviceType category=”device” list=”serial,tcp-server,tcp-client,dummy” type=”list”>tcp-server</DeviceType>

    <SerialDevice category=”device” type=”serialdev”>COM14</SerialDevice>The first entry is just the name of the connection. You could change that to “Serial Connection” or whatever. The second “tcp-“server” should be changed to “serial”, and the “COM14” entry should be changed to your serial port device. On my Pi, when I plug in a single USB RS232 adapter, it shows up as /dev/ttyUSB0 so that is what I use.
  8. Save your changes back to the file (Ctrl-X, Y) and now you are ready to run the server without a user interface. (Getting the user interface to run requires installed two more additional packages, and I will make a tutorial for that soon, if anyone wants me to.)
    java -jar DW4UI.jar -noui
  9. After a bit, Java will load and the DriveWire 4 server will start. Java is big, and the Pi is small, so it can be quite sluggish. Now, with the USB cable connected between the Pi and the CoCo, you can start testing.

Preparation on NitrOS-9

This tutorial is being written for someone who already has an active NitrOS-9 system and wants to add DriveWire support to it. If you have no customized

If you are using one of the default NitrOS-9 disk images for you system, it should have a NITROS9 directory, and inside of it will be various device drivers and descriptors, including the ones used by DriveWire. Ultimately, you would want to make a custom boot disk that includes these modules, but here is a simple way to merge them together and just load them when you want to use them. From OS-9:

  1. If you are running a stock CoCo 3 with the standard 6809 processor, go here:
    cd /dd/NITROS9/6809L2/MODULES

    …and if you have upgraded your CPU with a Hitachi 6309, go here:
    cd /dd/NITROS9/6309L2/MODULES
  2. The modules you want depend on what you plan to do. Here is the list:
    • drio.sb – this module handles all communication with the DriveWire server.
    • rbdw.dr – RBF device driver that uses DriveWire for disk access instead of disk hardware
      • ddx0.dd, x0.dd, x1.dd, x2.dd, x3.dd – device descriptors for the DriveWire disk drives (/x0 to /x3, with ddx0.dd being a /dd descriptor for DriveWire).
    • scdwp.dr – printer driver
      • p_scdwp.dd – device descriptor /p for scdwp.dr
    • scdwv.dr – virtual serial port driver
      • n_scdwv.dd, n1_scdwv.dd to n13_scdwv.dd – serial port descriptors. /n is the “next available” descriptor, similar to /w for windows. /n devices may also be used for MIDI.
      • midi_scdwv.dd – this is n14 but named /midi for MIDI programs that are hard coded to look for that name.
      • term_z_scdwv.dt, z1_scdwv.dd to z7_scdwv.dd – (??? not in the doc wiki)
  3. For my example, I am only concerned about the disk drives, so I would merge the following modules together:
    chd RBF
    merge dwio.sb rbdw.dr x0.dd x1.dd x2.dd x3.dd >/dd/dw
    This gives me a single file called “dw” I can load to get DW support instantly. First, I need to set the attributes to allow that:
    attr /dd/dw e
    …then I can just load it when I want to use DriveWire:
    load /dd/dw
  4. If this worked, you should now be able to use the DriveWire command, “dw”, to communicate with the server. Type “dw” and it should report back a list of commands:
    config  disk  log  midi  net  port  server
    …and you can then type “dw config” or “dw disk” to see what all it can do.

Using DriveWire

Here is an example of creating an empty disk image and formatting it:

dw create 0 /home/pi/test.dsk
format /x0
dir /x0

If you look on the Pi, you will see a new file “test.dsk” there. You can now use this disk like any other OS-9 disk. In my test, I copied my NITROS9 directory over to it just for fun:

chd /dd/NITROS9
dsave /x0 ! shell

DriveWire’s performance is not as good as you’d get from a No Halt floppy controller like the Disto Super Controller 2 or a hard drive interface like the Cloud-9 SuperIDE or KenTon SCSI. As disk activity is going on, interrupts are masked while data is blasted out of the bitbanger port. Still, it did a remarkable job keeping up with my typing. Quite impressive for a cheap cable and a $35 computer with a serial port.

TO DO

  1. Make the DriveWire 4 server auto-start.
  2. Update the DriveWire 4 software from the command line (is this even possible?).
  3. Update the Raspberry Pi software.

Problems

One issue I immediately ran in to was a bunch of ERROR #207 (Memory Full) errors. mfree still showed 352K free, and it wasn’t the #237 (RAM Full) that happens when there isn’t enough room left in the main 64K memory map.

Building NitrOS-9 on Mac OS X

Since I have to relearn all the steps, I thought I would post them as I go through them. The NitrOS-9 website has a tutorial on building it, but here are my steps with some specifically for Mac OS X:

  1. Install the Command Line Tools for Mac OS X.
    We need the command line versions of the Mac OS X compiler so we can build the tools that are then used to build NitrOS-9. If you have XCODE installed, you may already have them. An easy way to do this is from a Terminal prompt:

    xcode-select --install

    That will launch the Apple Mac App Store installer and get the tools for you. Cool.

    Installing the Mac OS X command line tools.

    Installing the Mac OS X command line tools.

  2. Download Mercurial.
    The NitrOS-9 repository uses Mercurial as version control. You will need to download Mercurial. I had 3.2 the last time I did this, and currently it looks like 3.8 is available. There are several ways to download it using various package managers (Fink, MacPorts, etc.) but I don’t have this installed so I am just using the standalone installer:
    https://www.mercurial-scm.org/wiki/Download
    Depending on your Mac OS X security settings, it may complain that this is from an unknown developer and refuse to run. If you get this message, go in to your System Preferences “Security & Privacy” control panel and tell it to allow the installer to run:
    Screenshot 2016-05-01 17.26.21(Strange. The last time I did this, “Open Anyway” would let me bypass the security settings I am using. This time, it refused, and I had to temporarily allow “Anywhere.” Not sure what’s up with that.) After the install, you will have the “hg” command available.
  3. Download LWTools. These are the cross-compiler tools used to build 6809 source code from Mac/Windows/Linux systems. From a Terminal prompt, find a directory you want to download the lwtools to. I chose a poor location — “CoCo” inside my Downloads folder:
    alsmbpro:lwtools allenh$ pwd
    /Users/allenh/Downloads/CoCo

    From this directory, use the “hg” command to obtain and build the tools. It will build the directory you specify from the command line (“lwtools”):

    hg clone http://lwtools.projects.l-w.ca/hg/ lwtools
    cd lwtools
    make
    sudo make install
    cd ..
  4. Build Toolshed.
    Next we want to build Toolshed. This is a series of command-line utilities that operate on CoCo/OS-9 disk images (like those used with emulators and the CoCoSDC interface). Once again, I do these steps from my “Downloads/CoCo” directory:

    hg clone http://hg.code.sf.net/p/toolshed/code toolshed
    cd toolshed
    sudo make -C build/unix install
    cd ..

    (Note: I had to use “sudo make…” here to get it to build on my system.) The different build/make process shows the different styles of the various developers that made these tools. (Note: Mine seems to fail looking for a command “markdown” at the very end. Not sure what this is, but it seems to be building HTML documentation or something.)

  5. Build NitrOS-9.
    Now we are ready to download and build NitrOS-9. Once again, I start in my “Downloads/CoCo” directory, and issue the following hg commands to download all the NitrOS-9 stuff:

    hg clone http://hg.code.sf.net/p/nitros9/code nitros9
    cd nitros9
    make dsk
    This will build absolutely everything, including tons of ports and disk images you likely do not want. (i.e., if you are only interested in a CoCo 3 6809 setup, why build all the CoCo 1/2 and Dragon versions, or any of the 6309 stuff?). I always build everything, but you can also specify to build just a specific port. For my CoCo 3/6309 build, I could do this instead:
    make dsk PORTS=coco3_6309

    After this, you will have all the sources, and have built all (or some) of the sample disk images for various types of hardware (CoCo 1/2, CoCo 3, 6809 or 6309, CoCoSDC controller versus floppy or IDE hard drive, etc.).

  6. Updating NitrOS-9 and the Tools.
    Later, if you want to update your sources, you can use this comment from the “nitros9” directory:

    hg pull
    hg update
    make dsk

    I do this occasionally to get the “latest and greatest.” You can do this for the other tools, too, by changing in to their directory then issuing the “pull” and “update”, then the appropriate make command.
    If you get a merge conflict because you changed something locally, you might see this:

    alsmbpro:nitros9 allenh$ hg update
    abort: outstanding merge conflicts

    You can use this command to see what files have been changed on your local repository that conflict with the master files. This happens if, for instance, you tweak a makefile or build list or source code:

    alsmbpro:nitros9 allenh$ hg resolve -l
    U 3rdparty/utils/tlindner/sdir.asm

    This reminded me that I already Tim’s “sdir” source code (for CoCoSDC) so enable built in help and such. I have to revert those changes if I want to update, or learn how to use the merge too… I forgot!

These steps should get you everything you need to begin playing with NitrOS-9 on a real CoCo with the CoCoSDC interface, or an emulator. If you plan to use real floppies, you can use toolshed utilities to format and then copy disk image .DSK files over to the physical floppy, but I don’t have any way to hook a 306K Floppy drive to my Mac so I have never done this. CoCoSDC is the way to go there ($40!).

More to come…

 

25th annual “Last” Chicago CoCoFEST!

Tandy/Radio Shack TRS-80 Color Computer fans, take note. This weekend (April 23-24, 2016), the Glenside Color Computer Club will be hosting the 25th annual “Last” Chicago CoCoFEST! in Lombard, Illinois (near Chicago).

I attended the first “Last” CoCoFEST! there back in 1992, flying up from Lufkin, Texas with a CoCo friend of mine, Mark. That 1992 event was presented by Dave Myers of CoCoPro, and Glenside was the host club for it. Dave had gotten in to the CoCo convention scene in 1990 when he held his first CoCoFest in Atlanta, Georgia, with the Atlanta Computer Society as the host club there.

These CoCoFests were being started just as the long-running RainbowFests were winding down. Rainbow Magazine was the premier Color Computer publication, starting out as a photocopied newsletter and growing to a 300+ page monthly periodical. Rainbow had years where they held several events across America, but their last event was in Chicago in 1991.

Dave first stepped in to offer an event “down South” in 1990. Rainbow had held only one southern event in Ft. Worth, Texas. When the final RainbowFest was held, Dave decided to continue the tradition with a new event in its place.

Though CoCoPro would exit the convention scene after that 1992 event, the CoCo clubs continued. Atlanta Computer Society kept CoCoFests going there through 1995. The Glenside CoCo Club has continued to host events ever since the original CoCoPro event in 1992 (and they were host club for the RainbowFests before that). But this year is the last one. Again.

Dave chose the “Last” (in quotes) moniker for his first Chicago-area event knowing it could be the final event, and it become the “2nd annual ‘Last'” event the following year when Glenside took over.

Then the 3rd … and 4th … and 5th…

It’s hard to believe that was 25 years ago!

I last got to visit the CoCoFEST! in 2013. I would like to at least day trip to this one. Several long-time CoCo folks from the past are showing up (including our own monk, Brother Jeremy, and our Canadian pal L. Curtis Boyle). I have had several generous offers to provide lodging if I wanted to stay overnight, and even offers to fund my gas. These are some of the people I have called friends longer than just about anyone else I still have in my life.

If you can make it, and I am there, be sure to say hi. If I am not there, be sure to take photos and let me know what I missed.

Find out more: http://glensideccc.com/

Floating point is hard.

In my day job, I am an embedded C programmer. Our devices work with flow measurement and use a bunch of floating point math for accumulators and such. In the past three years, I have learned some interesting things about floating point numbers and how they cannot represent certain values. I was therefore amused to see an easy example of the floating point problem when I was paying for postage last night:

floating_point

I wonder how much it deducted from my PayPal account . . .

Old School Games – Pac-Man Fever returns!

Buckner & Garcia, the duo/band that brought us the Top-10 hit Pac-Man Fever back at the end of 1981 (and also the full album of video game songs) is back again with a new song called Old School Games. Listen here:

Their last release was the theme song to Disney’s Wreck It Ralph in 2012. I remember hearing the song Wreck-It, Wreck-It Ralph over the end credits and thinking “aw, man, they should have gotten the guys that did Pac-Man Fever to do a song!” Much to my surprise, the credits revealed that they actually did!

Sadly, original member Gary Garcia passed away in 2011, so he did not get to see the retro resurgence that is underway across America as retro arcades (and bar-arcades) open everywhere. Heck, we have three retro arcades right here in Des Moines, Iowa!

The new song may very well be the 2010s anthem to retro arcade players much like the 1980s Pac-Man Fever was to the first generation players.

They would love to have arcades add it to their playlist, so be sure to let your favorite local video game place know about it.

And, if you are looking for something a bit different, there was also last year’s (2015) Pac-Man Fever (Eat ‘Em Up) redo/redeux/remix, which you can check out at http://www.pacmanfevereatemup.com/

And, for some really neat stuff, check out the Pac-Man Fever Vault for rarities, interviews, and more.

 

Commodore VIC-20: My first computer.

My very first computer was a Commodore VIC-20. At the time, I think I was interested in a new video game system like an Intellivision. My dad suggested that, for about the same money, I could get a computer instead that would do more than just play games. (Second generation game systems like Intellivison or ColecoVision were around $200.)

My desired to get a home computer was also inspired by a guy I met in one of my 7th grade classes. My new friend, Jimmy J., had shared a book on BASIC computer programming with me. We would go down to a local Radio Shack and type in programs on their TRS-80 Model 3s.

My dad began researching options, and I did the same. I ended up choosing something called a VIC-20. I was disappointed when my dad told me he had chosen a different machine – something he called the Commodore. When I realized we were talking about the same machine, it seemed like the perfect choice.

The VIC-20 marketing campaign was “Why buy just a video game?” and “A real computer for the price of a toy.” This may have actually been what got my dad thinking about a home computer in the first place. It was described as “the wonder computer of the 1980s for under $300” and “the first honest-to-goodness full color computer you can buy for only $299.95”, or so claimed launch spokesman William “Captain Kirk” Shatner.

A TV commercial for it parodied the Intellivison and the Atari VCS ads with Shatner “beaming down” between the two saying “move over for my friend VIC”. How could you go wrong with the computer that the Captain of the U.S.S. Enterprise liked?

I received my new VIC-20 sometime in 1982. It was likely for my birthday in August.

I remember hooking it up to a small color TV I had, and staying up all night going through the manual and learning how to program “CBM BASIC V2” which had a whopping 3583 bytes of memory available. Since I had no way to save any programs I typed in, I had to leave the computer on all the time else I would lose all my work. The Commodore Dataset (their expensive and proprietary cassette player)  was about $75 at the time, and that was the first add-on I wanted. I still remember the problems I had with it, and that we had to exchange it at the store a few times (all with the same problem) until we figured out you just couldn’t use it on one side of the TV. There was too much electrical interference apparently.

Custom Programs Limited

My friend Jimmy also got his first computer around this time – a Timex Sinclair. Another friend of ours, whose name I forget, had access to TRS-80s at school. Somehow we got the idea that we could offer to create custom programs for people, and thus the idea of “Custom Programs Limited” was created.

CPU Software - my first "company" in 1982.

CPU Software – my first “company” in 1982.

Jimmy suggested we change it to “Unlimited” so the initials would be C.P.U. At the time, I don’t think I even knew the term “central processing unit.” And thus was born CPU Software.

I remember we came up with an idea for a horse racing game, and each of us created a version of it for our systems: VIC-20, TRS-80 and Timex Sinclair. I do not think we ever did much after that. We probably did not realize how big home computing would become. Had we seriously pursued this venture, maybe we could have all ended up rich and living on a private island somewhere.

I did write a series of games for the VIC-20, including one that was published in a newsletter called the VIC-NIC NEWS. I believe I was in the process of having some of my video games distributed through a cassette magazine called VIXEN (renamed to FOX 20 after their first issue), but I do not recall what happened with that. I know one of the programs they considered (Factory TNT, a graphically updated version of the one VIC-NIC published) they rejected after seeing my first version already published elsewhere.

I have created a special page listing more details about my VIC-20 programs.

Life After VIC

I think I only used the VIC for about a year. I had started frequenting a local Radio Shack store while my grandmother shopped next door. I was learning about their TRS-80 Color Computer. It wasn’t nearly as colorful as the VIC, but it had a better BASIC and much more RAM. I made friends with the workers there and they would let me hang out on Saturdays, writing programs or using their TRS-80 Model III and modem to dial in to local Houston bulletin board systems (BBS). I remember they would sometimes save off programs I wrote to cassette to use to demo the machine to other customers.

The salesman I interacted with most there was a man named Don Burr. He had a CoCo himself, and I remember the time he called me to tell me they had just gotten Extended Color BASIC in. He said I needed to come by and see all the new graphics and sound commands it had. When I did, seeing the ability to easily draw a LINE, CIRCLE or PLAY a musical note was magic. Everything on the VIC was done using POKE commands. (I did have the Super Expander cartridge that added similar commands to the VIC, but they were very slow and no one could run any programs you wrote unless they had the cartridge as well.)

Don was able to hook me up with a “CoCo” (expanded to 64K) for $300, and I moved on from the VIC. As part of the deal of getting me a new computer, I had to give all my old VIC hardware and software to my dad. I don’t know what he did with it after that. After that, until recently, I pretty much never looked back. Only with the discovery of my old VIC-20 games am I starting to understand how much I actually did with that machine.

Good times.

Up next: Dissecting some of my very first programs. Will I even remember how they work?

In search of VIC-NIC News

My first computer was a Commodore VIC-20. When I first received it (thanks, dad!), I stayed up all night going through the manual learning how to program it. In my short time with the VIC (I got a Radio Shack CoCo 1 about a year later), I wrote many simple games. Recently, I found a box of old VIC-20 cassettes that have these programs, and I have been trying to import them to run on an emulator.

This makes me want to find another aspect of my first computer. I had a program published in a newsletter called VIC-NIC NEWS. I cannot find my physical copy of it (but may still have it somewhere, since I still have all my old Compute’s Gazette VIC-20 magazines). I’ve done some searching for it over the years (and when I search now, I tend to find myself searching for it or talking about it).

Can anyone help me track down VIC-NIC NEWS? My game was a simple “catch the falling object” game called Eggs. I’d really like to see it again.

Online searches revealed issues of a magazine called Commander. I found this excerpt:

THE VIC-NIC NEWS , bi-monthly, $6 per year from The Byte House.

8 page newsletter consisting of several brief listings, a page of reviews, a crossword puzzle, some ads, a question column, and errata. A decent price from friendly folks, but what is a VIC-NIC?

As well as a listing under User Groups – New Hampshire:

TBH VIC·NIC CLUB
PO Box 981
Salem, NH 03079
Contact – J. Newman
Publication – VIC-NIC NEWS
Interests – VIC-20 Exclusively

I have had no luck tracking down J. Newman. (I also wonder if this might be a female, since I often see women go by an initial in publications and online. Anyone know who J. is?)

Any help?

Before Sub-Etha Software…

…it was going to be Custom Programs Limited.

My first computer was a Commodore VIC-20 back around 1981 or 1982 (whenever it first came out for “under $300” – $299.99 is what my father paid for it, I believe).

But my buddy, Jimmy*, suggested “Unlimited” because then it would be C.P.U. (I had not even heard the term CPU yet). And thus, CPU Software  was born.

Screenshot 2016-02-23 21.57.52

The letters appeared to the musical notes of 2001, one at a time, then the title screen would come up:

Screenshot 2016-02-23 21.58.07

That was to be our startup for all our custom programs. It was going to be me writing for the VIC-20, and Jimmy writing for a Timex Sinclair ZX81, and another guy at school writing for a TRS-80 Model III (he didn’t own one, but had access to them at school). We thought we could custom write programs for people.

Our first program was a horse racing game, and it was written for each of these platforms, though I don’t seem to have a copy of it (or it’s on one of the tapes that is bad).

I don’t know why we didn’t pursue this, but I did write a bunch of small games for the VIC-20…

Brick Layer

Bricklayer was a simple game based on the Atari VCS cartridge Surround. I apparently wasn’t date-aware back then, and the comments inside the program only list the title and author. Bummer. I really would like to know when I wrote these.

Bricklayer for the VIC-20

Bricklayer for the VIC-20

The game screen animated as it drew the black walls (with sounds), then the game began. Using a joystick (I think), you started “laying bricks” around the screen, trying to cover as much area as you could without running out of room or crashing.

Screenshot 2016-02-23 20.56.14

If you got over 200, it would congratulate you. If you crashed, it would summarize your accomplishment.

Bricklayer for the VIC-20

Bricklayer for the VIC-20

Yeah. There was a time when this would have been considered a game. Interestingly enough, the movie TRON would come out a year later, taking the “draw lines” concept to a new level with the Light Cycles. The TRON arcade game featured Light Cycles as one of the four games it had, and this became my favorite arcade game of all-time.

I guess I had a thing for drawing lines.

Gold Grabber

Next up was a chase game.

Screenshot 2016-02-23 21.26.39

You moved around the screen (you were the clubs symbol) trying to catch the gold (the diamond) while avoiding the bad guy (the +).

Screenshot 2016-02-23 21.27.05 Screenshot 2016-02-23 21.27.43

I have no idea what the “+” represented, and the game logic just had it wandering around randomly so I had to actually try to run in to it to see what it did.Screenshot 2016-02-23 21.29.30

Factory TNT

In my mind, this was called Factory TNT, but for some reason, the cassette was just labeled as TNT. This was a “Kaboom” catch the falling objects game. I had previously written a text version of the same type of game and called it Eggs. In it, you were catching falling eggs. This game was printed out in the VIC-NIC NEWS newsletter.

I almost had this program distributed by a company, but due to my very similar game being printed in a newsletter (which they also subscribed to), they decided to pass on it. (I’m not sure, but this may have been the “FOX 20: the magazine for VIC 20 users” newsletter, published out of Pasadena/Deer Park, TX. (I lived in both those towns at one point, and recall going over to the house of the publisher – it was a home run operation – and meeting them once.)

The tape is bad, so the custom graphics are not loading, but it should look like a conveyor belt on the bottom, and pipes on the top. Classic round bombs would fall from the top and you moved your cup along the conveyor to catch them. If they hit the ground, they would turn in to a mushroom cloud. It has decent sound effects.

Factory TNT for the VIC-20

Factory TNT for the VIC-20

Apparently, it tracked high score (not saved to tape or anything, so it would reset any time you reloaded).

Factory TNT for the VIC-20

Factory TNT for the VIC-20

Factory TNT for the VIC-20

Factory TNT for the VIC-20

Apparently I had different rankings! Cool. I need to check the listing and see what all they were.

Thick Brush

For some reason, I did a blocky drawing program.

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

Thick Brush for the VIC-20

What in the world was this good for? There didn’t seem to be a way to save the “artwork” either. I guess I was, yet again, inspired by the Atari VCS Surround cartridge, which had a simple drawing mode (but the Atari version didn’t let you draw in colors – take that, Atari!).

Sky-Ape-Er

In a previous post, I mentioned my Donkey Kong inspired game, Sky-Ape-Er. Actually, it was really inspired by a VIC-20 game I bought that was inspired by Donkey Kong. I remember seeing it at the only VIC-20 store in Houston (I had my grandmother drive me across town to go to it), and they were out of stock, but they made a copy and sold it to me, and said I could get the real tape when they got more (I never did). On the label, they hand wrote “Krazy Kong”, so it might have been this one, or this Super Kong one. They appear to be the same game, but with different colors.

The important breakthrough was that they solved the problem of ladders and such by just making the level wrap around and go up. I had been working on a Donkey Kong style game and planned to use teleporters so you would stand on a spot and it a button and be teleported to the level above (I guess I had no idea how to make the climbing work then). When I saw the Krazy Kong approach, I knew I could do that, and make it better.

I worked on a few versions of this, with some graphics that looked like Donkey Kong girders, and some that looked like bricks. I think the brike

Later versions had instructions!

Unlike one I bought, my version had instructions!

The graphics were more Kong-like here. Sorta.

I think mine looked better than the one I bought.

It turns out to be a very difficult game! I finally cleared the first screen and found out there were multiple levels! I wonder how many are in there??? This is level 2 (using the prototype graphics):

Sky-Ape-Er for the VIC-20

Sky-Ape-Er for the VIC-20

And the “continue” screen was kind of snarky. I seem to have put some work in to these things.

Sky-Ape-Er for the VIC-20

Sky-Ape-Er for the VIC-20

I don’t know what my intentions were with this game, but I expect I was trying to sell it as well. I had no idea that an individual could just make tapes and put ads in newsletters and sell copies back then. I wish I did — I probably could have made some money in those early days.

Maze Gobbler

I was annoyed with Pac-Man games not looking like Pac-Man (I’m looking’ at YOU, Atari VCS), so I started working on my own. I replicated the Pac-Man maze very accurately, but by the time I had done that, I was out of memory on this 3.5K computer. Nothing exists from that maze except a title screen, as far as I have found:

Maze Gobbler for the VIC-20

Maze Gobbler for the VIC-20

Meteor Clash

My attempt at a Defender-style game (maybe – I’m not sure that game even existed yet) was Meteor Clash. You moved a spaceship up and down and dodged endless meteors that headed to you.

Meters Clash for the VIC-20

Meters Clash for the VIC-20

This game had an intro that printed out text letter-by-letter like a typewriter, with beeping sounds! Fancy.

Meteor Clash for the VIC-20

Meteor Clash for the VIC-20

Spell checkers did not exist for the VIC-20, apparently.

Meteor Clash for the VIC-20

Meteor Clash for the VIC-20

I don’t know how to use those cursor control keys on the emulator yet, so I wasn’t able to play it. I was able to fly for a bit until a meteor hit me.

Meteor Clash for the VIC-20

Meteor Clash for the VIC-20

Oops. This screen shot was taken when the meteors were being redrawn, so it’s just the ship. It wasn’t much of a game yet, anyway. It did have sounds, and an explosion, though! Maybe that would have been enough to be a game, but I hadn’t even customized the graphics yet. (Maybe that’s “Meteor Storm” I keep remembering.)

Rover

I seem to recall that this was going to be a Moon Patrol style game, but all I can find is a test of the title screen.

Rover for the VIC-20

Rover for the VIC-20

I found a few other things, too, including stuff written for the Super Expander cartridge which I cannot run on the emulator I am using. I need to figure out if that is possible in another emulator, since I have some games I wrote for it (enhanced graphics commands and such).

I also did a bunch of video titles for a booth at the Houston Boat Show for my father. I remember having an animated fish that swam back and forth on the screen in one of them, and drawing blue water waves. I later did graphics using my TRS-80 CoCo 1, and my dad was never impressed with it since the colors were so much worse than the VIC-20.

Interesting stuff, even if most of the tapes won’t load in 2016.

Man… I was, like, 12 years old when I was doing this. I really should have done more with it, but who knew computers were going to become such a part of life!

To be continued…

*Jimmy J was a kid I met in 7th grade. I had seen a listing in TV guide for “The Hitchhiker’s Guide to the Galaxy” on PBS and had watched it. In English (?) class, I quoted a line from the show, and he turned around and said something like “you watched that to?” We became friends, and I think he’s the one that let me know about Douglas Adams and the book versions of Hitchhikers. He also introduced me to computers. He had a book on programming and we would go down to Radio Shack to type things in on the TRS-80 Model III. He’s likely the one that introduced me to BBSes too (again, we’d go down and get online at Radio Shack before we had our own computers and modems), and he was also the one that introduced me to the concept of hacking and phone phreaking. Fun times! Beyond my parents, I can’t think of any other person that had such an impact on the direction of my life at an early age. Thanks, James!

CoCo VR

Over the years, there were a number of cool ideas at Sub-Etha Software that I really wish we’d followed through on. Last year, I mentioned some unfinished software projects I uncovered when going through all my old floppies, but there were also a few hardware projects that never made it out of the idea or concept stage…

Reveal VM100 "voice mail" device for PCs.

Reveal VM100 “voice mail” device for PCs.

For instance, once I found a low-cost gadget at Walmart that interfaced a telephone line to a computer. It was controlled by a serial port, and plugged in to the audio in/out ports of a sound card on a PC. It came with software to turn the PC in to an answering machine.

I bought one to hook it up to my CoCo, and had plans to create a simple CoCo answering machine. On a 128K CoCo 3, it would be possible to play a short greeting, and record a short message from the caller then save it out to disk. Sure, the audio quality would have been poor and it would probably be cheaper to just buy an answering machine, but wouldn’t it be fun?

VM100 ready to hook to a CoCo via cassette cable and RS232 pak.

VM100 ready to hook to a CoCo via cassette cable and RS232 pak.

Concept software was witten (in assembly) to record audio from the VM100 (using 1-bit cassette input, or 6-bit joystick input) as well as play back digital audio.

Concept software was witten (in assembly) to record audio from the VM100 (using 1-bit cassette input, or 6-bit joystick input) as well as play back digital audio.

I was even wanting to do touch tone decoding in software and create a simple voice mail system with mailboxes. There was even a plan to create a “telephone adventure game” where a description would be read and the user could make a choice by pressing buttons on their phone. (Years later, the Tellme company did something similar with a version of blackjack you could play over their 1-800-555-TELL demo line. It was so cool, Microsoft bought them!)

Woulda, coulda, shoulda…

I will try to share some more of these “lost” projects in the future, but today I wanted to focus on a virtual reality project I was working on.

VR was a big buzzword in the early 1990s, and many thought it was going to be the next big thing. As we know know, it fizzeled out rather quickly, with Atari, Sega and Nintendo abandoning their home VR products.

The Atari Jaguar VR project was being done in conjunction with Virtuality, the company I previously wrote about that created the VR game I first experienced.

The Sega VR project has a CoCo connection, since one of the launch titles was being worked on by legendary CoCo game programmer Steve Bjork**! I believe this is the game that Bjork was working on: Iron Hammer

Nintendo’s effort eventually came out as the failed Virtual Boy where, instead of wearing an immersive helmet over your eyes, you peered in to a 3-D viewer that remained stationary on a table. Hey, at least they tried!

But I digress…

In the pre-world wide web days, we had things called catalogs which were like paper versions of Amazon.com. One of the catalogs I received always had interesting items often at cheap liquidation prices. One such item was the VictorMaxx Stuntmaster VR helmet. The wiki page claims this was the very first commercial VR helmet made available.

TODO: I need to add a photo of my VR helmet, as soon as I figure out which storage box it is in.

The Stuntmaster wasn’t a real VR helmet, though. It did not provide a stereoscopic display, and did not have any head tracking capability for use with true VR games. Instead, there was an analog dial on one side that connected to a shaft which you clipped to your shoulder. As you turned your head left or right, the shaft would turn the dial, allowing a simulation of left/right head tracking.

You could plug this helmet up to a Sega Genesis game console and then play some games where you held the game controller to play, but used your head to turn left and right. It seems unlikely that this would have worked well with any games not specifically designed for this, but hey, it was the first.

Here is a video of it in all it’s glory:

Me playing Dactyl Nightmare again in 1994.

Virtuality’s Dactyl Nightmare (I am shown here playing it in Dallas in 1994) had a helmet and a hand grip controller that featured a trigger and a thumb button.

When I saw this in the catalog, I immediately ordered one to see if it could be used with the CoCo. My plan was to send CoCo video and audio to the helmet, then wire the left/right control shaft up as a joystick. Taking a nod from the controls of the Dactyl Nightmare arcade VR game I played, I was going to use the two joystick buttons for “walk” and “shoot”. My thought was you could turn your head left or right, then walk in that direction using the button. I guess I was thinking we’d build a special pistol grip controller to work with the helmet.

I had become friends with Vaughn Cato*, who did the original bouncing ball demo when the CoCo 3 first came out. He had been writing routines to do bitmap scaling and such, and I was hoping to use some of this in some CoCo game projects.

Toast 3-D maze engine by Vaugn Cato.

3-D maze engine by Vaughn Cato. It ran under OS-9.

On of the coolest things he created was a 3-D maze engine that drew everything using lines (I guess we would call this a vector engine). It looked similar to Dungeons of Daggorath but you could move through it in all directions, like Wolfenstein 3-D or DOOM did.

I cannot remember why, but for some reason the demo executable was called toast. It would read a small text file that represented the maze, then you could walk through the maze in 3-D. Things never went much further than the demo, but I thought it would work well with the VR helmet as the basis of some kind of VR maze game.

I think I was planning to create something like Phantom Slayer VR (a tribute to the old MED Systems 3-D maze game by Ken Kalish). I certainly know I had worked on this concept before without VR in mind, as well as a 3-D Pac-Man game. The Pac-Man one was interesting, as I got as far as recreating the original Pac-Man maze in 3-D and had it populated with dots you could walk over to “eat.”

Woulda, coulda, shoulda…

I still have the helmet. Who knows . . . maybe some day CoCo VR might still get done, even if there is no longer a supply for helmets to make it a sellable product.

*Vaughn Cato may be the only former CoCo guy to accept an Oscar. He was working with a company doing motion capture and he was on stage to receive a 2005 Technical Achievement Award. That’s quite the trip from a bouncing ball demo on a TRS-80, don’t you think?

**Steve Bjork has also had encounters with movies. If I recall correctly, he was an extra in films like Rollercoaster and The Goonies, as well as working on movie related video games like The Rocketeer and The Mask. Oh, and his CoCo program Audio Spectrum Analyzer appeared in Revenge of the Nerds, and his CoCo Zaxxon program appeared in Friday the 13th Part 4.