Data update

This commit is contained in:
Ingy döt Net 2026-04-30 12:34:36 -04:00
parent 4bb20c9b71
commit cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions

View file

@ -1,51 +1,51 @@
Bitmap_FloodFill:
;input:
;r0 = color to fill screen with (15-bit color)
STMFD sp!,{r0-r12,lr}
MOV R2,#160
MOV R4,#0x06000000
;input:
;r0 = color to fill screen with (15-bit color)
STMFD sp!,{r0-r12,lr}
MOV R2,#160
MOV R4,#0x06000000
outerloop_floodfill:
MOV R1,#240 ;restore inner loop counter
MOV R1,#240 ;restore inner loop counter
innerloop_floodfill:
strH r0,[r4]
add r4,r4,#2 ;next pixel
subs r1,r1,#1 ;decrement loop counter
bne innerloop_floodfill
subs r2,r2,#1
bne outerloop_floodfill
LDMFD sp!,{r0-r12,pc}
strH r0,[r4]
add r4,r4,#2 ;next pixel
subs r1,r1,#1 ;decrement loop counter
bne innerloop_floodfill
subs r2,r2,#1
bne outerloop_floodfill
LDMFD sp!,{r0-r12,pc}
Bitmap_Locate:
;given x and y coordinates, offsets vram addr to that pixel on screen.
;input:
;r0 = x
;r1 = y
;output: r2 = vram area
STMFD sp!,{r4-r12,lr}
mov r2,#0x06000000 ;vram base
;input:
;r0 = x
;r1 = y
;output: r2 = vram area
STMFD sp!,{r4-r12,lr}
mov r2,#0x06000000 ;vram base
mov r4,#240*2 ;240 pixels across, 2 bytes per pixel
mul r1,r4,r1
add r2,r2,r1 ;add y*480
add r2,r2,r0,lsl #1 ;add x*2
LDMFD sp!,{r4-r12,pc}
mov r4,#240*2 ;240 pixels across, 2 bytes per pixel
mul r1,r4,r1
add r2,r2,r1 ;add y*480
add r2,r2,r0,lsl #1 ;add x*2
LDMFD sp!,{r4-r12,pc}
Bitmap_StorePixel:
;input: r3 = color
;r0 = x
;r1 = y
bl Bitmap_Locate
strH r3,[r2] ;store the pixel color in video memory
bx lr
;input: r3 = color
;r0 = x
;r1 = y
bl Bitmap_Locate
strH r3,[r2] ;store the pixel color in video memory
bx lr
Bitmap_GetPixel:
;retrieves the color of the pixel at [r2] and stores its color value in r3.
;r0 = x
;r1 = y
;output in r3
bl Bitmap_Locate
ldrH r3,[r2]
bx lr
;r0 = x
;r1 = y
;output in r3
bl Bitmap_Locate
ldrH r3,[r2]
bx lr