π
<-

[eZ80] conversion 16bpp vers 1bpp

Assembleur, Axe, C/C++, ICE...

[eZ80] conversion 16bpp vers 1bpp

Unread postby grosged » 02 Apr 2016, 16:36

Je me suis amusé à créer cette petite routine de conversion 16bpp vers 1bpp (pur monochrome style)

Code: Select all
16vers1bpp:
         ld a,$21             ; bascule en mode
         ld ($e30018),a     ; monochrome 1bpp
         ld hl,$e30200        ; on rectifie la mini-palette
         ld (hl),l                 ; pour avoir la couleur 0 en noire
         inc l                     ; et la couleur 1 en blanc
         ld de,$ffff00
         ld (hl),de
         ld hl,$d40000      ; début de la mémoire video
         ld de,$d40000
         ld bc,9600           ; en mode 1bpp , 9600 octets suffisent
Boucle:      push bc
         ld b,8                ; 8 pixels/octet
huitbits:   ld a,(hl)    ; la valeur 16bits
         inc hl                   ; est-elle nulle ?
         or (hl)                  ; si oui
         jr z,rien             ; alors on écrit un bit nul
         scf                     ; sinon, c'est un bit à 1
rien:      rr c              ; on place ça au fur et à mesure dans un octet
         inc hl                   ; donc...
         djnz huitbits            ; 8 tours à effectuer
         ld a,c                    ; puis l'on ré-écrit le résultat
         ld (de),a                ; dans la mémoire video
         inc de                   ; mais on se déplace 16x moins vite (153600/9600)
         pop bc
         dec bc
         ld a,b                    ; tant qu'on n'a pas bouclé 9600x
         or c
         jr nz,Boucle           ; on continue
        ret


Ne soyez pas surpris de voir quelques trainées d'octets apparaître : cela provient de la barre supérieure et sa jauge de batterie, je pense ;)
Si , par hasard vous venez d'essayer cette routine seule et vous voulez revenir en 16bpp : éteignez puis rallumez la TI ;)
Last edited by grosged on 02 Apr 2016, 16:45, edited 1 time in total.
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [eZ80] conversion 16bpp vers 1bpp

Unread postby Adriweb » 02 Apr 2016, 16:44

Hm, tu aurais un screenshot d'exemple avant/après ? :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.7%
 
Posts: 14820
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [eZ80] conversion 16bpp vers 1bpp

Unread postby grosged » 02 Apr 2016, 16:57

Désolé, Adriweb : je n'arrive pas à faire un screenshot d'un mode 1bpp depuis TILP :(
C'est une conversion "brut de décoffrage" (si c'est noir, on laisse noir , sinon on met du blanc...héhé)
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: [eZ80] conversion 16bpp vers 1bpp

Unread postby Adriweb » 02 Apr 2016, 17:07

Hm, et sur CEmu peut-être que ca fonctionne ? (m'en rappelle plus si le 1bpp est implémenté)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.7%
 
Posts: 14820
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
951 utilisateurs:
>913 invités
>29 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)