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