[Alice32] [Forth] Sokoban pour Alice

Cette catégorie traite de développements récents destinés à 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 de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

Patrice a écrit : 07 mars 2024 14:44 ...
[EDIT-07-03-2024-18h00]: Petit bug avec Alice 32 <CTRL><Z> ne fonctionne pas, je n'ai pas encore essayé avec Alice 90. :?
Est ce relationné avec le programme ?
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

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".
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

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.
SOK51.zip
(69.08 Kio) Téléchargé 8 fois
Dernière modification par Dominique le 08 mars 2024 10:58, modifié 1 fois.
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

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. :?
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

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
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

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. :wink:
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

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)
Dernière modification par Dominique le 08 mars 2024 12:37, modifié 3 fois.
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

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! 8)

Sur ta dernière phrase de ton dernier post: la flèche haute = $0B et non $08. :roll:
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

Tout à fait. On gagne en fluidité et on économise de la RAM
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
Je m'occupe de la MAJ d'ici peu
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

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.
SOK52.zip
(68.91 Kio) Téléchargé 10 fois
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

Il faudra également supprimer dans SOKOBAN la définition des touches:
Touches T,G,O,P.PNG
Touches T,G,O,P.PNG (1.27 Kio) Consulté 577 fois
De ce tableau:
Tableau SOKOBAN.PNG
Tableau SOKOBAN.PNG (22.58 Kio) Consulté 577 fois

Dans l'émulateur, le fonctionnement du clavier est identique à celui du Alice 90. 8)


[EDIT: 14h34mn] La version SOK52 fonctionne et j'attend la version "SOK" avec les modifications de tableau pour la conversion MCX32-SD. :wink:
Avatar de l’utilisateur
Dominique
Messages : 833
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Dominique »

Avec ce que nous avons changé, il me faut aussi modifier les adresses des tableaux dans les instructions.

Le nouveau visuel donne ça.
Version53.jpg
Version53.jpg (20.63 Kio) Consulté 567 fois
Voici la version que je vais envoyer à Daniel plus tard et sur laquelle tu peux faire tes fichiers.
SOKOB.zip
(68.61 Kio) Téléchargé 9 fois
Merci encore pour ton aide et ta perspicacité, ayant trouvé ces petits bugs.
Avatar de l’utilisateur
Patrice
Messages : 1562
Inscription : 14 janv. 2008 10:42
Localisation : https://www.ville-saintes.fr/
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Patrice »

Avec plaisir et merci à toi pour ce nouveau jeu SOKOBAN pour Alice 32 et 90. 8) :D :D :D

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.
SOKOB.zip
(75.85 Kio) Téléchargé 10 fois
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par farvardin »

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é)
Avatar de l’utilisateur
hlide
Messages : 3507
Inscription : 29 nov. 2017 10:23

Re: [Alice32] [Forth] Sokoban pour Alice

Message par hlide »

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.
Répondre