La Place des Développeurs Projet Carwar
aoineko
Membre non connecté
Conseiller Municipal
Reprise du message précédent
Jipe :
donc ça ne marche vraiment pas sur une vraie machine
Aie !!
Une idée du genre de chose qui fait que ça marche sur BlueMSX et pas un vrai MSX ?
Faut vraiment que je récupère un ordi pour pouvoir tester au fur et à mesure sinon ça va être de plus en plus difficile d'assurer la compatibilité.
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Voici une nouvelle version de Carwar avec les débuts d'un système d'affichage par tile (pour un éditeur).
Les tiles sont stockés en binaire et peuvent subir rotation et symétrie.
Je vais ajouter une passe d'ombrage pour rendre le résultat plus joli (dès que je trouve comme lire en VRAM).
J'aimerai aussi ajouter une option pour lire directement un circuit depuis une disquette ; avec le BIOS en RAM, c'est jouable ?
Carwar v0.0.4
Les tiles sont stockés en binaire et peuvent subir rotation et symétrie.
Je vais ajouter une passe d'ombrage pour rendre le résultat plus joli (dès que je trouve comme lire en VRAM).
J'aimerai aussi ajouter une option pour lire directement un circuit depuis une disquette ; avec le BIOS en RAM, c'est jouable ?
Carwar v0.0.4
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Pour la construction du circuit, je passe pour l'instant par des PSET (attente libération VDP puis envoi de la commande sur les registres 36-46). Par contre, une fois le circuit en mémoire, tout se passe dans la VRAM via des HMMM/LMMM.
Des idées sur ce qui pourrait faire que ça ne marche pas sur un vrai MSX ? Edité par aoineko Le 06/02/2011 à 17h43
Des idées sur ce qui pourrait faire que ça ne marche pas sur un vrai MSX ? Edité par aoineko Le 06/02/2011 à 17h43
On est toujours ignorant avant de savoir.
aoineko :
Des idées sur ce qui pourrait faire que ça ne marche pas sur un vrai MSX ?
Le timing du VDP, probablement.
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
aoineko
Membre non connecté
Conseiller Municipal
Avant chaque accès au VDP, normalement, j'appelle une fonction WaitForVDP contenant :
Je vais re-vérifier tous mes appels, mais normalement, de ce coté la, ça devrait être bon.
Code ASM :
;// Check CE bit on register S2 lda,#2 di out(VDP_ADDR),a lda,VDP_REG(15) out(VDP_ADDR),a WAIT_VDP: nop ina,(VDP_ADDR) rra jrc,WAIT_VDP //; RAZ du registre 15 xora out(VDP_ADDR),a lda,VDP_REG(15) ei out(VDP_ADDR),a
Je vais re-vérifier tous mes appels, mais normalement, de ce coté la, ça devrait être bon.
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
J'ai trouvé 2 fonctions d'initialisation qui n'attendaient pas la libération du VDP.
J'ai fait une nouvelle version à tester sur un vrai MSX : carwar_prb_crashMsx.zip.
J'ai fait une nouvelle version à tester sur un vrai MSX : carwar_prb_crashMsx.zip.
On est toujours ignorant avant de savoir.
j'ai essayé cette derniére version et c'est pareil ça bloque sur un écran noir
j'ai essayé avec SHIFT et CTRL sans succés
j'ai essayé screen0 40 col et screen 1 au démarrage pas bon non plus
slot 1 slot 2 odo megaflash ça ne veux rien savoir
sur le turbo r ça bloque le ren-sha pas de led qui clignote mais pas la pause
le caps lock ne s'allume pas
enfin on reprends la main par le reset mais il faut attendre plus longtemps qu'abituellement
j'ai essayé avec SHIFT et CTRL sans succés
j'ai essayé screen0 40 col et screen 1 au démarrage pas bon non plus
slot 1 slot 2 odo megaflash ça ne veux rien savoir
sur le turbo r ça bloque le ren-sha pas de led qui clignote mais pas la pause
le caps lock ne s'allume pas
enfin on reprends la main par le reset mais il faut attendre plus longtemps qu'abituellement
aoineko
Membre non connecté
Conseiller Municipal
aie aie aie...
EDIT : Bon, je pense que point de vue attente du VDP, je suis ok. D'autres idées sur ce qui pourrait faire planter un vrai MSX par rapport à BlueMSX ? Sachant que ça marche sur BlueMSX en émulation Turbo-R. Edité par aoineko Le 07/02/2011 à 16h15
EDIT : Bon, je pense que point de vue attente du VDP, je suis ok. D'autres idées sur ce qui pourrait faire planter un vrai MSX par rapport à BlueMSX ? Sachant que ça marche sur BlueMSX en émulation Turbo-R. Edité par aoineko Le 07/02/2011 à 16h15
On est toujours ignorant avant de savoir.
et que ça marche aussi sur Ru-MSX mais pas sur un vrai MSX2
et que ce programme est trés dur a suivre avec le registre SP qui n'arrête pas de bouger avec des instructions INC SP
normalement dans les programmes que j'ai "un peu" décortiqués le registre SP est mis a une valeur fixe
ensuite on utlise PUSH et POP pour sauvegarder les registres
est ce ton compilateur C qui travaille de cette façon avec SP ?
et que ce programme est trés dur a suivre avec le registre SP qui n'arrête pas de bouger avec des instructions INC SP
normalement dans les programmes que j'ai "un peu" décortiqués le registre SP est mis a une valeur fixe
ensuite on utlise PUSH et POP pour sauvegarder les registres
est ce ton compilateur C qui travaille de cette façon avec SP ?
aoineko
Membre non connecté
Conseiller Municipal
Oui. Je place la stack en mémoire au début, mais ensuite je n'y touche jamais moi-même.
Je sais que le compilateur fait des push/pop lors d'appel de fonction pour passer les paramètres, mais je savais pas qu'il touchait à SP.
Ce soir, je posterai les fonctions qui me semble douteuse. Entre autre, pour tester, j'avais fait une fonction pour passer 60Hz ; c'est peut-être problématique.
En tout cas, j'espère que ça viens de moi ; parce que si ça vient du compilo, j'suis mal barré.
Je sais que le compilateur fait des push/pop lors d'appel de fonction pour passer les paramètres, mais je savais pas qu'il touchait à SP.
Ce soir, je posterai les fonctions qui me semble douteuse. Entre autre, pour tester, j'avais fait une fonction pour passer 60Hz ; c'est peut-être problématique.
En tout cas, j'espère que ça viens de moi ; parce que si ça vient du compilo, j'suis mal barré.
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Jipe :
peux tu faire une petite démo qui démarre en screen 8 et trace des lignes ou des rectangles pour tester
A priori, les premières versions du projet marchait sur un vrai MSX comme : carwar.zip et carwar v0.0.1.
Sinon, oui, je pourrai te faire une version super simplifié.
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Nouvelle version de Carwar avec ajout d'un ombreur automatique des circuits : carwar_0_0_5.zip.
J'ai retiré aussi le passage forcé au 50Hz. Si ça plante toujours sur un vrai MSX, je posterai mon code d'initialisation (passage en mode 8 et init des zones mémoires) car c'est la seule partie qui a vraiment changé depuis la dernière version qui marchait.
J'ai retiré aussi le passage forcé au 50Hz. Si ça plante toujours sur un vrai MSX, je posterai mon code d'initialisation (passage en mode 8 et init des zones mémoires) car c'est la seule partie qui a vraiment changé depuis la dernière version qui marchait.
On est toujours ignorant avant de savoir.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie