L'image est bien sympa
Par contre le temps de remplissage de l'image doit être long ?
Convertisseur image en BASIC...
Modérateurs : Papy.G, fneck, Carl
Re: Convertisseur image en BASIC...
Pas tant que ça en fait ! Il y a trois étapes : étoiles, lune et loup. La partie la plus lourde en code est le loup, mais elle met largement moins d'une seconde pour se tracer. Bon sur émulateur normalement à 100% de sa vitesse, mais quand même. Je teste bientôt sur la machine vraie...6502man a écrit :Par contre le temps de remplissage de l'image doit être long ?
Je poste le code à l'occasion !
Re: Convertisseur image en BASIC...
Ayant rentré un vg5000 depuis peu, je suis en train de regarder comment adapter mon programme de génération de code pour afficher une image sur cette machine.
En étudiant sa doc, le basic ne gère apparemment pas d'instructions comme LINE ou CIRCLE, ce qui va me compliquer la vie . Les seules explications sur la réalisation de dessins portent sur l'utilisation des caractères graphiques personnalisables ou non.
J'ai tentés quelques petits programmes tests sur émulateur (merci Daniel !) mais mes premiers essais pour afficher les fameux caractères ne sont pas une réussite. Entre les modes textes simples / avancés et les modes graphiques eux aussi disponibles en simple et avancés, je m'y perds un peu... (instructions EG, ET, GR, TX... )
J'ignore à quel niveau les modes peuvent cohabiter ensemble, ni même si je pars dans la bonne direction en voulant tracer une image. J'observe aussi l'apparition de caractères parasites sur mes premiers tests, je posterai code et screenshot si je n'arrive pas à me dépatouiller.
Mon idée de départ était de diviser mon images en cases de 8 par 10 pixels et déterminer le numéro de caractère graphique qui va bien, et mettre ça en forme dans une instruction data. Mais il y a sans doute mieux... ?
Quelle serait selon vous la meilleure méthode pour afficher du bitmap ? Caractères graphiques ? Dois-je mieux passer en assembleur ?
En étudiant sa doc, le basic ne gère apparemment pas d'instructions comme LINE ou CIRCLE, ce qui va me compliquer la vie . Les seules explications sur la réalisation de dessins portent sur l'utilisation des caractères graphiques personnalisables ou non.
J'ai tentés quelques petits programmes tests sur émulateur (merci Daniel !) mais mes premiers essais pour afficher les fameux caractères ne sont pas une réussite. Entre les modes textes simples / avancés et les modes graphiques eux aussi disponibles en simple et avancés, je m'y perds un peu... (instructions EG, ET, GR, TX... )
J'ignore à quel niveau les modes peuvent cohabiter ensemble, ni même si je pars dans la bonne direction en voulant tracer une image. J'observe aussi l'apparition de caractères parasites sur mes premiers tests, je posterai code et screenshot si je n'arrive pas à me dépatouiller.
Mon idée de départ était de diviser mon images en cases de 8 par 10 pixels et déterminer le numéro de caractère graphique qui va bien, et mettre ça en forme dans une instruction data. Mais il y a sans doute mieux... ?
Quelle serait selon vous la meilleure méthode pour afficher du bitmap ? Caractères graphiques ? Dois-je mieux passer en assembleur ?
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Convertisseur image en BASIC...
Falkor, il n' y a pas de mode bitmap pour ce micro mais uniquement semi-graphique.
GR, TX => polices de caractères de la ROM Texte & semi-graphique
EG, ET => police de caractères redéfinissables ( 127 au maximum de mémoire)
un exemple de ce que l'on peut faire en semi-graphique : http://forum.system-cfg.com/viewtopic.p ... 99#p125195
Carl
GR, TX => polices de caractères de la ROM Texte & semi-graphique
EG, ET => police de caractères redéfinissables ( 127 au maximum de mémoire)
un exemple de ce que l'on peut faire en semi-graphique : http://forum.system-cfg.com/viewtopic.p ... 99#p125195
Carl
Re: Convertisseur image en BASIC...
Salut à tous,
Je l'ai fait sur mon Xur en ZX81.
On passe du bitmap vers la police de caractère du ZX81.
En gros, l'image est mise à l'échelle, et est partitionnée en zones texte (ici 2x2 pixels).
Ces zones sont divisée en 4 parties et celles-ci sont comparées à un tableau de combinaisons chromatiques associées aux possibilités enregistrées en niveaux de gris.
Exemple: tableau (1,1) pixel du haut à gauche, (1,2) pixel du haut à droite, (2,1) pixel bas à gauche et (2,2) pixel bas à droite.
Si tout est à 255: carré blanc, si tout est à 0, carré noir.
Les différentes modulations de ces valeurs permutera de faire de l'ASCIIART avec mes caractères graphiques en ROM.
Mais, sur certaines machines, il est possible de choisir cette table de caractère, donc , il faudra te baser sur une table fixée à l'avance.
Ici , le ZX81 possède 63 caractères que l'on peut inverser...
En cas d'images couleurs, le PAPER er le INK seront modifiés par blocs graphiques en caractères entiers.
Les codes en VB sont dispos sur la page de l'émulateur...
Je l'ai fait sur mon Xur en ZX81.
On passe du bitmap vers la police de caractère du ZX81.
En gros, l'image est mise à l'échelle, et est partitionnée en zones texte (ici 2x2 pixels).
Ces zones sont divisée en 4 parties et celles-ci sont comparées à un tableau de combinaisons chromatiques associées aux possibilités enregistrées en niveaux de gris.
Exemple: tableau (1,1) pixel du haut à gauche, (1,2) pixel du haut à droite, (2,1) pixel bas à gauche et (2,2) pixel bas à droite.
Si tout est à 255: carré blanc, si tout est à 0, carré noir.
Les différentes modulations de ces valeurs permutera de faire de l'ASCIIART avec mes caractères graphiques en ROM.
Mais, sur certaines machines, il est possible de choisir cette table de caractère, donc , il faudra te baser sur une table fixée à l'avance.
Ici , le ZX81 possède 63 caractères que l'on peut inverser...
En cas d'images couleurs, le PAPER er le INK seront modifiés par blocs graphiques en caractères entiers.
Les codes en VB sont dispos sur la page de l'émulateur...
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Convertisseur image en BASIC...
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Convertisseur image en BASIC...
Falkor> Effectivement, sur VG5000, il vaut mieux essayer directement de s'adresser au VDP, plutôt que passer par des instructions de dessin du Basic. Via le Basic dans un premier temps, pour le Videotel, et en assembleur quand il faudra aller plus loin que ce que permet le Basic et ses routines.
Comme le suggère Sam, les caractères "Videotel" permettent de commencer soft: tu n'as pas à redéfinir de caractères, une page-écran fera maximum 3ko.
Comme le suggère Sam, les caractères "Videotel" permettent de commencer soft: tu n'as pas à redéfinir de caractères, une page-écran fera maximum 3ko.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.