La Place des Développeurs Basic et caractères Japonais
Visiteur
Vagabond
Message : 0
Bonsoir,
Pour me (re)faire un peu la main en Basic, j'ai entrepris de taper quelques petits listings dispo dans les MSXFAN d'époque.
Beaucoup d'entre eux contiennent des caractères Japonais, une fois passée la difficulté de trouver le bon caractère (assez facile sur un vrai MSX), je me heurte à un autre problème : je n'arrive pas à enregistrer ces caractères.
Je m'explique, lorsque je tape une ligne de code contenant des caactères jap et que je tape "entrée" puis que je "list" ma ligne, les caractères jap ont disparu !?
J'ai trouvé une parade en remplaçant le caractère jap par son code ASCII, mais ce n'est pas toujours possible : un seul caractère prend moins de mémoire que CHR$(185) par exemple.
Savez-vous ce qu'il faut faire pour que ces caractères jap "restent" dans mon listing ?
Pour me (re)faire un peu la main en Basic, j'ai entrepris de taper quelques petits listings dispo dans les MSXFAN d'époque.
Beaucoup d'entre eux contiennent des caractères Japonais, une fois passée la difficulté de trouver le bon caractère (assez facile sur un vrai MSX), je me heurte à un autre problème : je n'arrive pas à enregistrer ces caractères.
Je m'explique, lorsque je tape une ligne de code contenant des caactères jap et que je tape "entrée" puis que je "list" ma ligne, les caractères jap ont disparu !?
J'ai trouvé une parade en remplaçant le caractère jap par son code ASCII, mais ce n'est pas toujours possible : un seul caractère prend moins de mémoire que CHR$(185) par exemple.
Savez-vous ce qu'il faut faire pour que ces caractères jap "restent" dans mon listing ?
metalgear2
Membre non connecté
Conseiller Municipal
Bonsoir,
@Victor : Si ton MSX n'a pas de ROM KANJI, c'est normal que ton listing ne liste pas les caractère Japonais.
J'ai fait l'essai sous BlueMSX.
En choisissant l'émulateur MSX2+, j'ai écrit en basic 10 PRINT" [caractère_kanji] " et quand je fait RUN ou LIST, j'ai bien les caractère kanji à l'affichage. Ensuite, je sauvegarde mon listing.
Je repasse en émulation MSX2 et je charge mon fichier. Si je fait RUN ou LIST, les caractères japonais ont disparu.
Donc, il faut bien la ROM KANJI pour gérer les caractère Japonais.
J'en profite que Victor a ouvert ce sujet, merci à lui, pour poser une petite question concernant un caractère spécial.
J'ai un listing en basic avec des chiffres sur fond blanc :
Le problème que j'ai, je ne me souviens plus du tout comment faire pour avoir un chiffre ou une lettre sur fond blanc ... j'ai un trou de mémoire.
Merci.
@Victor : Si ton MSX n'a pas de ROM KANJI, c'est normal que ton listing ne liste pas les caractère Japonais.
J'ai fait l'essai sous BlueMSX.
En choisissant l'émulateur MSX2+, j'ai écrit en basic 10 PRINT" [caractère_kanji] " et quand je fait RUN ou LIST, j'ai bien les caractère kanji à l'affichage. Ensuite, je sauvegarde mon listing.
Je repasse en émulation MSX2 et je charge mon fichier. Si je fait RUN ou LIST, les caractères japonais ont disparu.
Donc, il faut bien la ROM KANJI pour gérer les caractère Japonais.
J'en profite que Victor a ouvert ce sujet, merci à lui, pour poser une petite question concernant un caractère spécial.
J'ai un listing en basic avec des chiffres sur fond blanc :
Le problème que j'ai, je ne me souviens plus du tout comment faire pour avoir un chiffre ou une lettre sur fond blanc ... j'ai un trou de mémoire.
Merci.
Visiteur
Vagabond
Message : 0
Je ne sais pas ce que j'ai fait, j'ai supprimé ma réponse à 6502man.
J'utilise un MSX jap car il n'y a pas de ROM kanji sur les MSX euro et j'ai beaucoup de mal à retrouver les bons kanji sur émulateur.
C'est avec un TurboR que j'ai rencontré ce problème, je vous donne l'exemple précis ce soir.
De mémoire j'avais un:
10 PRINT"TAGADA"+"K"
K étant le caractère jap que l'on obtient en tapant MAJ+G avec le kanji activé.
Le caractère s'affiche bien à l'écran mais quand je fait LIST ça donne :
10 PRINT"TAGADA"+""
J'utilise un MSX jap car il n'y a pas de ROM kanji sur les MSX euro et j'ai beaucoup de mal à retrouver les bons kanji sur émulateur.
C'est avec un TurboR que j'ai rencontré ce problème, je vous donne l'exemple précis ce soir.
De mémoire j'avais un:
10 PRINT"TAGADA"+"K"
K étant le caractère jap que l'on obtient en tapant MAJ+G avec le kanji activé.
Le caractère s'affiche bien à l'écran mais quand je fait LIST ça donne :
10 PRINT"TAGADA"+""
j'ai testé avec un vrai et avec un émulateur et je n'ai pas ce bug
voici la copie d'écran sur émulateur BlueMSX avec Turbo-R
les kanji affichés de cette façon ne sont pas dans la rom kanji mais dans le jeu de caractéres prédéfini du MSX
pour l'afficher
10 SCREEN 1
20 FOR I=0 TO 255
30 VPOKE6144+I,I
40 NEXT
la rom kanji sert quand on a les instruction CALL KANJI ou CALL ANK dans un programme
voici la copie d'écran sur émulateur BlueMSX avec Turbo-R
les kanji affichés de cette façon ne sont pas dans la rom kanji mais dans le jeu de caractéres prédéfini du MSX
pour l'afficher
10 SCREEN 1
20 FOR I=0 TO 255
30 VPOKE6144+I,I
40 NEXT
la rom kanji sert quand on a les instruction CALL KANJI ou CALL ANK dans un programme
metalgear2
Membre non connecté
Conseiller Municipal
Bonjour,
Jipe:
Hé bien tu vois, j'ai toujours cru que les KANJI étaient dans la ROM KANJI. La preuve qu'on apprend des trucs tous les jours
Pour mon problème de fond blanc, en fait, c'est un listing en espagnol que je veux mettre en français et qui a été écrit sur MSX1, donc en mode 40 colonnes. Je pensais qu'il y avait une combinaison de touche a faire pour avoir une lettre ou un chiffre sur fond blanc.
Jipe:
les kanji affichés de cette façon ne sont pas dans la rom kanji mais dans le jeu de caractéres prédéfini du MSX
la rom kanji sert quand on a les instruction CALL KANJI ou CALL ANK dans un programme
la rom kanji sert quand on a les instruction CALL KANJI ou CALL ANK dans un programme
Hé bien tu vois, j'ai toujours cru que les KANJI étaient dans la ROM KANJI. La preuve qu'on apprend des trucs tous les jours
Pour mon problème de fond blanc, en fait, c'est un listing en espagnol que je veux mettre en français et qui a été écrit sur MSX1, donc en mode 40 colonnes. Je pensais qu'il y avait une combinaison de touche a faire pour avoir une lettre ou un chiffre sur fond blanc.
pour le probléme de screen 0 avec fond blanc le seul truc que je connaisse c'est de redéfinir des caractéres a l'inverse du jeu de caractéres normal
a moins qu'il y ait un CALL KANJI3 dans le programme ce qui permet de choisir les couleurs de texte et de fond
a moins qu'il y ait un CALL KANJI3 dans le programme ce qui permet de choisir les couleurs de texte et de fond
metalgear2
Membre non connecté
Conseiller Municipal
En fait, c'est le programme basic qui se trouve sur la disquette MSXLoader : MSXLoader (Ver 1.0).rar
Dans le fichier CARGADOR.BAS , ligne 320
Il utilise un PRINT pour afficher le caractère sur fond blanc, je pense que ça doit être un caractère standard, non ?
Je me trompe peut-être
Dans le fichier CARGADOR.BAS , ligne 320
Il utilise un PRINT pour afficher le caractère sur fond blanc, je pense que ça doit être un caractère standard, non ?
Je me trompe peut-être
c'est de la redéfinition de caractéres avec un XOR donc l'inverse du normal
ça se passe a partir de la ligne 1500 pour redéfinir
si tu veux voir les caractéres chargés
CTRL/STOP
SCREEN 0
LIST 320
et la tu va comprendre
ça se passe a partir de la ligne 1500 pour redéfinir
si tu veux voir les caractéres chargés
CTRL/STOP
SCREEN 0
LIST 320
et la tu va comprendre
metalgear2
Membre non connecté
Conseiller Municipal
Effectivement, j'ai compris leurs système
Je cherchais désespérément a afficher un caractère directement sur fond blanc, j'étais pas prêt de trouver
Merci.
Je cherchais désespérément a afficher un caractère directement sur fond blanc, j'étais pas prêt de trouver
Merci.
Visiteur
Vagabond
Message : 0
Bon, comment dire... ça marche !
En fait j'ai compris ce qui s'était passé en voyant ça :
Jipe:
10 SCREEN 1
20 FOR I=0 TO 255
30 VPOKE6144+I,I
40 NEXT
J'avais donc tapé un petit listing de 7 lignes pris dans un MSXFAN.
En faisant RUN, un message d'erreur s'affichait ligne 3, c'est en voulant corriger cette ligne que mon kanji disparaissait... MAIS (oui il y a un mais) les lignes précédentes modifiaient certains caractères avec des VPOKE du coup ce qui s'affichait à l'écran en screen 0 n'apparaissait plus toujours en screen 1.
Bon je ne sais pas si je suis clair, mais je me comprends, c'est pas si mal ?!
Merci de votre aide.
Pour les chiffres bleu sur fonds blanc, il n'existe pas une combinaison de touches (avec GRAPH ou CODE) pour les avoirs sur certains MSX ? Il me semble avoir dèjà vu ça.
En fait j'ai compris ce qui s'était passé en voyant ça :
Jipe:
10 SCREEN 1
20 FOR I=0 TO 255
30 VPOKE6144+I,I
40 NEXT
J'avais donc tapé un petit listing de 7 lignes pris dans un MSXFAN.
En faisant RUN, un message d'erreur s'affichait ligne 3, c'est en voulant corriger cette ligne que mon kanji disparaissait... MAIS (oui il y a un mais) les lignes précédentes modifiaient certains caractères avec des VPOKE du coup ce qui s'affichait à l'écran en screen 0 n'apparaissait plus toujours en screen 1.
Bon je ne sais pas si je suis clair, mais je me comprends, c'est pas si mal ?!
Merci de votre aide.
Pour les chiffres bleu sur fonds blanc, il n'existe pas une combinaison de touches (avec GRAPH ou CODE) pour les avoirs sur certains MSX ? Il me semble avoir dèjà vu ça.
le screen 0 et le screen 1 ne fonctionnent pas de la même façon
la table des formes contient le codage des caractéres du MSX
la table des formes en screen 0 40 colonnes est en 800H , en 80 colonnes en 1000H
en screen 1 elle est en 0H
on comprend bien qu'une redéfinition de caractéres pour du screen 0 ou du screen 1 ne va pas VPOKEr aus mêmes adresses
la table des formes contient le codage des caractéres du MSX
la table des formes en screen 0 40 colonnes est en 800H , en 80 colonnes en 1000H
en screen 1 elle est en 0H
on comprend bien qu'une redéfinition de caractéres pour du screen 0 ou du screen 1 ne va pas VPOKEr aus mêmes adresses
Jipe:
C'est surtout que la commande SCREEN réinitialise toute la VRAM, et recopie la définition des caractères dans la ROM, à chaque appel.
le screen 0 et le screen 1 ne fonctionnent pas de la même façon
C'est surtout que la commande SCREEN réinitialise toute la VRAM, et recopie la définition des caractères dans la ROM, à chaque appel.
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)
je parlais de ça dans ma phrase
Citation:
sinon il y a moyen de détourner le jeu de caractéres de ROM en RAM en modifiant les variables systémes en F91F
avec cette méthode on perd de la mémoire mais on ne défini qu'une fois le jeu de caractéres
Citation:
MAIS (oui il y a un mais) les lignes précédentes modifiaient certains caractères avec des VPOKE du coup ce qui s'affichait à l'écran en screen 0 n'apparaissait plus toujours en screen 1.
sinon il y a moyen de détourner le jeu de caractéres de ROM en RAM en modifiant les variables systémes en F91F
avec cette méthode on perd de la mémoire mais on ne défini qu'une fois le jeu de caractéres
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie