Jump to content

99/4A accelerator


Recommended Posts

Ah, I see now. Bit 8 in the status register flips the 64K address space. It has a LDST (Load Status Register) instruction that lets the programmer write directly to the status register. Neat.


See, and my first thought was that we just need one additional address bit from the die. Since addressing is in words, 16 bits would address 128k.


But then I smacked myself, because the 9995 is 8-bit so it works in bytes and not words. Dammit.

Link to comment
Share on other sites

The best accelerator I've made for my TI 99/4A console was 64 Kbytes of 16-bit wide RAM inside the console. Normally, only 32 Kbytes of it is enabled, to cover the addresses used by the normal memory expansion (2000H - 3FFFH and A000H - FFFFH). However, I also installed an 8-bit latch with which I can switch in the remaining 32 Kbytes when I want to. The segments 0000H - 1FFFH, 4000H - 5FFFH, 6000H - 7FFFH and 8000H - 9FFFH can be controlled individually. A single bit controls the whole 32 K RAM part. As I wrote above, that's normally enabled, so setting this bit disables it instead, thus allowing access to the normal 32 K RAM expansion, provided it's installed out in the PEB, of course.

Finally, one more bit enables an extra wait state when decoding a VDP access, since some software takes shortcuts that no longer works, when the console runs faster. Turning off the fast 32 K RAM will give true original performance, of course.


Now this runs with the original crystal, not to loose any timing compatibility with existing software. But programs written to run in 8-bit RAM only (both workspace and program code) executes about 110% as many instructions in the same time, or finish after less than half the time, if you prefer. Having the workspace somewhere in the 256 bytes RAM is of course common, and then the speedup is less, since the register access is already as fast as it gets. The advantage with my solution is that I can write programs without caring about where I put the WS, it runs with the same speed anyway.


Now I hardly ever use my 99/4A, but I liked this modification when I did. Improves performance without loosing any compatibility with existing software. That and making a RAM-disk work with the p-system were the most useful hardware modifications I made, I think. Or if that was a silent fan for the PEB? Thinking of it, the real time battery backed clock and the I/O-card with the accompanying analog joystick were sometimes useful too...


Now I'm getting nostalgic! Back to translating the Turbo Pasc 99 manual.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...