Close

Instruction set expansion - STORE AC-> [X,D]

A project log for GTXL Gigatron clone computer with keyboard

Microcomputer that runs without a CPU

justin-davisJustin Davis 09/24/2018 at 13:300 Comments

One improvement I'm making to the Gigatron is to increase the instruction set.  I wanted this to be 100% compatible with the original, so that means I can't really replace any instructions that anyone may use; however, there are some instructions that no-one will use.  The STORE instruction has some possibilities to store to memory and read from memory at the same time.  This is an undefined mode for the RAM.  So nobody would be using these instructions.  So I'm assuming these are up for grabs.

I decided that I wanted to have a store instruction with X as the high byte.  Then it is easy to do a LOAD Y,D and then STORE X,D to move data around.  The upper byte in the MAU is currently only connected to Y, so it isn't too hard to connect up the other side to X.  Then I just need an enable wire to select X. 

I can identify when these undefined instructions are called by looking for both the STore instruction and the /OE is enabled.  This gives me the new enable for X which I call /OVerride.  However, I still need to fix the undefined problem, so instead of selecting /OE, I will now select the ACcumulator register /AE instead.  So this leads to three new equations:

/OV = /OE or ST

/OE = /oldOE or /ST

/AE = /oldAE and /OV

I can accomplish this with one more quad OR chip and a wired-AND.

Discussions