6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 4:35 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Sat Aug 18, 2018 10:20 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Every now and then I get the urge to tinker with a 65xx system, either to try out an idea or to explore some detail not documented in a datasheet. To some extent that's possible using my existing computers; but it tends to be inconvenient, and some of the experiments simply aren't possible. So, one afternoon I decided to quickly throw together a board intended for experimentation -- a board with a CPU, a RAM and nothing else... or as close to nothing as I could manage.

The result is the Throw-Together-Computer © (aka TTC), and its original raison d'etre was to demonstrate my ultra-minimal 3-wire bootloader. Not surprisingly, creeping feature-ism set in, and it became more than a one-afternoon project. :roll: I won't try to describe all the prospective experiments here. Instead it's the construction techniques I want to document.

Attachment:
P8182591RotCrv.JPG
P8182591RotCrv.JPG [ 154.87 KiB | Viewed 4515 times ]
For starters, the genders are reversed as compared to a solderless breadboard. I'm using jumper wires with female tips, and they mate with a .025" male post far more reliably than the male-female connections which a solderless breadboard uses. Furthermore, .025" male posts are compatible with wire-wrap (as well as soldering, of course).

Attachment:
PC201043 cln.jpg
PC201043 cln.jpg [ 434.15 KiB | Viewed 4515 times ]
In its natural habitat TTC spends most of its time upside-down, with the wiring on top. The power & ground connections and the associated bypass capacitors are soldered; stuff like that isn't gonna change, and it doesn't need the flexibility afforded by wire-wrap or -- even easier to alter -- jumper connections.

For reasons of economy I use solder-tail (rather than wire-wrap) IC sockets in several places. And for reasons of laziness I exploit opportunities for broadside bus connections, such as the 8 pins of the 40-pin DIP 65xx's databus which connect directly to the '245 transceiver that's immediately adjacent (see the annotated photo near the end). That's a real labor saver since those connections are only .1" long and don't cross over other one another... and that means they don't involve an insulated wire which needs to be stripped at both ends. :!: The other side of that '245 transceiver also has stuff (SIP resistor arrays) located immediately adjacent for the same reason.

BTW it's not a bit uncommon for a wire (or group of wires) to attach with solder on one end and with wire-wrapping on the other. Whatever works!

Attachment:
PB080601.JPG
PB080601.JPG [ 808.07 KiB | Viewed 4515 times ]
Attachment:
PB080605 .JPG
PB080605 .JPG [ 790.41 KiB | Viewed 4515 times ]
Attachment:
TTC RAM P9270255 CrvShpLores.JPG
TTC RAM P9270255 CrvShpLores.JPG [ 122.04 KiB | Viewed 4515 times ]
The two RAM's are soldered for an obvious reason -- ie; the piggybacking (I have a megabyte of 10ns memory in less than one square inch! :mrgreen: ).

Also, notice how easy the .050" pin spacing is to deal with -- just two staggered rows of .1". These are supposed to be SMD chips, but it doesn't take much to uncurl their J leads and situate them on a .1" grid. To make the RAM assembly removable I chose to use a daughterboard that includes female headers that mate with the gold-colored male pin layout you see in the background. A cheaper but more permanent approach would be to solder directly to the main board.

The PLCC-84 -- a 128-macrocell CPLD -- could have (and maybe should have) been mounted with the same technique as the RAM's. For me it's a big priority to attach bypass cap's directly to the IC package -- attaching merely to the socket is a compromise I prefer to avoid. But instead of using a daughterboard I opted to socket the CPLD... and the socket in turn attaches to wire-wrap pins via the method described here. And: the chip is inserted upside down so I could solder some SMD caps directly onto its J leads! :lol:

That worked out alright, but I discovered that the PLCC when upside down won't snap in to the socket 100%, and I was obliged to solder it in place. To do that I firstly had to mill away part of the socket. The thing ended up with kind of a rustic look, but the bypass caps ended up where they need to be, and that's the main thing.

