diff options
author | Sanky <gsanky@gmail.com> | 2012-07-20 11:01:25 +0200 |
---|---|---|
committer | Sanky <gsanky@gmail.com> | 2012-07-20 11:01:25 +0200 |
commit | 7bf2c3d7589a46f512f3364376bb917cdcab9a42 (patch) | |
tree | 40f8ae626f6d1ed267d3124622b0f4d504a7cdbd | |
parent | b76ffb99ab6c86736fbaf4dc1f77f3e3d7e038a0 (diff) |
Disasm FarCopyBytes and FarCopyBytesDouble.
-rw-r--r-- | main.asm | 49 |
1 files changed, 48 insertions, 1 deletions
@@ -77,7 +77,54 @@ EnableLCD: ; 58a 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 |