BillyBox MO5

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

Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: BillyBox MO5

Message par Markerror »

Bonjour,

Dans mes vagues souvenirs, il me semble qu'il y avait une version PC de ce jeu. Baptiste Bideau a un compte sur system-cfg, le plus simple, c'est d'essayer de le contacter :-). Par contre, son site personnel n'existe plus.
critor
Messages : 22
Inscription : 20 juil. 2014 20:50

Re: BillyBox MO5

Message par critor »

Merci pour la suggestion. :)
Si la version s'appelle également "Billy Box", je ne l'ai trouvée que pour Game Boy Advance, et ce ne sont pas les mêmes niveaux.

Si elle s'appelle Sokoban, je risque d'avoir du choix...



J'ai testé le niveau 9 avec un solutionneur de Sokoban.
Il n'y a que la paire de caisses groupées à droite qui permet par suppression d'une des deux d'obtenir un niveau solutionnable.
Schéma de la modification à apporter au code source :

Code : Tout sélectionner

   11111111
   1      1
   1   2  1
1111 1312 1 <- remplacer 2 par 5 ici
1444 3 42 1 <- ou là
1431 131  1
14 1 2    1
1 22    2 1
1  11111111
1111


Même problème au niveau 15 :
- 5+10=15 caisses
- mais 5+9=14 emplacements
- et pas de position de départ pour le joueur

Là encore d'après le solutionneur, seules deux suppressions différentes d'une caisse rendent le niveau soluble.
Schéma :

Code : Tout sélectionner

111111         1111
1    11111111  1  1
1 333 2 2 2 1  1  1
1 41412     1  12 1
1  341      1111  1
1 124 2112111 2   1 <- remplacer l'un des deux premiers 2 par 5
1 434   2         1
1 44411111111  1111
111111      1111


Problème également au niveau 25 :
  • 4+13=17 caisses
  • et 4+12=16 emplacements
  • position de départ du jouer omise
Mais là, à moins que le solutionneur que j'ai pris ne soit pas assez puissant, le poblème est plus complexe puisqu'aucune suppression d'une unique caisse ne lui permet de trouver une solution.
Schéma :

Code : Tout sélectionner

1111111111111111
1       144 1  1
1 2 222 1433   1
1  1   111  1441
1 211    2 11431
1     1 2  1 441
1 21121  211   1
1  1  1 2 1    1
1 21   3141   21
1  1111444     1
1111  1111111111
Xavier

Re: BillyBox MO5

Message par Xavier »

Merci Critor !!!
Mais, vu comme ça c'est déjà moins glamour ...
:D

Pour info, Dominique Contant a fait une version en Forth pour ZX81!
critor
Messages : 22
Inscription : 20 juil. 2014 20:50

Re: BillyBox MO5

Message par critor »

Merci.

J'ai une correction possible pour le niveau 25 mais en échangeant en prime deux cases.
Schéma avec le nombre de modifications apportées par ligne :

Code : Tout sélectionner

1111111111111111
1       14441  1 (*)
1 5 222 143    1 (**)
1  1   111  1441
1 211    2 11331 (*)
1     1 2  1 441
1 21121  211   1
1  1  1 2 1    1
1 21   3141   21
1  1111444     1
1111  1111111111
Mais là par contre, aucune garantie que cela respecte la façon dont le niveau avait été pensé par son auteur.
Baptiste
Messages : 121
Inscription : 11 mars 2013 15:17
Localisation : Vernouillet (78)

Re: BillyBox MO5

Message par Baptiste »

Bonjour à tous,

Tout d'abord, désolé pour ma longue absence sur ce forum. Le temps me manque un peu. Toutes mes excuses...

Donc, effectivement, il y a quelques tableaux qui posent problème. Le design des tableaux n'est pas de moi. J'ai récupéré les niveaux de A.K.K. Informatika depuis ce site : http://www.sourcecode.se/sokoban/levels.

