Retrochallenge 2010
      Winter Warmup
      Mark Wickens
      9-Jan-2010

                              68k/VFD Retrochallenge Rollcall!

      This will have be a short entry as the clock has just struck midnight and I am
      only just beginning.

      This evening was another session with the 68k SBC, this time focussing on
      driving a Babcock Vacuum Flourescent Display. This behemoth of an output device
      utilises similar construction materials to CRTs with a corresponding weight to
      match. The display was bought off ebay a few years ago when I was on the lookout
      for a VFD to go with the SBC. I struck gold with this one as getting them this
      size (40x6 character matrix) is no mean feat. The display 'tube' is a sandwich
      of thick glass with the display gubbins in the middle and is about 11 inches
      wide by 5 inches tall. This is mounted on two double sided PCBs with a border of
      about an inch all round the display. The whole lot must weigh close to 1kg! The
      display has an RS/232 serial interface.

      Babcock Display - Front View

      I'd previously played with the display and initially couldn't get it to do
      anything. It turned on and displayed a cursor (which incidently is a 'segment'
      on its' own) but wouldn't display anything sent to it. At the point of giving up
      I decided to ignore the manual regarding the DIP switch settings for baud rates,
      created a boolean map and tried each combination one at a time. Sure enough, the
      manual was lying and a completely random combination of switch settings produced
      the correct baud rate.

      Babcock Logo

      It got to the point previously where I had modified the Tutor firmware to
      duplicate anything sent to serial port 1 (normally the port to which your
      PC/terminal is attached) to serial port 2 where the Babcock was attached. I
      burnt a set of ROMs like this, and probably still have them somewhere.

      Babcock Text Display

      You can see from the above image that each character is formed by using a 5x7
      pixel grid, with a separate horizontal bar underneath for the cursor, if
      required. All that needs to be sent to the display is a stream of ASCII
      characters, and it honours several control characters such as newline. I've yet
      to explore whether it will do backspacing and the like.

      The display draws about 5 Watts (1 Amp @ 5V) when running. It gets warm to the
      touch. If you look closely you can see the heater wires that run horizontally
      across the display glow red. This is the kind of technology I love - anything
      that can double as a room heater.

      Babcock Display Closeup

      I had a bit of trouble converting my cstart assembly code to produce text on
      this display rather than the terminal. This was because the Tutor firmware
      doesn't have a 'write a character' TRAP #14 routine when writing to serial port
      2 - the only convenient routine is a 'write a string' routine which requires
      register A5 to point to the start address of a string in memory and A6 to point
      to the character after the string. It took me a while to work out the magic
      assembler incantation to get the __putch() function working to redirect display
      to the VFD instead of the terminal:
              __putch:                           ; Basic character output routine
                     link      A6,#0
                     movem.l   D7/A5/A6,-(A7)
                     lea       8(A6),A5
                     addl     #3,A5
                     move.l    A5,A6
                     add.l     #1,A6
                     move.b    #242,D7           ; trap #14 function 248 - OUTCH
                     trap      #14
                     movem.l   (A7)+,D7/A5/A6
                     unlk      A6
                     rts
                     xdef      __getch

      Once this was sorted I got a Hello World working and wondered what to do next.
      Since it was too late in the day to start thinking about a game, I decided to do
      a Roll Call, and post a video on YouTube[1].

      Sorry for missing the Hunt, but at that point I was on a roll, and anyway, I
      still haven't read the instructions, so would only have got hammered again.

      
      ENDNOTES

      1. RC Roll Call!