Thrift Log: Intellivision TV Play Power


Paid six bucks. Disappointing unit for a variety of reasons.



The Intellivision had a crazy dial-and-keypad controller with side buttons. It supported plastic overlays for game-specific control instructions, and the dial could detect 16 directions of movement. Some would argue that the Intellivision controller was overly complicated and a pain to use, but it’s a huge part of the system’s character.

This Plug-and-Play unit uses a pretty standard layout with a d-pad, thumbstick and some face buttons. However, the directional controls are very stiff and unresponsive, and the thumbstick above the d-pad also behaves like a d-pad — not capable of detecting more than 8 directions.

So while it’s a concern that the unit doesn’t actually resemble an Intellivision controller, it’s overshadowed by not even being a competent controller.



The underlying architecture isn’t Intellivision: the games featured are reprogrammed for clone NES hardware, and if you look closely at the games, you can spot NES graphical artifacts like map palette corruption at the edge of the screen during 8-way scrolling (Hover Force).


Turn off your high-beams

Lastly, the unit has a red LED power indicator that beams in your eyes while you play.


Included games

I see there is a 10-game version that looks more like a Sega Genesis controller. The one I picked up has 25 games. Some of them are pretty cool, but the shoddy controls and inaccurate representations of the included games are a problem.

THUNDER CASTLE (missing its soundtrack!)


Not recommended.

Thrift Log – Microsoft SideWinder Plug & Play Game Pad (X04-97702)


This USB controller works out of the box with Windows 10, which is nice, considering that the box says “Designed for Windows 98”. Wikipedia says the release year was 2000.

The grip feels pretty decent, but I don’t know what to think of its directional pad. It’s a weird, smooth, inverted bump that can be pushed down in addition to being nudged in the cardinal and diagonal directions. The travel downwards is not a control or button. Honestly, I’m not sure why it does that.


I had to grab one of these just for the camp factor. Have you seen those SideWinder marketing videos?

SideWinder FreeStyle Pro

SideWinder Dual Strike

SideWinder Strategic Commander

SideWinder Force Feedback Wheel

Granted, this Plug-and-Play unit is pretty spartan and ordinary in comparison. I probably dropped too much on it ($8, which is approaching the cost of an iBuffalo USB SNES pad clone), but I’ll keep it plugged in for a week and try some games with it and report back on whether it’s any good.

Update: So I played some Shovel Knight and Umihara Kawase with this controller. The right-side action buttons are A-OK, as are the left and right shoulder buttons. As for the directional pad, my left thumb feels like it’s been through a workout. Since the d-pad has a concave indentation (maybe better described as a crater), the edges of your thumb are constantly being squeezed against a circular ridge of plastic. The dpad is also rotated slightly clockwise, and it’s not always clear where straight down or straight up are by feeling alone. The controller has transparent plastic, and you can see that the d-pad component is mounted to a larger PCB disc which is responsible for pushing down on the contacts. It’s almost like a short joystick that’s been recessed into the controller. Weird.

Unfortunately, the dpad really sabotages this controller.

Thrift Log – Microsoft Sidewinder X6 Keyboard


Found for about $6 CAD. I ended up grabbing it out of curiosity for the weird dials, numerous macro keys, and the Microsoft Sidewinder branding.

Sidewinder was Microsoft’s pre-XBox, “extreme” gaming-oriented peripheral brand, and they slapped the name onto various input devices. The Wikipedia article on Sidewinder goes into some detail on the history, cancellation, resurrection and re-cancellation of the brand. Some of the controller designs are pretty out-there. This keyboard hails from around 2008.

The Sidewinder X6 has a column of macro keys along the left side, a bunch of macro keys above the Funtion Key row, and two curious dials on the top-right. The underlying mechanism is a rubber dome membrane. To use the macro keys, you need to install Microsoft’s Mouse and Keyboard Center software.

So, why two dials? One is for volume, and the other… drum roll … dims the red and amber lighting beneath the keys.


(Re: the brighter light coming from the ‘S’ key: somebody scraped away the paint on that key for whatever reason.)

