Categories
Commodore 64 Fun Retro Computing

My C64 Setup

I haven’t spent as much time on my Commodore 64 as my other retrocomputers (which can seem modern in comparison), but my explorations over time are trending towards older hardware. I can only assume that my final stop will be an abacus.

I have three C64s all passed down from my dad. One had been devoted to a home alarm system (of course we still have the schematics), but by the time I came around it was only used for playing half-working totally not bootlegged games.

A sampling of some favorite software from my childhood:

Retrocomputing plans

I hope to be able to fully restore at least one of these machines this year. The one pictured above powers on and is fully functional, but some flakiness at startup tells me that it’s overdue for a recap.

One not-so-smart thing I did when I unpacked all of this equipment was powering it up with the original C64 power supply. That’s a risky move and likely to damage the C64 with bad power, so I’ve since replaced it with a new modern one (see the parts list).

I’m not interested (nor do I have the space) to use these machines in the “pure way” with a CRT and 1541 drives, although I have both. Maybe down the road that would be fun, but for now I’m utilizing modern gadgets from the wonderful C64 aftermarket community.

Current parts list

Next steps and ideas

  • Restore one or more C64s by recapping / adding heatsinks
  • Fix my joysticks / get new ones
  • Play with the WiModem232 and connect to the Internet
  • Play with the user port breakout and connect it to an Arduino
Categories
Fun Retro Computing

Cool Retro Term

It may not be real, but it’s so much fun!

Categories
Fun iOS Projects

SpriteKit SnowFlakes

From the seasonal hacks department, here’s my toy app to make it snow on macOS. ❄️

https://github.com/twstokes/snowflakes

How it works:

When the app is told to make it snow it adds full-screen non-interactive windows on each display and inside those windows adds a SpriteKit view with a scene inside that contains emitters.

That’s basically it!

Categories
Fun

Happy Festivus!

For the rest of us.

Scrolling text on a flip dots display that says “happy festivus!”

Categories
AI Fun Projects

Do you hear what I hear?

Thanks to Whisper and this awesome port, the tree is responding to spoken words. 🗣🎄

Since the tree itself only has a low-powered MCU, we need another machine to act as a listener.

The architecture is:

  1. A machine in my office runs the Whisper model and listens for words.
  2. If certain keywords are found it finds a corresponding command to run (e.g. do a theater chase sequence in a green color).
  3. It sends that command to the tree over the network.

For now I’m running it from iOS and macOS, so I wrote the current implementation in Swift. The code is currently still in “hack” status, but working well!

Now it’s time to test it when talking to coworkers at Automattic.

Categories
Fun Retro Computing

Windows 3.11 in QEMU

Thanks to this repo you can fire up Windows 3.11 painlessly and even connect to the Internet! Lots of goodies are already installed so it’s a fun virtual trip.

To get it going on my Mac all I had to do was:

  1. brew install qemu
  2. Run qemu-system-i386 -nic user,ipv6=off,model=ne2k_pci -device sb16 -vga cirrus -snapshot -no-shutdown hda.img

There were some graphical glitches (restarting or dropping down into DOS and back helps) and it crashes when running Netscape, but Microsoft Bob seemed to work fine!

After configuring the network’s gateway and DNS servers, I had to visit one of my favorite test sites for old browsers:

The Dole / Kemp ’96 website is still alive and kickin’.
Categories
Arduino Fun iOS SwiftUI

NeoPixel tree progress

This weekend the NeoPixel tree got many much-needed updates!

Though I have more ideas to implement, the basics of what I wanted to do are complete, like sending commands remotely.

What we can currently do:

  • Set the brightness
  • Change the color
  • Turn the pixels off
  • Run some built-in sequences, like a nice rainbow
  • Set repeating color patterns
  • Set individual pixels

I also threw together a really quick iOS app to set the color with SwiftUI’s built-in ColorPicker view. Thanks to the Rover project (another one that’s been neglected), I had some UDP client code I could borrow to speed up development.

Changing the color of the tree with a SwiftUI ColorPicker view.
Categories
Fun Projects

The tree is smarter!

I’m finally taking the time to make the NeoPixel Christmas tree smarter this year.

My current plan is to:

  1. Connect it wirelessly to the network (it has an ESP8266, after all)
  2. Run a UDP server on it
  3. Respond to various commands
  4. Write a client that sends UDP packets to it

It’s fun to design UX for limited hardware. In this case, the tree starts with an orange pattern that rotates until a WiFi connection is successful. If it fails the tree will go red, otherwise the tree briefly goes green to let the end user know all is well before starting its first sequence.

Nifty! 🎄

Categories
Apple Fun iOS Retro Computing

iPadOS on a CRT

I have lots to post about related to my recent vintage / retro computing adventures, but in the meantime here’s iPadOS on a CRT.

It’s actually kind of nice! The biggest downside, however, is that the CRT only ran at 1280×1024@60Hz. The resolution is fine, but the refresh rate is quite low for a CRT – my eyes wouldn’t be able to handle it very long. I’ve always been sensitive to rates lower than 85Hz on CRTs.

The hardware to make it work:

  1. A CRT.
  2. An iPad.
  3. An Apple Digital AV adapter which has HDMI output, such as this USB-C one.
  4. An active HDMI -> VGA adapter such as this one (it has to have external power).
  5. A USB hub is nice for wired peripherals, but optional. I have a wired Microsoft Optical mouse with a Keychron C1 (reds) connected in this video.
Categories
Arduino Fun Projects Raspberry Pi

Domo Arigato

If the objective was to make the robot less creepy, I’ve failed miserably.