;;; fshvarset [Bytes] ;; Sets a Word in FshVars. ;; Inputs: ;; HL: 16b ;; DE: Destination Word Relitive to FshVars fshvarset: push bc push de push hl ld bc, FshVars ex de, hl add hl, hl add hl, bc ld (hl), e inc hl ld (hl), d pop hl pop de pop bc ret ;;; fshvarget [Words] ;; Gets a Word in FshVars. ;; Inputs: ;; DE: Destination Word Relitive to FshVars ;; Outputs: ;; HL: Word in (DE) fshvarget: push bc push de ld bc, FshVars ex de, hl add hl, hl add hl, bc ld e, (hl) inc hl ld d, (hl) ex de, hl pop de pop bc ret ; fshvarcpy [Bytes] ;; Copies a word. ;; Inputs: ;; HL: Byte pointer ;; DE: Destination fshvarcpy: push bc push de push hl ld bc, FshVars add hl, hl add hl, bc ex de, hl add hl, hl add hl, bc ld a, (de) ld (hl), a inc de inc hl ld a, (de) ld (hl), a pop hl pop de pop bc ret ; fshvarfill ;; fills fshvars with word ;; Inputs: ;; HL: 16b fshvarfill: push hl push bc push de ld b, 0 ld de, 0 fshvarfillLoop: call fshvarset inc b inc de ld a, b cp FshVarsSize / 2 jr c, fshvarfillLoop pop de pop bc pop hl ret