Where’s the number pad? The number pad is a separate component that can be connected to either the left or right side of the keyboard. I like the idea of a modular keyboard, but the downside is that the components can be lost: the unit I found didn’t come with this proprietary attachment.


I don’t really have a use for the macro keys, but gimmicks aside, it’s a decent backup USB keyboard. One person on Amazon really didn’t like the placement of the Esc key (on standard layouts it appears above tilde (~), but on the X6 it’s over further to the left).

Thrift Log – Cicero Pentium 4 PC


(This is too big for me to photograph in a convenient manner, but here is the Cicero badge on the front for posterity.)

Cicero is an old Future Shop / Best Buy brand, used to sell PCs from other manufacturers. I picked this up yesterday because I have a thrift store addiction the motherboard has an AGP video slot (I’ve got an AGP card lying around with an S-Video port that I want to try sometime), and the case seems to be standard ATX with decent build quality. It cost about $10 CAD.


Stats upon acquiring:

Core Components

  • Case: F-IWF2-03
    • I couldn’t find any relevant webpages on this part number, but it seems to be a standard ATX mid-tower. Build date 9/28/2001.
  • Motherboard: Gigabyte GA-8IDML REV 2.0
  • CPU: Intel Pentium 4 @ 1.5 GHz
  • Memory: 1 x Spectek 256MB PC133 SDRAM
  • PSU: TurboLink ATX-CW420W (Standard ATX)


  • Hard Disk: Maxtor D540X-4K (PATA, 3.5″, 40 GB)
  • 3.5″ floppy disk drive: Alps Electric DF354H090F
  • CD-R/RW: LG CED-8120B (PATA)


  • Video Card: NVidia NVTNT2MA


  • Wi-Fi: D-Link AirPlus G CDWLG510..B1 [sic]
    • Detachable antenna is cracked
  • Modem: AMKO MDP3900V-U(B)


  • OS: Windows XP Professional Edition
    • Whoever previously had this system wiped the hard disk and performed a fresh install of Windows XP, but didn’t activate it, and didn’t install the correct version for the serial key sticker on the box. Wiped and reinstalled.


With only 256 MB of RAM, using Windows XP on this machine is not too pleasant. Gigabyte lists Windows 98 drivers for this motherboard, so maybe Win98SE would be a good fit. The case is a good candidate for gutting, maybe for a low-end server, though ventilation could be an issue for anything producing a lot of heat.


Edit 19/Sept/2016: 3.5″ Floppy Drive, not 3.25″

Cave Noire


Konami’s 1991 Cave Noire is a bite-sized dungeon crawler for the original Game Boy. Released in Japan only, it seems to have come and gone without much notice, outside of a small following on the internet. With minimal story and randomized dungeons, it can be considered a cut-down take on the Roguelike genre, with an emphasis on evading monsters.


Cave Noire has four dungeons with 10 difficulty levels each. Each dungeon uses mostly the same creatures and chamber data, but they have unique background tilesets, and the win conditions are different.

Once a dungeon’s win conditions are met, you need to find an escape door and get out alive. Completing difficulty level 1 of a dungeon will let you play level 2, and so on, up to the tenth level (called M). You win the game by completing difficulty level 6 of every dungeon, but you can continue beyond that, up to M if you want.

You can travel down a floor by using a staircase tile, or by dropping down a pit, but you cannot return to a previous floor. The dungeons vary between short floors with one or two chambers, and larger floors with up to about 8 chambers. Monster and item information is persistent for as long as you are on a floor, so if you dropped a health potion in a previous room, it will still be there on your return. While the dungeons do have a bottom floor, it is very unlikely that you will ever get there before you die or fulfill your win conditions.


cn_quest_1Dungeon 1: Defeat Monsters

You’re given a quota of monsters to destroy. On higher levels, this quota gets pretty high, and you need to pick your battles carefully.


cn_quest_2Dungeon 2: Collect Gold

Strangely, gold has no purpose in Cave Noire outside of this one quest — there is nothing to spend it on. Gold is found in treasure chests, lying on the ground in some rooms, and is occasionally dropped by the tougher enemies when defeated. Larger batches of gold are found on lower levels of the dungeon.


cn_quest_3Dungeon 3: Collect Orbs (Goblets)

