Upload files to "kernal"
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
.segment "TIME"
|
||||
;***********************************
|
||||
;* *
|
||||
;* time *
|
||||
;* *
|
||||
;*consists of three functions: *
|
||||
;* (1) udtim-- update time. usually*
|
||||
;* called every 60th second. *
|
||||
;* (2) settim-- set time. .y=msd, *
|
||||
;* .x=next significant,.a=lsd *
|
||||
;* (3) rdtim-- read time. .y=msd, *
|
||||
;* .x=next significant,.a=lsd *
|
||||
;* *
|
||||
;***********************************
|
||||
|
||||
;interrupts are coming from the 6526 timers
|
||||
;
|
||||
udtim ldx #0 ;pre-load for later
|
||||
;
|
||||
;here we proceed with an increment
|
||||
;of the time register.
|
||||
;
|
||||
ud20 inc time+2
|
||||
bne ud30
|
||||
inc time+1
|
||||
bne ud30
|
||||
inc time
|
||||
;
|
||||
;here we check for roll-over 23:59:59
|
||||
;and reset the clock to zero if true
|
||||
;
|
||||
ud30 sec
|
||||
lda time+2
|
||||
sbc #$01
|
||||
lda time+1
|
||||
sbc #$1a
|
||||
lda time
|
||||
sbc #$4f
|
||||
bcc ud60
|
||||
;
|
||||
;time has rolled--zero register
|
||||
;
|
||||
stx time
|
||||
stx time+1
|
||||
stx time+2
|
||||
;
|
||||
;set stop key flag here
|
||||
;
|
||||
ud60 lda rows ;wait for it to settle
|
||||
cmp rows
|
||||
bne ud60 ;still bouncing
|
||||
tax ;set flags...
|
||||
bmi ud80 ;no stop key...exit stop key=$7f
|
||||
ldx #$ff-$42 ;check for a shift key (c64 keyboard)
|
||||
stx colm
|
||||
ud70 ldx rows ;wait to settle...
|
||||
cpx rows
|
||||
bne ud70
|
||||
sta colm ;!!!!!watch out...stop key .a=$7f...same as colms was...
|
||||
inx ;any key down aborts
|
||||
bne ud90 ;leave same as before...
|
||||
ud80 sta stkey ;save for other routines
|
||||
ud90 rts
|
||||
|
||||
rdtim sei ;keep time from rolling
|
||||
lda time+2 ;get lsd
|
||||
ldx time+1 ;get next most sig.
|
||||
ldy time ;get msd
|
||||
|
||||
settim sei ;keep time from changing
|
||||
sta time+2 ;store lsd
|
||||
stx time+1 ;next most significant
|
||||
sty time ;store msd
|
||||
cli
|
||||
rts
|
||||
|
||||
; rsr 8/21/80 remove crfac change stop
|
||||
; rsr 3/29/82 add shit key check for commodore 64
|
||||
Reference in New Issue
Block a user