MSX Village forum

La Place des Développeurs Mes 1ers pas sur MSX ...

Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10328

Le 15/04/2021 à 17h56

Reprise du message précédent

j'ai testé dans BlueMSX pour l'instant

en 50Hz MSX2 c'est Ok
en 60Hz Turbo-R quand ton compteur arrive à 0 il reste 10s a mon chrono


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 15/04/2021 à 18h30
Ricco59 :
Concernant le son en boucle, c'est ce qui me grignote bcp de place, j'ai ptet une idée, je vais plancher dessus ce soir, euh cette nuit hihihi


Pour tes problèmes de place, si tu es bien en Screen 2 comme il me semble, je pourrais te filer un outil de compression/décompression simple à mettre en place et qui fait gagner ~40% de place.


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 15/04/2021 à 21h29
Merci Jipe :top

J'ai fait le même test que toi. Je suis allé voir en 0x2b et ca à l'air correct. Cela dit qd la machine est > msx1, faut-il privilégier r#8 ou lire les infos en 0x2b,0x2c,0x2d suffisent ?
Edit : je viens de faire un test avec 2 instances de bMSX ouvertes et c'est kifkif. Le turbo va un poil plus vite que le msx1. peut etre que la fréquence n'est pas de 60hz mais 59 et des poussières...

Merci Guillaume
Oui, je suis en screen2. Toutes mes données sont déjà passées à la moulinette : Pletter
Pour info, il me reste 8 octets disponibles hihihi
- le son du rayon tracteur est le plus gros souci et j'en ai besoin

Ce son est joué dans la VBL donc il est lu de façon très très courte.
pour y palier, j'ai du faire un test :
if (FlagRT ==1) { JoueSon(Rayon_tracteur, 0); FlagRT = 0;} de ce fait le son est joué dans sa totalité

je pense qui si je teste la durée du son...
DureeRT = 0;
if (DureeRT < 5/50) { JoueSon(Rayon_tracteur, 0); DureeRT++;} else { DureeRT =0; }
... il sera joué en boucle jusqu'à ce qu'il y ait un autre son ou un Mute

J'men v essayer ;)
Si ca marche je joue un son en boucle et je gagne 631-45 = ~580octets ce qui est suffisant pour ce que je veux faire :)

A+ les Zamis et stay tuned Edité par Ricco59 Le 15/04/2021 à 21h36


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 15/04/2021 à 22h21
Re :)

Ca y est, j'ai mon son qui boucle. Il ne me reste plus qu'à l'implémenter :)
if (DureeRT < 12) { DureeRT++; } else {ayFX_Play(RTracteur); DureeRT = 0; }

Yapuka ;)


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 16/04/2021 à 01h26
Tu sais quel algo de compression utilise Pletter ?
J'imagine que tu as déjà testé l'option pour optimiser la taille du binaire dans SDCC ? Perso, ça me fait gagner 1 Ko.


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 16/04/2021 à 02h14
yo ;)

Je pense que pletter est une version 'améliorée' de bitbuster. A confirmer...

Alors non, je n'ai pas testé l'option d'optimisation pour la taille du binaire car j'ai lu il y a quelques semaines que peep hole pouvait alterer le code asm inline.
J'essaierai surement pour un autre projet, ca serait dommage que cette option me mette le dawa dans le code ;)

Actuellement j'en suis à ~32500octets. Il ne me reste qu'à initialiser les variables en fonction de la frequence et revoir une tite bricole ;) et GAME OVER until next ;)

As-tu resolu ton souci de slot / sous-slot... ?

Je te tiens au jus pour Wii?

A+ :) et merci encore



Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 16/04/2021 à 08h51
J'ai beaucoup beaucoup de code (et beaucoup de code inline), et pourtant l'optimisation de taille de code n'a posé aucun soucis.
Perso, si je l'active pas pour le moment, c'est surtout car j'ai besoin d'un maximum de performance coté Z80 (j'ai beaucoup de traitement à faire le temps d'une frame).

J'ai modifié mon crt0 pour que le jeu puisse démarrer depuis un sous-slot ; par contre, j'ai toujours un soucis avec la MegaFlashROM SCC+ SD si tu flash le jeu sans l'option /U.
Et ça, j'ai aucune idée d'où ça vient.


On est toujours ignorant avant de savoir.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 18/04/2021 à 12h22
Par curiosité, j'ai été regardé comment fonctionne Pletter (https://github.com/nanochess/Pletter).
C'est un algorithme généraliste de type LZ77 qui travail directement sur les bits.
J'ai testé ses taux de compression sur 3 images de Final Smash.
Il a un très bon taux de compression, mais son aspect généraliste fait qu'il n'est pas toujours aussi puissant que mon algo spécialisé pour le Screen 2/4 (RLE-P).

Image Original Pletter RLE-P
Court 14343 908 882
Logo 14343 1285 1443
Score 14343 1061 935


Le code de décompression de mon algo est tout petit, rapide et ne nécessite aucune RAM (je décompresse directement dans la VRAM).
Du coup, si a un moment tu es à court de place, ça pourrait valoir le coup d'y jeter un œil.
Si tu veux, tu peux m'envoyer des images, je les passerais à la moulinette pour te dire combien tu pourrais y gagner.


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 19/04/2021 à 14h44
C'est pas mal du tout, à part l'écran titre mais c'est du très bon boulot. Au total PLETTER fait 3254octets et RLE-P fait 3260 soit un poil plus.
Ceci dit avec ta routine qui est plus petite et la vitesse de dcompression qui doit etre > à celle de pletter, on reste gagnant

Alors pour Where is it ?.... c'est fini ;) il me reste 102 octets

Cela dit, j'ai un autre projet pratiquement fini sur Colecovision que je désire mettre en route, c'est un autre puzzle game ;)
Je reviendrai pour ta routine de compression, décompression à ce moment là :)



Edité par Ricco59 Le 19/04/2021 à 16h34


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 19/04/2021 à 17h42
Ricco59 :
Alors pour Where is it ?.... c'est fini ;) il me reste 102 octets


Félicitations ! :tchin


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 19/04/2021 à 17h54
yes :tchin

Mais, j'ai encore envie de modifier un pti truc (ou pas) :
lorsque le joueur trouve la bonne pattern, avant il y avait un gros flash vert. Maintenant le curseur passe au vert et revient dans sa couleur d'origine. Je pense que je vais une petite animation genre quand la solution apparaît pour que cela soit plus visible.

:tchin :tchin

edit ; après réflexions, je me suis dit que le joueur pensera peut être qu'il n'avait plus de temps et que c'est la solution qui apparaît à lui. De plus, il faut savoir dire STOP. Je m'arrête là (a moins d'un bug venu du fin fond de l'espace) Edité par Ricco59 Le 19/04/2021 à 20h05


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 25/04/2021 à 21h34
Bon, bin ca y est, j'ai sauté le pas : j'ai tout balancé pour la MSXDEV'21 et j'ai reçu un retour par mail. c'est parti :)


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2695

Le 25/04/2021 à 22h46
Alea jacta est ! :top


On est toujours ignorant avant de savoir.
Github    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 30/04/2021 à 00h00
Yesss :)
ton tour arrivera bientôt :tchin


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
Ricco59 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 02/01/2021 à 11h22

Messages: 248

Le 06/05/2021 à 23h38
Ca y est, Where is it ? est sur msxdev.org

C'est chouette et c'est grace à vous ;) Edité par Ricco59 Le 06/05/2021 à 23h38


Tous mes travaux sont centralisés sur mon piti blog : https://ricco59.blogspot.com/
E-mail    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10328

Le 07/05/2021 à 10h35
C'est chouette et c'est grace à vous

super c'est quand même toi qui a fait le boulot :)


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie