I am interested to learn about the Texas Instruments TMS34010, a 32-bit fully functional CPU with built-in graphics manipulation capabilities, which appeared in Atari's Hard Drivin' arcade boards amongst others. I was wondering if there were any freely available tools such as compilers to develop software for this processor? So far my searches have been in vain.
-
3I used this chip on one short-lived project years ago. The only tools for it - as far as we could tell at the time - were from TI itself. Someone else may have better knowledge.– Chenmunka ♦Commented Jul 13, 2017 at 7:34
-
3Don't know about freely available tools, but the datasheet including opcodes is on archive, and it looks regular enough that writing a backend e.g. for LLVM shouldn't be too difficult, and a fun project.– dirktCommented Jul 13, 2017 at 9:49
-
1@dirkt You'd also need to port a toolchain with an assembler and linker. A C runtime library would also be handy.– user722Commented Jul 13, 2017 at 15:09
-
I also had one years ago I was playing with. I seem to recall that all the tools were downloadable from TI...– Brian KnoblauchCommented Jul 21, 2017 at 16:16
-
1I designed a VME Graphics baord with the TMS34010 and for us was a great chip. Porting software libraries was straightforward, compiler worked perfect. This board is working on our 25 years old machines. For me was a great product.– peioazkCommented May 9, 2019 at 10:32
3 Answers
There is a port of an old gcc version (2.5.8) and binutils, see this archive.org link
I worked for a company that created a TMS34010 TIGA product in the before times. It was a pretty awful chip, all things considered. Very expensive, relative to competing products, made worse by requiring lots of expensive VRAM memory (for both code and data memory) for decent performance, even though they advertised you could use cheap DRAM to build cheap graphics systems (true in that DRAM == cheap and very slow). Memory bus was 16-bit, so if you were trying to do, say, 8-bit graphics, you could only grab 2 pixels per clock (~150ns-200ns depending on speed step). Math was integer only until the follow-on tms34020. 'IBM Standards Compliant' (e.g. SVGA, 8514/A, XGA) video cards offered more of what customers actually wanted at generally higher performance for far less money. Our product wasn't a market success.
The TI 34010 TIGA C compiler was pretty buggy as I recall; at least I remember the firmware guys complaining a lot. I have the toolchain for Sun-3/Sun-4 on a tape someplace,and someone who will preserve it. I wasn't aware of a GCC port...congrats again to the GCC guys for producing something that adaptable. 34010 is a strange architecture. Bit-level address-ability is pretty important to getting the most out of it; I would think that would make a C compiler 'interesting' (though the 8051 folks figured it out, so clearly it's a solved problem). Compilers aren't my area of expertise, though, so I'll leave that analysis for the experts.
Basically, the TMS34010 was everything that the 'experts' thought the market wanted from a graphic chip at the time (highly programmable, general purpose GPU) if they ignored everything that was actually happening at the time (fast, cheap, fixed function graphics primitives...mostly bitblt, line drawing, etc.). There's a reason TIGA had a really short lifespan.
-
TIGA was wonderfully flexible. In the days before Windows domination, you could implement all kinds of wacky graphics systems on it. However, hardware just for Windows could be simpler and cheaper, and sold in far greater volumes. Commented May 9, 2019 at 19:29
-
@KJ Seefried, How can I collaborate with you to archive the toolchain you have on tape?– legalizeCommented Jul 18, 2020 at 23:39
The commercial ($100) cross assembler Cross-32 Meta-Assembler V4.0 by Data Sync Engineering claims to be able to do it:
http://www.cdadapter.com/cross32.htm
The assembler naken_asm by Michael Kohn is also listed as 'tested' for the TMS34010:
http://www.mikekohn.net/micro/naken_asm.php
Author added support for TMS34010 because they wanted it for Mortal Kombat. :-D
-
3