diff options
Diffstat (limited to 'home/copy2.asm')
-rw-r--r-- | home/copy2.asm | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/home/copy2.asm b/home/copy2.asm deleted file mode 100644 index 018986cf2..000000000 --- a/home/copy2.asm +++ /dev/null @@ -1,131 +0,0 @@ -CopyBytes:: -; copy bc bytes from hl to de - inc b ; we bail the moment b hits 0, so include the last run - inc c ; same thing; include last byte - jr .HandleLoop -.CopyByte: - ld a, [hli] - ld [de], a - inc de -.HandleLoop: - dec c - jr nz, .CopyByte - dec b - jr nz, .CopyByte - ret - -SwapBytes:: -; swap bc bytes between hl and de -.Loop: - ; stash [hl] away on the stack - ld a, [hl] - push af - - ; copy a byte from [de] to [hl] - ld a, [de] - ld [hli], a - - ; retrieve the previous value of [hl]; put it in [de] - pop af - ld [de], a - inc de - - ; handle loop stuff - dec bc - ld a, b - or c - jr nz, .Loop - ret - -ByteFill:: -; fill bc bytes with the value of a, starting at hl - inc b ; we bail the moment b hits 0, so include the last run - inc c ; same thing; include last byte - jr .HandleLoop -.PutByte: - ld [hli], a -.HandleLoop: - dec c - jr nz, .PutByte - dec b - jr nz, .PutByte - ret - -GetFarByte:: -; retrieve a single byte from a:hl, and return it in a. - ; bankswitch to new bank - ldh [hBuffer], a - ldh a, [hROMBank] - push af - ldh a, [hBuffer] - rst Bankswitch - - ; get byte from new bank - ld a, [hl] - ldh [hBuffer], a - - ; bankswitch to previous bank - pop af - rst Bankswitch - - ; return retrieved value in a - ldh a, [hBuffer] - ret - -GetFarHalfword:: -; retrieve a halfword from a:hl, and return it in hl. - ; bankswitch to new bank - ldh [hBuffer], a - ldh a, [hROMBank] - push af - ldh a, [hBuffer] - rst Bankswitch - - ; get halfword from new bank, put it in hl - ld a, [hli] - ld h, [hl] - ld l, a - - ; bankswitch to previous bank and return - pop af - rst Bankswitch - ret - -FarCopyWRAM:: - ldh [hBuffer], a - ldh a, [rSVBK] - push af - ldh a, [hBuffer] - ldh [rSVBK], a - - call CopyBytes - - pop af - ldh [rSVBK], a - ret - -GetFarWRAMByte:: - ldh [hBuffer], a - ldh a, [rSVBK] - push af - ldh a, [hBuffer] - ldh [rSVBK], a - ld a, [hl] - ldh [hBuffer], a - pop af - ldh [rSVBK], a - ldh a, [hBuffer] - ret - -GetFarWRAMWord:: - ldh [hBuffer], a - ldh a, [rSVBK] - push af - ldh a, [hBuffer] - ldh [rSVBK], a - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ldh [rSVBK], a - ret |