Ignore:
Timestamp:
Jul 6, 2022, 1:05:27 AM (23 months ago)
Author:
chronos
Message:
  • Modified: Code parsing and execution improvements.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UltimatOS/Graphics.asm

    r30 r31  
     1ColorText: .dd $ffffff
     2ColorBackground: .dd 0
     3
    14Rectangle: ; R0 - Color, R1 - X, R2 - Y, R3 - Width, R4 - Height   
    25  PUSH R5 ; loop X
     
    1720  COPY R5, R3
    1821Line:
    19   OUT  ScreenWriteData, R7
     22  OUT  (ScreenWriteData), R7
    2023  DEC  R5
    2124  JPNZ R5, Line
     
    3437SetPixelAddr: ; R0 - X, R1 - Y
    3538  PUSH R2
    36   IN   R2, ScreenGetWidth
     39  IN   R2, (ScreenGetWidth)
    3740  SHL  R2, 2 ; multiply by 4
    38   SHL  R0, 2
     41  SHL  R0, 2 ; multiply by 4
    3942  MUL  R1, R2
    4043  ADD  R0, R1
    41   OUT  ScreenSetAddr, R0
     44  OUT  (ScreenSetAddr), R0
    4245  POP  R2
    4346  RET
     
    5760  PUSH R11 ; Background color
    5861  PUSH R12 ; temp value
    59   PUSH R13 ; bit mask
    6062  COPY R5, R1
    6163  COPY R6, R2
     
    6365  SHL  R0, 3
    6466  ADD  R3, R0
    65   IN   R8, ScreenGetWidth
     67  IN   R8, (ScreenGetWidth)
    6668  SET  R4, CharHeight
    67   SET  R10, $ffffff
    68   SET  R11, 5
    69   SET  R13, 1
     69  LDI  R10, (ColorText)
     70  LDI  R11, (ColorBackground)
    7071WriteCharLoopY:
    7172  COPY R0, R5
     
    7677WriteCharLoopX:
    7778  COPY R12, R7
    78   AND  R12, R13
     79  ANDI R12, 1
    7980  JPZ  R12, WriteCharNext
    80   OUT  ScreenWriteData, R10
     81  OUT  (ScreenWriteData), R10
    8182  JP   WriteCharNext2
    8283WriteCharNext:
    83   OUT  ScreenWriteData, R11
     84  OUT  (ScreenWriteData), R11
    8485WriteCharNext2:
    8586  DEC  R9
     
    9091  INC  R3
    9192  JPNZ R4, WriteCharLoopY
    92   POP  R13
    9393  POP  R12
    9494  POP  R11
     
    106106  PUSH R3 ; loop variable
    107107  PUSH R4 ; character width
    108   PUSH R5 ; byte mask
    109108  PUSH R6 ; X
    110109  PUSH R7 ; Y
     
    115114  COPY R7, R2
    116115  COPY R3, R0
    117   SET  R5, $ff
    118116  SET  R4, CharWidth 
    119117TextOutLoop:
    120118  LD   R0, (R3)
    121   AND  R0, R5
     119  ANDI R0, $ff
    122120  JPZ  R0, TextOutLoop2
    123121  COPY R1, R6
     
    133131  POP  R7
    134132  POP  R6
    135   POP  R5
    136133  POP  R4
    137134  POP  R3
Note: See TracChangeset for help on using the changeset viewer.