Close

Interrupt support added, debugging continues

A project log for RC2016/99: TI-99/4A clone using TMS99105 CPU

Retrochallenge 2016/10 entry and winner: try to build a TI-99/4A clone using a TMS99105 CPU and an FPGA. In a month...

erik-piehlErik Piehl 10/14/2016 at 19:351 Comment

This week has been busy and I caught a flu. That did not leave me much time for the project. I still have not figured out why the TI Basic system does not fully boot - the startup screen comes up but pressing a button does not bring the menu. I tried to play with timing and tested some logic changes, but those did not help. I also don't really know how closely the system has to match the original computer before I could get to the menu.

Since being stuck has been boring, I have added more functionality that I know I will need once I get further in the project. On that side I added more (although still partial) implementation of the TMS9901 interface chip. I also added video processor interrupts. On the TI-99/4A that touches both the TMS9918 VHDL implementation and the TMS9901 implementation. In my test program the interrupts work fine, and to my understanding that matches the original hardware. This part I cannot easily compare with the original, as my test requires a custom ROM at address zero. Hmm. Perhaps actually I could test that relatively easily without the emulator.

The video interrupt support required a bunch of things:

Speaking of the emulator, I have developed a test program which exercises various parts of the design. The problem is that all of the tests I have created work well with the TMS99105, so I cannot reproduce whatever the problem is with the original TI ROMs. I have compared the output of the test program to the results that I can get with the excellent Classic99 emulator. The things that I have tested all match the behaviour on classic99. My suspicion has been that the problem would be in the GROM subsystem, but the checksumming test code I created works properly, both for data reads and for address counter reads. Due to preloading system used by GROMs I suspected this might be broken, but it does seem to be.

Discussions

Erik Piehl wrote 10/16/2016 at 05:01 point

I realised that I have written some log stuff quickly and carelessly. For example I wrote "I could test that relatively easily without the emulator" but my intention was to say "with the emulator"... 

  Are you sure? yes | no