Move more contiguous related code blocks from main.asm to engine/ and events/

This commit is contained in:
Remy Oukaour
2017-12-15 20:10:54 -05:00
parent 606817f18b
commit 1038ebca5e
41 changed files with 3675 additions and 3704 deletions

30
engine/square_root.asm Normal file
View File

@@ -0,0 +1,30 @@
GetSquareRoot: ; 13b87
; Return the square root of de in b.
; Rather than calculating the result, we take the index of the
; first value in a table of squares that isn't lower than de.
ld hl, Squares
ld b, 0
.loop
; Make sure we don't go past the end of the table.
inc b
ld a, b
cp $ff
ret z
; Iterate over the table until b**2 >= de.
ld a, [hli]
sub e
ld a, [hli]
sbc d
jr c, .loop
ret
Squares: ; 13b98
root set 1
rept $ff
dw root*root
root set root+1
endr