Retro Challenge – Z80 Assembler Breakthrough

Sorry I’ve not made any updates for a couple of days, but there’s not been much of significance to report of late.  Until today, that is.  Although, as far as the PCBs I’m waiting for are concerned, the only news to report there is that there is no news to report.  I will report tomorrow if there is news to report on this or not.

I have, however, been plodding away at teaching myself Z80 assembler language.  And with some progress too!  I’ve managed to pass the first major milestone with the code I’m writing to display text on the LED matrix displays!  It basically, looks at some text stored in a memory location, then looks up each character in turn on the ASCII character map that I lifted from a ZX Spectrum ROM, and puts each line in every 5th byte in a different location.  This new location is essentially a 40 byte screen map for the matrix

Screenshot from 2014-07-23 21:00:25

Now, I realise that this might not look like much to the untrained eye, but if you take the hex data from 0x7000 to 0x7028, convert it to 8 lines of binary, and squint at it, you will be able to read “SOwen”! Pretty cool, huh?

Now, I think I have mentioned before, but I am not a programmer.  So, to me, this is pretty amazing.  Although, I realise it’s trivial to a lot of people, and I know my code is not pretty, or efficient, or well written…. but it does what I want it to do, and that’s good enough for me :-)

This part of the code will run just once when the computer is first turned on.  The next part will simply read each location in turn and write it out to the appropriate LED, and repeat continuously.  Unless I decided to try something fancy like scroll it, or… nah, just display it will be fine!