Conversion 83 -- ION
J'ai convertie ici des programmes des leçons précedantes pour ion.
Cela m'a permit de corriger quelques erreurs dans le tutorial pour ion. De plus rien ne remplace l'étude de vrais programme.
1) caractères
2) contraste
3)
Affichage de tous les caractères :
.nolist
#include "ion.inc"
.list
#ifdef TI83P
.org progstart-2
.db $BB,$6D
#else
.org progstart
#endif
charsav = saferam1
ret
jr nc,begin
.db "ascII char by SD",0
begin:
xor a
ld a,16d
initdisp:
bcall(_clrlcdfull)
bcall(_homeup)
ld b,16d
ld hl,0000h
displine:
ld (currow),hl
bcall(_putmap)
inc h
inc a
cp 242d
jr z,quit
djnz displine
jr upline
upline:
ld (charsav),a
ld h,$00
ld b,16d
ld a,07d
inc l
cp l
ld a,(charsav)
jr nz,displine
bcall(_getkey)
ld a,(charsav)
jr initdisp
quit:
bcall(_newline)
ret
.end
le contraste :
.nolist
#include "ion.inc"
.list
#ifdef TI83P
.org progstart-2
.db $BB,$6D
#else
.org progstart
#endif
contsav = saferam1
ret
jr nc,begin
.db "set contraste by sd",0
begin:
bcall(_clrlcdfull)
bcall(_grbufclr)
ld a,43d
ld (contsav),a
jp kupress
mainloop:
bcall(_getkey)
cp 01h
jp z,kupress
cp 02h
jp z,kdpress
cp 05h
ret z
jp mainloop
kupress:
ld a,(contsav)
cp 62d
jp z,mainloop
inc a
ld (contsav),a
jp setcont
kdpress:
ld a,(contsav)
cp 23d
jp z,mainloop
dec a
ld (contsav),a
jp setcont
setcont:
or 0C0h
call _lcdbusy
out (10h),a ; lcdinstport n'est pas définie dans Ion.inc
jr mainloop
.end