Close

First working disk support, memory extension implemented

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 11/13/2016 at 18:290 Comments

New version committed to Github

There is a whole slew of updates. My goals have been to get disk I/O working at least on a primitive level. This is now true, the simplest file I/O opcodes LOAD and SAVE now work. This is nice as it allows loading and saving of Basic programs (I tested both with TI Basic and RXB, the Rich extended Basic).

The support of SAVE and LOAD opcodes also means that the TI Editor/Assembler cartridge now becomes useful in my clone system, as option 5 there (Run program from file) works. EA5 is used to load many programs, so it s a big step forward.

In addition I updated the FPGA design to include support for the SAMS style memory expansion. This is still work in progress, but theoretically it should work. It enables memory paging in the 32K area of memory space that is normally occupied by memory extension. There are CRU space I/O registers at 1E00 and 1E02 which enable access to memory mapping registers and enable memory mapping. Currently 256K of memory is made available for paging.

A memory extension test program called AMSTEST4 exists but my design does not yet pass it. Display updating goes weird, so there maybe something wrong with the FPGA. Need to check that more.

Summary of changes (see code at Github for more details):

Discussions