[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 »

@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.
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice32] [Forth] Sokoban pour Alice

Message par David.G »

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. :)
Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Brochiman »

Pas grave Dominique :D et merci pour ce jeu :)
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 »

@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. :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 »

L'instruction de retour au Basic est BYE.

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
Je modifie ainsi pour retourner à 40 colonnes


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
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'
SokoAliceV5.zip
(6.41 Kio) Téléchargé 12 fois
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13300
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Carl »

Bravo et merci Dominique pour ce Sokoban pour Alice 8)

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 »

Merci Carl. En tous cas je me suis bien amusé avec Alice.
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 »

@Dominique: Cette nouvelle version corrigée de SOKOBAN est ok. 8) :D :D :D

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).
SOKOB-WAV-C10-BIN(Coco).zip
(76.4 Kio) Téléchargé 8 fois
- 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.
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 »

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
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 »

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. :wink:

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

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. :wink:

Super :idea: C'est un plus, de pouvoir stocker un tableau pour une réutilisation ultérieure. 8)
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Daniel »

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.
Daniel
L'obstacle augmente mon ardeur.
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 beaucoup Daniel.

Bon jeu à tous
Zebulon
Messages : 2806
Inscription : 02 nov. 2020 14:03

Re: [Alice32] [Forth] Sokoban pour Alice

Message par Zebulon »

Bravo et merci Dominique pour le portage de ton jeu sur cette plateforme. :D

Je l'ai testé sur l'émulateur de Daniel car je n'ai pas d'Alice et il fonctionne très bien. 👍
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 »

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. :wink:

[EDIT-07-03-2024-18h00]: Petit bug avec Alice 32 <CTRL><Z> ne fonctionne pas, je n'ai pas encore essayé avec Alice 90. :?
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 »

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...
Editeur.jpg
Editeur.jpg (26.67 Kio) Consulté 480 fois
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.
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.
Répondre