In the before-time (I’m talking about the 1980’s here), when home computers were considered to be consumer items, there was the Commodore C64. The C64 derived its vast array of superpowers from two Integrated Circuits (IC) named VIC and SID standing for Video Interface Chip and Sound Interface Device. Chip names were part of our culture back them, from VIC up to Fat AGNES in the end.
We spoke about VIC and SID as if they were people or distant relatives, sometimes cantankerous or prone to sudden outburst, but there was always an underlying respect for the chips and the engineers who made them. VIC and SID together made one of the world’s best video and sound experiences; movement and noise, musical notes and aliens.
Ah, the humble Commodore 1530 Datasette drive. It never enjoyed much popularity in the USA, but it was the standard for quite some time in Europe. [DerSchatten13] still uses and loves his 1530. When a co-worker showed him some 7-segment bubble LEDs, he knew what he had to do. Thus the 1530 digital counter (translated) was born.
[DerSchatten13] started out by building his design on a breadboard. He used every I/O pin on an ATtiny2313 to implement his circuit. Tape motion is detected by a home-made rotary encoder connected to the original mechanical counter’s belt drive. To keep the pin count down, [DerSchatten13] multiplexed the LEDs on the display.
Now came the hard part, tearing into the 1530 and removing the mechanical counter. [DerSchatten13] glued in some standoffs to hold the new PCB. After rebuilding the circuit on a piece of perfboard, he installed the new parts. The final result looks great on the inside. From the outside, one would be hard pressed to tell the digital counter wasn’t original equipment.
Operation of the digital counter is identical to the analog unit – with one exception. The clear button now serves double duty. Pressing and holding it saves the current count. Save mode is indicated by turning on the decimal point. If the user rewinds the tape, the counter will stop the motor when the saved count is reached. Cueing up that saved program just got a heck of a lot easier!
[sweetlilmre] is just beginning his adventures in retrocomputing, and after realizing there were places besides eBay to buy old computers, quickly snagged a few of the Amigas he lusted after in his youth. One of the machines that didn’t make it into his collection until recently was a Commodore 64 with Datasette and 1541 drive. With no tapes and a 1541 disk drive that required significant restoration, he looked at other devices to load programs onto his C64.
These devices, clever cartridge implementations of SD cards and Flash memory, cost more than anyone should spend on a C64. Realizing there’s still a cassette port on the C64, [sweetlilmre] created Tapuino, the $20 Commodore tape emulator
The hardware used to load games through the Datasette connector included an Arduino Nano, a microSD breakout board, a 16×2 LCD, some resistors, buttons, and a little bit of wire. The firmware part of the build – available here on the Git – reads the .TAP files off the SD card and loads them into the C64.
[sweetlilmre] posted a very complete build post of the entire device constructed on a piece of protoboard, Pop that thing in a 3D printed case, and he can have the entire C64 library in his pocket.
If you listen to [Bil Herd] and the rest of the Commodore crew, you’ll quickly realize the folks behind Commodore were about 20 years ahead of their time, with their own chip foundries and vertical integration that would make the modern-day Apple jealous. One of the cool chips that came out of the MOS foundry was the 6500/1 – used in the keyboard controller of the Amiga and the 1520 printer/plotter. Basically a microcontroller with a 6502 core, the 6500/1 has seen a lot of talk when it comes to dumping the contents of the ROM, and thus all the code on the Amiga’s keyboard controller and the font for the 1520 plotter – there were ideas on how to get the contents of the ROM, but no one tried building a circuit.
[Jim Brain] looked over the discussions and recently gave it a try. He was completely successful, dumping the ROM of a 6500/1, and allowing for the preservation and analysis of the 1520 plotter, analysis of other devices controlled by a 6500/1, and the possibility of the creation of a drop-in replacement for the unobtanium 6500/1.
The datasheet for the 6500/1 has a few lines describing the test mode, where applying +10 VDC to the /RES line forces the machine to make memory fetches from the external pins. The only problem was, no body knew how to make this work. Ideas were thrown around, but it wasn’t until [Jim Brain] pulled an ATMega32 off the top of his parts bin did anyone create a working circuit.
The code for the AVR puts the 6500/1 into it’s test mode, loads a single memory location from ROM, stores the data in PORTA, where the AVR reads it and prints it out over a serial connection to a computer. Repeat for every location in the 6500/1 ROM, and you have a firmware dump. This is probably the first time this code has been seen in 20 years.
Now the race is on to create a drop-in replacement of what is basically a 6502-based microcontroller. That probably won’t be used for much outside of the classic and retro scene, but at least it would be a fun device to play around with.
[Dan] has been hard at work developing CYNCART to get his Commodore 64 and original NES to play together. We’ve seen [Dan’s] handiwork before, and it’s pretty clear that he is serious about his chip tunes.
This project starts with something called a Cynthcart. The Cynthcart is a Commodore 64 cartridge that allows you to control the computer’s SID chip directly. In effect, it turns your Commodore 64 into a synthesizer. [Dan] realized that the Commodore’s user port sends out simple eight bit values, which happens to match perfectly with the NES’ controller ports. In theory, he should be able to get these two systems communicating with each other.
[Dan] first modified the Cynthcart to send data out of the user port on the Commodore. This data gets sent directly to the NES’ 4021 shift register chip in the second player controller port. The NES runs a program to turn this data into sound on the NES’ audio chip. The first player controller can then be used to modify some other sound settings on the NES. Musical notes are played on the Commodore’s keyboard. This setup can also be used to play music on both systems at the same time. Be sure to watch the video of the system in action below.
Almost a year ago, [miker00lz] started a thread on the Arduino forums telling everyone about a 6502 emulator and BASIC interpreter he wrote for an Arduino Uno. The chip inside the Uno isn’t a powerhouse by any means, and with only 2KB of RAM it’s far less capable than just about any computer from the 70s. Arduino works on a lot of different chips, though, and after a few months, [Jan] turned an Arduino Due into a Commodore 64 emulator.
[Jan]’s code isn’t limited to the DUE, and can be used with any chip with enough memory. If you’re feeling fancy, you can connect a TFT display for all the vintage goodness of PETSCII graphics, all while running a faster BASIC than the very stripped down EHBASIC.
Because the emulator is using software to talk to the outside world, it should be possible to use this project to interface with the cooler chips found in Commodore machines – SIDs for one, but also the cartridge port for some vintage Ethernet goodness. It’s not even limited to Commodore machines, either: the POKEY chips found in Atari 8-bit micros are seriously underutilized in the chiptune and demoscene, and having modern hardware to play with these chips couldn’t hurt in the slightest.
Yeah I am still a little pissed that the competition is still around and we aren’t, and by “we” I mean Commodore Business Machines (CBM). It was Commodore that had the most popular home computer ever in the C64 (27 Million) and it was a team of MOS engineers after all, that had the idea to make a “micro” processor out of a 12 square inch PCB.
Of course they did work at Motorola at the time and “Mot” did not want anything to do with a reduction of the profit margin on the pie-plate size processor. Of course MOS got sued by Motorola but that was an average Tuesday at MOS/CBM. I absolutely credit CBM with buying the MOS Technologies chip foundry, as together we could make our own processors, graphics chips, sound chips, memory controllers, and programmable logic.
With this arsenal at our call we didn’t have to make compromises the way other companies did such as conforming to the bus spec of an industrial standard 6845 or having to add extra logic when a custom extra pin would work. We could also make sprites.
The compromise we did have to make when designing was cost, and I mean the kind of cost reduction where finding a way to save a dollar ($1USD) saved millions in the production run. I knocked $.90USD out of a transformer one day and I couldn’t focus the rest of the day due to elation.
Cost reduction is a harsh mistress however as you can’t just do it a little some of the time or only when you want to. The mental exercise of multiplying anything times a million was always there, it made it hard to buy lunch — I’d be blocking the lunch line while figuring the cost of a million tuna sandwiches FOB Tokyo Continue reading “Programmable Logic I – PLA/PAL”→