update v0.83
- NOCODE output must increment current adress in all cases
- new directives DR & DEFR to define REAL values (Amstrad firmware compatible)
Example:
org #8000
call #BBBA ; GRA initialize
ld a,1
call #BC0E ; mode 1
ld a,1
call #BD97 ; deg
ld de,320
ld hl,200
call #BBC9 ; origin 320,200
ld de,180
ld hl,0
call #BBC0 ; move 180,0
ld b,0
circle_trace
push bc
ld hl,angle
ld de,incre
call #BD7C ; angle=angle+incre
ld de,angle
ld hl,tmp
call #BD61 ; tmp=angle
call #BDAF ; tmp=cosinus(tmp)
ld de,rayon
call #BD85 ; tmp=tmp*rayon
call #BD6A ; HL=int(tmp)
call m,fixsign
push hl
ld de,angle
ld hl,tmp
call #BD61 ; tmp=angle
call #BDAC ; tmp=sinus(tmp)
ld de,rayon
call #BD85 ; tmp=tmp*rayon
call #BD6A ; HL=int(tmp)
call m,fixsign
pop de
call #BBF6 ; LINE DE,HL
pop bc
djnz circle_trace
ret
fixsign
ld de,0
ex hl,de
or a
sbc hl,de
ret
rayon defr 180
angle defr 0
incre defr 360/256
tmp defr 0