[Alice] et le cross compiler

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel »

PcKid a écrit :Ou trouve ton les adresses de tous les semi graphiques?
Les polices de caractères sont gérées par le processeur vidéo. Tout est expliqué dans la datasheet de l'EF9345 et dans le livre "Les Astuces d'Alice 32 et 90"
PcKid a écrit :Comment fait on pour afficher un point lumineux?
Le processeur vidéo EF9345 n'a pas de mode graphique. On peut afficher uniquement des caractères. Pour afficher un point d'une certaine couleur, il faut définir un caractère utilisateur comportant un seul point et afficher ce caractère dans la couleur désirée.
PcKid a écrit :C'est proche du basic , je trouve
Cette remarque est très surprenante. Tu ne dois pas bien connaître le Basic pour écrire cela :wink:


Concernant l'assembleur sur PC, le plus important est de bien le connaître, je dirais même "l'apprivoiser", pour savoir ce qu'il sait faire, ce qu'il ne sait pas faire, et comment contourner les limitations. Tous fonctionnent bien et ne devraient pas te limiter, tant que tu ne développes pas d'applications hyper complexes. Alors Dasm, Tasm, A09 ou autre, à toi de les essayer et de choisir celui qui te convient.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: [Alice] et le cross compiler

Message par Papy.G »

Pour avoir des infos avancées, il te faut bouffer de la doc sur le matériel, le mieux est que tu te télécharges et imprimes en petits livrets A5:
La datasheet ef9345p
La datasheet du 6803, voire du 6800 selon infos complémentaires
Le livret de langage du processeur complet, avec les registres si possible.
Un bouquin avec le mappage mémoire intégral (matériel, logiciel) dont les périphériques, les adresses de routines et variables système.
Les datasheet des périphériques nécessaires au projet.

Une fois lu et relu tout ça, avec recoupements et lectures croisées, tu peux attaquer sérieusement l'assembleur. ;)
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
PcKid
Messages : 538
Inscription : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid »

Merci à tous pour vos conseils .

J'ai zappé le livre les astuces d'alice, alors que j'ai aussi ce bouquin. J'aime lire avec le vrai livre, car je mémorise bien mieux les syntaxes et à l'ecran en Pdf, ca rentre pas.

@Daniel : merci pour ton idée du point lumineux. dans un programme basic, pour dessiner un élément j'utilisais la commande set(x,y,nColor) si cette commande existe sur alice, comment puis je vois l'équivalent en assembleur ?

Sinon en lisant ce matin, assez vite , le livre les astuces d'alice, et j'aimerai l'avis des spécialistes à la page 24

Il parle :
pour ALICE 32 de mettre ORG $4400 soit en décimal : 17408
pour ALICE 90 de mettre ORG $A000 soit en décimal : 40960

Je pense qu'il y a une faute de frappe pour ALICE 32 j'aurais mis ORG $A400 = 41984 en décimal
je voudrais pas de dire de bêtises et je ne l'ai pas vu dans l'erratum.

Merci à vous.

Recherche : Jeux et livres pour Alice Matra
* * * * * * Contactez - moi !* * * * * * *

Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: [Alice] et le cross compiler

Message par Papy.G »

PcKid a écrit :@Daniel : merci pour ton idée du point lumineux. dans un programme basic, pour dessiner un élément j'utilisais la commande set(x,y,nColor) si cette commande existe sur alice, comment puis je vois l'équivalent en assembleur ?
Comme tu peux le voir dans mon MP, c'est pas si simple directement sur le 9345, le plus simple, c'est de faire appel à la routine Basic depuis le code machine, si c'est possible, genre, en empilant les valeurs nécessaires (x, y, color) quelque part, puis en faisant un Call (si c'est la mnémonique en 6803). Sinon, il te faudra faire ta routine toi-même pour convertir dans le format compris par le 9345, car si tu dois refaire plusieurs fois cette manip, le programme final sera hyper long inutilement.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
PcKid
Messages : 538
Inscription : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid »

@Papy: j'ai vu du code Basic pour appeller de l'assembleur, mais le contraire je n'ai pas vu, et cela me parait pas logique car le basic fini en langage machine. Mais bon c'etait une bonne idée.

Voici une copie d'ecran du jeu Galaxion , j'ai reussi en basic à reproduire un vaisseau similaire, avec la commande Set.

J'arrive en Asm a afficher des carrés, mais commande j'ai pas la commande pour afficher un pixel, mes dessins en asm sont grossiés.

Comment loriciel arrive à dessiner ce vaisseau d'après vous ?

Image

Recherche : Jeux et livres pour Alice Matra
* * * * * * Contactez - moi !* * * * * * *

Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: [Alice] et le cross compiler

Message par Papy.G »

PcKid a écrit :@Papy: j'ai vu du code Basic pour appeller de l'assembleur, mais le contraire je n'ai pas vu, et cela me parait pas logique car le basic fini en langage machine. Mais bon c'etait une bonne idée.
Sur Oric, on peut le faire, dans la notice pour chaque instruction du basic ils donnent l'adresse d'appel et l'ordre des arguments/variables.
PcKid a écrit :Voici une copie d'ecran du jeu Galaxion , j'ai reussi en basic à reproduire un vaisseau similaire, avec la commande Set.
J'arrive en Asm a afficher des carrés, mais commande j'ai pas la commande pour afficher un pixel, mes dessins en asm sont grossiés.
Comment loriciel arrive à dessiner ce vaisseau d'après vous ?

Plusieurs caractères prédéfinis, représentant un vaisseau lorsque affichés côte à côte, le pas est d'un caractère, si tu veux avoir un demi-pas, il faut aussi définir les caractères pour dessiner le demi-pas.
Tu as plusieurs façons de prédéfinir un caractère, là, je dirais des caractères semi-graphiques (Q) en basse résolution, ou en pleine résolution, mais en affichage 12 lignes, pour gagner du temps proc sur les scrollings et de l'espace page.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Alice] et le cross compiler

Message par __sam__ »

PcKid a écrit :Image
C'est de la gestion de Sprite, possiblement par redéfinition de la police de caractère. Le bouquin sur les trucs et astuce en parle (page 146 "Exemple d'application: les lutins"). Ca n'est pas que le 6803 qu'il faut maitriser pour ca mais le 9345 surtout.
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel »

PcKid a écrit :pour ALICE 32 j'aurais mis ORG $A400 = 41984 en décimal
Mieux vaut t'abstenir de ce genre de fantaisie, car la RAM de l'Alice 32 ne dépasse pas $4FFF.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
PcKid
Messages : 538
Inscription : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid »

Merci Sam,

En effet il y a du boulot, avant que j'arrive à la hauteur de ce que je souhaite, vu ce que je vois, daniel a raison , il faut que j’écrive la gestion de sprite sur papier avant de coder. :cry:

Je vais voir dans le vrai bouquin des astuces d'alice, car je vois ton texte en page 146 mais pas le programme à la suite. :roll:

Recherche : Jeux et livres pour Alice Matra
* * * * * * Contactez - moi !* * * * * * *

Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel »

Le processeur vidéo, nous l'avons souligné à de nombreuses reprises, est très complexe. C'est une mauvaise idée de commencer par le plus compliqué pour débuter. Tu ne peux pas envisager d'afficher quoi que ce soit avec l'Alice tant que tu n'as pas compris le fonctionnement de l'EF9345. Au lieu de chercher à gérer des sprites, il vaudrait mieux suivre les conseils donnés par Papy.G un peu plus haut.

Je l'ai déjà écrit précédemment : pour apprendre l'assembleur il faut commencer par des exercices simples. Par exemple détecter l'appui sur une touche du clavier, ou jouer une note de musique avec le buzzer. Et quand les deux routines marchent, on peut les regrouper pour changer la note quand on change de touche. C'est un exemple classique parmi d'autres. Les sprites, ça viendra dans deux ou trois ans, quand tu commenceras à maîtriser les bases.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
PcKid
Messages : 538
Inscription : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid »

Ok daniel, c'est compris, mais 2 à 3 ans je trouve çà énorme.

Pour info, hier j'ai crée ma fonction pour gérer le clavier avec COMPA et BEQ.
Je peux créer une routine pour le son. j'ai vu les accès.

Merci je mettrais mes avancées ici. Mais je reconnais qu'il y a du travail

Recherche : Jeux et livres pour Alice Matra
* * * * * * Contactez - moi !* * * * * * *

Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] et le cross compiler

Message par 6502man »

Daniel m'a enlevé les mots de la bouche :wink:

Commencer par la programmation du EF-9345 c'est très compliqué si tu n'as jamais fait ni d'assembleur ni programmer d'autres VDP :roll:

Mais il n'y a pas de honte à être débutant, et je suis sur que tous ceux qui le peuvent t'aiderons dans ton apprentissage à travers ce post :wink:

Daniel à très bien résumé l'apprentissage de la programmation sur un ordinosaures :wink:

Commence par te familiariser avec les différentes instructions du 6803 en exécutant pas à pas ton programme ;)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: [Alice] et le cross compiler

Message par Papy.G »

PcKid a écrit :En effet il y a du boulot, avant que j'arrive à la hauteur de ce que je souhaite, vu ce que je vois, daniel a raison , il faut que j’écrive la gestion de sprite sur papier avant de coder. :cry:

Je vais voir dans le vrai bouquin des astuces d'alice, car je vois ton texte en page 146 mais pas le programme à la suite. :roll:
Ca fait plus d'un an que je lis et relis les docs que je me suis imprimées, dont la datasheet du 9345, et que je tourne et retourne le problème dans tous les sens pour trouver de quelle façon exploiter ce VDP au mieux. Et je n'ai encore pas fait tourner de code. :oops:

Il est bon de lire ce bouquin aussi et pour les applications sur ta machine en particulier, mais il se pourrait qu'il ne te donne qu'un aperçu des possibilités du 9345, lire la datasheet ne nuira pas.
PcKid a écrit :Ok daniel, c'est compris, mais 2 à 3 ans je trouve çà énorme.

Pour info, hier j'ai crée ma fonction pour gérer le clavier avec COMPA et BEQ.
Je peux créer une routine pour le son. j'ai vu les accès.
Essaies déjà de t'affranchir des routines de la Rom de l'Alice pour écrire un caractère en un endroit donné de l'écran, à la fois ça te donnera une idée de la difficulté de l'exercice, et ce sera un bon premier pas vers la gestion de sprites. :wink:
Phil avait lancé sur un sujet dédié, l'idée de petits exercices, pour se familiariser avec le 9345.
6502man a écrit :Mais il n'y a pas de honte à être débutant, et je suis sur que tous ceux qui le peuvent t'aiderons dans ton apprentissage à travers ce post :wink:
D'autant plus qu'au moins concernant le 9345, nous sommes plusieurs ici à nous pencher récemment sur son fonctionnement, même si c'est sur différentes machines. Peut-être arriverons-nous, par émulation (pas logicielle), à sortir une démo de ouf, et multiplateforme, en plus! :P
Oui, bon, en attendant d'y arriver, on a le droit de rêver un peu... :mrgreen:

Jettes un œil, si ce n'est déjà fait, sur les différents sujets abordant le 9345, c'est très instructif, de plus, beaucoup de questions de débutant y ont déjà été posées. :oops:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel »

PcKid a écrit :Ok daniel, c'est compris, mais 2 à 3 ans je trouve çà énorme.
Aujourd'hui ça fait déjà un mois. D'après mon pronostic, tu dois encore être loin de tout maîtriser. Où en es-tu ?
As-tu réussi à afficher quelque chose en programmant directement l'EF9345 sans passer par les routines système ?
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
PcKid
Messages : 538
Inscription : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid »

Salut Daniel

Je travail sur plusieurs projet à la fois pendant mon temps, (je sais c'est pas bien)

- le développement d'un jeu neogeo (le projet qui me prend le plus de temps)
- la sdcard pour alice
- l'affichage de caractère.

J'arrive à afficher un caractère et même un point grâce au livre les astuces d'alice de JFG, c'est pour moi le plus complet
concernant la partie vidéo. Je mettre une demo sur cette page.

Ce week end je serais à la RGC, je pourrais pas beaucoup avancé, je vais essayer de mettre ma démo, la semaine prochaine.

Recherche : Jeux et livres pour Alice Matra
* * * * * * Contactez - moi !* * * * * * *

Répondre