Pick up a certain number of orb / goblet items and escape the dungeon. This might be the most challenging quest, because the orbs that you collect will occupy your inventory slots, squeezing out useful spells and potions. On the ‘M’ difficulty, the required orbs will take up your entire inventory.


cn_quest_4Dungeon 4: Rescue Fairies

Locate keys in the dungeon, and then use them to free captive Fairies. Rescuing a Fairy will destroy all enemies and partially remove fog from the screen.



Cave Noire features monsters with variable sizes, such as dragons that occupy four tiles, and different movement patterns. Some of them chase the player, while others patrol vertically or horizontally, or move in a small circle, or hug the walls.

Monsters will attack when you are adjacent to them, or retaliate after you strike them first. But you can also evade monsters indefinitely, even if they are right behind you, as long as you keep moving.

loop1 loop2



Periodically, you will find yourself on a dark or foggy floor. The fog masks all terrain hazards, and enemies are harder to identify (they’re drawn as a pair of cliche “evil eyes” when on a fog tile). When you move, any fog around your eight neighboring cells will be lifted. You have to tread carefully through fog so as not to fall down a hole (travel to next floor and take 4 damage), fall into lava (instant death), or get cornered by a monster.

Some resources on the game:

Monster GIFs

To the best of my knowledge, this is every enemy in the game:

cn_enemy_stationarycn_enemy_zombie cn_enemy_spider cn_enemy_skeleton cn_enemy_knight cn_enemy_minotaur

cn_enemy_mimic cn_enemy_ghost cn_enemy_gas cn_enemy_grim_reaper cn_pointer cn_fire

cn_crab_small  cn_enemy_centipede cn_enemy_stump

cn_enemy_big_bat cn_goblins_framerate_fix cn_enemy_giant_enemy_crab

cn_serpent cyclops

 cn_enemy_hydra  cn_enemy_big_guy_recropped

cn_enemy_big_dragon_white_framerate_fix cn_enemy_dragon_dark

cn_dragon_more cn_another_dragon


(e 24/Sept/2016: wording)
(e 18/Nov/2017: wording)
(e 2/May/2018: translated manual link)



XMPlay is a free and lightweight media player for Windows, with support for a wealth of custom audio formats and Winamp-compatible plugins.

One of XMPlay’s best interface features is configurable global-focus shortcut keys. You can configure volume up/down, skip/rewind, and next/previous shortcuts which work while your focus is on another program, even when in Full Screen mode. I like to use it for playing and controlling podcasts while doing something else.


One thing XMPlay doesn’t seem to handle intuitively is numbered files without leading zeroes. For example, loading a set of 12 songs labelled:


The order will be:

And so on. But if the files are tagged appropriately, you can sort them by metadata such as track number by right-clicking on the question mark button in the playlist window.


MIDI Soundfont support

XMPlay’s native MIDI plugin can be configured with soundfonts to sound nicer than the standard Windows MIDI playback. A pretty decent soundfont (Chorium) is provided on the plugin’s download page.

Other soundfonts:

¥Weeds¥ General MIDI Soundfont by Rich Nagel. A nice alternative to Chorium.

Regression FM – Makes everything sound like a Sega Genesis game. I can’t find the author’s website anymore, but the Regression FM Youtube channel has a download link for the soundfont under the ‘About’ page.

OPL3-FM 128M by Zandro Reveille – FM synth timbres by The Fat Man, sampled from an ISA Sound Blaster 16. Can be found on the author’s website or on Github.

Vintage Dreams by Ian Wilson – Vintage synthesizer theme, can be found on this webpage.

(e 11/Nov/2016: Images, sorting by metadata)
(e 13/Nov/2016: OPL3-FM 128M)


Vintage PC Notes

These are some scattered notes about vintage PC configuration and maintenance, mostly related to a Dell OptiPlex GX1 (Pentium III CPU) that I adopted from work. Subject to change, no warranty, etc, etc.


Windows 98SE: Installation

To install Windows 98, you need both the installation CD, and a boot disk. The boot environment lets you partition and format the hard drive. After this, you can run SETUP.EXE on the CD-ROM drive from this environment to start the installation.

