Discussion Forum for all things Microbee
Original Microbee Keyboard Notes - Printable Version

+- Discussion Forum for all things Microbee (https://microbeetechnology.com.au/forum)
+-- Forum: Microbee Forum (https://microbeetechnology.com.au/forum/forum-1.html)
+--- Forum: Microbee Hardware (https://microbeetechnology.com.au/forum/forum-6.html)
+--- Thread: Original Microbee Keyboard Notes (/thread-181.html)



Original Microbee Keyboard Notes - someone - 17-08-2020

A perpetual question is "Can I use a 6845 in place of a 6545?"
The answer is essentially No and here is the reason.

The original microbee keyboard circuit is actually an implementation of Synertek's 6545 CRT Controller Application Notes.
The circuit has a keyboard switch matrix to act in lieu of a light pen event.

The light pen event is captured by the CRTC with the CPU reading its contents.
Switch debounce is performed using software.

There are 2 ways to scan the keyboard.

A. The just poll the CRTC LPEN bit until it is asserted and then read the LPEN address registers.

B. The other way uses the 6545's Increment Update feature (which is not on the 6845) by loading the update address registers with the desired key address,
    polling the CRTC update ready bit and checking the state of the LPEN bit as to whether that key as been pressed or not.

Method B. is used to scan the CTRL, LOCK and SHIFT keys.
It is also used by Storymaker to scan the arrow keys allowing multiple arrow keys to be scanned and move in the resultant direction including diagonals.
e.g. Up and Right simultaneously.

So unless you want to rewrite the keyboard drivers just use a 6545.


RE: Original Microbee Keyboard Notes - ChickenMan - 17-08-2020

(17-08-2020, 05:57 PM)someone Wrote: Method B. is used to scan the CTRL, LOCK and SHIFT keys.
It is also used by Storymaker to scan the arrow keys allowing multiple arrow keys to be scanned and move in the resultant direction including diagonals.
e.g. Up and Right simultaneously.

Thats probably why Storymaker doesnt run under ubee512 emulator.  The only copy found to run with the emulator is a later version that runs on the 256TC as well as the 128k Prem.