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

Le 09/02/2011 à 15h14

Reprise du message précédent

Ha oui, ça pourrait expliquer le plantage !
Je teste ça ce soir, merci. :top


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10748

Le 09/02/2011 à 15h53
comme le registre 9 de pilote aussi en basic par VDP(10)= j'ai donc appliqué 255 et j'ai le même plantage que sur ton jeu avec les mêmes symptomes

parcontre dans un émulateur ça ne plante pas et ça donne cela



:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2924

Le 09/02/2011 à 16h06
Version sans accès à F3E8h carwar_prb_crashMsx.zip.
(Par contre, j'ai mis tous les bits que j'utilise pas à 0 ; il faudra que je récupère la valeur de R#9).


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10748

Le 09/02/2011 à 16h33
toujours écran noir mais caps lock et reset ok
pas facile du tout de débugger sur un vrai MSX


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2924

Le 09/02/2011 à 16h52
Et pas facile de débugger un problème lié à un hardware qu'on a pas à disposition. ^^
Ceci dit, j'ai bon espoir qu'en récupérant la valeur de R#9 avant de le modifier, cela résoudra ce problème.


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 10/02/2011 à 00h42
Jipe :
comme le registre 9 de pilote aussi en basic par VDP(10)= j'ai donc appliqué 255 et j'ai le même plantage que sur ton jeu avec les mêmes symptomes


Dans le livre du MSX 2, il y a écrit de jamais modifier le bit 1 du registre 9. C'est peut-être pour ça que ça plante.
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2924

Le 10/02/2011 à 17h47
Heu... je vois vraiment pas comment récupérer la valeur du R#9 !? Je trouve pas de mapping en RAM ni de moyen de lire directement la valeur de ce registre. J'ai raté qq chose ? :hum


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 10/02/2011 à 20h41
aoineko :
Heu... je vois vraiment pas comment récupérer la valeur du R#9 !? Je trouve pas de mapping en RAM ni de moyen de lire directement la valeur de ce registre. J'ai raté qq chose ? :hum


Les registres du VDP sont en écriture seule, ils ne peuvent pas être lus ...



La seule façon de procéder, c'est de copier en RAM leur valeur au début du programme, en allant lire leur valeur déposée en RAM par le BIOS. Ensuite, à chaque utilisation, il faut modifier la valeur en RAM et ensuite écrire dans le registre.



De cette façon là, on peut lire à tout moment la valeur en RAM à l'endroit qu'on a réservé (ici, dans l'exemple, à l'adresse Reg_VDP).



Code :
; Constitution de la base des registres VDP en RAM
    ld    hl,0F3DFh       ; Registres 0-7
    ld    de,Reg_VDP
    ld    bc,8
    ldir            
    ld    hl,0FFE7h       ; Registres 8-23
    ld    bc,16
    ldir                    
    ld    hl,0FFFAh       ; Registres 25-27
    inc    de              ; (pas de registre 24)
    ld    bc,3
    ldir


Ce qui permet de les manipuler plus facilement par la suite.



Code :
; Passage en SCREEN 5
; - registre 0 -
    ld    a,[Reg_VDP+0]
    res    3,a
    set    2,a
    set    1,a
    ld    [Reg_VDP+0],a
    di
    out    [VDP],a
    ld    a,80h+0
    out    [VDP],a
; - registre 1 -
    ld    a,[Reg_VDP+1]
    res    4,a
    res    3,a
    set    1,a        ; sprites 16x16
    ld    [Reg_VDP+1],a
    out    [VDP],a
    ld    a,80h+1
    out    [VDP],a
; - registre 2 -
    ld    a,00011111b
    ld    [Reg_VDP+2],a
    out    [VDP],a
    ld    a,80h+2
    out    [VDP],a


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

Le 11/02/2011 à 01h37
Metalion :
La seule façon de procéder, c'est de copier en RAM leur valeur au début du programme, en allant lire leur valeur déposée en RAM par le BIOS. Ensuite, à chaque utilisation, il faut modifier la valeur en RAM et ensuite écrire dans le registre.




C'est ce que je fais, mais le registre 9 ne semble pas mappé en RAM... :moue


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 12/02/2011 à 03h51
Bien sûr que si .

F3DF: Contenu du registre 0 du VDP (RG1SAV) (MSX1~)
F3E0: Contenu du registre 1 du VDP (RG1SAV) (MSX1~)
F3E1: Contenu du registre 2 du VDP (RG2SAV) (MSX1~)
F3E2: Contenu du registre 3 du VDP (RG3SAV) (MSX1~)
F3E3: Contenu du registre 4 du VDP (RG4SAV) (MSX1~)
F3E4: Contenu du registre 5 du VDP (RG5SAV) (MSX1~)
F3E5: Contenu du registre 6 du VDP (RG6SAV) (MSX1~)
F3E6: Contenu du registre 7 du VDP (RG7SAV) (MSX1~)

FFE7: Contenu du registre 8 du VDP (RG8SAV) (MSX2~)
FFE8: Contenu du registre 9 du VDP (RG9SAV) (MSX2~)
FFE9: Contenu du registre 10 du VDP (RG10SAV) (MSX2~)
FFEA: Contenu du registre 11 du VDP (RG11SAV) (MSX2~)
FFEB: Contenu du registre 12 du VDP (RG12SAV) (MSX2~)
FFEC: Contenu du registre 13 du VDP (RG13SAV) (MSX2~)
FFED: Contenu du registre 14 du VDP (RG14SAV) (MSX2~)
FFEE: Contenu du registre 15 du VDP (RG15SAV) (MSX2~)
FFEF: Contenu du registre 16 du VDP (RG16SAV) (MSX2~)
FFF0: Contenu du registre 17 du VDP (RG17SAV) (MSX2~)
FFF1: Contenu du registre 18 du VDP (RG18SAV) (MSX2~)
FFF2: Contenu du registre 19 du VDP (RG19SAV) (MSX2~)
FFF3: Contenu du registre 20 du VDP (RG20SAV) (MSX2~)
FFF4: Contenu du registre 21 du VDP (RG21SAV) (MSX2~)
FFF5: Contenu du registre 22 du VDP (RG22SAV) (MSX2~)
FFF7: Contenu du registre 23 du VDP (RG23SAV) (MSX2~)

FFFA: Contenu du registre 25 du VDP (RG25SAV) (MSX2+~)
FFFB: Contenu du registre 26 du VDP (RG26SAV) (MSX2+~)
FFFC: Contenu du registre 27 du VDP (RG27SAV) (MSX2+~) Edité par GDX Le 08/04/2011 à 10h15
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2924

Le 12/02/2011 à 11h52
D'après Le livre du MSX 2 ou Pratique du MSX2, les variables systèmes s'arrêtent à FD99h... :moue
Ensuite viens la table des hook (jusqu'en FFCAh).
Ou puis-je trouver la liste des variables se trouvant au delà !? :hum Edité par aoineko Le 12/02/2011 à 11h53


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

Le 12/02/2011 à 12h11
Ok, voici une version avec la récupération des valeurs des registres VDP 8 et 9 avant de les modifier : Carwar v0.0.7.

Si quelqu'un peut tester sur une vrai MSX, ça serait cool ! :top

EDIT : Ça se vois pas, mais j'ai passé une 10ène d'heures à refondre entièrement l'archi du programme. Le jeu en lui même va suivre maintenant que j'ai mis en place tout l'aspect technique (sauf le son et les i/o disque) ^^ Edité par aoineko Le 12/02/2011 à 12h27


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 12/02/2011 à 12h19
aoineko :
D'après Le livre du MSX 2 ou Pratique du MSX2, les variables systèmes s'arrêtent à FD99h... :moue

Ensuite viens la table des hook (jusqu'en FFCAh).

Ou puis-je trouver la liste des variables se trouvant au delà !? :hum




Ici : http://www.konamiman.com/msx/msx2th/th.lzh

C'est le manuel de référence technique édité par ASCII pour le MSX2.

Toutes les infos sont dedans, mais il faut chercher ...



Ceci dit en passant, Eric Von Ascheberg n'a pas beaucoup de mérite, car son bouquin n'est qu'une traduction (partielle) de ce manuel de référence. Bon, d'accord, il a ajouté des exemples ici et là, mais franchement, écrire un bouquin comme ça, je veux bien le faire ... Et en plus, il ne cite cette source à aucun moment ! :gne


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)
   
Franck Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 22h54

Messages: 3345

Le 12/02/2011 à 14h26
Oui, il semble que c'était d'ailleurs une habitude chez lui :s

Dommage, il faisais partie des rares personnes en France qui s'y connaissaient.
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10748

Le 12/02/2011 à 15h35
tu as le feu vert pour continuer car cette fois ci ça marche sur mon turbo-r :)

tout y est le titre , le menu et le circuit avec les voitures donc bravo pour cette performance :top


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2924

Le 12/02/2011 à 15h45
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    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie