My history with a Commodore 64

Before December 1983 my dad had written a letter to my mum which my grandmother read aloud which mentioned something to the effect of, “I’d like to buy Iain and Robyn a Commodore 64”.

The excitement of me going, “YES!” and then realizing maybe that wasn’t the response I should have given, “Maybe not? Is it okay?”. You could see the confusion in my voice because my parents did not have the smoothest of divorces and messaging was really confusing about us hating him yet still having a relationship with him.

I digress, December arrived and he visited taking us to the University of Guelph to introduce us to some of his colleagues and their work, going for meals. I really felt in those days, Dad was doing his best and making an effort to do what he could to inspire us and be a Dad.

I was too excited, after all, I was 10 years old and I was about to get an amazing computer! I had already experienced an Apple ][ and Commodore PETs at school; being exposed to UNIX and an IBM 5150 PC at my mum’s work; and friends had a Commodore VIC-20.

We drove to Guelph one late afternoon, went to a Zellers, and pick up a Commodore 64, a 1701 monitor, 1541 disk drive and all with, i think, a free VIC Desk! I think we also got Music Maker as well, so we weren’t left without something to try.

Those early days of not understanding how to load programs from the Commodore 64 and the 1541 – I remember my Grandfather and Uncle figuring it out; to getting my first joystick – a Suncom Slik Stick, and games Radar Rate Race and Jupiter Lander for my birthday.

I did so much with this computer

  • I played and copied many games
  • I did hours of homework using Easy Script and geoWrite
  • I spent a lot of time entering programs from magazines, though I admit to not writing too many of my own designed programs in those days. Compute!’s Gazett, Ahoy!, Commodore Magazine, Commodore Power/Play – I had to get them monthly from WH Smith – thanks mum! I actually still have these though I am considering passing these on to the University of Toronto’s Computing Archive
  • To help me learn the piano, I’d using music sequencing software to help learn timing of notes and such – this definitely inspired my music project, in the future and my comfort in programming analogue synthesizers
  • I did a lot of BBSing once I picked up a Commodore 1670 modem, around, I think, 1987

Mum actually used Paperclip to help type a book for one of the profs she worked with, rather than typing it out on Wordperfect on her work PC. I don’t remember how long the Commodore 64 was in her bedroom or at her office, but it certainly was a significant amount of time.

I made a number of friendships over the Commodore 64 – Paul and his dad too me to my first World of Commodore in December 1984. Paul gave me some of the first games – Ghostbusters, Pole Position and Frantic Freddie.

I’d learn about Super Snapshot cartridges, fast loaders, how bad Commodore printers were – thanks to my uncle for helping to purchase a Commodore 1526 printer that I used for many years to print out assignments; until I purchased a Xetec Supergrapics Jr and a Star NX-1000 Rainbow printer – the first piece of computer hardware I saved up for and purchased with summer work money.

I even bought a 1764 REU which, in some respects was a waste of money, though it really did speed up GEOS which I used VERY extensively for homework assignments.

I still have that Commodore 64, the 1541 disk drive, the REU and every disk I ever owned. Gone is the monitor, the VIC Desk, . The last time I turned it on was last year, and unfortunately, I think one of the PLA chips died as I was backing up my disks to an SD card – Pi1541 for the backup win!

Thankfully, the World of Commodore is still going and I was able to purchase a replacement PLA chip – that I still have yet to install. I will likely do that in the coming weeks.

While the TS 1000 was the first computer I owned, the main computer I used was this Commodore 64. It was a workhorse for me from 1983 to 1990 when I picked up a Commodore Amiga 500.

Such a powerful computer at the time, and I realize now there was so much more I could have learned, especially with electronics and the user port. I’d have loved to have had a second disk drive, a second phone line into the house and run a BBS. I actually did run one for a short time period, but off the main phone line. My grandmother was not pleased with me. LOL!

Still, I did push that computer and loved every minute of it.

Iain The Tech Bear

My YouTube Channel is going through a bit of a transition!

With not travelling as much as I used to, I decided to add a new category of content – Tech Content! Beyond travel and music, it’s one more thing I’m quite passionate about.

There is a lot that I want to talk about between retrocomputing history, Internet of Things, and various projects I have going on.

My history with a Timex Sinclair 1000

What a steal! CAD$69.99 in 1983 and comes with the arcade game, Frogger and Mixed Game Bag 1!

The problem, and the best way to disappoint a kid – to be clear, the corporation, not my mum who spent hard earned money in 1983 to get me my first computer.

To use those games, you’d need a 16K RAM Pack!

I first explored programming on this computer, with a membrane keyboard and the manual in hand, oh and a Panasonic tape recorder to save my programs to.

I’ve mentioned people in my life who inspired me in my career. I mentioned my great uncle, Reggie.

In my life story of the Timex Sinclair 1000, is another person that inspired me – Kenyon Taylor.

Kenyon and his wife were friends of my grandparents. In my fact, one of his sons and my mother dated for a period of time, I think, in the 1950s. When we would vacation in Northern Ontario, we would often travel to Mindemoya on Manitoulin Island where they lived.

Kenyon is famous as one of the co-inventors of the modern trackball, DATAR, vehicle detection systems, and Flip Disk Displays among a number of other patents. In many respects, I was standing in the presence of engineering greatness not really comprehending it as a kid.

We last saw Kenyon shortly before he passed away in June 1986. I remember Robyn and I being very quiet at his side with mum and some of his family members. He is someone I wish I could have spoken to as a teenager or an adult.

Back to our connection on the Timex Sinclair 1000 – When we visited Kenyon, he had a Timex Sinclair 1000 and he inspired me to learn more programming on it and printed out a number of programs for me to type in.

I still have those programs, printed on the Timex Sinclair 2040, using thermal paper!

It gave me some really good inspiration for algebra and trigonometry in high school.

This is one of a number of moments in my history, definitely a gift that I will always appreciate.

I didn’t always use the Timex Sinclair 1000 after about 1988. I’d occasionally pull it out and plug it in for fun, but I have fully transitioned to using my Commodore 64 for gaming, and homework. None the less, I held on to the computer and, as mentioned, I still have it, as well as two backups – one from an acquaintance from high school, and one my partner Sté is passing on to me.

Sinclair computers were such an important part of making computing available to the masses back in the 80s, especially in Europe and would go on to great acclaim with the Sinclair ZX Spectrum, of which I picked up a Spectrum+ when I lived in Norwich in 1995.

I built a Fishbowl

Well almost. See, I got the idea to put together my first desktop Windows-based PC in about 20+ years. Why? I guess I was inspired by my Steamdeck which at the time introduced me to the world of modern handheld PC gaming.

I feel in love with the Steamdeck after years of playing on my Sony PS Vita. The fact that games would also play on a PC versus years of consoles and handhelds being separate really got me thinking. I’ve known for a long time that PC gaming is outpacing console gaming.

What did I spec out for the Fishbowl?

  • AMD Ryzen 9 7950X3D
  • XFX Speedster Merc 310 with an AMD Radeon RX 7900XTX Black Edition
  • Asus ROG Crosshair X670e Extreme
  • Asus ROG Ryujin III 360 cooler
  • LianLi Fans
  • Kingston Fury Beast 16Gbx2 DDR5 RAM that goes up to 6000 MT/s
  • WD Black SSDs

I tend to go a bit overboard on my builds because I do want them to last a long time between upgrades. Using an AM5 motherboard also helps keep that future upgrade path as future AMD processors will be supported.

I also admit, blinky lights and customization in the new generation of PC motherboards really grabs my attention. Where before the boring beige aesthetic was, well the boring beige box aesthetic.

The LED pixel and OLED displays and LEDs around the motherboard, the LCD screen on the cooler and the LEDs on the fans really add to the design to make my machine unique. Different colours also add to the ambience too.

I had to set the lighting to two shades of blue and add the two fish to the cooler LCD screen and the OLED display, and voila – digital fish tank!

I admit, I’m seriously impressed by modern PC tech. Now, the amount of power draw from this is quite something.

Comparing what I started out with, to where we are today. The PC I built is 700x more powerful than a Cray XMP super computers in the 80s! I could never have imagined that as a kid. Even something as small as a Raspberry Pi, what that can do, relative to, even 30 years ago.

I’ve not had a desktop PC since the early 2000s, when I switched to a Mac. I wasn’t a huge PC gamer, and I had started console gaming. Prior to that, I was gaming on 16-bit hardware like an Amiga 500.

I’ve known that PCs were very much getting ahead of consoles, which, at one point, used to be leading edge. Really researching what to put in my build, and seeing the results of it playing Starfield and Cyberpunk 2077 – Just incredible.

I’ve enjoyed the gaming experience so much on my Steamdeck, being able to play those games, literally anywhere between the Steamdeck, on my PC, or on my PC laptop, or streaming in my living room – is epic.

40 Years of Computers

This month I celebrate 40 years since I was given my first computer – A Timex Sinclair 1000. I’ve talked about and reminisced about this time period often.

The fishbowl PC next to my first computer, a Timex Sinclair 1000

Mum finally agreed to get a computer, so off we went to Consumers Distributing in Mississauga on Dundas St, after piano lessons. It was between a Timex Sinclair 1000 or a Texas Instruments TI99/4a – both being on sale. As history would have it, we bough the Timex Sinclair 1000 for CA$69.99 in 1983 – Today apparently that’s $211.77 adjusted for inflation!

That was a huge purchase back in the day, and it had a massive impact on my life.

Two months later, my Dad bought us a Commodore 64 for Christmas at a Zellers in Guelph complete with a Vic Desk, Monitor and disk drive! It was an amazing setup!

With my parents divorced, we had to keep the Sinclair a secret from Dad out of the irrational fear that he would not buy us the Commodore.

I’m so glad and very fortunate my parents invested in my future though both systems. It’s let me appreciate generations of computers from an early age. I used both a fair but, and we expanded the Sinclair with the thermal printer and a 16k RAM pack so we could play Frogger in black and white. 10 minutes to load from a tape deck!

In 1987, an acquaintance from school gave me his TS/1000 and a bunch of tapes. Both still are here with me, as are the tapes and a tape deck.

The impact of having a computer in my life did several things

  • It very much inspired my career – There were several things I wanted to do between becoming a high school Computer Science teacher, to being a software developer that travelled. I ended up doing the latter between software development, being a consultant, management and architecture.
  • It became a major hobby – between maximizing my home network, my retrogaming projects and other things, it opened up a whole new world to me, one that I wanted to play a part in.
  • It helped drive friendships and connection – Nothing like trading games to create community back then. L33t! 😉

My history of computing goes something like this

  • Timex Sinclair 1000
  • Commodore 64
  • Commodore Amiga 500 – I saved up for this all summer, the graphics were amazing
  • AST 486SX Laptop – Which sadly died two years after I bought it, not having used it for a year while I was living the UK
  • Commodore Amiga 3000 – This was given to me by a former work colleague and landlord. I took it with me to the UK and used it to emulate a Mac to complete my assignments
  • Compaq Presario 4528 – This was my first desktop Intel machine – Pentium II power with MMX! I used this to finish my degree
  • PC I had built – I’ve completely forgotten what the specs were for this machine
  • Lenovo T-Series laptop
  • Apple PowerMac G4 Desktop
  • At this point I got indoctrinated into Apple with various Mac laptops – G3, G4, MacBooks, MacBook Pros, MacBook Airs, an Intel-based iMac & MacMinis, and currently with an M1 Mac Mini, and a MacBook Pro
  • Various Raspberry Pi Model 3Bs, 4s, 400s, 3As
  • Minisforum HX90 – My first desktop PC since around 2003 which I was going to use for my arcade project but ended up not doing so
  • Beeline SER5 – I’m using this on my Pinball Machine to drive Pinball FX
  • Alienware M15 – AMD Rizen 9 7845 and Nvidia GeForce RTX 4070
  • And finally, to celebrate my 40th year of computing, I finally built my own PC with my friend Charles with an AMD Rizen 9 7950X3D and an AMD RX 7900 XTX which is all decked out with LCDs and LED lighting

If I were to include game machines:

  • Commodore Amiga CDTV – Do we really consider this a game machine? LOL
  • Commodore Amiga CD32
  • Nintendo Gameboy Colour
  • Nintendo Gamecube
  • Nintendo Gameboy Advance SP
  • Nintendo 3DS
  • Nintendo Wii
  • Sony Playstation 3
  • Xbox 360
  • Sony Playstation 4
  • Xbox One
  • Sony PlayStation 4 Pro
  • Xbox Series X
  • Playstation 5

Which gives me pause for thought.

Put my Timex Sinclair 1000 next to my new desktop PC – As a kid, I could not fathom having a computer that could generate the images that we now see in 4K on our computer monitors. My friends and I thought it was going to be an impossible task to emulate an Amiga, yet, today we have small credit-card sized computers that can emulate such a machine many times faster, with a huge amount of ram and storage space, relatively speaking.

At that time in the 80s, I’m not sure we could envision what we have today, even in the 90s. I think, by the 2000s you could see where things were going so the surprises are becoming fewer and fewer.

How many Cray XMPs are on my desktop? 800 MFLOPs versus 563 GFLOP (563000 MFLOPS) – 703 times the processing power!

We’ve come a long way from having to cool super computers the way we did in the 80s to what we have today.

The power of my new desktop, even my laptop, is completely insane!

I do believe one of my Timex Sinclair 1000s still works, the other would need to reconnect the keyboard properly and fix one of the membrane keys. The other challenge is having a TV with an analogue antenna port, which I do have, so I have ways of connecting the computer up to a TV.

Frogger for the Sinclair ZX81/Timex Sinclair 1000 being run off my Raspberry Pi arcade console

This is one of the reasons I believe in retro gaming archives and emulation, so people can experience what it was like using some of these more “primitive” machines which are so important to computing history, inspiring people and getting computers into the home.

I won’t lie that I miss the discussions we would have on the merits of different platforms, specifications, what computer the future should pick but that business had blinders on focusing on Intel 80X86 systems rather than the superior Motorola 680X0 series, what the future should be. We were all idealists back then, and we did have some foresight.

Thing is, that discussion became – Xbox versus Playstation, AMD versus Intel, Windows versus macOS. Where it used to be considerably broader, it always seemed to become two against each other – Commodore versus Atari back in the day.

DOS and Windows did become way more refined like Amiga Workbench and Apple macOS. Platforms are a lot more open. For example could you imagine the Windows Subsystem for Linux to run Linux oriented software on Windows? macOS being built on BSD? I couldn’t have either.

So what is there to get excited about these days, especially given 40 years of system versus system battles? Here is what I’m interested in:

  • Miniturization – The fact that a Raspberry Pi running an ARM core can emulate so many machines is, in many respects, mind-blowing. Just how powerful that platform is.
  • Efficiency – While my “Fishbowl” is one of the fastest setups you can buy, speed isn’t necessarily everything to me. Doing what I can with efficiency is really neat, which goes hand in hand with miniaturization. Doing all that I can to maximize use of the system. For example, I have a Raspberry Pi server in my home running multiple applications on a single machine – I’m not using an x86-based system for this.
  • What’s going on with other platforms? – I like learning and seeing what’s going on in the macOS, Linux and Windows worlds, especially with being away from the Windows world for over 20 years.

There are other things too, but those are the top three.

It’s been an incredible journey of 40 years.

Steamdeck

For the past year I’ve been playing with a Steamdeck.

I adored the Sony Playstation Vita, and when I saw the Steamdeck, I saw it as a worthy successor and I think I’m right.

The Steamdeck is fantastic! Now, there are definitely more powerful handhelds out there such as the Asus ROG Ally, but the Steamdeck was really the game changer handheld gamers were looking for.

What do I like about it?

  • It runs Linux – Nothing like seeing the power of Linux shine at a gaming level. Steam did a great job of creating SteamOS off Arch Linux
  • I can use it both as a gaming machine and as a Linux desktop, especially when in a dock hooked up to a keyboard, monitor and mouse
  • It runs Windows – Not that I run Windows often on the Steamdeck, but it’s definitely an option and I’m running it off an SD card
  • It runs Emulation Station – This was a huge factor in me buying the Steamdeck, I wanted to be able to carry a subset of my retro gaming archive on the Steamdeck.
  • How it feels in my hands and how visible the screen is
  • The controls are good
  • For how powerful the machine is, the battery life is not bad

What do I dislike about it?

  • The size of the Steamdeck is big and the case just adds more to it. That said, it’s kind of to be expected, people need a good size screen, good controls and a comfortable unit, so there are definitely tradeoffs.
  • It can run warm – Although I throttle using some plugins which saves battery life
  • The virtual keyboard takes up too much of the screen, and sometimes blocks fields you’re entering, say, a username or password in

There’s not much I don’t like, honestly and I can very much live with the things I dislike.

I’ve played some AAA titles such as Stray, and I didn’t see much lag, and the Steamdeck kept up with the game.

I do tend to play more modern retro-like games and games that don’t tax the system, however I would like to play more immersive modern games on it.

Now, how do I balance Steam versus my game consoles? Well, there are certain games that I’m going to want to play on multiple platforms – Tetris is one game that I want with me. I think this is also why I play more retro-like and independent games on the Steamdeck, because they don’t necessarily exist on the consoles, or if they do, I’m more likely to play games while travelling, or casually outside versus inside.

Some games are mean to be played on a big TV, some, I’d say handheld, and others work for both.

Steamdeck, Asus ROG Ally or other? Hmmm – The Steamdeck, when I ordered it, was definitely one of a kind and it definitely spurred a whole new industry.

I admit, I love the look of the Asus ROG Ally, but I’m a bit meh on it running Windows out of the box. I know there are sites that document how to setup Linux and get close to a Steamdeck experience on the Ally and that will improve over time. The Ally is definitely more powerful than the Steamdeck.

I think, ultimately, weigh the pros and cons of Windows versus Linux. SteamOS is pretty fantastic and I’ve not had any issues with it.

Raspberry Pi Projects

I adore the Raspberry Pi platform. A small, credit card-sized computer, that’s cheap, relatively powerful and extremely versatile. If you’re looking for one, have a look at rpilocator.com which provides inventory detail around the world for Raspberry Pis.

While they primarily run Linux, there are a number of operating systems available including a bunch of Linux distributions including sub variants like Android and ChromiumOS, FreeBSD, RISC OS, and Plan 9.

I pretty much run Raspberry Pi OS, formerly Raspbian, on all my Pis. Here are a few projects I’ve created over the years

OctoPrint – I run OctoPrint on my 3D printer as a print spooler so I can keep my other computers going on other projects, especially for long print jobs.

Pi-Hole – I run an ad blocker on my home network so it a) reduces the amount of traffic on my home network, b) reduces how often we get profiled by ads, c) reduces annoying web pages as much as possible.

