Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define VRAM_BASE (0x18000000)
- #define LCD_FB_PDC0 (0x10400400)
- #define LCD_FB_PDC1 (0x10400500)
- #define LCD_FB_A_ADDR_OFFSET (0x68)
- #define LCD_FB_B_ADDR_OFFSET (0x94)
- #define FB_TOP_SIZE (400*240*3)
- #define FB_BOT_SIZE (320*240*3)
- #define FB_TOP_LEFT1 (VRAM_BASE)
- #define FB_TOP_LEFT2 (FB_TOP_LEFT1 + FB_TOP_SIZE)
- #define FB_TOP_RIGHT1 (FB_TOP_LEFT2 + FB_TOP_SIZE)
- #define FB_TOP_RIGHT2 (FB_TOP_RIGHT1 + FB_TOP_SIZE)
- #define FB_BOT_1 (FB_TOP_RIGHT2 + FB_TOP_SIZE)
- #define FB_BOT_2 (FB_BOT_1 + FB_BOT_SIZE)
- MLG:
- mov r0, #0x0000FF
- bl fill_screen
- b MLG
- @ r0 = color
- fill_screen:
- mov r9, r0
- and r3, r0, #0xFF
- lsr r4, r0, #8
- and r4, r4, #0xFF
- lsr r5, r0, #16
- and r5, r5, #0xFF
- ldr r0, =(FB_TOP_SIZE)
- ldr r1, =(FB_TOP_LEFT1)
- ldr r7, =(FB_TOP_SIZE)
- add r2, r1, r0 @limit_addr
- mov r6, r1 @ ptr
- _fill_for_1:
- strb r3, [r6, #0]
- strb r4, [r6, #1]
- strb r5, [r6, #2]
- add r8, r6, r7
- strb r3, [r8, #0]
- strb r4, [r8, #1]
- strb r5, [r8, #2]
- add r6, r6, #3
- cmp r6, r2
- blt _fill_for_1
- mov r0, r9
- and r3, r0, #0xFF
- lsr r4, r0, #8
- and r4, r4, #0xFF
- lsr r5, r0, #16
- and r5, r5, #0xFF
- ldr r0, =(FB_TOP_SIZE)
- ldr r1, =(FB_TOP_RIGHT1)
- ldr r7, =(FB_TOP_SIZE)
- add r2, r1, r0 @limit_addr
- mov r6, r1 @ ptr
- _fill_for_2:
- strb r3, [r6, #0]
- strb r4, [r6, #1]
- strb r5, [r6, #2]
- add r8, r6, r7
- strb r3, [r8, #0]
- strb r4, [r8, #1]
- strb r5, [r8, #2]
- add r6, r6, #3
- cmp r6, r2
- blt _fill_for_2
- bx lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement