Re: 6809 Angel
Posted: Thu Oct 17, 2024 9:32 pm
After a bit of mucking around I finally got the SYS IO board completed and working, the last problem was due to me inadvertently ordering the SOIC part for the keyboard micro leaving with an adaptor to find to mount the chip in the socket.
Not having the correct battery holder I simply soldered a PCB mount battery onto the board and also included a battery on/off switch to save the battery when I'm not using the clock.
To test the keyboard and display I have used the Assist09 Vector Swap functions to patch drivers into the monitor, extract below:
It's looking good so far, next is to get a buffered serial driver working.
David.
Not having the correct battery holder I simply soldered a PCB mount battery onto the board and also included a battery on/off switch to save the battery when I'm not using the clock.
To test the keyboard and display I have used the Assist09 Vector Swap functions to patch drivers into the monitor, extract below:
Code: Select all
;================================================
; Initialise VIA for keyboard handshake
ldx #VIA_BASE
lda #VIA_PCR_HANDSHAKE_OUTPUT
sta VIA_PCR,X
lda VIA_IRA,X
;================================================
; Setup I/O Handlers
LEAX TEXT_OUTCH,pcr
LDA #CODTA
SWI
FCB VCTRSWP
LEAX keyboard_cidta,pcr
LDA #CIDTA
SWI
FCB VCTRSWP
rts
;================================================
* CIDTA - RETURN CONSOLE INPUT CHARACTER
* OUTPUT: C=0 IF NO DATA READY, C=1 A=CHARACTER
* U VOLATILE
keyboard_cidta
PSHS U
LDU #VIA_BASE
LDA VIA_IFR,U ; GET STATUS
lsra
lsra
BCC kcirtn ; RETURN IF NOTHING
LDA VIA_IRA,U ; LOAD DATA BYTE
kcirtn PULS U,PC ; RETURN TO CALLER
;================================================
David.