shithub: pokecrystal

Download patch

ref: 7bf2c3d7589a46f512f3364376bb917cdcab9a42
parent: b76ffb99ab6c86736fbaf4dc1f77f3e3d7e038a0
author: Sanky <[email protected]>
date: Fri Jul 20 07:01:25 EDT 2012

Disasm FarCopyBytes and FarCopyBytesDouble.

--- a/main.asm
+++ b/main.asm
@@ -77,7 +77,54 @@
 	ret
 ; 0x591
 
-INCBIN "baserom.gbc",$591,$ff1 - $591
+INCBIN "baserom.gbc",$591,$e8d - $591
+
+; copy bc bytes from a:hl to de
+FarCopyBytes:
+	ld [$ff00+$8b], a
+	ld a, [$ff00+$9d] ; save old bank
+	push af
+	ld a, [$ff00+$8b]
+	rst $10
+	call CopyBytes
+	pop af
+	rst $10
+	ret
+; 0xe9b
+
+; copy bc*2 source bytes from a:hl to de, doubling each byte in process
+FarCopyBytesDouble: ; e9b
+	ld [$ff00+$8b], a
+	ld a, [$ff00+$9d] ; save current bank
+	push af
+	ld a, [$ff00+$8b]
+	rst $10 ; bankswitch
+	ld a, h ; switcheroo, de <> hl
+	ld h, d
+	ld d, a
+	ld a, l
+	ld l, e
+	ld e, a
+	inc b
+	inc c
+	jr .dec ; 0xeab $4
+.loop
+	ld a, [de]
+	inc de
+	ld [hli], a ; write twice
+	ld [hli], a
+.dec
+	dec c
+	jr nz, .loop
+	dec b
+	jr nz, .loop
+	pop af
+	rst $10
+	ret
+; 0xeba
+
+
+INCBIN "baserom.gbc",$eba,$ff1 - $eba
 
 TextBoxBorder: ; ff1
 ; draw a text box