3 ms·
A while back I decided to build a homebrew system based on the TMS99105A CPU, thanks both to this article and to Ben Eater's terrific videos. It's a pretty coo
by McGlockenshire 4y ago
A while back I decided to build a homebrew system based on the TMS99105A CPU, thanks both to this article and to Ben Eater's terrific videos. It's a pretty cool platform. It's been my first real exposure to working in assembly language and I've been having a blast.
Due to the way the it provides bus status signals, you can effectively build a system with completely separate memory address spaces for executable code and data ... and a another separate address space for both of those when you use the built-in memory mapper support. It gets more fun if you can take advantage of the way it handles a subset of unimplemented opcodes: it shelves the current workspace and treats the opcode like a branch call. The 990/12 minicomputer and the 99110A CPU use this technique, branded "Macrostore," to add floating point instructions to the platform.
That's three separate memory address spaces each for instructions and data... and another entirely separate address space for I/O devices!
I really like this thing and one fine day I'll actually have something concrete enough to publish an article about it. If you want to learn more about the clever and insane things that 9900-series fans are doing, your best bet is heading over to the Atari Age forums where there are a bunch of homebrew software and hardware projects in progress: https://forums.atariage.com/forum/119-ti-994a-development/ https://forums.atariage.com/forum/119-ti-994a-development/
Somewhere buried in there you'll also find commentary from TI employees and other insiders about this article.