MSX Village forum

La Place des Développeurs Projet Carwar

aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2904

Le 12/02/2011 à 15h45

Reprise du message précédent

Alleluia !!

Et bravo à toi pour avoir trouvé l'origine du problème... j'aurai pu chercher 6 mois sans trouver ! :tchin


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

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 16/10/2009 à 18h53

Messages: 691

Le 12/02/2011 à 16h13
Bravo Aoineko !!
:top :top
Et tu avais raison, sur Turbo-R c'est tout à fait jouable !
Bonne continuation !!


MSX1 Sony HB501F / MSX2+ FSA1FX / MSX2+ FSA1WX / MSX2+ FSA1WSX / MSX Turbo-R ST / MSX Turbo-R GT
Moonsound 2.0 & DalSoRi - Interface CF & CF Card Interface - MegaFlash SCC 512Ko & 2x512ko - SRam 512Ko - Megaflashrom SCC + SD
MSX4Ever !!
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 12/02/2011 à 16h20
je l'ai mis dans une romflash pour tester : c'est ok

j'ai testé la 3éme et 4éme voiture avec un joystick : ça marche

par contre le tour COLOR ,,X en basic est bleu ça serait mieux en noir

lors du choix il y a 2 fois 3 players a l'écran

ça m'est déja arrivé de chercher longtemps sur des problémes genre pourquoi sur un turbo-r les touches ne marchent pas avec le jeu pyroman et c'est un autre qui a trouvé !!


:noel
Site web    
Franck Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 22h54

Messages: 3345

Le 12/02/2011 à 17h42
Bravo Aoineko. On est impatient de découvrir la suite :top
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2904

Le 12/02/2011 à 21h34
GuillianSeed :
Et tu avais raison, sur Turbo-R c'est tout à fait jouable !




Jouable ou identique ? En fait, je suis pas bien sur de mon code de synchronisation de l'affichage .

J'utilise :

Code ASM :
        di
    WAIT_RETRACE:
        in        a,(0x99)
        and        #0x80
        cp        #0
        jr        z, WAIT_RETRACE
        ei




Est-ce la façon correcte d'attendre la fin de l'affichage sur tous les MSX ? :hum


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

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 13/02/2011 à 04h44
Jipe :
ça m'est déja arrivé de chercher longtemps sur des problémes genre pourquoi sur un turbo-r les touches ne marchent pas avec le jeu pyroman et c'est un autre qui a trouvé !!


C'est moi qui a trouvé mais j'avoue que j'ai recherché sur le net la solution. Je ne l'ai pas trouvé mais c'est un message d'un certain "Jipé" qui m'a mis sur la voie. Eh oui !

Le message disait que le Pyro-Man ne fonctionnait que sur un MSX français. J'ai donc cherché dans cette voie et trouvé qu'en fait la ROM du BIOS contient un tableau du mappage des touches. Ce tableau est placé au même endroit sur la plupart des MSX ayant un clavier international. Le développeur de Pyro-Man accédait directement a ce tableau en mettant l'adresse de début dans HL pour obtenir les caractères correspondant aux touches. Autant dire qu'il ne respectait pas tellement la norme MSX. :lol

J'ai remarqué que ce tableau commence toujours par "0123456789" sauf sur certains MSX de Panasonic. C'est l'exception qui empêche de rechercher ce tableau puis de mettre l'adresse dans HL. J'ai alors recopié ce tableau dans le lanceur du jeu pour le mettre en RAM puis changé l'adresse de HL. Par chance, Pyro-man n'utilise pas de touches mappées différemment d'un MSX à l'autre.



Après, il ne restait plus que la manette à faire fonctionner et surprise, c'était la même méthode. Il y a aussi un tableau pour le mappage des manettes dans la ROM du BIOS !



Macadam Bumper et d'Illusions avant exactement le même problème.



Enfin bref, je ne pense pas que Aoineko fasse la même chose. Son problème de clavier doit être causé par autre chose. Edité par GDX Le 14/02/2011 à 02h02
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2904

Le 13/02/2011 à 08h57
GDX :
Enfin bref, je ne pense pas que Aoineko fasse la même chose. Son problème de clavier doit être causé par autre chose.




J'ai pas de problème de clavier. ^^

J'avais juste des valeurs incorrectes dans certains registres du VDP. Tout est maintenant ok (à part qq comportement bizarre des sprites sur lequels je me pencherai plus tard).


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

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 13/02/2011 à 09h24
aoineko :
Code ASM :
        di
    WAIT_RETRACE:
        in        a,(0x99)
        and        #0x80
        cp        #0
        jr        z, WAIT_RETRACE
        ei




Est-ce la façon correcte d'attendre la fin de l'affichage sur tous les MSX ? :hum


Et tu fais quoi exactement ? Je ne comprends pas.

Tu lis une valeur sur le port du VDP mais laquelle ? :hum



Le seul signal de la fin de l'affichage est donné par le VBLANK généré par le VDP.

