draw note stops properly

This commit is contained in:
Nico 2021-05-15 15:48:38 +01:00
parent 4750c4fce8
commit b321104198
1 changed files with 9 additions and 1 deletions

View File

@ -171,6 +171,14 @@ RTN
( draw-note draws a byte as a note name and number on the screen ) ( draw-note draws a byte as a note name and number on the screen )
@draw-note ( byte ) @draw-note ( byte )
DUP #0c DIV #01 SUB STH ( stash octave ) DUP #0c DIV #01 SUB STH ( stash octave )
DUP #6c LTH ,&note JCN ( if note is in range, draw note, otherwise continue to draw a rest )
#3b ;draw-char JSR2
#00 ;draw-char JSR2
#3d ;draw-char JSR2 ( draws "[ ]" )
POPr ( remove octave from returnstack )
POP
RTN
&note
#0c MOD #00 SWP ;notes ADD2 LDA DUP #7f AND ;draw-char JSR2 #0c MOD #00 SWP ;notes ADD2 LDA DUP #7f AND ;draw-char JSR2
#80 AND ,&else JCN ( if the high bit is unset ) #80 AND ,&else JCN ( if the high bit is unset )
#00 ;draw-char JSR2 ( draw a space ) #00 ;draw-char JSR2 ( draw a space )
@ -329,7 +337,7 @@ RTN
52 00 20 52 00 20
53 00 66 53 00 66
54 00 66 54 00 66
55 00 66 ff 00 66
56 00 ff 56 00 ff
57 00 66 57 00 66
] ]