hw-lcd-t6963c (libt6963c.la :: t6963c_component_library)


Simulates the Toshiba T6963C LCD controller. The controller supports display sizes from 32 to 80 columns and from 2 to 32 lines. The fonts may also be varied from 5X8 dots to 8X8 dots. The chip supports an external display RAM of up to 64 Kbytes. This RAM may be arbitrarily configured between text and graphics, and attributes such as blink and reverse can be specified on a per character basis. The chip comes with a 128 character ROM of predefined fonts. Two ROMS are available: hw-lcd-t6963c-0101 specifies the European standard font; hw-lcd-t6963c-0201 is the Japanese standard font.



The LCD controller model is somewhat abstracted from the physical device:


refresh-period-msec: used specify the refresh period (in milliseconds) for continuous update modes such as blink.

display-width: specifies the number of columns in pixels. Legal values are those that can be represented by the MD2-MD3 pins on the real chip.

display-height: specifies the number of rows in characters (each each character is 8 pixels high). Legal values correspond to the single-scan (ie. non-DUAL mode) values that can be represented by the MDS, MD0, and MD11 pins on the real chip.

font-width: specifies the width of each character in pixels. Corresponds to the values specifiable by the FS0-1 pins on the real chip.


See discussion of the FR and row-col pins in Modeling section above

SID Conventions
functional supported

This is a functional component

Save/restore supported

Save/restore is supported via the state-snapshot attribute

Trigger point supported

Trigger point support is available on the following registers: SR, X-ADRS, Y-ADRS, Offset, ADP, TH, GH, TA, and GA.


Related components

The T6963C requires an external memory for its display RAM. This RAM can be any size up to 64KBytes. Besides the memory (and CPU bus), the LCD controller is usually connected to a display of some kind. Clearly, the display component must be aware of the refresh protocol used by the T6963C model. Finally, the scheduler is typically used to set up the time between refreshes of the display.

The following configuration file segment shows how the LCD controller can be connected to 64K external RAM, the tcl based display, and the host-time scheduler:

      new hw-lcd-t6963c-0101 lcd	# Standard European font
      new hw-visual-lcd display		# The display is implemented in Tcl
      new sid-sched-host sched		# Use the real-time scheduler
      # scheduling (must appear before pin assignments)
      set sched num-clients 1
      set sched 0-regular? 1
      set sched 0-time 500		# in msec

      # display size is in pixels - ie. font-width*display-height
      set display width 160		# 20 chars X 8 pixels per char
      set display height 48		# 6 lines of 8 pixels per line

      # lcd geometry values must match allowed pin settings
      set lcd display-width 32		# 32 chars (closest to 20)
      set lcd display-height 6		# 6 rows/lines

      # connect the LCD to the scheduler
      connect-pin sched 0-event -> lcd refresh-sync-event
      connect-pin sched 0-control <- lcd refresh-sync-control
      # connect the LCD to the display
      connect-pin lcd row-col -> display row-col
      connect-pin lcd FR -> display FR

      # connect external display ram
      new hw-memory-ram/rom-basic d-ram
      set d-ram size 65535
      connect-bus lcd external-ram d-ram read-write-port

Component Reference:

Component: hw-lcd-t6963c (Abstract)

row-colout2 shorts as a 32-bit valuedisplay

bus0..1byte-wide access

namecategorylegal valuesdefault valuebehaviors
refresh-period-msecsettingany positive value500configuration
display-widthsetting32, 40, 64, 8080configuration
display-heightsetting2, 4, 6, ... 1616configuration
font-widthsetting5, 6, 7, 88configuration

external-ram0..0xffffbyte-wide read/write

Variant: hw-lcd-t6963c-0101

Same as hw-lcd-t6963c

Variant: hw-lcd-t6963c-0201

Same as hw-lcd-t6963c


T6963C Dot Matrix LCD Control LSI (from the Toshiba web site)