-[[.:start]]
====== Update Sept 2022 ======
** Some recent modifications and additions **
===== Hardware =====
* 2 more 65C22 VIA chips to give a total of 3 VIAs providing six 8-bit I/O ports.
* VIA #1 ($6001) : Port A = Keypad
* VIA #1 ($6000) : Port B = LCD_1 (4x20 in 4-bit mode)
* VIA #1 : IRQ connection to CPU for keypad and CB1 & CB2 buttons
* VIA #1 Port B handshaking CB1 and CB2 connected to debounced buttons for user input experiments
* VIA #2 ($5001) : Port A = Spare
* VIA #2 ($5000) : Port B = SPI (bit0,1,2,6), Piezo Sounder (bit7)
* VIA #2 : T1 Timer = square wave generator for sounder using Port B bit7
* VIA #3 ($4801) : Port A = LCD_2 (2x16 in 4-bit mode)
* VIA #3 ($4800) : Port B = Spare
* VIA #3 : T1 Timer = System Clock Ticks at 10ms rate via NMI connection to CPU
* main LCD changed to a 4 line by 20 character display
* 2nd LCD (2 x 16) added on VIA #3 Port A
* LED indicator plug-in boards made to give easy visual indication of VIA output port state
* Piezo sounder connected to VIA #2 Port B, bit 7
* SPI interfacing using VIA #2 Port B
* Buttons for controlling interrupt driven events, each de-bounced with a 555 monostable
* 555 timer as a power-on CPU reset
===== Firmware =====
ROM Monitor code extended to support the new hardware.
* SPI transceive to communicate with a basic SPI slave running on a PyBoard
* LCD #2 display of either "Mission Time" or SPI TX/RX data to/from PyBoard
* code to send audible beeps of different pitch/duration (controlled by the 2 buttons)
* keypad - confirmation keypress beeps
* Byte (binary) to ASCII decimal conversion to show 16-bit/2-byte binary data as a human readable decimal number
* Use of FLAGS to control background tasks extended/explored
===== Next Steps =====
* add Serial Interface using Rockwell 65C51 ACIA and MAX232
* learn how to code for interacting via serial interface
* connect to a Wyse-185 Serial Terminal
*add DS1306 RTC via SPI
*move system clock back to VIA_1 using IRQ interrupt
*move beep to VIA_3 port B7
* move SPI interface to VIA_3 port B, for future connection to DS1306 RTC
* this will leave :
* VIA_2 ports A & B free for external use
* VIA_3 Port A = LCD2
* VIA_3 Port B = Beep and SPI/RTC
--- //John Pumford-Green 17/09/22 11:50//
===== Further Information =====
{{tag>6502 assembly}}