Il génère une interruption qui appelle $38 puis le hook HTIMI en $FD9F.

Tu pourrais donc faire une petite routine appelée par le hook $FD9F qui modifierai une variable en RAM.

Et ensuite une boucle dans ton code principal qui lit la valeur et attend sa modification ...

Mais il y a certainement d'autres solutions.



La plus simple pourrait être de positionner une opcode "HALT".

Le Z80 se met en pause et attend la prochaine interruption avant de redémarrer.

Le problème c'est qu'il peut y avoir d'autres interruptions que le VBLANK, ce n'est donc pas sur à 100%.



PS : l'opcode "AND" positionne déjà les flags de résultat, tu n'as donc pas besoin de la ligne "CP 0", tu peux la supprimer.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2904

Le 14/02/2011 à 09h52
Metalion :
Et tu fais quoi exactement ? Je ne comprends pas.




Aucune idée. ^^



En fait, c'est un bout de code que j'avais du récupérer y a 2 ans quand j'avais essayé de me mettre au MSX et dont je ne me souviens pas du tout la provenance !



Pour la méthode "propre", il ne suffit pas d'attendre que le bit VR du registre S#2 soit à 0 ? :hum


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: 2904

Le 14/02/2011 à 10h23
Et dans la série "j'utilise du code sans savoir à quoi ça sert", y a aussi l'entête de ma ROM que je set à :
Code ASM :
41 42 10 40 00 00 00 00   00 00 00 00 00 00 00 00


Ou puis-je trouver la signification des 16 bytes d'entête d'une ROM ?

(Il me semble que AB est le code d'identification du début d'entête et que 4010h est l'adresse de début de mon code ; par contre, je sais pas du tout à quoi sert le reste...) Edité par aoineko Le 14/02/2011 à 10h28


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 14/02/2011 à 11h02
description d'Elektor février 1986

00 01 ID 41 42 = ROM
02 03 INIT adresse d'init
04 05 STATEMENT adresse sous programme CALL
06 07 DEVICE adresse d'organe matériel
08 09 TEXT adresse début texte BASIC si basic en rom
0A 10 RESERVE


:noel
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 14/02/2011 à 11h25
aoineko :
Et dans la série "j'utilise du code sans savoir à quoi ça sert", y a aussi l'entête de ma ROM que je set à :
Code ASM :
41 42 10 40 00 00 00 00   00 00 00 00 00 00 00 00




Ou puis-je trouver la signification des 16 bytes d'entête d'une ROM ?



(Il me semble que AB est le code d'identification du début d'entête et que 4010h est l'adresse de début de mon code ; par contre, je sais pas du tout à quoi sert le reste...)


L'explication promise arrivera prochainement. Elle est importante pour ton jeu car sinon, tu ne pourras pas faire fonctionner le lecteur de disquette.



PS: J'ai cru remarqué que dans ton programme que tu ne tient pas compte des Slot secondaire. Ton jeu risque de ne pas marcher sur un multiplicateur de Slot. Edité par GDX Le 14/02/2011 à 14h03
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2904

Le 14/02/2011 à 12h10
En fait, j'ai pas vraiment de problème avec ma ROM, mais dans BlueMSX, elle est reconnue comme "Mirrored ROM" ; je me demandais si c'était normal ou s'il ne manquait pas qq infos.


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: 2904

Le 18/02/2011 à 23h55
Voici une nouvelle version de mon projet : Carwar v0.0.8.
Au premier coup d'oeil, vous verrez peut-être pas les améliorations, mais en fait, il y a un changement majeur : la physique des voitures en maintenant entièrement paramétrable ! J'ai passé toute la semaine dessus, mais j'ai enfin trouvé un moyen d'avoir un maximum de flexibilité pour un moindre cout CPU. Du coup, on peut paramétrer :
  • L'accélération
  • La vitesse maximal
  • La vitesse de rotation
  • La friction
  • L'adhérence

En plus des voitures, le terrain change maintenant aussi ces paramètres (faible adhérence sur la glace, grosse friction dans le sable, etc.).
Le terrain est détecté en fonction des couleurs sur le circuit :

On pourra soit utiliser une image SC8 (256x212) faite avec un éditeur d'image et chargé depuis un disque ou bien choisir parmi les circuits en dur sur la ROM (fait avec de blocs 32x32 compressés).

La suite bientôt... :)

EDIT : J'ai mis à jour le premier post de cette discussion avec des images et l'avancement du projet. Edité par aoineko Le 19/02/2011 à 00h42


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: 2904

Le 21/02/2011 à 14h05
J'ai ajouté les collisions entre les voitures et le décors.
Ca se passe par ici : Carwar v0.0.9.
Bon, faudra que je diminue la vitesse lors des collisions mais bon, au moins, ça marche. ^^


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

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 03/10/2009 à 08h06

Messages: 1702

Le 21/02/2011 à 16h01
c'est tres bon je viens de jouer :top


MSX 8235 , MSX 8245 , MSX 8250 , MSX 8280

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