; SPDX-FileCopyrightText: Copyright (C) 2019 Alexander Sharikhin ; ; SPDX-License-Identifier: GPL-3.0-or-later ; Pushes A to ring buffer pushRing push af ld b, 32 : ld hl, ring_buffer + 1 : ld de, ring_buffer ringL ld a, (hl) : ld (de), a : inc hl : inc de : djnz ringL pop af ld hl, ring_buffer + 31 : ld (hl), a ret ; HL - Compare string(null terminated) ; A - 0 NOT Found ; 1 Found searchRing: ld b, 0 : push hl serlp: ld a, (hl) : inc hl : inc b : and a : jp nz, serlp dec b : pop hl : push bc : push hl SRWork: pop hl ld de, ring_buffer + 32 srcLp dec de : djnz srcLp pop bc ringCmpLp push bc : push af ld a, (de) : ld b, a pop af : ld a, (hl) : cp b : pop bc : ld a, 0 : ret nz inc de : inc hl djnz ringCmpLp ld a, 1 ret clearRing: xor a : ld hl, ring_buffer : ld de, ring_buffer + 1 : ld bc, 32 : ld (hl), a : ldir ret ring_buffer dup 33 defb 0 edup