Skip to content

Refactor of TAM code

Benjamin Titmus requested to merge 523-Named-Variables-UI-Merge into master

I have several changes I need to make to TAM to support indirect alpha mode and named variable selection from the VAR menu. To make this easier (and the code more maintainable) I have refactored the existing TAM code.

  • Consolidation of most TAM related code into a single place (new files ui/tam.c and header ui/tam.h)
  • Flipping the dimensions of checking current state and then operation as most states have the same or similar code for a given operation
  • Removal of a state number indicating multiple bits of independent state as the cross for these can be large (operation, dot, indirect being three that are simultaneously possible)
  • Separation of TAM buffer computation from the state handling as this should be computed for the new state
  • Simplification of common states and transitions
  • Direct use of the ITM value rather than state transitions as they were, by this point, very similar
  • Numerous other small changes

This set of commits does not add any new features. Although it appears that indirect alpha works, this is only supported by the state transitions, not by the registers code, so it doesn't work yet.

Merge request reports