On Tue, Jan 28, 2014 at 3:41 PM, James Wilson <james at machineroom.info>wrote:
Hi Kyle, are you able to re-build the setcross program? I have the C
toolset somewhere if that would help. First step I'd take is to chuck some
console logging statements in that code, probably using good 'ol printf().
The number of return paths from each function is truly scary, so I'd tackle
that first to get an idea of where the code is failing, if indeed it is.
Also image the disk in case you lose the other tools!
I must admit to not being familar with the crossbar switches, do you have
the data sheet? you should be able to find it on Rams page. Knowing how the
magic port addresses in the code relate to the hardware would be a good
start, you should be able to work backward from there. In other words, use
the crossbar data sheet as a known good starting point, work backwards from
there to understand the code and the data input format. Litter with
printf() if you get stuck :)
Yes, I do in fact have the tools to rebuild it, but there are already
plenty of executables on the disk. This machine was shared among many
graduate students, and it seems as though every directory has a copy of
SETCROSS.EXE! The program itself definitely works, and there's not much to
it. What I seem to have an issue with is how the array is architecturally
laid out. The DATA.DAT file that SETCROSS reads is just a bunch of numbers,
supposedly identifying a crossbar switch and links. But those numbers
themselves seem to have very little correlation with anything.
Here's the datasheet for a C004:
http://bitsavers.trailing-edge.com/pdf/inmos/transputer/C004_Programmable_L…
Unfortunately, there's more to the system than just a bunch of T805s,
C004s, RAM, and a host computer. There are also some custom Altera CPLDs on
each board. I'm unsure of their functionality, but I assume they are
helping the crossbar switches do their work.
Kyle