Amazingly, Microsoft still has an extensive TechNet article outlining the Win98 install steps online.

If you need a floppy disk drive to create the boot floppy, external USB 3.5″ drives are still available if you look for them.


Windows 98SE: Start in DOS Mode

See here:


IDE (Parallel ATA) Hard Drives

One ribbon cable supports two drives, and one drive needs to be designated the Master, and the other the Slave. I don’t think there’s any speed or priority difference between the two, it’s just a way to enumerate resources. Alternately, they can both be set to Cable Select mode, in which case the BIOS will figure out enumeration on its own, but both drives and the BIOS must support this setting.

The ribbon cable connector which is furthest away from the others is for the motherboard. It shouldn’t matter which of the two remaining connectors is used for the master or slave — the jumpers define which is which.

Master/Slave/Cable Select has to be configured by hand on each drive to match what the corresponding settings are in the motherboard BIOS. Unfortunately, the jumper settings vary by manufacturer and drive model. If there is not a clear diagram on the drive label indicating which pins are for which setting, look for any kind of jumper layout indicator on the drive stickers, such as “J50”. In this case, the J50 setting for Master is to stick the jumper on the two far-left pins.

Floppy disk drives

Floppies usually have their own ribbon / bus with fewer lines and a small twist on one end. The twisted end connects to the drive.


CD-ROM / DVD-ROM drives

CD/DVD readers have an additional audio passthrough port to the motherboard for passing CD Audio.


RAM DIMM / SODIMM Identification

See here:


Dell OptiPlex GX1 – Slowdown and Speedup keyboard shortcut

This PC has a nice “turbo key” style speed shortcut. Hit CTRL + ALT + \ or CTRL + ALT + # (varies by OptiPlex model) to toggle between a slow mode and normal operating speed.

This can be done at any time in DOS, and in Windows if you have a DOS Prompt in focus or full-screen (Real Mode). The slow mode is very slow, but it can remedy issues such as ISA Sound Blaster cards not playing audio correctly because the CPU is too fast.

Thanks to Vogons user retrofanatic for making me aware of this — the only other way to do it is to reboot and change a setting in the BIOS.


Dell OptiPlex GX1, Ubuntu Server 15: Blank display (no signal) after BIOS startup

My understanding is that old video hardware sometimes gets confused by the graphical video mode now used in the GRUB bootloader. You can try forcing GRUB to start in console mode instead.

To force console mode:

  • Use the Ubuntu installation disc to enter rescue mode. Choose the root partition and enter the terminal.
  • sudo vim /etc/default/grub
  • :colorscheme evening if you are having a hard time seeing the text.
  • Press insert to switch to Edit Mode.
  • Add nomodeset in the GRUB_CMDLINE_LINUX_DEFAULT= field.
  • Uncomment the GRUB_TERMINAL=console line.
  • Save your changes — press Esc to leave edit mode, then type :wq to save and quit.
  • Back at the terminal, update the GRUB bootloader information with sudo update-grub. After this is completed, type exit to return to the rescue prompts and reboot the system.

(Sources: Ubuntu Forums – “Thread: Out of frequency, Dell Optiplex GX 1”Ask Ubuntu – “How do I set ‘nomodeset’ after I’ve already installed Ubuntu?”)



ZZT is a sort of action-puzzle-adventure mashup for MS-DOS, the debut title from Tim Sweeney’s Epic MegaGames in 1991. Technically obsolete before it was even released, it uses Code Page 437 for graphics, the PC speaker for sound, and has a very silly and abstract tone.

ZZT is a difficult and unforgiving game that frequently tests the player’s patience, but it’s also pretty charming and mysterious. At a glance, it sort of resembles an ASCII Roguelike, or Apogee Software’s Kroz series. While Kroz uses a level-based progression, ZZT is more open-ended, with persistent screens that you can revisit.

ZZT enjoyed a cult following thanks to its built-in level editor and scripting language. Any user could build their own scenarios, even with the Shareware version.



The original ZZT Worlds

Tim Sweeney made four game worlds for ZZT:

