Changeset 31 for branches/UltimatOS/Graphics.asm
- Timestamp:
- Jul 6, 2022, 1:05:27 AM (23 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UltimatOS/Graphics.asm
r30 r31 1 ColorText: .dd $ffffff 2 ColorBackground: .dd 0 3 1 4 Rectangle: ; R0 - Color, R1 - X, R2 - Y, R3 - Width, R4 - Height 2 5 PUSH R5 ; loop X … … 17 20 COPY R5, R3 18 21 Line: 19 OUT ScreenWriteData, R722 OUT (ScreenWriteData), R7 20 23 DEC R5 21 24 JPNZ R5, Line … … 34 37 SetPixelAddr: ; R0 - X, R1 - Y 35 38 PUSH R2 36 IN R2, ScreenGetWidth39 IN R2, (ScreenGetWidth) 37 40 SHL R2, 2 ; multiply by 4 38 SHL R0, 2 41 SHL R0, 2 ; multiply by 4 39 42 MUL R1, R2 40 43 ADD R0, R1 41 OUT ScreenSetAddr, R044 OUT (ScreenSetAddr), R0 42 45 POP R2 43 46 RET … … 57 60 PUSH R11 ; Background color 58 61 PUSH R12 ; temp value 59 PUSH R13 ; bit mask60 62 COPY R5, R1 61 63 COPY R6, R2 … … 63 65 SHL R0, 3 64 66 ADD R3, R0 65 IN R8, ScreenGetWidth67 IN R8, (ScreenGetWidth) 66 68 SET R4, CharHeight 67 SET R10, $ffffff 68 SET R11, 5 69 SET R13, 1 69 LDI R10, (ColorText) 70 LDI R11, (ColorBackground) 70 71 WriteCharLoopY: 71 72 COPY R0, R5 … … 76 77 WriteCharLoopX: 77 78 COPY R12, R7 78 AND R12, R1379 ANDI R12, 1 79 80 JPZ R12, WriteCharNext 80 OUT ScreenWriteData, R1081 OUT (ScreenWriteData), R10 81 82 JP WriteCharNext2 82 83 WriteCharNext: 83 OUT ScreenWriteData, R1184 OUT (ScreenWriteData), R11 84 85 WriteCharNext2: 85 86 DEC R9 … … 90 91 INC R3 91 92 JPNZ R4, WriteCharLoopY 92 POP R1393 93 POP R12 94 94 POP R11 … … 106 106 PUSH R3 ; loop variable 107 107 PUSH R4 ; character width 108 PUSH R5 ; byte mask109 108 PUSH R6 ; X 110 109 PUSH R7 ; Y … … 115 114 COPY R7, R2 116 115 COPY R3, R0 117 SET R5, $ff118 116 SET R4, CharWidth 119 117 TextOutLoop: 120 118 LD R0, (R3) 121 AND R0, R5119 ANDI R0, $ff 122 120 JPZ R0, TextOutLoop2 123 121 COPY R1, R6 … … 133 131 POP R7 134 132 POP R6 135 POP R5136 133 POP R4 137 134 POP R3
Note:
See TracChangeset
for help on using the changeset viewer.