matrix: Text_ShowString blinking
authorTero Marttila <terom@fixme.fi>
Tue, 26 Jul 2011 21:29:14 +0300
changeset 42 99a179b64e6a
parent 39 d7eac199d323
child 43 a0a003083d4c
matrix: Text_ShowString blinking
matrix.inc
--- a/matrix.inc	Mon Aug 30 00:45:38 2010 +0300
+++ b/matrix.inc	Tue Jul 26 21:29:14 2011 +0300
@@ -39,7 +39,6 @@
 ; this determines the starting offset for the visible viewport's left edge from the start of the framebuffer in columns
 matrix_colshift:    .byte 1                 ; viewport left column offset
 
-
 ;; Text
 ; Maximum length of message
 .set TEXT_MAXLENGTH = 64
@@ -419,5 +418,44 @@
         pop         XH
         pop         XL
 
+
+    ; Clear second frame
+        ldi         YL, low(matrix_colbuf + 16)
+        ldi         YH, high(matrix_colbuf + 16)
+        ldi         r16, MATRIX_COLS
+        ldi         r17, 0
+
+text_shows_end2:        
+        st          -Y, r17
+
+        dec         r16
+        brne        text_shows_end2
+
+    ; Blink
+text_shows_end3:        
+        ; on
+        ldi         r16, 0
+        rcall       Matrix_ShiftSet
+
+        ; sleep
+        ldi         XH, high(TEXT_SPEED * 6 * 1024)
+        ldi         XL, low(TEXT_SPEED * 6 * 1024)
+
+        rcall       Timer_Sleep
+
+        ; off        
+        ldi         r16, 8
+        rcall       Matrix_ShiftSet
+
+        ; sleep
+        ldi         XH, high(TEXT_SPEED * 6 * 1024)
+        ldi         XL, low(TEXT_SPEED * 6 * 1024)
+
+        rcall       Timer_Sleep
+
+        ; loop
+        rjmp        text_shows_end3
+
+    ; XXX: end
         ret