TOWN.ZZT – The Town of ZZT
DUNGEONS.ZZT – The Dungeons of ZZT
CAVES.ZZT – The Caves of ZZT
CITY.ZZT – Underground City of ZZT

The Town of ZZT is the Shareware episode, and the others could be purchased through mail-order. All of the episodes are freeware now.



The Town of ZZT covers nearly all of the engine’s built-in functionality, and sets the tone for what to expect from other ZZT worlds. In it, you are tasked with finding several purple keys to unlock the ZZT Palace. These keys are scattered throughout the game world, and you’re free to track them down in nonlinear order.

Town is a mix of simple action, mazes (sometimes dark mazes, requiring a torch), and slightly more serious block-pushing puzzles. The enemies are kind of random and difficult to shoot, but the puzzle pieces are predictable, for the most part. There are boulders that can be pushed, but not pulled; sliders that can only be moved in two directions; pushers that shove anything in their way forward, and several other single-cell game pieces that can be combined together into fragile puzzles that necessitate a quit-and-reload if you mess them up. Town is very unforgiving, and the expectation is that you are making new save files whenever you feel even remotely at risk of losing.

There is not really any town in the Town of ZZT. Puzzles and action sequences are just there, because why not? Your reward for breaking into the ZZT Palace is … more ZZT. If and when you make it to the end, the game acknowledges your victory, and that’s pretty much that.

As for the other episodes, they are very much in the same vein. Dungeons of ZZT is a little heavier on action, Caves uses many dark areas and has some tougher slider puzzles, and City feels a little more like an adventure game (just a little), with increased emphasis on NPC interaction and some more object scripting.

Running ZZT Today

In the modern day, how does one take advantage of this opportunity for adventure, puzzles, savescumming and swearing? Browser-Based Emulator  — This is probably the easiest way to play ZZT right now. Just click the link, and voila. All of the original episodes are packed together, and you can find a plethora of other ZZT world files by searching The main downside is that your save files might not persist between browser sessions.

DOSBoxDOSBox works well with ZZT, and can be installed directly onto a variety of platforms. ZZT itself can be downloaded from the link above, as well. Some notes follow:

  • Just a heads up: the volume of DOSBox’s simulated PC Speaker is very loud by default.
  • To make input more responsive, you can increase the default CPU cycles from 3000 to about 10000 — use CTRL+F11 and CTRL+F12 to adjust on the fly. Cycle count is shown in the title bar.
  • There are alternate builds of DOSBox other than the common stable 0.74. Lately I’ve been using DOSBox Daum, which has some benefits:
    • 0.74 has an issue with keyboard input, where releasing one key will cause all keyboard keys to be released. This makes navigating around corners difficult. Other DOS games affected include Betrayal at Krondor. DOSBox Daum doesn’t have this problem.
    • You can toggle aspect correction straight from the menu, so you can view games from the era of 4:3 CRT monitors a little more like they would have looked at the time. You can then turn this off if it’s making things hard to see.
    • You can maximize the window, and toggling fullscreen mode also appears to be faster than plain 0.74.

Native MS-DOS or 32-Bit Windows – The most authentic, but least practical solution. The last systems capable of running ZZT directly were 32-bit Windows machines (and even they use an emulator behind the scenes).

Also, two ZZT supersets / emulators now exist: Chris Allen’s ZZT Ultra and SaxxonPike’s Lyon. I haven’t dug into them much yet, but they look promising.


3rd Party ZZT Games


I started writing some reviews of ZZT games here, but my ZZT nostalgia binge is drawing to a close for now, not to be recharged for another few years. The list I was working on had significant overlap with existing recommendations on the web, so I’m going to take the easy way out and just link to those instead.

As mentioned above, most ZZT games have been uploaded to, and can be played directly within your browser. Just go to, and search for the game’s title, plus ZZT. If the games lag in your browser, try hitting CTRL+F12 to increase the speed of the emulated CPU. If they still lag, you can download the games from the same page, run them in DOSBox, and try hammering CTRL+F12 again.

Other Links

Worlds of ZZT is a social media preservation effort by Dr. Dos. Follow the worldsofzzt Twitter bot to pepper your feed with randomly-selected ZZT game screenshots.



VirtualBox Administration Notes

