[Alice32] [Forth] Sokoban pour Alice
Modérateurs : Papy.G, fneck, Carl
Re: [Alice32] [Forth] Sokoban pour Alice
@Daniel
Je viens de trouver un Bug (Touches N et P dans l'éditeur de niveaux)
Je vais les corriger cet après midi et comme tu te proposes de mettre à jour les versions améliorées, je te ferais le fichier avec les copies d'écran et les instructions à minima.
Je viens de trouver un Bug (Touches N et P dans l'éditeur de niveaux)
Je vais les corriger cet après midi et comme tu te proposes de mettre à jour les versions améliorées, je te ferais le fichier avec les copies d'écran et les instructions à minima.
Re: [Alice32] [Forth] Sokoban pour Alice
Bonjour Dominique,
J'ai chargé la cassette SOKO2 dans l'émulateur DCalice avec CLOADM mais j'obtiens seulement un écran noir.
Ai-je raté une manip ?
EDIT : J'ai réussi. Oublie ce que je viens de dire, je vais tester le jeu. A plus tard.
J'ai chargé la cassette SOKO2 dans l'émulateur DCalice avec CLOADM mais j'obtiens seulement un écran noir.
Ai-je raté une manip ?
EDIT : J'ai réussi. Oublie ce que je viens de dire, je vais tester le jeu. A plus tard.
Re: [Alice32] [Forth] Sokoban pour Alice
Pas grave Dominique et merci pour ce jeu
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
@Dominique: Avec l'émulateur dcalice_20240304, le retour au Basic ne fonctionne pas correctement, écran tout noir sans curseur, à priori!
Si j'effectue <CLS80> <ENTER> en commande directe à la suite, alors l'écran est bien réinitialé en mode 80 colonnes (caractères noirs sur fond vert).
Conditions d'essais dans l'émulateur: Alice en mode 90 ou 32+16 Ko--> Après avoir chargé SOKO50.k7, <CLOADM><EXEC><ENTER>.
La remarque est identique avec la machine Alice 32 ou 90.
Conditions d'essais: Alice 32 ou 90, extension Multi-Ports, interface MCX32-SD et lancement de SOKO50.WAV par <RUNM"SOKO50.WAV"> ou <LOADM"SOKO50.WAV">, puis <EXEC><ENTER>.
Remarque: Ce programme ne fonctionne évidemment pas avec MC-10 ou Alice 4K.
Si j'effectue <CLS80> <ENTER> en commande directe à la suite, alors l'écran est bien réinitialé en mode 80 colonnes (caractères noirs sur fond vert).
Conditions d'essais dans l'émulateur: Alice en mode 90 ou 32+16 Ko--> Après avoir chargé SOKO50.k7, <CLOADM><EXEC><ENTER>.
La remarque est identique avec la machine Alice 32 ou 90.
Conditions d'essais: Alice 32 ou 90, extension Multi-Ports, interface MCX32-SD et lancement de SOKO50.WAV par <RUNM"SOKO50.WAV"> ou <LOADM"SOKO50.WAV">, puis <EXEC><ENTER>.
Remarque: Ce programme ne fonctionne évidemment pas avec MC-10 ou Alice 4K.
Re: [Alice32] [Forth] Sokoban pour Alice
L'instruction de retour au Basic est BYE.
Je modifie ainsi pour retourner à 40 colonnes
EXEC 16976
Nous renvoi bien au Sokoban, du moins sur DCALICE
EDIT : De plus: modifications faites dans le fichier SokoAliceV5.zip ci-dessous :
- Modification du paramètre du registre MAT adr. $4267 : de $2E -> $28 pour mettre d'office la marge noire.
Cela a permis d'éliminer les procédures MARGE ainsi que celles qui permettaient le lire ou d'écrire
dans un registre indirect; De bons octets récupérés!
- Correction du bug avec les touches N et P de l'éditeur.
Le binaire de la modif. Lancement habituel par 'Mise au Point'
Code : Tout sélectionner
46D9 46DB BYE FDB *+2
46DB CC5696 LDD #CF_SOKO2 ; on remplace l'appel à CF_SOKOBAN
46DE FD45A1 STD CLD1 ; par CF_SOKO2 en prévision d'un retour depuis le Basic
46E1 BE4255 LDS SP_BASIC ; On récupère le SP pour retourner au Basic
46E4 FC4257 LDD D_BASIC ; On récupère D (pas certain que ce soit nécessaire)
46E7 0E CLI ; On a fait un SEI en entrée du Forth - Pas certain que ce soit nécessaire
46E8 39 RTS
Code : Tout sélectionner
46D9 46DB BYE FDB *+2
46DB CC564D LDD #CF_SOKO2 ; on remplace l'appel à CF_SOKOBAN
46DE FD45A1 STD CLD1 ; par CF_SOKO2 en prévision d'un retour depuis le Basic
46E1 BD4604 JSR efface_ecran
46E4 9601 LDAA $01
46E6 CE301A LDX #$301A ; TECRAN
46E9 A700 STAA 0,X ;TECRAN=1
46EB BDFBD4 JSR GRNCH
46EE BE4255 LDS SP_BASIC ; On récupère le SP pour retourner au Basic
46F1 FC4257 LDD D_BASIC ; On récupère D (pas certain que ce soit nécessaire)
46F4 0E CLI ; On a fait un SEI en entrée du Forth - Pas certain que ce soit nécessaire
46F5 39 RTS
Nous renvoi bien au Sokoban, du moins sur DCALICE
EDIT : De plus: modifications faites dans le fichier SokoAliceV5.zip ci-dessous :
- Modification du paramètre du registre MAT adr. $4267 : de $2E -> $28 pour mettre d'office la marge noire.
Cela a permis d'éliminer les procédures MARGE ainsi que celles qui permettaient le lire ou d'écrire
dans un registre indirect; De bons octets récupérés!
- Correction du bug avec les touches N et P de l'éditeur.
Le binaire de la modif. Lancement habituel par 'Mise au Point'
- Carl
- Modérateur
- Messages : 13301
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
Bravo et merci Dominique pour ce Sokoban pour Alice
Carl
Carl
Re: [Alice32] [Forth] Sokoban pour Alice
Merci Carl. En tous cas je me suis bien amusé avec Alice.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
@Dominique: Cette nouvelle version corrigée de SOKOBAN est ok.
J'ai effectué une sauvegarde du jeu dans différents formats à partir du fichier binaire original que j'ajoute ici :
Formats .WAV, .C10, .BIN (Coco)
[EDIT 07-03-2024-14h15mn] Fichier supprimé en attente d'une nouvelle version.
[EDIT 07-03-2024-14h37mn] LES 3 fichiers .WAV, .C10, .BIN(Coco).
- Le format .C10 est directement compatible avec l'émulateur dcalice_20240304.
- Les formats .WAV et .BIN (Coco) et .C10 sont destinés à l'interface MCX32-SD.
- Le format .WAV peut également être chargé sur la machine Alice (32-90) au travers de la carte son d'un PC.
J'ai effectué une sauvegarde du jeu dans différents formats à partir du fichier binaire original que j'ajoute ici :
Formats .WAV, .C10, .BIN (Coco)
[EDIT 07-03-2024-14h15mn] Fichier supprimé en attente d'une nouvelle version.
[EDIT 07-03-2024-14h37mn] LES 3 fichiers .WAV, .C10, .BIN(Coco).
- Le format .C10 est directement compatible avec l'émulateur dcalice_20240304.
- Les formats .WAV et .BIN (Coco) et .C10 sont destinés à l'interface MCX32-SD.
- Le format .WAV peut également être chargé sur la machine Alice (32-90) au travers de la carte son d'un PC.
Dernière modification par Patrice le 07 mars 2024 14:40, modifié 3 fois.
Re: [Alice32] [Forth] Sokoban pour Alice
Je te remercie Patrice pour tes tests ainsi que pour les fichiers.
1 - J'ai bien peur que tu sois encore mis à contribution :
Ce matin j'ai modifié l'adresse de chargement du programme de $4250 -> $3400 , et j'ai en tête d'autres modifications qui ne changeront rien au visuel mais seront un gain de RAM et de fluidité.
Comme j'aimerai que tout soit concentré au même endroit, je laisse le soin à Daniel de publier la dernière version officielle du jeu sur son site, dès qu'il en aura l'occasion.
Je trouve extrêmement positif d'y inclure les formats pour MCX32-SD, .BIN (Coco) et autres comme tu l'as fait. Daniel doit pouvoir les inclure sur alice32.free.fr
La version que Daniel va publier cet après midi ne sera pas modifiée avant plusieurs jours, peut être même le mois prochain. Donc tu pourrais peut être attendre cet après midi pour refaire à nouveau les formats.
2- Comme il existe de nombreuses collections de tableaux (Soloban, Novoban, Sokolate, Kokoban etc..) j'ai testé la possibilité de sauvegarder ou charger ces collections sur K7. Par le retour au Basic et avec le CSAVEM de Patrice on peut le faire et ça augmentera l'attrait du jeu.
Voila
1 - J'ai bien peur que tu sois encore mis à contribution :
Ce matin j'ai modifié l'adresse de chargement du programme de $4250 -> $3400 , et j'ai en tête d'autres modifications qui ne changeront rien au visuel mais seront un gain de RAM et de fluidité.
Comme j'aimerai que tout soit concentré au même endroit, je laisse le soin à Daniel de publier la dernière version officielle du jeu sur son site, dès qu'il en aura l'occasion.
Je trouve extrêmement positif d'y inclure les formats pour MCX32-SD, .BIN (Coco) et autres comme tu l'as fait. Daniel doit pouvoir les inclure sur alice32.free.fr
La version que Daniel va publier cet après midi ne sera pas modifiée avant plusieurs jours, peut être même le mois prochain. Donc tu pourrais peut être attendre cet après midi pour refaire à nouveau les formats.
2- Comme il existe de nombreuses collections de tableaux (Soloban, Novoban, Sokolate, Kokoban etc..) j'ai testé la possibilité de sauvegarder ou charger ces collections sur K7. Par le retour au Basic et avec le CSAVEM de Patrice on peut le faire et ça augmentera l'attrait du jeu.
Voila
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
J'attend la prochaine version et je referai la même manip pour les formats de fichier, le temps pour réaliser la conversion étant très court.
Le format .BIN (Coco) ne sera d'aucune utilité pour l'émulateur de Daniel puisque celui-ci n'émule pas MCX32-SD, mais uniquement MCX32-FDJ,
mais l'intérêt, comme tu l'as justement signalé, étant de stocker l'ensemble des formats au même endroit pour garder une cohérence au niveau de la version du programme SOKOBAN, ensuite chacun utilisera à sa convenance.
La modification de l'adresse de début de chargement et de lancement de SOKOBAN en $3400 est un bon choix, personnellement lorsque j'utilise l'éditeur-assembleur interne de Alice, c'est cette adresse que je choisi à l'initialisation par <CLEAR 100,13312 ($3400)> pour charger le programme assembleur (source) ce qui laisse suffisamment de place pour la pile système et les chaînes de caractères.
Super C'est un plus, de pouvoir stocker un tableau pour une réutilisation ultérieure.
Le format .BIN (Coco) ne sera d'aucune utilité pour l'émulateur de Daniel puisque celui-ci n'émule pas MCX32-SD, mais uniquement MCX32-FDJ,
mais l'intérêt, comme tu l'as justement signalé, étant de stocker l'ensemble des formats au même endroit pour garder une cohérence au niveau de la version du programme SOKOBAN, ensuite chacun utilisera à sa convenance.
La modification de l'adresse de début de chargement et de lancement de SOKOBAN en $3400 est un bon choix, personnellement lorsque j'utilise l'éditeur-assembleur interne de Alice, c'est cette adresse que je choisi à l'initialisation par <CLEAR 100,13312 ($3400)> pour charger le programme assembleur (source) ce qui laisse suffisamment de place pour la pile système et les chaînes de caractères.
Super C'est un plus, de pouvoir stocker un tableau pour une réutilisation ultérieure.
Re: [Alice32] [Forth] Sokoban pour Alice
Une nouvelle page du site http://alice32.free.fr a été créée pour Sokoban : http://alice32.free.fr/programmes/sokoban/index.html
Pour l'instant elle contient la version finalisée ce matin par Dominique.
C'est provisoire, toutes les améliorations et nouveaux fichiers seront ajoutés au fur et à mesure. Je laisse à Dominique le soin de me les transmettre.
Pour l'instant elle contient la version finalisée ce matin par Dominique.
C'est provisoire, toutes les améliorations et nouveaux fichiers seront ajoutés au fur et à mesure. Je laisse à Dominique le soin de me les transmettre.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Alice32] [Forth] Sokoban pour Alice
Merci beaucoup Daniel.
Bon jeu à tous
Bon jeu à tous
Re: [Alice32] [Forth] Sokoban pour Alice
Bravo et merci Dominique pour le portage de ton jeu sur cette plateforme.
Je l'ai testé sur l'émulateur de Daniel car je n'ai pas d'Alice et il fonctionne très bien.
Je l'ai testé sur l'émulateur de Daniel car je n'ai pas d'Alice et il fonctionne très bien.
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: [Alice32] [Forth] Sokoban pour Alice
La nouvelle version de SOKOBAN est disponible au téléchargement ci-dessus. Adresse de chargement et d'exécution 13312 ($3400) en attendant
la mise à disposition sur le site de Daniel.
[EDIT-07-03-2024-18h00]: Petit bug avec Alice 32 <CTRL><Z> ne fonctionne pas, je n'ai pas encore essayé avec Alice 90.
la mise à disposition sur le site de Daniel.
[EDIT-07-03-2024-18h00]: Petit bug avec Alice 32 <CTRL><Z> ne fonctionne pas, je n'ai pas encore essayé avec Alice 90.
Re: [Alice32] [Forth] Sokoban pour Alice
Pour la prochaine mise à jour je prévois :
1 - Des éléments de contrôle que je n'avais pas fait : Par exemple si j'édite ou je joue au niveau 1 et que je demande NIV-1, il va chercher le niveau 0 puis -1 ...
2 - Travailler les procédures de contrôle des touches :
Exemple : On voit par l'écran de l'éditeur que je fais des tests sur 13 touches. Si touche S j'affiche le Sokoban, si touche Z c'est le Sokoban+En-but etc 13 fois des IF ELSE IF ELSE IF ELSE ENDIF ENDIF etc...
J'imagine modifier cela de la façon suivante. J'affecte 13 touches clavier dont les ASCII se suivent (Touche A action1, Touche B action2, Touche C action3 etc..)
J'ordonne dans une liste mes actions
et j'utilise ('ASCII_touche' - $40)*2 + Debut_Actions pour trouver l'adresse de l'action.
J'ai trois procédures de ce type.
3 - Ecrire plusieurs collection de niveaux pour faire une K7 de niveaux.
Du pain sur la planche.
1 - Des éléments de contrôle que je n'avais pas fait : Par exemple si j'édite ou je joue au niveau 1 et que je demande NIV-1, il va chercher le niveau 0 puis -1 ...
2 - Travailler les procédures de contrôle des touches :
Exemple : On voit par l'écran de l'éditeur que je fais des tests sur 13 touches. Si touche S j'affiche le Sokoban, si touche Z c'est le Sokoban+En-but etc 13 fois des IF ELSE IF ELSE IF ELSE ENDIF ENDIF etc...
J'imagine modifier cela de la façon suivante. J'affecte 13 touches clavier dont les ASCII se suivent (Touche A action1, Touche B action2, Touche C action3 etc..)
J'ordonne dans une liste mes actions
Code : Tout sélectionner
Debut_Actions
Action1
Action2
Action3
Etc.
J'ai trois procédures de ce type.
3 - Ecrire plusieurs collection de niveaux pour faire une K7 de niveaux.
Du pain sur la planche.