summaryrefslogtreecommitdiff
path: root/home/copy.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/copy.asm')
-rw-r--r--home/copy.asm39
1 files changed, 39 insertions, 0 deletions
diff --git a/home/copy.asm b/home/copy.asm
index b289aea..135ee3f 100644
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -71,3 +71,42 @@ ByteFill:: ; 3339
dec b
jr nz, .loop
ret
+
+UncompressSpriteFromDE::
+; Decompress pic at a:de.
+ ld hl, wSpriteInputPtr
+ ld [hl],e
+ inc hl
+ ld [hl],d
+ jp UncompressSpriteData
+
+BackUpTilesToBuffer:: ; 3355
+ hlcoord 0, 0
+ decoord 0, 0, wTileMapBackup
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ jp CopyBytes
+
+ReloadTilesFromBuffer:: ; 3361
+ xor a
+ ldh [hBGMapMode], a
+ hlcoord 0, 0, wTileMapBackup
+ decoord 0, 0
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ call CopyBytes
+ ld a, 1
+ ldh [hBGMapMode], a
+ ret
+
+; copies a string from [de] to [wStringBuffer]
+CopyStringToBuffer::
+ ld hl, wStringBuffer
+ ; fall through
+
+; copies a string from [de] to [hl]
+CopyString::
+ ld a,[de]
+ inc de
+ ld [hli],a
+ cp "@"
+ jr nz, CopyString
+ ret \ No newline at end of file