Thanks Jim e.
I will try to add the code to my game right now. (I will include you in the credits!)
Edit: Okay I need some help with that line drawing routine.
Code: Select all
line:
ld a,h
cp d
jp nc,noswapx
ex de,hl
noswapx:
ld a,h
sub d
jp nc,posx
neg
posx:
ld b,a
ld a,l
sub e
jp nc,posy
neg
posY:
ld c,a
ld a,l
ld hl,-12
cp e
jp c,lineup
ld hl,12
lineup:
ld ix,xbit
ld a,b
cp c
jp nc,xline
ld b,c
ld c,a
ld ix,ybit
xline:
push hl
ld a,d
ld d,0
ld h,d
sla e
sla e
ld l,e
add hl,de
add hl,de
ld e,a
and %00000111
srl e
srl e
srl e
add hl,de
ld de,gbuf
add hl,de
add a,a
ld e,a
ld d,0
add ix,de
ld e,(ix)
ld d,(ix+1)
push hl
pop ix
ex de,hl
pop de
push hl
ld h,b
ld l,c
ld a,h
srl a
inc b
ret
Xbit:
.dw drawX0,drawX1,drawX2,drawX3
.dw drawX4,drawX5,drawX6,drawX7
Ybit:
.dw drawY0,drawY1,drawY2,drawY3
.dw drawY4,drawY5,drawY6,drawY7
DrawX0:
set 7,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX1
ret
DrawX1:
set 6,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX2
ret
DrawX2:
set 5,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX3
ret
DrawX3:
set 4,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX4
ret
DrawX4:
set 3,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX5
ret
DrawX5:
set 2,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX6
ret
DrawX6:
set 1,(ix)
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX7
ret
DrawX7:
set 0,(ix)
inc ix
add a,c
cp h
jp c,$+3+2+1
add ix,de
sub h
djnz DrawX0
ret
DrawY0_:
inc ix
sub h
dec b
ret z
DrawY0:
set 7,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY1_
djnz DrawY0
ret
DrawY1_:
sub h
dec b
ret z
DrawY1:
set 6,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY2_
djnz DrawY1
ret
DrawY2_:
sub h
dec b
ret z
DrawY2:
set 5,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY3_
djnz DrawY2
ret
DrawY3_:
sub h
dec b
ret z
DrawY3:
set 4,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY4_
djnz DrawY3
ret
DrawY4_:
sub h
dec b
ret z
DrawY4:
set 3,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY5_
djnz DrawY4
ret
DrawY5_:
sub h
dec b
ret z
DrawY5:
set 2,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY6_
djnz DrawY5
ret
DrawY6_:
sub h
dec b
ret z
DrawY6:
set 1,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY7_
djnz DrawY6
ret
DrawY7_:
sub h
dec b
ret z
DrawY7:
set 0,(ix)
add ix,de
add a,l
cp h
jp nc,DrawY0_
djnz DrawY7
ret
Everything Compiled okay I just dont see a line.
Thanks for any help.