[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

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

[Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 12:28

Bonjour à tous,

j'ai un trouvé un compilateur pour le 6803 (Dasm), pour lancer mon programme Asm qui fonctionne sur DCALICE,
je compile le prog asm en .bin.

Savez vous s'il existe un émulateur 6803 ? ou bien comment le lancer sur DCALICE ?

je bloque pour l’exécution de mon bin sur une machine ou émulateur.

Auriez vous une idée ?

edit : j'ai oublié de préciser, que j'ai testé, de le charger en tant que disquette, et de faire un RUNM "prog" ou LOADM "prog"
mais que cela me renvoit une erreur.(Donc à partir d'un Basic Disk 2.5 )

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


Avatar du membre
OlivierP
Messages : 648
Enregistré le : 21 sept. 2009 15:50
Localisation : IDF

Re: [Alice] et le cross compiler

Message par OlivierP » 06 sept. 2015 13:03

Je ne connais pas cette machine ni son émulateur, mais je suppose qu'il faut mettre ton .bin dans un fichier .k7

J'ai aussi utilisé du cross compiler il y a quelques années pour faire Nyan Cat sur TO8 : j'utilisais un outil pour mettre mon binaire et ses data dans un fichier .sap, utilisable pour les émulateurs.
Envoyé de mon pécé

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 13:44

Salut olivier,

J'avais dans mes tests renommé le bin en .k7 mais cela n’était pas reconnu.
Le fichier .k7 doit être surement spécifique.

je pense que le plus proche, serait de transfomer un fichier .bin en .fds (d7) pour alice.

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


Avatar du membre
OlivierP
Messages : 648
Enregistré le : 21 sept. 2009 15:50
Localisation : IDF

Re: [Alice] et le cross compiler

Message par OlivierP » 06 sept. 2015 14:05

Il te faudrait équivalent de DCFDUTIL (http://dcmoto.free.fr/emulateur/index.html) pour alice, afin d'importer des fichiers du pc dans un fichier .k7 (ou autre format utilisable par l'émulateur)
Envoyé de mon pécé

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 14:22

Oui tu as peut être raison, c'est dommage, d'être pour çà. J'ai tellement bossé depuis deux jours, j'en ai mal à la tête.

Daniel a fabriqué cela pour alice, mais on a pas la même chose que Dcmoto.
http://alice32.free.fr/emulateur/index.html

Je crois que patrice m'avait parlé d'une methode pour le faire, je vais rechercher dans ces mails.

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


Daniel
Messages : 12623
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel » 06 sept. 2015 14:53

OlivierP a écrit :Il te faudrait équivalent de DCFDUTIL
J'ai créé dcfdutil pour manipuler les images de disquettes Thomson au format .fd, car ce n'est pas un format standard.
Les disquettes Alice étant au format MS-DOS standard, il existe déjà des tas d'outils. On peut même monter les images sur PC pour y accéder comme à des disquettes réelles. Un nouvel outil serait redondant.

Ceci dit, pourquoi vouloir passer par une disquette ou une cassette ?
Il est beaucoup plus simple d'utiliser la fonction "Charger un fichier binaire" de l'outil de mise au point de dcalice.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 15:06

Salut Daniel,

Je viens de découvrir ton option avec F9, par contre j'aurais besoin de tes lumières.

Je charge mon BIN, j'ai même la chenille en BIN.
je quitte la fenêtre et alice me renvoit une erreur.

Dois je lui donner une adresse de Debut de memoire ? pour charger le BIN ?

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


Daniel
Messages : 12623
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel » 06 sept. 2015 15:24

Avant de charger le fichier, as-tu réservé la place en mémoire ?
Le fichier se charge à l'adresse indiquée dans la case Adresse.
Si le code n'est pas translatable, il faut que cette adresse corresponde à la directive ORG du code source.
Ensuite il ne faut pas que la zone utilisée pour charger le programme entre en conflit avec des zones réservées du système.
Quand toutes ces contraintes sont respectées, on peut ensuite revenir au Basic et lancer l'exécution. S'il est prévu de revenir au Basic à la fin de l'exécution, il faut évidemment avoir sauvé les registres au début et les avoir restaurés à la fin.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
6502man
Messages : 10098
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] et le cross compiler

Message par 6502man » 06 sept. 2015 20:24

PcKid: Attention si tu injectes un binaire en RAM, prévoit bien que la zone mémoire soit pas utilisé par le Basic ou les routines systèmes si tu dois l'utiliser depuis le Basic !!!

Au fait, tu n'a pas précisé si tu fait un programme pour Alice 4K ou 32/90 ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 21:12

Salut 6502man,

si je te l'ai dit dans le post DcAlice, il est fait pour alice 32,

j'ai compilé pour avoir un binaire, mais cela dépasse mes compétences pour la mise en point.
Pour mon programme, je connais le point de depart ORG.
mais comme je doute d'avoir mis les bons parametres dans DASM pour le 6803, je ne sais pas sur le fichier bin est compatible avec alice.

Alors j'ai pris des fichiers BIN que patrice m'avait passé pour la chenille ou crocky, forcement, je ne connais pas le point de départ
et donc je n'ai pas pu lancer ce fichier à partir de la mise au point de DcAlice.

Donc j'abandonne le cross compiler, je ne trouve aucune ressource, pour le 6803, étant seul au monde pour ce processeur.

Par contre :

J'apprends l'assembleur, je m'y suis mis à fond et j'ecris sur Programmer's notepad 2 et je lance sur DC Alice, c'est plus long que le cross mais j'ai pas le choix, car je n'ai pas trouvé de tutoriel d'apprentissage.

Donc depuis vendredi j'ai lu les bouquins alice sur l'asm (les mysteres d'alice, programmation en assembleur , le guide et Alice 90 votre micro ordinateur.) et j'ai aussi parcouru les doc du 6803 et 6800 à la recherche de pepite mais rien de coté.

Je me demande comment les auteurs connaissent les adresses equivalent à RND en ASM. Ou bien à la lecture du Clavier comme l'adresse $F883 ou l'affichage d'un caractere avec $F9C6.

Ou trouves ton ce dictionnaire de données pour le 6803 et le proc video ?
J'ai copié ton tableau pour les paramètre sur les caractères, et j'arrive à afficher des lettres, changer le fond , clignoter et etc.

Mais impossible de trouver l'équivalent de la commande Basic set(x,x,x) pour afficher un point
et les couleurs à x et y et aussi connaitre les adresses des caractères semi graphiques.

J'ai vu ta Demo du Logo 6502Man qui bouge à l'ecran au format fd : alors bravo c'est top !
Tu l'as déssiné point par point ? ou car semi graphique ? et comment tu simules le dégradé de couleurs ?

merci
Olivier

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


Daniel
Messages : 12623
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice] et le cross compiler

Message par Daniel » 06 sept. 2015 21:57

Je ne comprends pas bien l'abandon de l'assembleur 6803 sur PC. Il y en a beaucoup, si celui que tu as choisi ne te convient pas essaye un autre. Pour information, le 6803 et le 6801 ont les mêmes instructions, donc un assembleur pour l'un convient pour l'autre. Pour le 6809 j'utilise A09 et j'en suis très satisfait. Il est paramétrable et peut produire du code pour 6803 avec la directive OPT M03.

Et puis, je l'avais expliqué dans un autre post, il ne faut pas commencer par essayer de faire fonctionner un jeu complet en assembleur, c'est trop difficile. Il faut commencer par de petites routines de quelques instructions, appelées par un programme Basic. Par exemple tester une touche, afficher une petite image, jouer une note de musique, etc.

Après, quand tu auras acquis les bases, tu pourras compliquer un peu, mais ne brûle pas les étapes. D'ailleurs, pour commencer, il n'est pas nécessaire d'avoir un assembleur. A mes débuts je n'en avais pas, j'écrivais les programmes sur une feuille de papier et je générais le code machine à la main. Avec quatre ou cinq instructions dans la routine, ce n'est pas bien difficile. Pour charger le binaire en mémoire, il suffit de quelques POKE dans un programme Basic.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
PcKid
Messages : 485
Enregistré le : 17 sept. 2011 19:00

Re: [Alice] et le cross compiler

Message par PcKid » 06 sept. 2015 22:17

Merci je vais tester A09 , il n est pas présent lors de mes recherches sur Google.
Et tu lances comment sur un DcMoto ?

Je pourrais te donner un code binaire pour comprendre comme le lancer sur DcAlice ?

Pour l assembleur je m en sors pas trop mal, vraiment. J affiche des caractères ou des semi graphique
A l endroit ou je le souhaite. J arrive a récupérer les touches enfoncées et faire des branchements conditionnels.

C'est proche du basic , je trouve . Il faut beaucoup plus décomposer .

J'ai des questions et je sais pas si tu peux me donner les réponses sur le 6809,
Ou trouve ton les adresses de tous les semi graphiques?
Comment fait on pour afficher un point lumineux?

Je comprends aussi le fait d' utiliser le registre A ou D mais je n 'ai jamais utilisé le B.
On s en sers dans quel cas ?

Merci

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


joaopa
Messages : 500
Enregistré le : 14 sept. 2013 12:17

Re: [Alice] et le cross compiler

Message par joaopa » 06 sept. 2015 22:24

Une petite remarque supplémentaire en plus des très judicieux conseils de Daniel.

Le livre d'assembleur pour l'Alice disponible sur le site de Daniel est très bien fait. Passe une petite semaine à implémenter et comprendre les minis routines qui sont présentes. C'est très formateur.
Après tu peux implémenter les exemples dans le livre les astuces de l'alice. Comme son nom l'indique il y a plein d'astuces et méthodes (qui sont réutilisables sur le VG5000 :roll: ) à connaitre pour pouvoir bien utiliser l'EF9345.

Je rebondis sur une tes remarques pertinentes:
<<Je me demande comment les auteurs connaissent les adresses equivalent à RND en ASM. Ou bien à la lecture du Clavier comme l'adresse $F883 ou l'affichage d'un caractere avec $F9C6>>

Les éditeurs de livres ou de logiciels avaient une copie documentée du listing de la rom désassemblée.
Quelqu'un a-t-il réussi à récupérer une de ces copies?
Au pire, quelqu’un sait-il amusé à désassembler la rom et à la documenter?
Dans les 2 bouquins sus-nommés, il y a quelques points d'entrée de la rom.

Sur une des documentations du site de Carl, il en parle pour celle du VG5000, mais elle n'est pas présente.

__sam__
Messages : 5161
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Alice] et le cross compiler

Message par __sam__ » 06 sept. 2015 22:47

A09 est un assembleur portable téléchargeable ici (dossier Release): http://www.hermannseib.com/programs/a09.zip. Il compile un source ASM et produit un fichier binaire "brut" pour 680x, qu'on peut charger à une adresse dans les fonctions de débug des émulateurs.

On se sert de (B) quand un seul accumulateur (A) n'est pas suffisant, ou conjointement avec (A) pour faire un accumulateur 16 bits (D), ou encore quand les routines systèmes prennent les arguments dans ce registre. Tout dépend de ce qu'on peut faire. Il faut regarder comment les autres fonts ou plutôt ont faits.

Perso à l'époque, j'ai appris l'asm 6809 en autodidacte en épluchant hebdogiciel et le programming manual 6809 auquel j'a eu accès durant des vacances. A ce propos, les cours d'asm 6809 d'hebdo sont regroupés ici: http://www.logicielsmoto.com/phpBB/view ... ?f=3&t=419. Certes c'est des cours pour Thomson, mais les codes sources sont expliqués, donc on peut les étudier pour comprendre comment ils marchent. Il faudrait trouver l'équivalent dans la littérature Alice. Par exemple ici: http://hulotte.mac.free.fr/Alice/asm/. Je crois qu'il y a beaucoup à apprendre là bas. [EDIT] c'est la même chose que le bouquin dont Daniel et Joaopoa ont parlés: http://alice32.free.fr/documentation/15/15.djvu. Il lui manque juste les points d'entrée du moniteur pour aller plus loin, mais c'est un début. [EDIT] les points d'entrée du moniteur sont données dans le livre des "trucs de l'alice": http://alice32.free.fr/documentation/18/18.djvu. C'est le bouquin parfait pour aller plus loin avec l'asm sur alice.

A savoir: l'asm seul n'est rien. Il marche conjointement avec les routines du moniteur de la machine cible (son bios). Pour allumer un pixel graphique on peut soit passer par le bios comme le fait le basic, et pour aller plus vite il faut programmer toute la tripaille des registres vidéo bas niveau qu'on peut faire une fois qu'on sait bien comment marche le moniteur.

Dans tous les cas les deux bouquins suivant sont indispensable si tu veux mon avis A mon avis, il faut passer un max de temps sur le dernier bouquin. Une fois que tu l'as bien assimilé, limite en le connaissant par coeur, que tu aura compris les exemples de code (qui m'ont l'air balèze) qu'il y a dedans, alors tu pourra faire des tas de trucs sympa en asm sur Alice.
Samuel.
A500 Vampire V2+ ^8^, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.

Avatar du membre
6502man
Messages : 10098
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] et le cross compiler

Message par 6502man » 06 sept. 2015 23:25

Dasm devrait assembler sans problème ton source, tu dois avoir des messages d'erreur ça te permet de savoir où il y a une erreur ??

Sinon Tasm est très pratique aussi :)
....pour le 6803, étant seul au monde pour ce processeur.
Non il y a bien d'autres passionnés qui programme sur ce CPU notamment sur MC10 :wink:
Ou trouves ton ce dictionnaire de données pour le 6803 et le proc video ?
Le 6803 Sam à donner le lien du DATASHEEET, pour le VDP c'est l'EF9345 tu trouveras le DATASHEET sur le site de Daniel comme pour le CPU, et j'avais ouvert un sujet sur sa programmation sur Alice :roll:
J'ai vu ta Demo du Logo 6502Man qui bouge à l'ecran au format fd : alors bravo c'est top !
Tu l'as déssiné point par point ? ou car semi graphique ? et comment tu simules le dégradé de couleurs ?
Merci :D
J'ai dessiné le LOGO sous windows et avec un petit outils "homemade" j'ai converti en caractères pour l'EF-9345 et intégré dans mon code assembleur en datas, après y a plus qu'à afficher avec une petite routine ASM :wink:
Tu as vu la partie suivante de la Demo avec le bigscroll :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

Répondre