Friday, October 28, 2022

Part 2h: Out with the old, In with the new

It had to happen eventually. I was still disassembling ALTAIR 680 BASIC using the prototype setup with rats nest wiring all over the place. I didn't know whether I would do a lot more disassembly on ALTAIR 680 BASIC as it could take me months or years. It's not like I've done this before, this was my first porting project ever.

I was occasionally having problems whenever I bumped some wires on my prototype setup, but generally it was working well and fairly reliable. I was happy that it wasn't crashing because of any circuit design flaws as it had been running for months now, first on Tiny BASIC and the Fantom II monitor and so far with ALTAIR 680 BASIC.

I received the remaining parts I needed, time to move on and test out the new pcbs, if for no other reason to find out if I had any errors that needed fixing. That would give me time to fix the Gerbers and re-order if necessary.

Point of no return

This was a decision that I had to make, and once I started to disassemble the rats nest version there was no going back. It took too long to get it working and fine tune it and I didn't want to build it all over again even if some of it was on protoboards. Just moving the wires around weakened them.

The old rats nest was removed and the newly assembled pcb was installed.

Wow, looked a lot neater than before. I still have I/O connections to the cassette and the serial terminal clone via a bodged up DB25M to DB25M crimp adapter.

Unusually the ETA-3400 had a female DB25 output connector for the serial port. In order to plug that in to my VT-132 I have to make up a DB25M to DB25M adapter cable from two crimp connectors rather than using the fly-lead straight off the ETA-3400X pcb. These days a serial port is typically on a DB25M on the back of the computer or DB9M, thats if it has them at all. But in keeping with the original I have replicated it as a DB25F.

Technically this was identical to the rats nest version down to the last component. Once I powered it up and started the Fantom II monitor I got the >MON prompt. Woo hoo, celebrations all round, but not for long. When I use the monitor 'R' command to show the registers it sometimes works and sometimes crashes. I move some wires around in case it's interference, and even remove and reinsert the ICs.

I even resorted to walking around my chair as an old wives tale remedy. Anything was worth a try.

After a while it settles down and seems to work. I manage to load ALTAIR 680 BASIC work-in-progress off cassette and even get through a few patches, but then it crashes again and I have to start over. After about a week of intermittent crashing I can't proceed any more. I even managed to corrupt one of the cassette backups and that took days to fix.

I start to wonder what has gone wrong, so I pull out the pcb and did a point to point check on every single pin and compare it with the circuit. the is no errors! So it must be something else.

Had I made a big mistake by building this pcb instead of finishing the porting project on the prototype. Maybe I did, but I wasn't sure where the goal post was anyway, so I think it was just bad luck.


Meanwhile, one month later.

Running out of ideas I put it aside for a month and it looks like this project is stalled. I'm pretty annoyed as it was just getting to the interesting part. I know it can work, but not why it doesn't work (properly), when it was previously.

I recall one designer of another version of the ETA-3400 had memory speed issues. He was trying to use 55ns RAM but found it would intermittently crash and 70ns RAM was the solution. So maybe I had a timing issue. Not sure why, because I hadn't changed speeds in the built up board. I was using 70ns RAM and I didn't have anything else in 128KB size.

New board, Old problems.

Prepared to try anything, after swapping all the chips one at a time, I ended up building an entire new pcb on one of my other blanks. A full set of new and programmed parts was installed. Plugged it in and exactly the same problem occurred.

That meant I hadn't built the first one wrong at least. Next I tried a smaller but slower 100nS RAM chip. This was possible as the pcb design allowed for different configurations of RAM, but I only had 32KB now. It will do for a test and possibly the whole project.

Amazingly that fixed the problem. I couldn't understand why, but my theory is that with the longer cables used in the production version vs. the rats nest it may have had a very tiny speed effect. My GAL equations were larger and therefore slower than other designs if only by a couple of nanoseconds. That may have been enough that it was on the verge of failure on the prototype but was on-the-line (in tennis terms) rather than outside-of-the-line.

Finally I can get beck to the disassembly and patching...





No comments:

Post a Comment

Part 2o: The future of the ETA-3400X

You can find all the work I've done on the ETA-3400X and 8K ALTAIR 680 BASIC, except for the ETA-3400X Gerber files, on the ET-3400 grou...