Est ce relationné avec le programme ?
[Alice32] [Forth] Sokoban pour Alice
Modérateurs : Papy.G, fneck, Carl
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
C'est en relation avec le programme et je viens juste de faire l'essai avec un Alice 90!
Résultat de l'essai:
Confirmation que la combinaison <CTRL><Z> ne fonctionne pas non plus, par contre l'utilisation des flêches du clavier fonctionnent toutes et comme pour Alice 32 les combinaisons <CTRL><W>, <CTRL><Q> et <CTRL><S> fonctionnent également.
Ce qui indique, à priori, que la combinaison <CTRL><Z> n'a pas été prise en compte dans SOKOBAN, alors que le mode d'emploi du programme indique
la possibilité d'utiliser ces 4 combinaisons!
Le code de <CTRL><Z> dans le tableau des touches du clavier (ROM système Alice 32/90 - adresse de début = $D838, offset $18) est égal à "$5E", alors
que la flêche direction haut du clavier ( ↑ ) a pour code: "$0B".
Résultat de l'essai:
Confirmation que la combinaison <CTRL><Z> ne fonctionne pas non plus, par contre l'utilisation des flêches du clavier fonctionnent toutes et comme pour Alice 32 les combinaisons <CTRL><W>, <CTRL><Q> et <CTRL><S> fonctionnent également.
Ce qui indique, à priori, que la combinaison <CTRL><Z> n'a pas été prise en compte dans SOKOBAN, alors que le mode d'emploi du programme indique
la possibilité d'utiliser ces 4 combinaisons!
Le code de <CTRL><Z> dans le tableau des touches du clavier (ROM système Alice 32/90 - adresse de début = $D838, offset $18) est égal à "$5E", alors
que la flêche direction haut du clavier ( ↑ ) a pour code: "$0B".
Re: [Alice32] [Forth] Sokoban pour Alice
Merci pour cette chasse aux bugs !!!! Excellent.
Cela doit pouvoir se régler, je regarde ça tout de suite.
EDIT 10h34 - OK , ce doit être ça : Il teste $54 et tu me dis que ce doit être 5E.
Je corrige et j'envoi une K7 d'ici peu dans ce même message
EDIT : 10H53 : J'ai nommé SOK51 pour V5.1.
Sans te commander peux tu vérifier.
C'est ma faute car je n'avais pas vraiment regardé le clavier Alice. Si ça marche, il faudra qu'on discute sur quelles doivent être les touches à donner dans le fichier INSTRUCTIONS que j'ai fait. Car ça prête à confusion, je parle de touche T, et on doit changer le texte.
Cela doit pouvoir se régler, je regarde ça tout de suite.
EDIT 10h34 - OK , ce doit être ça : Il teste $54 et tu me dis que ce doit être 5E.
Je corrige et j'envoi une K7 d'ici peu dans ce même message
EDIT : 10H53 : J'ai nommé SOK51 pour V5.1.
Sans te commander peux tu vérifier.
C'est ma faute car je n'avais pas vraiment regardé le clavier Alice. Si ça marche, il faudra qu'on discute sur quelles doivent être les touches à donner dans le fichier INSTRUCTIONS que j'ai fait. Car ça prête à confusion, je parle de touche T, et on doit changer le texte.
Dernière modification par Dominique le 08 mars 2024 10:58, modifié 1 fois.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Non c'est un oubli de combinaison du clavier (<CTRL><Z>), car le code $54 correspond à la lettre " T ", qui est également utilisée dans SOKOBAN.
Re: [Alice32] [Forth] Sokoban pour Alice
Ah, OK. Dans l'édit que je viens de faire j'ai remplacé T par 5E.
Finalement, à ton avis, quels sont les tests que nous devons faire ?
Fleche Haute PC + <Ctrl>Z + T
Fleche Basse PC + <Ctrl>W + G
etc.. ?
Edit 11h14 : C'est plus clair pour moi maintenant : Les flèches du clavier PC correspondent au <ctrl> Q, S et W du Alice. Seule la touche <ctrl>Z du Alice qui ne correspond pas à la flèche haute du PC. Donc au lieu de remplacer la touche T du Alice par <ctrl>Z, il faut faire 3 tests
Si Fleche Haute PC OU si Touche T OU si <ctrl> Z
Finalement, à ton avis, quels sont les tests que nous devons faire ?
Fleche Haute PC + <Ctrl>Z + T
Fleche Basse PC + <Ctrl>W + G
etc.. ?
Edit 11h14 : C'est plus clair pour moi maintenant : Les flèches du clavier PC correspondent au <ctrl> Q, S et W du Alice. Seule la touche <ctrl>Z du Alice qui ne correspond pas à la flèche haute du PC. Donc au lieu de remplacer la touche T du Alice par <ctrl>Z, il faut faire 3 tests
Si Fleche Haute PC OU si Touche T OU si <ctrl> Z
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Je viens de tester sur l'émulateur, Alice 32 et 90 avec la version SOK51:
Maintenant la combinaison <CTRL><Z> fonctionne, mais alors pourquoi vouloir conserver les touches <T>, <G>, <O>, <P> puisque pour Alice 32
les combinaisons <CTRL><Z>,<W>,<Q>, ou <S> fonctionnent. Cela fait double emploi et l'ergonomie des touches <T>,<G>,<O>,<P> est moins réaliste
car elles sont disposées sur une même ligne géométrique du clavier.
Maintenant la combinaison <CTRL><Z> fonctionne, mais alors pourquoi vouloir conserver les touches <T>, <G>, <O>, <P> puisque pour Alice 32
les combinaisons <CTRL><Z>,<W>,<Q>, ou <S> fonctionnent. Cela fait double emploi et l'ergonomie des touches <T>,<G>,<O>,<P> est moins réaliste
car elles sont disposées sur une même ligne géométrique du clavier.
Re: [Alice32] [Forth] Sokoban pour Alice
Au départ je m'étais calqué sur le programme du VG5K.
Ma faute a été de ne pas avoir prêté attention au clavier du Alice.
Donc on peut éliminer les touches <T>, <G>, <O>, <P> et ne conserver que:
- les flèches du PC (pour jouer sur DCALICE)
- <CTRL><Z>,<W>,<Q>, ou <S> pour jouer sur Alice.
Je récapitule :
Clavier PC
Flèche Haute -> $0B
Flèche Droite -> $09
Flèche Gauche -> $08
Flèche Basse -> $0A
Clavier Alice
Fleche Haute <CTRL><Z> -> $5E
Flèche Droite <CTRL><S> -> $09
Flèche Gauche <CTRL><Q> -> $08
Flèche Basse <CTRL><W> -> $0A
D'où on voit qu'il ne faut faire qu'un double test sur la flèche Haute.
Si Flèche Haute PC ($0B) OU si Flèche Haute Alice ($5E)
Ma faute a été de ne pas avoir prêté attention au clavier du Alice.
Donc on peut éliminer les touches <T>, <G>, <O>, <P> et ne conserver que:
- les flèches du PC (pour jouer sur DCALICE)
- <CTRL><Z>,<W>,<Q>, ou <S> pour jouer sur Alice.
Je récapitule :
Clavier PC
Flèche Haute -> $0B
Flèche Droite -> $09
Flèche Gauche -> $08
Flèche Basse -> $0A
Clavier Alice
Fleche Haute <CTRL><Z> -> $5E
Flèche Droite <CTRL><S> -> $09
Flèche Gauche <CTRL><Q> -> $08
Flèche Basse <CTRL><W> -> $0A
D'où on voit qu'il ne faut faire qu'un double test sur la flèche Haute.
Si Flèche Haute PC ($0B) OU si Flèche Haute Alice ($5E)
Dernière modification par Dominique le 08 mars 2024 12:37, modifié 3 fois.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Je suis entièrement de ton avis, et donc la routine de test clavier s'en trouve simplifiée et de plus clavier Alice 90 = clavier PC et clavier Alice 32!
Sur ta dernière phrase de ton dernier post: la flèche haute = $0B et non $08.
Sur ta dernière phrase de ton dernier post: la flèche haute = $0B et non $08.
Re: [Alice32] [Forth] Sokoban pour Alice
Tout à fait. On gagne en fluidité et on économise de la RAM
Corrigé l'erreur$ 08 -> $0B
Et les instructions seraient modifiées ainsi :
Je m'occupe de la MAJ d'ici peu
Corrigé l'erreur$ 08 -> $0B
Et les instructions seraient modifiées ainsi :
Code : Tout sélectionner
D) Jouer après avoir choisi l'option 2 -> "JOUER AU SOKOBAN" et saisi le No. du niveau désiré.
Vous avez 50 Niveaux disponibles.
Utiliser soit
- les flèches du clavier PC
- ou les touches <CTRL><Z>,<CTRL><W>,<CTRL><Q>, ou <CTRL><S> du clavier Alice
pour déplacer le SOKOBAN
Re: [Alice32] [Forth] Sokoban pour Alice
Voici la version 5.2;
Dès que tu auras testé, si c'est OK je refais une K7 que je continue d'appeler SOKOB et tu pourras refaire les formats BIN(Coco) MCX32-SD ensuite.
Si nous sommes OK je transmet à Daniel avec les nouvelles instructions.
Dès que tu auras testé, si c'est OK je refais une K7 que je continue d'appeler SOKOB et tu pourras refaire les formats BIN(Coco) MCX32-SD ensuite.
Si nous sommes OK je transmet à Daniel avec les nouvelles instructions.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Il faudra également supprimer dans SOKOBAN la définition des touches:
De ce tableau:
Dans l'émulateur, le fonctionnement du clavier est identique à celui du Alice 90.
[EDIT: 14h34mn] La version SOK52 fonctionne et j'attend la version "SOK" avec les modifications de tableau pour la conversion MCX32-SD.
De ce tableau:
Dans l'émulateur, le fonctionnement du clavier est identique à celui du Alice 90.
[EDIT: 14h34mn] La version SOK52 fonctionne et j'attend la version "SOK" avec les modifications de tableau pour la conversion MCX32-SD.
Re: [Alice32] [Forth] Sokoban pour Alice
Avec ce que nous avons changé, il me faut aussi modifier les adresses des tableaux dans les instructions.
Le nouveau visuel donne ça.
Voici la version que je vais envoyer à Daniel plus tard et sur laquelle tu peux faire tes fichiers.
Merci encore pour ton aide et ta perspicacité, ayant trouvé ces petits bugs.
Le nouveau visuel donne ça.
Voici la version que je vais envoyer à Daniel plus tard et sur laquelle tu peux faire tes fichiers.
Merci encore pour ton aide et ta perspicacité, ayant trouvé ces petits bugs.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Avec plaisir et merci à toi pour ce nouveau jeu SOKOBAN pour Alice 32 et 90.
Le fichier .zip de SOKOB contient les formats .BIN(Coco), .C10 et .WAV, de la dernière version de SOKOB avec une remarque importante malgré tout car les tableaux ne pourront être sauvegardés que sur cassette dans l'état actuel du jeu, les procédures de sauvegarde MCX32-SD étant différentes.
Le fichier .zip de SOKOB contient les formats .BIN(Coco), .C10 et .WAV, de la dernière version de SOKOB avec une remarque importante malgré tout car les tableaux ne pourront être sauvegardés que sur cassette dans l'état actuel du jeu, les procédures de sauvegarde MCX32-SD étant différentes.
Re: [Alice32] [Forth] Sokoban pour Alice
j'ai regardé le code dans le fichier SokoAlikeV1.lst, et ça ressemble plus à de l'assembleur qu'à du Forth, est-ce que j'ai raté quelque chose ? ou bien c'est un fichier intermédiaire qui passe après le code source en Forth ? (qui n'est pas livré)
Re: [Alice32] [Forth] Sokoban pour Alice
Ce qui est sûr, ce n'est pas le source mais le listing produit en même temps que le binaire (a09 SokoAliceV1.txt -b -l ).
J'ai l'impression que le source contient le noyau Forth épuré puis la "compilation" Forth du jeu stocké via des FDB, ce qui est une façon très efficace de démarrer le jeu sans passer par le parsing source textuel d'un programme vers le code interne Forth (ce qu'on appelle le dictionnaire chez Forth ?). Mais ça reste du Forth interne, pas de l'assembleur pour le jeu. Un peu comme le P-code d'un Pascal mais un poil plus efficace en terme d'exécution.
J'ai l'impression que le source contient le noyau Forth épuré puis la "compilation" Forth du jeu stocké via des FDB, ce qui est une façon très efficace de démarrer le jeu sans passer par le parsing source textuel d'un programme vers le code interne Forth (ce qu'on appelle le dictionnaire chez Forth ?). Mais ça reste du Forth interne, pas de l'assembleur pour le jeu. Un peu comme le P-code d'un Pascal mais un poil plus efficace en terme d'exécution.