Les levels 9, 15 et 25 ne positionnent pas le héro au bon endroit.

Voici quelques lignes à ajouter a BILLYBOX.BAS pour corriger cela :

Code : Tout sélectionner

961 REM PATCH CORRECTIF
962 IF LEVEL=9 THEN LVL(83)=3:LVL(84)=5:LVL(85)=4:LVL(86)=4
963 IF LEVEL=15 THEN LVL(81)=5:LVL(82)=4
964 IF LEVEL=25 THEN LVL(31)=4:LVL(51)=4:LVL(52)=5:LVL(53)=2
Vous trouverez l'archive avec le patch ici : http://www.freetalent.fr/downloads/billybox_patched.zip

Merci.
Baptiste.
Rien ne sert de courir, en plus tu risques de tomber.
critor
Messages : 22
Inscription : 20 juil. 2014 20:50

Re: BillyBox MO5

Message par critor »

Merci beaucoup pour avoir corrigé avec une telle réactivité. :)
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: BillyBox MO5

Message par Neotenien »

Bonjour

Est ce que Billy Box va être référencé sur DC Moto, même s'il s'agit d'un programme Basic ? Sur la vidéo, ça parait un peu lent (écrit en Basic) mais le jeu est intéressant en lui même... Même s'il s'agit d'un Sokoban.
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: BillyBox MO5

Message par Daniel »

La dernière version de Billy Box comportait quelques anomalies, en particulier elle ne fonctionnait ni sur TO7, ni sur TO7/70. Les adresses choisies pour charger les fichiers binaires écrasaient soit le programme Basic, soit le DOS, soit débordaient de la mémoire (avec le TO7). C'est pourquoi je ne l'avais pas ajoutée au site dcmoto.