RetroPie – I run RetroPie on my home arcade consoles with my curated image of games from the 70s to early 2000s.

Recalbox – I have a few handheld Raspberry Pi Zero -based gaming machines such as the Retroflag GPi Case that run Recalbox. Well worth looking into as an alternative to RetroPie.

Pi1541 – When backing up old Commodore 64 disks and adding to my curated game images, I sought out Pi1541 to save backups of my disks. It works very well as a 1541 drive emulator.

Pimiga – Anyone who knows me knows how much I love Commodore Amiga computers, and I have quite a collection at home. When I heard about Pimiga, I had to try it out. It’s pretty amazing.

PiStorm – While i’ve not actually finished setting this up, I have a PiStorm to breathe new life into my Amiga 500 and 1000 in my collection. In short, it replaces the Motorola 68000 with software emulation running on the Raspberry Pi, accelerating the Amiga, and also supports RTG so you can run your Amiga off an HDMI screen rather than having to find a 15khz monitor. it also allows you to run any Kickstart – available with Coloanto Amiga Forever.

Home Assistant – I attempted to setup a Home Assistant at home, however I think I unfortunately killed the SSD – I’m in the process of reviving it – despite having a fan in the case. I went with Home Assistant as I’ve been concerned – what happens to our web-connected smart devices when manufacturers fold or cease to support a device? I’m using an Argon One M.2 case for this project.

Home brew projects

On Air Indicator – Based on a Raspberry Pi Zero W, I created an internal website that indicates if a room is in use, okay to enter, etc. Useful for Scott’s office when he’s teaching. I used a Pimoroni Blanket! LED, Apache, PHP and Python to

Game Console – An extension of RetroPie, here is a link to my page for how I put together my custom arcade game console.

What models am I using?

Primary Pi 4s and 400s with 4Gb of memory. I use a Pi 400 as my “primary” Linux machine in my office for general tinkering, testing and other geekery at home.

My OctoPi runs off a Pi 3B, and it’s more than enough power for that setup.

My handheld and On Air Indicator project run of Pi Zero Ws, and I have a Pi Zero 2W I also use with the GPI case – the 2W is close in power to a 3 which is huge.

For PiStorm, I’m using a Pi 3A which has a much thinner form factor.

And there you go!

RetroPie, Ultimarc I-Pac Ultimate I/O Game Console, RGB Commander and xboxdrv

About two years ago, I was inspired by my partner Sté to put together my own arcade game console with buttons, two joysticks, blinky LEDS and make it Raspberry Pi and RetroPie-based.

It was a great project to start during the COVID-19 Pandemic, but I ran into an issue when one of the vendors sent me the wrong cables. I finally got around to sorting this out and got the controller up and running.

I’m putting this together so that anyone who wants to do something similar with RetoPie can do so. There were some hoops I had to jump through to get this working, mainly around drivers that were no longer available, but re-found courtesy of the Internet Archives.

Here is where I picked up the parts:

  • Game Room Solutions – Who designed the console box and artwork
  • Ultimarc – I went with the Classic RGB Illuminated buttons and went with the I-Pac Ultimate I/O which acts as a keyboard, Xbox 360 Controller, or dInput. I also wanted illuminated joysticks.
  • Raspberry Pi 4 – The guts of the system – 4gb spec.
  • Crucial X8 4Tb SSD – I wanted something fast, relatively low power, and efficient for space. I also have curated a significantly large image of games from the 70s to early 2000s. Previously I was using a WD 4Tb My Passport which does the trick and thankfully I was able to copy the image to the SDD.
  • Atolla USB Hub – While it seems I can power the SDD from the Raspberry Pi directly, I wanted to make sure I had a powered USB hub to help with power.
  • Various cables
    1. USB A-USB C cable for power to the Raspberry Pi from the USB hub
    2. Power cable for the Ultimate I/O board to power LEDs
    3. Micro USB-USB A for the Ultimate I/O board for cotrol
    4. Micro HDMI to HDMI and with a female to female converter to hook up to my TV

A lesson learned

I originally bought a set of buttons and a controller from Amazon or Aliexpress, and while it sort of worked, I ran into an issue with keyboard emulation. From what I recall, I couldn’t use two of these controllers at the same time for the two different sides, or something else. It’s been a while. I know I also had some issues with powering the LEDs on those buttons.

I was also frustrated because the buttons were really brittle so taking off the switches broke the harness that the switch sits in.

Setting it up

When ordering the Ultimate I/O board make sure you go with the 4.8 mm switch connector. The buttons had 4.8 mm connectors, not the 2.8 mm which are for the Goldleaf connectors. I had ordered the 4.8 mm harness with mine, and Ultimarc sent me the 4.8 mm and 2.8 mm version.

Wiring is not too hard, but a few tips:

  • Make a note of where you’re connecting your LEDs for the buttons as you’ll need the port numbers for programming/configuration later
  • Pay attention to the switch harness and what wire goes to which button as they are specific
  • Buttons for Joysticks and Buttons themselves often have two connectors – for the signal wire. I found that you want to connect the signal wire to the terminal closest to the ground. Otherwise it assumes the switch is closed when you’re not pressing the button rather than open:

Keyboard or Xbox 360 Mode?

The Ultimarc I/O board can switch between multiple modes – Keyboard, dInput, and Xbox 360 mode. I didn’t explore much with dInput mode as I’ve had good experiences with both Keyboards and Xbox controllers with RetroPie.

There is once big caveat – If you use Xbox mode, you cannot control the LEDs on the board. As I understand it, Microsoft locks down the abilities of boards that emulate Xbox controllers in their protocols, and so you cannot control the LEDs.

That said, two controllers are clearly visible in Xbox mode and it works well. Just be sure to program the triggers to the proper Coin and Start buttons if you use this mode. If you’re not using LEDs, this could work for you.

Now, what is the challenge if you use Keyboard mode with RetroPie? Well…out of the box, you can only setup the keyboard as a single player device, you can’t have two distinct set of controllers and control them as Player 1 and 2 separately.

If you try to setup both sides, you end up wiping out the controls for the other player. So if I setup Player 1 and then setup Player 2, I end up wiping out the Player 2 controls.

Attempt #1: xboxdrv

Update 2023-08-31: I thought xboxdrv to the rescue, but it actually didn’t work. Sure enough, it turned my keyboard into an Xbox controller, but only one controller, not two.

So you can’t say one part of the keyboard is player 1, and another part is player 2. ARGH!

Here is what I had previously written:

xboxdrv allows you to setup a single keyboard-like device as two controllers (nope!). So your device still acts like a keyboard, and the driver converts the keypresses as if it were an Xbox controller. Perfect for what I needed so I can control the LEDs and have two controllers.

The RetroPie documentation is great is covered what I needed, as is the manpage for xboxdrv.

Ultimately what got me over the hurdle was the –next-controller command. Here is the command line I ended up using for the base configuration of my Ultimate I/O:

sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
    --evdev /dev/input/by-id/usb-Ultimarc_I-PAC_Ultimate_I_O_4-event-kbd \
    --silent \
    --detach-kernel-driver \
    --force-feedback \
    --deadzone-trigger 15% \
    --deadzone 4000 \
    --mimic-xpad \
    --dpad-as-button \
    --evdev-keymap KEY_LEFTCTRL=a,KEY_LEFTALT=b,KEY_SPACE=x,KEY_LEFTSHIFT=y,KEY_Z=lb,KEY_X=rb,KEY_C=tl,KEY_V=tr,KEY_3=guide,KEY_1=back,KEY_5=start,KEY_UP=du,KEY_DOWN=dd,KEY_LEFT=dl,KEY_RIGHT=dr \
--ui-axismap lt=void,rt=void,x1=void,x2=void,y1=void,y2=void \
  --next-controller \
    --evdev-keymap KEY_A=a,KEY_S=b,KEY_Q=x,KEY_W=y,KEY_I=lb,KEY_K=rb,KEY_J=tl,KEY_L=tr,KEY_8=guide,KEY_6=back,KEY_2=start,KEY_R=du,KEY_F=dd,KEY_D=dl,KEY_G=dr \
    --ui-axismap lt=void,rt=void,x1=void,x2=void,y1=void,y2=void \
    &

This works perfectly for what I wanted. Definitely use the by-id approach as that guarantees the Ultimarc Game Controller is used rather than any other plug and play device.

Nope, that did not work – I suspect I had my keyboard plugged in at the time.

A real shame, because if someone could get the OS to interpret two different parts of the keyboard as a joystick, then that would be awesome.

Attempt #2: Update retroarch.cfg

Ultimately, I had to follow the page on Keyboard controllers at Retopie and setup retroarch.cfg for all systems to use the keyboard as player 1 and player 2. This works well with Retroarch and definitely, two people can play head to head with the controller AND I can use the RGB lights.

There’s a problem though. What if I wanted to play a game like Gauntlet with four people, two on the controller, and two on wireless joysticks?

It seems that for now, I’m a bit out of luck unless I use a tool like Retropie Joystick Selection and force a joystick to be used for player 3 and 4. It’s kludgy but it works. It would be nice if this were available through the Emulation Station UI so I don’t have to login to my Raspberry Pi to make the changes.

Now, for practicality sake, how many people will actually use the controller directly versus using wireless controllers? Most people will likely play games with wireless controllers as our living room is in a bit of an odd layout with the couches perpendicular to the television.

Wireless Controllers?

Of course! I want friends to be able to play games like Gauntlet – very much a favourite – which supports up to 4 players. This was a big deal when Atari came out with the game, and very much my kind of D&D-like game to throw virtual quarters at.

I’m using 8BitDo SN30s and Ultimates in my build. The Ultimates will be the primary controllers for player 1 and 2, with the SN30s for player 3 and 4, or if preferred, someone can use the SN30s.

How about that LED Lighting?

Ultimarc suggests using RGB Commander, however clicking the link, RGB Commander no longer exists. Doing a search, RGB Commander is nowhere to be found.

Welcome to the Internet Wayback Machine – You can download version 4.0.5 here, which was the last version.

Details can be found here.

Much thanks to Gijsbrecht De Waegeneer – if there is a way I can support you in the future, I’d like to through a donation, or some other means. Even if I could host or even take over the code, it’s clear there is demand for RGB Commander.

RBG Commander has two config files:

  • rgbcmdd.xml which defines the actual behaviour of the LEDs and RGB Commander
  • Animation files in the rgba folder

Some tips about RGB Commander:

  • You can setup a static pattern, you don’t always have to use an Animation
  • When creating your own RGBA file, use three values to set RGB
  • When you start programming the RGB values on the right side, I have noticed that I had to program the values not in R, G, B triplets but in B, G, R – I’m double checking to make sure I’ve not plugged in my LEDs backwards on the board
  • It’s not hard to program but will take some experimenting with the setup to understand which LED is represented by each triplet
  • I’ve not linked the application up to specific emulators and tested that, yet

I left the default animation on boot up of the Ultimate I/O card as-is – It’s almost like it’s linked to boot up of RetroPie, which it really isn’t, it isn’t like it’s a progress indicator per se, but you know RetroPie is fully loaded when my default animation starts playing. Neat!

Next up is figuring out how to get buttons to show up in the various emulators.

What else?

If you want to add external USB-based hand held controllers you can. IDs for the devices, i.e. which is the first, second, third or fourth controller seems to be determined based on the order in which they are connected to the USB hub. Play around with this on your hub. I could actually be quite wrong.

Conclusion

This has been an epic project, a bit delayed, but I got it done and I’m super pleased with the results.

This completely replaces a Raspberry Pi 400, USB hub and wireless controllers I had setup as part of my home entertainment setup and puts everything into a very accessible, expandable box. It also frees up the living room Raspberry Pi 400 for other projects.

