EMMA 02

HUG1802, ETI-660 & HEC1802

  • Home
  • CDP18S020
    • General Information
    • I/O Map
  • COMIX-35
  • COMX-35
    • General Information
    • F&M
    • Did You Know...?
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Expansion Box
    • Disk
    • Printers
    • Thermal
    • PL-80
    • 32K RAM
    • 80 Column
    • F&M EPROM
    • F&M Joy Card
    • Super Board
    • COMX BASIC V1.00
  • COSMAC Elf
    • General Information
    • I/O Map
    • Front Panels
  • COSMAC Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • COSMAC Microtutor
    • General Information
    • I/O Map
  • COSMAC Microtutor II
    • General Information
    • I/O Map
  • COSMAC Vip
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • STK
    • Chip-8 and 8X
    • Test-Word
    • Floating Point BASIC 2.2
  • COSMAC Vip II
    • General Information
    • I/O Map
    • Floating Point BASIC 2.2
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • Conic
  • Cosmicos
    • General Information
    • I/O Map
    • Front Panels
    • Mops & Hexmops
    • ASCII Monitor
    • HEX Monitor & UT4
  • CyberVision
  • ETI-660
  • FRED 1
    • General Information
    • I/O Map
    • Cassette
    • CARDTRAN Syntax
  • FRED 1.5
    • General Information
    • I/O Map
    • Cassette
    • Cassette
    • FPL-2
    • FPL-4
    • FEL-1
  • HEC1802
  • HUG1802
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Chip-8 ETI-660
  • Infinite UC1800
    • General Information
    • I/O Map
  • JVIP
  • Macbug
  • Membership Card
    • General Information
    • I/O Map
  • Netronics Elf II
    • General Information
    • I/O Map
    • Front Panels
    • Keyboard
    • Giant Board
    • BASIC/Math
  • Oscom Nano
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
  • Pecom 32 and 64
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
  • Pico/Elf V2
    • General Information
    • I/O Map
  • Quest Super Elf
    • General Information
    • I/O Map
  • RCA Game System
  • RCA Microboard
    • General Information
    • I/O Map
  • RCA MS2000
    • General Information
    • I/O Map
  • RCA MCDS
    • General Information
    • I/O Map
  • RCA Studio II
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST2
  • RCA Studio III
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
  • RCA Studio IV
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST4 Syntax
  • RCA Video Coin
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • SBC1802
  • Studio 2020
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip 8
  • VIS1802
  • VT1802
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard

 

 

 

 

 

 

 

 

 

 

 

 

Keyboard

The I/O port PA of the PIA MC6821 is used in conjunction with the keyboard. This is divided into a 4 x 4 matrix with a normally open contact at each cross point. PA0 to PA3 (pin 2 to 5) connect to the 'rows' of the matrix, while PA4 to PA7 (pin 6 to 9) connect to the 'columns' of the matrix. Internally these eight lines have pull-up resistors, and when used as input are normally high when open.

The 'row' lines (PA0 to PA3) are made output lines and are programmed in software to be logic 0. This is done by writing #0F to the data direction register (bit 0-3 are 1 = output, bit 4 to 7 are 0 = input). The ETI writes the data direction register as follows:

  • First the data direction register needs to be selected, this is done setting bit 2 of the control register to 1 (by an OUT 2 with data bit 2 = 1 and address lines bit 0 = 1 and bit 1 = 0).
  • Second to write #0F to the data direction register (by an OUT 2 with address lines bit 0 and bit 1 equal to 0).

Pressing any key will join a row line (low) to a column line (high), pulling the column line (an input) low. The software (monitor program) detects this and changes the function of the rows and columns over to find the key depressed. Some short delay is normally included to 'debounce' the key contacts. Software is used to determine the 'value' of the key depressed.

The ETI writes the PA output part as follows:

  • First the peripheral register needs to be selected, this is done setting bit 2 of the control register to 0 (by an OUT 2 with data bit 2 = 0 and address lines bit 0 = 1 and bit 1 = 0).
  • Second to write the desired output (by an OUT 2 with address lines bit 0 and bit 1 equal to 0).

The ETI reads the PA input part as follows:

  • First the peripheral register needs to be selected, this is done setting bit 2 of the control register to 0 (by an OUT 2 with data bit 2 = 0 and address lines bit 0 = 1 and bit 1 = 0).
  • Second to read the desired input (by an OUT 2 with address lines bit 0 and bit 1 equal to 0).