Starting Pi1541

2013
12
June

This inevitable project was born a few weeks back, and finally ignited after seeing the a request for something similar on a Facebook group I attend.

I've done some work, and have decided to interface a 1541 drive first. I've successfully reverse-engineered and identified the timing required to send data and command bytes to the drive, and am now able to pull a LOAD"$",8,1 to it -- and it actually replies, although the response is not yet interpreted.

Oscilloscope view of one IEC byte

Here's a view of one byte (0x28: "LISTEN", device 8) from the IEC communication being dissected. Without the oscilloscope and its cursor function, I would never have been able to pull this off.

Oscilloscope, 1541, AVR

Here's the pile of stuff I'm using for this project. The next goal will be to start parsing the response from the 1541, and once that is in place, we can turn the tables and have the Pi mimic the 1541. That should be interesting.

Anyway, as I said, I have other projects with greater priorities, so I do not wish to make any commitments or promises by posting this. Don't hold your breath, and please lower your expectations to increase the satisfaction.

I will be posting updates on this page once I have something worth demoing.

Soldering fumes exhaust

2013
9
June

I guess my wife's facial expression means I've done something good for the interior design. Or horribly wrong -- I'm not really good at this guessing game. Anyway, here's a cheap exhaust pipe that will remove most (if not all) soldering fumes. I'm just using is an old 12VDC PC fan with a matching power supply and a £3 flexible duct for tumble dryers.

Fules exhaust 1

Luckily, I have a vent above my desk where this mounts easily. In its absence, I would probably use crack the window open and let it exhale there.

Here's the desktop/soldering side. The fan is faced so the air flows into the duct. I admit it looks a bit cheap and not very functional, but it really does a good job. I did a test run yesterday, and a visual inspection shows that the smoke is sucked directly in. No smell from the iron, solder or flux could be found either, which felt a bit odd, because I do actually enjoy the smell a bit.

Fules exhaust 2

I'm quite pleased with this. The only thing that could make it better, was if I could hook it onto the body from a desk arm lamp. It would increase the mobility and stability dramatically.

Cheap, overkill Amiga network adapter

2013
22
May

Here's a silly, but functional way of getting your oldskool Amiga online for £25, or should I say, the cost of a Raspberry Pi. I have one, and the other day I realized that I never really used it - it's just sitting there, collecting dust. In the spirit of my recent "get shit done" marathon, I'll put it to use, today.

Also, one of the problems with the Amiga is the lack of modern equipment, such as network adapters. Obtaining one for "unexpandable" Amigas (like the A500, and to some extent the A600 and A1200 if you exclude the PCMCIA port) will cost you an arm and a leg - or two.

Since the Raspberry Pi was just sitting there, and the Amiga lacked (*) a network adapter - why not just connect the dots and get something up and running? I did, and it worked. Here's a quick writeup on what I did - if anyone's interested I can write a more detailed post with all the information I have.

The goal was to use some of the software I had laying around, such as AmiTCP 4.0 demo (freely available on Aminet) and PPP.device (also on Aminet). I would also use an off-the-shelf nullmodem cable, in addition to a custom DB9 serial port on the Raspberry.

Installing AmiTCP and PPP.device on the Amiga is trivial, just run the installers. Configure AmiTCP:bin/startnet to include

online devs:networks/ppp.device 0

before starting AmiTCP, and also make sure ifconfig uses the ppp interface with the client's IP. That's all there is to do on the Amiga.

The Raspberry's serial port was made by hand to save time. Finished modules can be bought on eBay for next to nothing (for reference, like this guy did) if you can afford to wait a few days for the snail mail to arrive.

Amiga serial ethernet, Raspberry daughter board

I verified that the daughter board worked by connecting it to my desktop with a terminal program. By default, the Raspberry Pi will have a login console running on this port at 115 200 bps. This was disabled in /etc/inittab and /boot/cmdline.txt.

Amiga serial ethernet, connected with nullmodem cable

