; BGSIG - Look for BGii running signature and return info on current task ; Rob Friefeld ; Version 2 ; October 3, 1989 ; Call BGTASK ; Return NZ = BG not running ; A = 0 if BG not running or upper task ; A = 20h if lower task ; Save regs public bgtask bgtask: push hl push de push bc ld hl,(1) ; Check for BGii push hl ld de,-15a8h ; BG signature offset add hl,de ld b,bgsiglen ; Match string ld de,bgsig call match pop hl jr nz,bgtask1 ; Not running ld de,-1602h ; Get pointer to flag byte add hl,de ld e,(hl) inc hl ld d,(hl) dec de ld a,(de) ; Get flags byte bit 1,a ld a,20h jr z,bgtask2 xor a bgtask1: ld a,0 bgtask2: pop bc pop de pop hl ret bgsig: db 'BGii' bgsiglen equ $ - bgsig match: ld a,(de) cp (hl) inc hl inc de ret nz djnz match ret end