(Note: This post probably won’t be touched again due to my switching to KVM.)

This is a placeholder for some notes about command-line installation and administration of VirtualBox, Oracle’s free virtualization suite. Most tasks can be handled from the VirtualBox GUI, but to work on a terminal-only server, you will need to interact with the VboxManage command line interface.

The VirtualBox end-user documentation is excellent, and most of these notes are taken directly from it unless otherwise noted.

Unfortunately, I don’t have a headless server set up right now. I’ll just leave the most basic start/stop commands here, and will add more to this post when I have the environment back up and running.

Quick Command Cheat-Sheet

Check what’s registered/running

Show all VMs
VBoxManage list vms

Show running VMs
VBoxManage list runningvms



Start up a VM
VBoxManage startvm “your_vm” &

Start up a headless VM (no GUI)
VBoxHeadless -startvm “your_vm” &

Hibernate a VM
VBoxManage controlvm “your_vm” savestate

ACPI power down signal
VBoxManage controlvm “your_vm” acpipowerbutton

Poweroff a VM (pull the plug)
VBoxManage controlvm “your_vm” poweroff


Cleaning House

Unregister and Delete a VM
VBoxManage unregistervm “your_vm” –delete



Notepad++ is a free and open-source text editor for Windows, and a great substitute for the standard text editor that ships with Windows. It’s packed with features, and supports 3rd party plugins — the following are some notes about features I find come in handy.

I have limited experience with keyboard-driven editors like Vim and Emacs. These may cover the same functionality, and more — I don’t really have the experience to say. In any case, I think NP++ strikes a nice balance between features and accessibility in a Windows environment.


Block Editing

To highlight 2D blocks of characters, hold SHIFT + ALT and move the cursor with the arrow keys. Alternatively, hold ALT, and then click and drag the mouse cursor. You can copy and paste blocks, and insert and delete characters along multiple lines. Two use cases are 1) to insert new columns or ASCII separators into tables, or comment out a multi-line block of code, and 2) to block-copy and paste boxes and other shapes in ASCII diagrams.

npp_block_edit1 npp_block_edit


Find (in files)

Notepad++ allows for searching within the current document, among all currently opened docs, and within a directory path. There are three search modes: one that uses normal / literal words and phrases, one with an extended parsing mode that includes escaped characters, and one with Regular Expressions. For in-depth log analysis, you are better off using the proper command line tools,  but Notepad++ can still be useful for quick searches. My experience is that it has trouble with stability when opening and searching 100+ megabyte files.

The search results are shown in a horizontal pane. Double-click a result line to open the document at that line number. These results can also be copied and pasted into a new document and be searched through.

npp_search1 npp_search2


Configure Notepad++ to use spaces instead of tab characters for Python only

Select Settings -> Preferences and choose Tab Settings.

Select from the list box, select ‘[Default]‘ :

  • Uncheck ‘Replace by space

From the list box, select ‘python‘ :

  • Uncheck ‘Use default value
  • Set tab size to your preference (I use 4)
  • Check ‘replace by space

Close the settings box. This change takes effect immediately, but does not apply retroactively. To convert tabs to spaces in an existing py source file, you can select Edit -> Blank Operations -> TAB to Space.


Enable the Documents sidebar

(If you do not see the options below, try upgrading to the latest version of Notepad++. I have this set up in v6.9.2 as of 13/Aug/2016.)

The file list can be enabled here (Settings -> Preferences -> General -> Document List Panel: Check Show. Optionally disable extension column for a cleaner look.) :



Save document state on exit

This can be configured within Settings -> Preferences -> Backup.

  • Check Remember current session for next launch.
  • Check Enable session snapshot and periodic backup.

Unsaved files will be saved to the below directory when you exit NPP. They will be restored when you start the program again.


Some caveats with this feature:

  • If Notepad++ crashes, the files may remain there without being cleaned up. They could also be corrupted and lost if it can’t recover gracefully (let’s say you did a Find in Files search and Notepad++ croaked in the process).
  • Be careful not to leave sensitive notes in unsaved files when you close Notepad++, because they will be saved straight to disk with no encryption.

(edit 10/30/16: wording)