What’s Next? I’m not planning on putting this in its own arcade cabinet as I already have an AtGames Legends Ultimate with AwesomeSaUCE and CoinOpsX. I am thinking of getting a wide IKEA Lack TV Bench or Coffee Table to put the console on as it’s a bit difficult to sit on the floor comfortably although it does give me significant modern 80s retro vibes and memories.

Gaming past

I look at most of my younger friends going crazy for Pokemon Sun and Moon these days and realize, they don’t know anything outside the realm of Nintendo, Sony Playstation and XBox.  It’s like there wasn’t a gaming history prior to the time when the NES came out.

Given the videogame market crash of 1983, it’s somewhat not surprising.

For someone of my generation – yes I know how that sounds, there were a lot more options.  My collective group of friends not only were into NES and SNES, but we were also into our Amigas and Ataris – ST that is, not just the 2600.

Games like Worms (Team 17), Super Stardust (Team 17), Wipeout (Psygnosis) and pretty much anything out of Sony Studio Liverpool  (which was formerly Psygnosis) would be no where today without the Amiga.

There are some fantastic games such as Zool, The Lost Vikings, James Pond, etc. that came out during that time period.  Simply fantastic, that people seem to have forgotten and simply don’t seem to care about except for those of us who lived it.  Which is sad because there are some real gems.

I’ve owned, in my lifetime, two CD32s, picking up the latest one about two years ago, and I own a fully working Amiga CDTV completely with a hard drive. I’m slowly refurbishing the CD32, which at this point needs a replacement CD spindle to work.  Everything else on it seems perfect.

Which brings me to an interesting quandary.  I can perfectly emulate the CD32 on my Surface or MacBook. Do I really need the original hardware?  There is something to be said for owning a piece of iconic history, especially if you can keep it going.

Gaming in Japan

IMG_1137It’s appropriate that I’m writing this from Kyoto, which is the home of Nintendo.  The card gaming company which became a video game powerhouse in the mid-80s.

There was no way I was going to Japan and leaving my Nintendo 3Ds or my Playstation Vita at home

Nintendo

My 3DS because of all the Street Passes, and believe me you get a lot here. I’m averaging about 30 Street Passes.  a day and could go for more if I were constantly clearing them out!

Sadly, Nintendo region locks the 3DS (and the WiiU), where they had not done so previously. There are ways around this, but still, it’s a pain, and there are some great games to be played in the 3DS which are simply not available in North America or Europe.  I’m definitely not a fan of region locking.

If you’re die hard, then you can definitely pick up a Japanese 3DS, and they have different colours available and face plates which are not available in the rest of the world although the “New 3DS” (smaller version) is coming out in North America soon.

Amiibos from Japan will work with North American hardware, and are not region locked.  I picked up the Green Yarn Yoshi (available individually in Japan along with Pink and Blue), and Pac Man and they work well with the 3DS.

Remember Nintendo Zone where you can go places like Best Buy, connect to their network then you can download stuff for your console or StreetPass?  Well it’s alive and well here in Japan, and Japanese Nintendo gamers can connect and download stuff for the 3DS at 7-Elevens, Tsutaya or Pokemon Stores!  Even McDonald’s is in on the action.

Sony

On the other hand, despite the fact that Sony states a region and “For Japan Only” on Vita and PS4 games, they will all play anyway on hardware outside of Japan. I’ve picked up four games, at the recommendation of friends

  • Puyo Puyo Tetris for both Vita and PS4.  I’m a sucker for Tetris and games like Dr. Mario, the latter which borrows heavily from Puyo Puyo.
  • Hideboh Hero – A dance/music timing game
  • IA/VT Colourful – Another music timing game
  • Taiko no Tatsujin – A music/beat timing game

You can take advantage of Tax Free Shopping at stores within Japan, as well they had a deal where if you paid with a Visa card, you can get 6% off, on top of the 8% saved from the taxes.  A great deal, stock up!

If you’re looking for hardware, Japan is the place to be. You can get different coloured Vitas (admittedly the colours of the first generation Vitas are better than the second)  and special edition PS4s as well.

There are a lot of games here, mostly RPGs which require you to understand a fair bit of Japanese.  It could be worth your while learning the language.

 

If you’re looking for used hardware, then I do recommend Akihabara.  Places like Super Potato have retro gaming consoles, and places like Sofmap also sell newer used hardware like the original Vita.

All in all, Japan is a geek’s wet dream when it comes to arcade and system gaming.