Changeset 30 for branches/UltimatOS/Graphics.asm
- Timestamp:
- Jul 5, 2022, 8:28:18 PM (23 months ago)
- Location:
- branches/UltimatOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UltimatOS
-
Property svn:ignore
set to
UltimatOS
UltimatOS.lps
UltimatOS.res
lib
-
Property svn:ignore
set to
-
branches/UltimatOS/Graphics.asm
r29 r30 1 Rectangle: ; R0 - Color, R1 - Width, R2 - Height 2 PUSH R3 3 PUSH R4 4 PUSH R5 5 SET R3, 0 ; X 6 SET R4, 0 ; Screen address 7 IN R5, ScreenGetWidth 8 SHL R5, 2 ; multiply by 4 1 Rectangle: ; R0 - Color, R1 - X, R2 - Y, R3 - Width, R4 - Height 2 PUSH R5 ; loop X 3 PUSH R6 ; loop Y 4 PUSH R7 ; color 5 PUSH R8 ; X 6 PUSH R9 ; Y 7 COPY R7, R0 8 COPY R8, R1 9 COPY R9, R2 10 COPY R6, R4 11 PUSH R0 12 PUSH R1 9 13 Start: 10 OUT ScreenSetAddr, R4 11 COPY R3, R1 14 COPY R0, R8 15 COPY R1, R9 16 CALL SetPixelAddr 17 COPY R5, R3 12 18 Line: 13 OUT ScreenWriteData, R0 14 DEC R3 15 JPNZ R3, Line 16 DEC R2 17 ADD R4, R5 18 JPNZ R2, Start 19 POP R5 20 POP R4 19 OUT ScreenWriteData, R7 20 DEC R5 21 JPNZ R5, Line 22 DEC R6 23 INC R9 24 JPNZ R6, Start 25 POP R1 26 POP R0 27 POP R9 28 POP R8 29 POP R7 30 POP R6 21 31 POP R3 22 32 RET … … 55 65 IN R8, ScreenGetWidth 56 66 SET R4, CharHeight 57 SET R12, 1 67 SET R10, $ffffff 68 SET R11, 5 69 SET R13, 1 58 70 WriteCharLoopY: 59 71 COPY R0, R5 … … 73 85 DEC R9 74 86 SHR R7, 1 75 JPNZ WriteCharLoopX:87 JPNZ R9, WriteCharLoopX 76 88 DEC R4 77 ADD R2, R5 78 JPNZ WriteCharLoopY: 89 INC R6 90 INC R3 91 JPNZ R4, WriteCharLoopY 79 92 POP R13 80 93 POP R12 … … 94 107 PUSH R4 ; character width 95 108 PUSH R5 ; byte mask 109 PUSH R6 ; X 110 PUSH R7 ; Y 111 PUSH R1 112 PUSH R2 113 PUSH R0 114 COPY R6, R1 115 COPY R7, R2 116 COPY R3, R0 96 117 SET R5, $ff 97 COPY R3, R098 118 SET R4, CharWidth 99 119 TextOutLoop: … … 101 121 AND R0, R5 102 122 JPZ R0, TextOutLoop2 123 COPY R1, R6 124 COPY R2, R7 103 125 CALL WriteChar 104 ADD R 1, R4126 ADD R6, R4 105 127 INC R3 106 128 JP TextOutLoop 107 129 TextOutLoop2: 130 POP R0 131 POP R2 132 POP R1 133 POP R7 134 POP R6 135 POP R5 108 136 POP R4 109 137 POP R3
Note:
See TracChangeset
for help on using the changeset viewer.