Getting The VIC-20 To Speak Again

The Commodore Amiga was famous for its characteristic Say voice, with its robotic enunciation being somewhat emblematic of the 16-bit era. The Commodore VIC-20 had no such capability out of the box, but [Mike] was able to get one talking with a little bit of work.

The project centers around the Adventureland cartridge, created by Scott Adams (but not the one you’re thinking of). It was a simple game that was able to deliver speech with the aid of the Votrax Type and Talk speech synthesizer box. Those aren’t exactly easy to come by, so [Mike] set about creating a modern equivalent. The concept was simple enough. An Arduino would be used to act as a go between the VIC-20’s slow serial port operating at 300 bps and the Speakjet and TTS256 chips which both preferred to talk at 9600 bps. The audio output of the Speakjet is then passed to an LM386 op-amp, set up as an amplifier to drive a small speaker. The lashed-together TTS system basically just reads out the text from the Adventureland game in an incredibly robotic voice. It’s relatively hard to understand and has poor cadence, but it does work – in much the same way as the original Type and Talk setup would have back in the day!

Text to speech tools have come a long way since the 1980s, particularly when it comes to sounding more natural. Video after the break.

Continue reading “Getting The VIC-20 To Speak Again”

A VIC-20 Emulator In Your Browser

The Commodore VIC-20 was a solid microcomputer that paved the way for the legendary Commodore 64 to come. If you’re a fan of the machine and want to revisit its glory days, you could hunt one down on an auction site and hope that it’s in working order. Or you could just emulate the VIC-20 in your browser thanks to the work of [Lance Ewing].

The project is called JVic—because it’s a VIC-20 emulator written in Java. It’s primarily intended for playing old VIC-20 games, and is designed with mobile devices front of mind—so it works well on a phone screen. You can enjoy the built-in library of games, or you can even direct JVic to boot up a ROM from a ZIP file hosted on a given URL or attached to a forum post. You can also install it on your own device rather than running it online, if so desired. [Lance] provides a range of setup options for running it locally or putting it on your own web server if that’s how you like to do things. Files are on Github for those eager to dive in.

We get lots of VIC-20 hacks around these parts. Even if it’s not the most popular machine that Commodore ever built, it’s certainly up there in the rankings. If you want to learn Forth, or even build a VIC-20 from scratch, we’ve explored that before. If you’ve got your own retrocomputer hacks kicking around, don’t hesitate to let us know!

[Thanks to Stephen Walters for the tip!]

VIC-20 Gets ISA Slot, Networking

There are few computing collapses more spectacular than the downfall of Commodore, but its rise as a home computer powerhouse in the early 80s was equally impressive. Driven initially by the VIC-20, this was the first home computer model to sell over a million units thanks to its low cost and accessibility for people outside of niche markets and hobbyist communities.

The VIC-20 would quickly be eclipsed by the much more famous Commodore 64, but for those still using these older machines there are a few tweaks to give it some extra functionality it was never originally designed for like this build which gives it an ISA bus.

To begin adapting the VIC-20 to the ISA standard, [Lee] built a fixed interrupt line handled with a simple transistor circuit. From there he started mapping memory and timing signals. The first attempt to find a portion of memory to use failed as it wasn’t as unused as he had thought, but eventually he settled on using the I/O area instead although still had to solve some problems with quirky ISA timing. There’s also a programmable logic chip which was needed to generate three additional signals for proper communication.

After solving some other issues around interrupts [Lee] was finally able to get the ISA bus working, specifically so he could add a 3Com networking card and get his VIC-20 on his LAN. Although the ISA bus has since gone out of fashion on modern computers, if you still have a computer with one (or build one onto your VIC-20), it is a surprisingly versatile expansion port.

Thanks to [Stephen] for the tip!

2025 One Hertz Challenge: The Real-Time Clock The VIC-20 Never Had

Like many early microcomputers, the Commodore VIC-20 did not come with an interna real-time clock built into the system. [David Hunter] has seen fit to rectify that with an add-on module as his entry to the 2025 One Hertz Challenge.

[David]’s project was inspired by a product that Hayes produced in the 1980s, which provided a serial-port based real-time clock solution for computers that lacked one on board. The heart of the project is an Arduino Uno, which itself uses a Dallas DS3231 RTC module to keep accurate time. [David] then drew from an IEC driver developed by [Lars Pontoppidan] for the MM2IEC project. This enables the Arduino to report the time to the VIC-20 via its IEC port.

The project is a neat way to provide a real-time clock source to programs written in Commodore BASIC. It’s also perfectly compatible with the IEC bus, so it can be daisy chained along with printers and disk drives without issue. [David] hasn’t tested it with a Commodore 64, but he suspects it should work just as well on that platform, too.

If you’ve ever wanted to build something clock-based for the VIC-20 but didn’t know how, this is a great piece of hardware to solve that problem. Meanwhile, you might find joy in reading about real-time clock hacks for other systems like the Raspberry Pi. Meanwhile, if you’re working on your own nifty timekeeping projects, don’t hesitate to let us know!

A VIC-20 With No VIC

[DrMattRegan] has started a new video series to show his latest recreation of a Commodore VIC-20. The core of the machine is [Ben Eater’s] breadboard 6502 design. To make it a VIC-20, though, you need a “VIC chip” which, of course, is no longer readily available. Many people, of course, use FPGAs or other programmable logic to fake VIC chips. But [Matt] will build his with discrete TTL logic. You can see the first installment of the series below.

Continue reading “A VIC-20 With No VIC”

Learn Forth On The Commodore VIC-20

Although BASIC was most commonly used on home computers like the Commodore VIC-20, it was possible to write programs in other languages, such as Forth. Conveniently, all it took to set up a Forth development system was inserting the cartridge into the VIC-20 and powering it on, with the VIC-FORTH cartridge by [Tom Zimmer] being a popular choice for the Commodore VIC-20. In a recent video, the [My Developer Thoughts] YouTube channel covers Forth development using this cartridge.

In addition to the video tutorial, the original VIC-FORTH Instruction Manual is also available, together with the 1541 disk image. In an upcoming video, the Commodore 64 version of the cartridge will also be covered, which is called 64Forth, and which is also readily available to tinker with. For those interested in learning more about [Tom Zimmer] and his Forth-related work, a 2010 interview could be interesting. This covers the other platforms which he developed an implementation for.

As for why Forth might be interesting to developers and users, this comes mostly down to the much lower overhead of Forth compared to BASIC, while avoiding the pitfalls of ASM and resource-intensive nature of developing in C, as the entire Forth development system (compiler, editor, etc.) comfortably fits in the limited memory of the average 8-bit home computer.

(Thanks to [Stephen Walters] for the tip)

Continue reading “Learn Forth On The Commodore VIC-20”

New Commodore VIC-20 Build

In a recent episode of [The Retro Shack], a new Commodore VIC-20 is built, using a ‘Vicky Twenty’ replacement PCB by [Bob’s Bits] as the base and as many new components as could be found. The occasion for this was that a viewer had sent in a VIC-20 that turned out to be broken, so in order to diagnose it, building a new one with known working parts seemed incredibly useful.

Advantages of the reproduction PCB are a number of board-level fixes that negate the need for certain bodge wires, while also having footprints for a wider range of round DIN connectors. The non-proprietary ICs were obtained along with other standard parts from a retro computing store, while the proprietary Commodore components were scrounged up from your friendly used component selling sites.

The result is what from the outside looks like a genuine VIC-20, and which should prove to be very useful in diagnosing the broken VIC-20 system in the future, as well as presumably to play some games on.

Continue reading “New Commodore VIC-20 Build”