I'm sure, this is the file:
Code:
KgrpArrows .equ %11111110
KgrpFunc .equ %10111111
KgrpEnt .equ %11111101
KgrpNeg .equ %11111011
KgrpDot .equ %11110111
KgrpZero .equ %11101111
KgrpOn .equ %11011111
draw_to_buff:
set bufferOnly, (iy + plotFlag3)
set textWrite, (iy + sGrFlags)
ret
diag_off:
B_CALL(_RunIndicOff)
res donePrgm, (iy + kbdFlags)
ret
Set_15_mHz:
ld a, 1
out (20h), a
ret
Set_6_mHz:
ld a, 0
out (20h), a
ret
iputspritemask:
;inputs: A:X L:Y B:Height sprite
; IX: b-byte mask IX+B:b-byte sprite
;Output: Sprite copied to graph buffer
ld e,l
ld h,$00
ld d,h
add hl,de
add hl,de
add hl,hl
add hl,hl
ld e,a
and $07
ld c,a
srl e
srl e
srl e
add hl,de
ld de,gbuf
add hl,de
iPutSpriteLoop1Mask:
ld d,(ix+0)
ld e,$FF
ld a,c
or a
jr z,iPutSpriteSkip1Mask
iPutSpriteLoop2Mask:
srl d
rr e
set 7,d
dec a
jr nz,iPutSpriteLoop2Mask
iPutSpriteSkip1Mask:
ld a,(hl)
and d
ld (hl),a
inc hl
ld a,(hl)
and e
ld (hl),a
push ix
dec hl
ld de,8
add ix,de
iPutSpriteLoop1AND:
ld d,(ix+0)
ld e,$00
ld a,c
or a
jr z,iPutSpriteSkip1AND
iPutSpriteLoop2AND:
srl d
rr e
dec a
jr nz,iPutSpriteLoop2AND
iPutSpriteSkip1AND:
ld a,(hl)
xor d
ld (hl),a
inc hl
ld a,(hl)
xor e
ld (hl),a
pop ix
ld de,$0B
add hl,de
inc ix
djnz iPutSpriteLoop1Mask
ret
That can't be it imo.
Edit: also, even if I comment it out it is still 39.5 kB\
Edit2: Problem fixed with a ret at the end.