Friday, 3 July 2009

It lives!

Yay after a few false starts I've got all the 7-segment displays wired up and the system now functions.

I had to do a fair bit of debugging and re-wiring to get all of the displays to work properly - I shouldn't sing along to the radio when wirewrapping.

When all was well I retried the test program from yesterday and this still didn't work. After a lot of debugging and getting nowhere. The thing was following the program flow but writing out random data on all MREQ+WR's and IORQ+WRs from the processor which I put down to my processor buffers being wired wrong - then I spotted that it was wrong *differently* each time....after much messing about I tried a different processor chip - hey presto it all works! Only a couple of hours wasted!

Here's a picture of the board halted (A=E12F D=ED, during an M1 cycle read)
And below is a video showing me single-stepping through a test program, then in the second half the test program running at full speed (4MHz). The program outputs repeatedly to the top 7 IOnn lines to make a simple fading routine to make each LED light up bright then gradually dim - well that's the idea anyway.

Next up I'll tackle a simple LCD board so I can do a "hello world"

PS: Sorry I made the videos "upside down"!

No comments:

Post a Comment