RF Eclectica Wiki

Try to learn something about everything, and everything about something - Thomas Huxley

User Tools

Site Tools


public:computers:6502:update_sept_2022

6502 Project

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 (4×20 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 (2×16 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
  • [✓ John Pumford-Green, 2022-09-26]add DS1306 RTC via SPI
  • [✓ John Pumford-Green, 2022-09-26]move system clock back to VIA_1 using IRQ interrupt
  • [✓ John Pumford-Green, 2022-09-26]move beep to VIA_3 port B7
  • [✓ John Pumford-Green, 2022-09-26]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

public/computers/6502/update_sept_2022.txt · Last modified: 31/07/24 12:12 BST by john