moved graphops into a dedicated sourcefile.

This commit is contained in:
Martin Preuss
2025-05-22 16:29:55 +02:00
parent a4975038b4
commit 7d233136eb
6 changed files with 356 additions and 331 deletions

View File

@@ -23,13 +23,13 @@
; @param r7:r6 Y
; @param r1:r0 background color
; @param r3:r2 foreground color
; @param Z pointer to font (word address!)
; @param Z pointer to font (byte address for LPM!)
; @param X pointer to RAM to store data to
; @return r5:r4 new X (advanced by character width)
; @clobbers r16 (r17, r20, r21, r22, r23, r24, r25, X)
ili9341_WriteCharacterX1At:
rcall ili9341PrepareCharFromFont ; (r16, r17, r24, r25, z)
rcall ili9341FontRenderChar ; (r16, r17, r24, r25, z)
rcall ili9341BitBlit ; (r16, r17, r20, r21, r22, r23, r24, r25, X)
; advance X (add char width to X)
add r4, r8
@@ -48,13 +48,13 @@ ili9341_WriteCharacterX1At:
; @param r7:r6 Y
; @param r1:r0 background color
; @param r3:r2 foreground color
; @param Z pointer to font (word address!)
; @param Z pointer to font (byte address for LPM!)
; @param X pointer to RAM to store data to
; @return r5:r4 new X (advanced by character width)
; @clobbers r16 (r17, r18, r19, r20, r21, r22, r23, r24, r25, X)
ili9341_WriteCharacterX2At:
rcall ili9341PrepareCharFromFont ; (r16, r17, r24, r25, z)
rcall ili9341FontRenderChar ; (r16, r17, r24, r25, z)
rcall ili9341BitBlitStretch2 ; (r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, X)
; advance X (add double char width to X)
lsl r8 ; Wx2
@@ -74,13 +74,13 @@ ili9341_WriteCharacterX2At:
; @param r7:r6 Y
; @param r1:r0 background color
; @param r3:r2 foreground color
; @param Z pointer to font (word address!)
; @param Z pointer to font (byte address for LPM!)
; @param X pointer to RAM to store data to
; @return r5:r4 new X (advanced by character width)
; @clobbers r16, r17, r18, r19, r24, r25, x, z
ili9341_WriteCharacterX4At:
rcall ili9341PrepareCharFromFont ; (r16, r17, r24, r25, z)
rcall ili9341FontRenderChar ; (r16, r17, r24, r25, z)
rcall ili9341BitBlitStretch4 ; (r16, r17, r20, r21, r22, r23, r24, r25, X)
; advance X (add quad char width to X)
lsl r8 ; Wx2
@@ -97,7 +97,7 @@ ili9341_WriteCharacterX4At:
; ---------------------------------------------------------------------------
; @routine ili9341PrepareCharFromFont
; @routine ili9341FontRenderChar
; @param R16 character to write
; @param Z pointer to font
@@ -106,7 +106,7 @@ ili9341_WriteCharacterX4At:
; @return r11:r10 character height in points
; @clobbers r16 (r17, r24, r25, z)
ili9341PrepareCharFromFont:
ili9341FontRenderChar:
; render character
push xl
push xh
@@ -129,9 +129,15 @@ ili9341PrepareCharFromFont:
; @routine ili9341JumpToFontRenderFn
;
; helper function to call function at the beginning of the given font
; @clobbers r17
ili9341JumpToFontRenderFn:
ijmp
lpm r17, Z+
push r17
lpm r17, Z
push r17
sbiw zh:zl, 1
ret
; @end