Electronics, coding and hacking. And ADD.

Breadboard SID player


Just a quick update for you all here. As you may remember, I will be using the 6581 SID emulator by Swinkels for my 6502 computer project. Yes, it's final now, my weak spot for the 6581 is just too.. darn.. weak.

But, before I begin experimenting with the Swinsid, I wanted to make sure that the real 6581 works with the circuit first, since they both are (ideally) pin-to-pin compatible. Here is last night's crochet work on the breadboard:

SID player

Top left corner: R6502, EPROM right next to it, under all the wires.
The SID chip is the one with the heat sinks.

This system obviously lacks the $d012 register, so syncing the tune was solved by looping through enough NOPs to waste approximately 50ms between each call to the SID player.

Unfortunately, though, I didn't have the time to finish it -- but I will get it up and running today. As far as I can tell, the only thing left is to add an op-amp to amplify the audio signal. Curious me had to try it yesterday, and I did see some activity on the audio line....

So, if this works fine, I'll continue with testing the Swinsid on an ATmega128. Not really sure if that will work, and if it doesn't I won't waste any more time on it and just buy the chips it was designed for. If it does work, I will try to eliminate the TDA1543 and rather use my own ADC.

Let's hope that little speaker will shake vigorously tonight.

6502 plans revealed


My apologies for not updating the blog as frequently as I once promised to. I'm busy these days as I'm coding a part for a C64 demo, moving to a new house, and taking exams in electronics, in addition to entertaining my wife and kids. So, needless to say, there's not much time to play with the toys. I've been thinking a lot about the 6502 computer, though, and I'm going to let you in on the oh-so-secret plans right away:

CPU and memory: Not surprisingly, it will feature a 6502. More precisely, a Rockwell 6502 CPU accompanied by 32K SRAM and a massive 32K ROM. The ROM will share its address space with the items following.

GPU: I'm planning to do the GPU myself, quite possibly in FPGA, but for now I'll settle with something pre-made. I've ordered a few NOS TMS9928's - old arcade video chips. They have 16K of "internal" RAM and can easily be mapped into the address space without too much hassle, and they also feature multiple screen modes. Yes, even bitmap modes, which make them ideal for my system.

Disk controller and I/O: The disk controller will be performed by an ATmega16 with an SD card interface. That's more than sufficient for this little thing. This controller will also deal with the PS/2 keyboard and RS232 port.

Audio: I'm very inspired by the Micro SwinSID (6581 SID clone), which is based on an overclocked ATmega88. Choosing this approach, and mapping it into the right addresses, I get access to 40K+ SIDs, ready to be played on my system.

Then there's also a CPLD board and programmer on the way from Hong Kong. I think it's time I started learning that stuff, as I've come to the realization that not everything can (or should) be solved using micro controllers. This stuff is reserved for the lazy days, though.

So, those are the plans. Everything will exist in the form of a breadboard project until I get it working just right....

Aiming for the stars.. or satellites..


I'm experiencing an increasing interest in wireless energy and communication, so recently I felt the urge to explore the signals provided from "up there" - satellites. Weather satellites continuously transmit images and weather data via short wave radio. Capturing and decoding a signal is trivial, but the hardware behind it needs a little work.

The satellite NOAA-18 frequents my neighbourhood several times a day, and should be a good candidate for listening. In order to tune in, I need to fix on the 137.9125MHz frequency somehow, for the few minutes it is within my range. The doppler effect also needs to be taken into consideration, but I'll focus on a fixed frequency for now.

Most of the stuff mentioned here are ideas, want-to's, theories and thoughts at the moment, most of which has a very low WAF 1). For example the quadrifilar helicoidal antenna that will decorate our roof top.

If I'm granted the privilege to install all the equipment (which I quite honestly doubt I ever will), the rest is a matter of software development - for example, decoding the satellite image data according to the NOAA APT Frame Format specifications.

And then, who knows, it'd be cool to make a pluggable standalone device with an antenna connector in one end, and a RJ45 (TCP/IP) output in the other, providing live data via an internal web server.

A lot of exciting stuff here, time will show if this will see the day of light or not. But I have my hands on an old satellite receiver already...

1) WAF - Wife Acceptance Factor. Take note of this abbreviation, I'll be using it a lot.

8-bit R2R ladder


As I've mentioned earlier, I'm an active breadboarder. Having nothing to do, and being a while since I did my own R2R ladder (DAC), this day felt like a good day to refresh those ole' skills. Using an ATmega8 (for a change) and a handful of 1K and 2K2 resistors, an 8-bit R2R ladder was born. The ATmega outputted a 256 bytes long sinewave [0..255] on eight pins, connected to this ladder:

8bit R2R DAC schematic

And here it is on the breadboard:

8bit R2R DAC breadboard

The results were pretty nice, too. I cannot complain about the resolution from this unamplified signal:

8bit R2R DAC oscilloscope view

Quite pleased with this one, actually. I'm not implying anything, but this might be the beginning of an audio chip for the infamous 6502 project.

MSP430 + SD card


I'm hooking the MSP430 up to an SD card reader (via a 3.3V logic level shifter, in case you wonder). The software isn't ready yet, but I'm getting there.

MSP430 with SD card

The goal for this project is to test out the MSP430's SPI functionality, as well as dumping a text file from the SD card to the computer, via the micro controllers UART interface.

There's a thought behind the stupidity, it's for the (still undisclosed) 6502 computer project. I'm hoping to eliminate its use of EPROM, replacing it with SRAM fed with firmware from the SD card. That way I don't have to unplug anything when upgrading the "ROM" software - I'll just upload a new image file to the card, and voila. The controller will also serve files to the computer's real RAM, by acting like a disk controller.

Add to Google