Attachment:
PC201032cln.jpg
PC201032cln.jpg [ 533.49 KiB | Viewed 4515 times ]
Attachment:
PC201018Cln ann.JPG
PC201018Cln ann.JPG [ 545.03 KiB | Viewed 4515 times ]
In the two photos above you can see a second CPLD attached to a etched daughterboard that serves as a breakout. (No .050" pin spacing on this chip, unfortunately.)

Unlike the large CPLD (which is entirely reserved for experimentation) this smaller device has well-defined functions. It receives asynch communication at 115.2 kbaud from a host computer, and it features a byte-wide output and a bunch of individually addressable single-bit outputs which the host can wiggle by remote control. These outputs serve to boot up the 65C02 (or '816 as the case may be) and to provide it with reset and a clock signal -- the latter being either single-step or a free-running 920 kHz (half the 1.8432 MHz communications oscillator frequency).

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 19, 2018 6:34 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8505
Location: Midwestern USA
Interesting contraption. Hopefully, no mushroom clouds will rise over Stratford. :D

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 19, 2018 6:38 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Bravo! A bed-of-nails. I have enough trouble figuring out which pin is which, without having an upside down CPLD in a socket underneath an upside down board... labels needed?

That smaller CPLD daughterboard which offers a QIP socket interface - I think I understand that - but what's the extra bit of the board which you've arranged to hover over the (unpopulated?) socket just north of the QIP nails? Is this a kind of either/or approach for the second CPLD? Or is there a third CPLD in play?


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 19, 2018 7:28 pm 
Offline
User avatar

Joined: Sun Oct 18, 2015 11:02 pm
Posts: 428
Location: Toronto, ON
Great to see this Jeff! Love all the construction options on display -- lots to learn from.

Btw, is that QFN package a clock? Looks like the footprint didn't fit and you improvised the wiring?

_________________
C74-6502 Website: https://c74project.com


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 20, 2018 12:13 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Thanks, fellas. It is kinduva bed of nails, although I certainly could have spaced things a lot further apart if I'd wanted to. Another person might might choose to forgo the obsessive compactness but still adopt other techniques seen here.

One nice thing about the TTC approach is this. After you've ironed out the new idea(s) you were grappling with you have the option of replacing the jumpers with wire-wrap or soldered wires, and what you end up with is a robust, permanent device. I wouldn't say the same for a breadboard.

I'm just juggling options and looking for alternatives. One nice thing about breadboards is how you're automatically able to make multi-point connections, as there are several (about 5?) attach points for every pin of every IC you plug in. With the TTC approach you need to add that capacity explicitly, either by providing duplicate pins or by making some custom daisy-chain jumpers with 3 or more ends on each jumper.

But I don't expect there'll be much need for those measures. TTC does have multi-point connections in the form of an address bus and two data buses (separated by the '245). But they were established with wire wrap and with soldering -- and, with the buses taken care of, there isn't much remaining need for multi-point connections! I do anticipate using jumpers to experimentally extend the data bus to the CPLD, for example. But I won't need 3-ended jumpers; I can just use the ordinary kind for the last leg of the journey. (Even in this circumstance there'd still be freedom to tap the data bus in a different place and jumper-extend to a second experimental device at the same time.)

A couple more points regarding construction techniques. I've gotten more and more comfortable using SMD parts, and it's been a real boon. Through-hole stuff begins to look dumb by comparison -- needlessly bulky. In order to grasp SMD parts during assembly it's sometimes helpful to temporarily attach a "handle."
Attachment:
P8192659ClrCrp.JPG
P8192659ClrCrp.JPG [ 29.14 KiB | Viewed 4430 times ]
Attachment:
slender soldering iron tip.jpg
slender soldering iron tip.jpg [ 98.77 KiB | Viewed 4430 times ]
To reach into the bed of nails and solder a pin right where it emerges from the board requires a slender soldering iron tip, ideally with a slight curl on the end. I improvised, mostly using bits sold by Weller IIRC. The long, slender tip doesn't conduct heat very well, so a fairly high wattage element is needed (this one's 42 watts).

BigEd wrote:
what's the extra bit of the board which you've arranged to hover over the (unpopulated?) socket just north of the QIP nails?
Drass wrote:
Looks like the footprint didn't fit and you improvised the wiring?
Yes there's a story there, but not a very meaningful one. The breakout board is a project I cooked up to take advantage of some leftover area on an unrelated order I was about to place with Express PCB. I wanted the breakout to have a prototyping area attached, and I was able to manage that. (Some of the holes had to remain undrilled due to the order's hole limit, but I can drill them myself if necessary.) TTC doesn't require the breakout's prototyping area, but some future project might, and despite it looking goofy I've resisted the urge to cut it off.

-- Jeff
Attachment:
37064 breakout PCB.jpg
37064 breakout PCB.jpg [ 270.55 KiB | Viewed 4430 times ]

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 20, 2018 4:19 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Ah, thanks! It makes sense, even with PCBs as cheap as they are these days, to squeeze out some more possibilities with each order placed.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 16, 2021 7:07 pm 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
Dr Jefyll, how is it going with your 3-wire bootloader?

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 16, 2021 8:58 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Thanks for your interest! I have a new version in the works, with two key improvements! Please refer to the updates in this post of bootloader thread. :)

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 41 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: