Thursday, 16 January 2014

Library routines move onward

The support library is coming along quite well, I'm quite pleased with it. It currently occupies only four pages of ROM memory, and wastes only about 6 bytes - this is because a TMS1100 divides memory into pages of 64 bytes and you can't cross to a different page without a jump, it's not like a Z80 where memory is contiguous.

The screenshot uses about 12 bytes to - clear the screen, play a beep, display a number and increment it (the latter is for keeping scores and so on) - you can actually see most of the code in the screen shot. It operates like a fast counter. I suspect on a real Microvision it would be extremely blurry in the least significant digit because the LCD isn't one of the greatest available.

Functionality at present is :

  • Microvision hardware initialisation
  • Writing a row or column bit pattern to the LCD latches given a row or column number
  • Performing a Display Update
  • Performing Display Polarisation switching
  • A sound system that runs in the background (sort of - it toggles the speaker on the update and does the timing on the polarisation) which allows beeps of about 0.5 seconds or so and half a dozen different beeps, all dependent on how frequently you update the screen :)
  • 3 x 5 digit font for scores / settings and the code to select it.
  • Render a four digit number to the screen at any vertical position, optionally updating font data
  • Clear screen routine / Zero score routine
  • 4 bit Random Number Generator - bit rubbish but useable.
  • Add 1, 10 or 100 to the 4 digit number (for scoring, mostly)
There's no keyboard routines or other utility functions - not sure what to provide, rotate functions maybe ?

No comments:

Post a Comment