L'atelier Remplacement du VDP sur un MSX2 FS-A1
Reprise du message précédent
C'est génial ça marche !J'ai remplacé les 64 premiers Ko de la ROM msx2+ par ceux de ton archive et le MSX boot et affiche la RAM !!
Tout marche super bien. Seul dernier problème le MSX est en 50hz.
Sais-tu comment modifier le bios pour booter en 60hz ?
Il faut cultiver notre jardin.
aoineko
Membre non connecté
Conseiller Municipal
Essaye de mettre le 7e bit de l'adresse 002Bh de ton Bios à 0.
En fait, tu peux tester en mettant tous les bits à 0 (valeur par défaut pour un MSX japonais).
Y a d'autres variables systèmes au début de ta ROM que tu voudra surement changer :
Cf. http://map.grauw.nl/resources/msxsystemvars.php
En fait, tu peux tester en mettant tous les bits à 0 (valeur par défaut pour un MSX japonais).
Code TEXT :
Basic ROM version 7 6 5 4 3 2 1 0 │ │ │ │ └─┴─┴─┴── Character set │ │ │ │ 0 = Japanese, 1 = International, 2=Korean │ └─┴─┴────────── Date format │ 0 = Y-M-D, 1 = M-D-Y, 2 = D-M-Y └──────────────── Default interrupt frequency 0 = 60Hz, 1 = 50Hz
Y a d'autres variables systèmes au début de ta ROM que tu voudra surement changer :
Cf. http://map.grauw.nl/resources/msxsystemvars.php
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
C'est que le Bios n'utilise pas cette valeur pour initialiser l'écran.
Ceci dit, c'est bien de modifier les variables du Bios pour qu'elles correspondent à ta machine car les programmes/jeux peuvent y accéder pour adapter leur comportement.
Ce que tu peux essayer, c'est de démarrer OpenMSX avec ta ROM Bios et noter la valeur des registres du VDP au démarrage.
Par exemple, pour le VG8235 ça donne ça :
Ce qui correspond à du Screen 0 en 50 Hz.
Il est probable que la série de valeurs que tu noteras se trouve qq part dans ton Bios (et que le code d'initialisation s'occupe de les envoyer au VDP).
Si tu les trouves, tu peux modifier le bit #1 du registre #9 et le mettre à 0 (0=60 Hz, 1=50 Hz).
Ceci dit, c'est bien de modifier les variables du Bios pour qu'elles correspondent à ta machine car les programmes/jeux peuvent y accéder pour adapter leur comportement.
Ce que tu peux essayer, c'est de démarrer OpenMSX avec ta ROM Bios et noter la valeur des registres du VDP au démarrage.
Par exemple, pour le VG8235 ça donne ça :
Code TEXT :
R#00 00 R#01 70 R#02 00 R#03 80 R#04 01 R#05 36 R#06 07 R#07 F4 R#08 08 R#09 02 ...
Ce qui correspond à du Screen 0 en 50 Hz.
Il est probable que la série de valeurs que tu noteras se trouve qq part dans ton Bios (et que le code d'initialisation s'occupe de les envoyer au VDP).
Si tu les trouves, tu peux modifier le bit #1 du registre #9 et le mettre à 0 (0=60 Hz, 1=50 Hz).
On est toujours ignorant avant de savoir.
igal
Membre non connecté
Conseiller Municipal
@Gfx: J'ai pas tout lu mais je pense que tu trouveras ton bonheur sur cette page
http://www.z80st.es/blog/2012/09/30-msx2-arranque-a-60hz
http://www.z80st.es/blog/2012/09/30-msx2-arranque-a-60hz
je ne suis pas chez moi pour le moment
il existe un "patch" a appliquer pour avoir le MSX qui démarre en 60Hz
c'est une modif de nirrikki si je me rappelle bien
je te dis ça demain avec les détails
JIPEMSX aka JIPE
il existe un "patch" a appliquer pour avoir le MSX qui démarre en 60Hz
c'est une modif de nirrikki si je me rappelle bien
je te dis ça demain avec les détails
JIPEMSX aka JIPE
j'ai retrouvé ceci mais pas testé
60 hz by default
MSX1: Change VDP to TMS9928 and replace related analog hardware.
MSX2 default mode to 60Hz: Change SUB-ROM offset #29FF to 0
MSX2 Boot logo to 60Hz: Change SUB-ROM offset #2B56 to 0
MSX2+ default mode to 60Hz: Change EXT-ROM offset #2C63 to 0
MSX2+ Boot logo to 60Hz: Change KANJI-BASIC ROM offset #3C9B to 0
60 hz by default
MSX1: Change VDP to TMS9928 and replace related analog hardware.
MSX2 default mode to 60Hz: Change SUB-ROM offset #29FF to 0
MSX2 Boot logo to 60Hz: Change SUB-ROM offset #2B56 to 0
MSX2+ default mode to 60Hz: Change EXT-ROM offset #2C63 to 0
MSX2+ Boot logo to 60Hz: Change KANJI-BASIC ROM offset #3C9B to 0
Alléluia les amis ça marche !!
J'ai changé les bits aux adresses suivantes dans ma ROM
#2C63 : 02->00
#FC9B : 02->00
Je mets ici la ROM finale : FSA1-MSX2+V2.zip
c'est une ROM 256ko que j'ai cablée comme suit:
@aoineko j'aimerais bien essayer de trouver les registre #9 en utilisant openMSX pour voir si je n'ai rien oublié, mais je ne sais même pas comment utiliser un bios custom.
Est-ce que tu crées une machine bidon avec ce bios ?
J'ai encore un dernier soucis, le mapping du clavier n'est pas parfait, il est bien en qwerty, mais pas japonais, certain caractères ne sont pas à la bonne place.
Merci encore pour vos tuyaux Edité par Gfx Le 10/05/2021 à 15h34
Il faut cultiver notre jardin.
igal
Membre non connecté
Conseiller Municipal
Il me semble avoir posté un lien vers une modif 50/60 Hz et l'auteur proposait 2 Rom ou ExtRom différentes selon Azerty ou Qwerty.
J'ai remonté le fil de la discution mais je retrouve pas.
C'était sur un Msx2 Philips NMS8235 il me semble
Ca te parle? Edité par igal Le 10/05/2021 à 18h06
J'ai remonté le fil de la discution mais je retrouve pas.
C'était sur un Msx2 Philips NMS8235 il me semble
Ca te parle? Edité par igal Le 10/05/2021 à 18h06
en effet c'est le map d'un clavier UK
sous basic tape les lignes suivantes :
10 SCREEN1:WIDTH32
20 FORI=0TO255:VPOKE6144+I,I:NEXT
30 GOTO30
ça va t'afficher tous les caractéres qui sont stockés dans la rom et fait une photo de l'écran
aprés on peux reconstruire le map clavier et les caractéres en rom en comparant avec un MSX japonais
sous basic tape les lignes suivantes :
10 SCREEN1:WIDTH32
20 FORI=0TO255:VPOKE6144+I,I:NEXT
30 GOTO30
ça va t'afficher tous les caractéres qui sont stockés dans la rom et fait une photo de l'écran
aprés on peux reconstruire le map clavier et les caractéres en rom en comparant avec un MSX japonais
voila tes caractéres actuels pris avec BlueMSX
et ceux d'origines du A1-F
changer le jeu de caractéres dans la rom est facile, il se situe en 1BBFh
il suffit donc de remplacer la partie de 1BBfh à 23BEh par ce fichier dans le zip : 1bbf.zip
mais les 2 claviers ne sont pas identiques quand a la disposition de certaines touches
voici les touches qui ne vont pas en rouge
la table de transcodage du clavier est en 0DA5h sur ta rom actuelle
il reste donc a remplacer cette table mais pour cette partie je n'en suis qu'a la théorie car sur un MSX2 japonais le transcodage est complétement différent !!
je vais creuser sur une rom de MSX1 japonais
et ceux d'origines du A1-F
changer le jeu de caractéres dans la rom est facile, il se situe en 1BBFh
il suffit donc de remplacer la partie de 1BBfh à 23BEh par ce fichier dans le zip : 1bbf.zip
mais les 2 claviers ne sont pas identiques quand a la disposition de certaines touches
voici les touches qui ne vont pas en rouge
la table de transcodage du clavier est en 0DA5h sur ta rom actuelle
il reste donc a remplacer cette table mais pour cette partie je n'en suis qu'a la théorie car sur un MSX2 japonais le transcodage est complétement différent !!
je vais creuser sur une rom de MSX1 japonais
pas chance les msx japonais ont un encodage complétement différent
il faudrait d'abord faire une rom avec la table des caractéres en rom corrigées
voici la table de ta rom actuelle, il faudrait que tu tapes sur les touches notées en rouge et que tu fasses un tableau des résultats pour encoder les touches minuscules et majuscules
pour les codes avec GRAPH et KANJI ça va être plus coton
il faudrait d'abord faire une rom avec la table des caractéres en rom corrigées
voici la table de ta rom actuelle, il faudrait que tu tapes sur les touches notées en rouge et que tu fasses un tableau des résultats pour encoder les touches minuscules et majuscules
pour les codes avec GRAPH et KANJI ça va être plus coton
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie