diff --git a/src/glue.mli.a b/src/glue.mli.a index 5ea2ac8..a5ad4e9 100644 --- a/src/glue.mli.a +++ b/src/glue.mli.a @@ -21,6 +21,7 @@ DEVNUM = $BF30 ; last accessed device ; MLI parameter counts + command codes (these are not memory addresses) CMD_QUIT = $0465 ; quit to ProDOS +CMD_GETTIME = $0082 ; get current time CMD_CREATE = $07C0 ; create new file CMD_DESTROY = $01C1 ; delete a file CMD_GETFILEINFO = $0AC4 ; get file (or volume) info @@ -307,6 +308,10 @@ CloseFile +LDADDR CMD_CLOSE bne mli ; always branches +GetTime + +LDADDR CMD_GETTIME + beq mli ; always branches + ;------------------------------------------------------------------------------ ; Quit ; quit to ProDOS diff --git a/src/ui.title.a b/src/ui.title.a index bd8927c..354dc5b 100644 --- a/src/ui.title.a +++ b/src/ui.title.a @@ -8,6 +8,7 @@ ; - TitlePage ; +initialtitlechar = $FC titlechar = $FD ;------------------------------------------------------------------------------ @@ -22,7 +23,16 @@ TitlePage jsr Home lda #$01 sta GlobalLeftMargin - lda #$41 ; 'A' + jsr GetTime ; clock users can have a little randomness, as a treat + lda $BF90 + eor $BF91 + eor $BF92 + eor $BF93 + and #31 + lsr + clc + adc #$41 + sta initialtitlechar @outerloop sta titlechar @@ -108,7 +118,8 @@ TitlePage lda titlechar beq @phase2 - lda #$C1 ; 'A' with high bit + lda initialtitlechar + ora #$80 bit titlechar +LBPL @outerloop lda #$00