Grâce à ce très beau déterrage de post (6 ans 1/2, c'est une belle performance) j'ai repris le programme pour le modifier :
- Meilleur test pour déterminer le type d'ordinateur.
- Translation des fichiers binaires selon le type de machine (MO/TO) pour les mettre à des adresses convenables.
- Remplacement de la couleur 15 (inexistante sur TO7) par la couleur 3.
- Suppression des commentaires et des espaces inutiles dans le programme Basic.
- Transformation du type de toutes les variables (les nombres en virgule flottante sont remplacés par des entiers).
- Création des versions .k7, .lep, .fd et .sd pour tous les ordinateurs Thomson.

Le résultat est disponible à la page Programmes du site dcmoto : http://dcmoto.free.fr/index.html

01.png
01.png (1.31 Kio) Consulté 3843 fois
06.png
06.png (953 octets) Consulté 3843 fois
Daniel
L'obstacle augmente mon ardeur.
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: BillyBox MO5

Message par Markerror »

Bravo Daniel pour avoir amélioré ce jeu ! A l'époque, j'avais dans l'idée d'en faire une version VG 5000 en assembleur, mais au final, ça c'est transformé en programme CPC pour un concours 16ko, Overkoban. Il faudra que je me repenche sur ce sujet, car dans le principe, rien ne s'oppose à reprendre mon vieux code pour le faire "revenir" sur VG 5000.

On doit pouvoir aussi faire une version Basic potable je pense...
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: BillyBox MO5

Message par Neotenien »

Bravo et merci Daniel!

Euh par contre, je ne savais pas qu'on pouvait trouver le type de machine... Malheureusement j'ai cru comprendre dans les manuels technique que ce n'était pas possible, c'est à dire qu'il n'y a aucun endroit dans les ROM iniquant s'il s'agoit d'u MO5, TO7, TO8 etc...

Alors comment as-tu fais ? Déjà je pense qu'en faisant un truc du genre "CLS:Print 'i'" et qu'en vérifiant (avec PEEK) à une certaine adresse écran ($4000+offset ou $0000+offset) si on a correspondance il s'agit d'un TO ou MO. Après...
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: BillyBox MO5

Message par __sam__ »

L’adresse $fff0 est utilisée un peu partout dans les sources multi-machines.Toutes les infos sur: http://collection.thomson.free.fr/code/ ... XI=0&XJ=23

Pour distinguer entre MO et TO dans mes bootloaders, j’ai parfois utilisé la valeur de dp.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: BillyBox MO5

Message par Daniel »

Neotenien a écrit : 13 juil. 2022 22:32 il n'y a aucun endroit dans les ROM iniquant s'il s'agoit d'u MO5, TO7, TO8 etc...
Bah si, il y a différentes méthodes pour tester le modèle d'ordinateur, voici la mienne :

Code : Tout sélectionner

===============================
Identification de l'ordinateur
===============================

Type d'ordinateur : $FFF2
- négatif = MO
- positif = TO

Modèle d'ordinateur : $FFF0
- 00 = T9000,TO7,MO5,MO5E
- 01 = TO7/70,MO5N,MO5NR,MO6 
- 02 = TO9
- 03 = TO8,TO8D
- 06 = TO9+

Ensuite il y a d'autres zones à tester pour identifier les différentes versions de ROM pour un modèle donné.
Par exemple le nanoréseau teste le type de poste client MO5 grâce à sa "signature" en $EFE0 :

signature_mo5.png
signature_mo5.png (278.7 Kio) Consulté 3660 fois

On peut aussi différencier un MO5 AZERTY et un MO5 QWERTY, ou un TO9 allemand et un TO9 français, en testant la table des caractères.

Par contre on ne peut pas différencier un MO5 gomme v1.1 AZERTY d'un MO5 mécanique v1.1 AZERTY. Mais ça se voit à l'oeil nu, il est inutile d'écrire un programme pour le tester :lol:

[EDIT]
En fait on peut tester la différence en demandant à l'utilisateur de taper sur la touche à gauche de "Q".
- Si c'est HOME, c'est un clavier gomme
- Si c'est RAZ c'est un clavier mécanique
Daniel
L'obstacle augmente mon ardeur.
Ythunder
Messages : 928
Inscription : 21 août 2019 10:12

Re: BillyBox MO5

Message par Ythunder »

La page d'intro du jeu es ttop, je trouve les couleurs choisis extra en bel accord niveau résultat
Ythunder
Messages : 928
Inscription : 21 août 2019 10:12

Re: BillyBox MO5

Message par Ythunder »

Question con, concernant l'identification d'une machine...

Quand la machine s'initialise et qu'on tombe sur le prompt du BASIC.
L'état mémoire est le même pour tout les TO7 ; -70 ; MO5 etc non ?
Du coup, un PEEK sur une adresse mémoire propre au TO7 ou MO5 va donner une valeur, toujours la même d'un TO7 ou d'un MO5 qui va différer non ?
Si ce PEEK est mis directement en première ligne d'un programme, on ne peut pas de suite trouver si c'est un TO9 TO8 etc selon ce qui en ressort ?
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: BillyBox MO5

Message par Daniel »

C'est peut-être possible, mais il est beaucoup plus hasardeux de tester la RAM, par définition modifiable, que la ROM, toujours fixe.
Tester la RAM est plus difficile (il faut trouver la bonne zone à tester) et pas fiable. Les IRQs, la présence de périphériques, le chargement du programme, les autres programmes exécutés avant le chargement, etc. peuvent modifier la RAM. De plus il faudra tester des plages différentes pour les MO et les TO, c'est très complexe pour un résultat incertain.

La méthode que j'ai proposée est simple et sûre, pourquoi ne pas l'utiliser ?

Evidemment elle ne s'applique pas si la ROM de l'ordinateur a été modifiée (par exemple pour OS/9).
Dernière modification par Daniel le 14 juil. 2022 13:14, modifié 2 fois.
Daniel
L'obstacle augmente mon ardeur.
Répondre