La Place des Développeurs Projet Carwar
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
parcontre dans un émulateur ça ne plante pas et ça donne cela
aoineko
Membre non connecté
Conseiller Municipal
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).
(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.
aoineko
Membre non connecté
Conseiller Municipal
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.
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.
aoineko
Membre non connecté
Conseiller Municipal
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 ?
On est toujours ignorant avant de savoir.
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 ?
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
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...
On est toujours ignorant avant de savoir.
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
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
D'après Le livre du MSX 2 ou Pratique du MSX2, les variables systèmes s'arrêtent à FD99h...
Ensuite viens la table des hook (jusqu'en FFCAh).
Ou puis-je trouver la liste des variables se trouvant au delà !? Edité par aoineko Le 12/02/2011 à 11h53
Ensuite viens la table des hook (jusqu'en FFCAh).
Ou puis-je trouver la liste des variables se trouvant au delà !? Edité par aoineko Le 12/02/2011 à 11h53
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
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 !
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
Si quelqu'un peut tester sur une vrai MSX, ça serait cool !
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.
aoineko :
D'après Le livre du MSX 2 ou Pratique du MSX2, les variables systèmes s'arrêtent à FD99h...
Ensuite viens la table des hook (jusqu'en FFCAh).
Ou puis-je trouver la liste des variables se trouvant au delà !?
Ensuite viens la table des hook (jusqu'en FFCAh).
Ou puis-je trouver la liste des variables se trouvant au delà !?
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 !
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)
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie