Issues and Solutions

Problem:  Issues implementing double indirect addressing for shift register data in assembly

Solution:  Binary decision tree created to locate the correct data byte for each SpiStep value until the indirect addressing code could be implemented.

 

Problem:  Running out of memory to store forth words (error accessing address $8000)

Solution:  Optimise code base, not add unnecessary functions, avoid redefining too many between resets during development

 

Problem:  Accessing pins within the DMD’s ribbon cable for both the 68HC11 and Arduino

Solution:  Build an Arduino adapter/breakout board based on the adapter schematic available online

Breakoutarduino_adapter_bottomarduino_adapter_top

Problem:  Keeping connections tidy and avoiding signal noise

Solution:  Create an adapter to fit directly onto the 68HC11 development board pin header and convert to DMD ribbon cable

6811 Header

Problem:  Data inverted when displayed on the DMD, possibly due to the shift registers sinking current and not supplying as was assumed.

Solution:  Add an extra assembly language command to perform an Exclusive OR (EOR) on the display data before sending it to the SPI subsystem’s data register.

-1 # EORB SPDR STAB