On Feb 23, 2014, at 6:37 AM, Liam Proven wrote:
But yes, as you say, the first 16-bit home micro
- but very slow, in
fact slower than most 8-bits of its time period. AIUI part of the
reason for this is that the 99/4a CPU has no registers of its own,
uniquely among microprocessors - the registers are kept in main RAM,
meaning very slow bus accesses for /everything./
That's part of the problem,
yes, but not the only factor. It was a 16-bit CPU but the designers of the system hobbled
it with an 8-bit data bus. On top of this as you say the only internal register it had was
the workspace pointer register (and I think maybe the PC? not sure about that), and then
all the working registers were in system RAM...of which it had a ridiculously small amount
of... like < 512 bytes or so IIRC. All program information was pulled off of GROMs (a
special type of serial ROM in cartridge) and any user programs on unexpanded systems was
stored in video RAM.
Yes, the workspace concept was not super fast but context switch was
fast and the general
addressing scheme of the CPU was very good. Imagine in 1978 having
16x16 registers
and most (save for 2) were general purpose. Blame the implementation
not the processor.
The TI99/4 suffered from narrowing the bus and storing it in a serial
oriented byte wide
system where a program jump required sending a new pointer to the start
of a routine
and I might add the code was NOT in native assembler but in an
interpreted form.
That general 16<>8bit thing cost speed (two wait states per word
transfered) and the
9900 was a word oriented machine for code.
I have a machine that I hacked to replace the 6810 (128x8 rams) for
61256 parts (32Kx8a)
and hack my own code into it. In mine the Vram is strictly for video
use. The result is much
better but a totally incompatable machine from what it was. Still its
fun to play with.
The rest of mine are dusty at best but otherwise near pristine. Still
fun to play Parsec
as I kept a 13" old style pre-digital color set for that.
Allison