mirror of
https://github.com/tebl/RC-Project-Board.git
synced 2024-11-29 09:50:50 +00:00
40 lines
1.4 KiB
NASM
40 lines
1.4 KiB
NASM
.CR 65C02
|
|
.TF readkey.hex,INT
|
|
.LF readkey.list
|
|
;
|
|
; SMALL PROGRAM FOR THE BE6502 COMPUTER THAT SEEKS TO DEMONSTRATE THE GET KEY
|
|
; ROUTINE FROM CH1 - ESSENTIALLY WE ATTEMPT TO READ THE KEY AND JUST OUTPUT
|
|
; IT ONTO THE ONBOARD LEDS. THE BOOK ACTUALLY DETAILS THE USE OF A SYM-1
|
|
; COMPUTER, SO WHATEVER BUGS YOU MAY FIND SHOULD PROBABLY BE BLAMED ON ME AND
|
|
; NOT THE AUTHOR OF THE BOOK.
|
|
;
|
|
; NOTE THAT ALL OF THE PARTS BELONGING TO THE GAME BOARD ASSUMES A TIMING OF
|
|
; 1 MHZ, SO ANY MANUAL CLOCKING AND SLOW CLOCKS ARE NOT APPLICABLE.
|
|
;
|
|
VIA0 .EQ $6000 ; VIA FOUND ON THE BE6502 ITSELF
|
|
VIA1 .EQ $4000 ; GAME BOARD (VIA #1)
|
|
VIA3 .EQ $4C00 ; GAME BOARD (VIA #3)
|
|
PORT0B .EQ VIA0
|
|
DDR0B .EQ VIA0+2
|
|
DDR3A .EQ VIA3+3
|
|
DDR3B .EQ VIA3+2
|
|
PORT3A .EQ VIA3+1
|
|
PORT3B .EQ VIA3
|
|
|
|
.OR $8000
|
|
.TA $0000
|
|
BE6502 LDA #$FF
|
|
STA DDR0B
|
|
JSR INITKEY
|
|
LOOP JSR GETKEY ; GET THE KEY USING THE SUB-ROUTINE FROM THE BOOK,
|
|
STA PORT0B ; IT'LL BE IN IN A SO PUT ON LEDS FOR DISPLAY.
|
|
JMP LOOP ; DO IT ALL AGAIN
|
|
|
|
.IN ../../common/CH01-Getkey/getkey_routine.asm
|
|
;
|
|
; STORE CPU INITIALIZATION VECTORS AT THE END OF THE EEPROM.
|
|
;
|
|
.NO $FFFA,$FF
|
|
.DA BE6502 ; NMI VECTOR
|
|
.DA BE6502 ; RESET VECTOR
|
|
.DA BE6502 ; IRQ VECTOR |