I configured and started the PPP daemon on the Raspberry at 19 200 bps, and started AmiTCP:bin/startnet on the Amiga. To my surprise, everything worked on the first try. PPP connected, the IP address was set, whois, ftp, telnet and ping responded as expected!

Amiga serial ethernet, communication working

All right, so it's not the best speed, and it may not be the most convenient or prettiest solution, but it has a couple of advantages to it:

- Allows you to connect to encrypted WiFi networks not supported by the Amiga
- Reduces the Amiga's CPU load, with a potentially smaller memory footprint
- It can switch between WiFi and cabled ethernet
- Provides firewall, VPN/PPTP, etc
- It's small, bring it to the next copy party!
- Multi-platform: also works on other PPP enabled systems

If this sounds good, why not throw the Raspberry in a case, add a USB WiFi dongle, power it using the Amiga's external floppy port, and wham - you have yourself a portable solution!

*) Not entirely true, but for the sake of the story, let's say it did.

C64 SMD caps

2013
19
May

After a long awaited (and dare I say well-deserved) vacation, I am back in business. I checked my mail as I got back, and to my luck there were parts waiting. I love the yellow padded envelopes. Today, I received a reel of 1205 104 50V caps.

As you might be able to tell from my previous posts, I've been chasing an unknown hardware problem in one of my C64s. I've been replacing tons of parts, and I'm currently resorting to replacing passive components. I've done a few electrolytic caps, and as an effort to clean up the PCB, I decided to replace the 104Z ceramic disc caps with 1205 SMDs. Snuggly fit.

35 capacitors later, and it looks like this.

C64 SMD capacitor conversion

Look: neat, isn't it? Bonus: also tidy.

I didn't expect this to make any difference in its functionality, and it didn't either, but I thought it was worth mentioning.

Also worth mentioning is that I'm suspecting the CD4066s I received earlier may not be the ideal fit - replacing them only resulted in a black screen. As in, worse than before. It's a known issue that the C64 may be picky on certain makes of logic chips so a new batch of 74HC4066s are on the way.

Oh, and soldering while it's 28C outside is probably not the best idea. I'm scchhweeeaaaty.

C64 repair, RAM replaced

2013
25
April

Yesterday, I decided to replace the RAM in the C64, as this was my prime suspect as it wouldn't start properly. The symptoms were: garbled display, sometimes black, sometimes filled with characters/garbage and colored blocks. The borders were fine. I also tested with a cartridge, and confirmed that the borders and colors worked fine. It had to be the RAM.

Here's the original, unsocketed RAM. At this point I didn't know whether these RAM were good or not, piggybacking did not reveal any clues. No visual defects, no issues with temperature, and pretty hard to test in the circuit. I took a chance and decided to replace them anyways, just to be on the safe side.

Replacing C64 RAM, 1

Phew, almost there. I had to be extra careful, since the (poor quality?) solder mask started to float and fall off as I heated the joints. Due to this the soldering looks a bit awful, but it isn't.

Replacing C64 RAM, 2

Finally, all the chips were out - sockets in place and a new set of fresh KM4164A chips installed.

Replacing C64 RAM, 3

Oh for fuck's sake. Not even a sign of improvement!

Replacing C64 RAM, 4

I'm starting to run out of options. The motherboard is fine, I've reflowed most joints and have inspected the traces on both sides without finding any clues.

The next suspect is the U26 (74LS373), followed by U13 and U26 (2x74LS257), U16 (CD4066) and finally the CIAs. 74LS373 and CD4066 is already ordered, gently avoiding China Post this time...

Edit: Correction - the CIAs are fine. Turns out the 8520 CIAs used in the Commodore Amiga is compatible with the 6526 CIAs in the Commodore 64. Who has tons of Amiga parts? This guy. A quick swap revealed no difference in the garbled image. I also found a 74LS373 on an discarded A500 board which I desoldered and socketed on the C64, with no success. This is getting frustrating, but the chase for the faulty part continues.

Add to Google