L'école Philips NMS 8280
Reprise du message précédent
http://msx.hansotten.com/index.php?page=msxvideoregardez bien le disque halos.dsk , c'est de cette version que je parle : souris dans le port manette 1 et digit active
pour ceux qui n'ont pas de 8280 blueMSX émule cet ordinateur
il faut charger le fichier adéquate sur leur site dans les config de machines
ensuite dans options il faut activer l'entrée vidéo
ça fonctionne avec une caméra branchée ou bien une carte TV dans le PC
il faut charger le fichier adéquate sur leur site dans les config de machines
ensuite dans options il faut activer l'entrée vidéo
ça fonctionne avec une caméra branchée ou bien une carte TV dans le PC
igal :
@Métalion: Je trouve ça très intéressant.
Tu as quelques lignes BASIC pour mettre en application s'il te plait
Tu as quelques lignes BASIC pour mettre en application s'il te plait
Impossible ... C'est uniquement réalisable en assembleur, à la fois pour une question de rapidité mais aussi de possibilité (impossible d'exploiter les interruptions de lignes du VDP en BASIC).
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)
igal
Membre non connecté
Conseiller Municipal
@ Métalion:
Supposons que je veuille simplement afficher:
1) Une demie image en SCREEN5 sur la partie HAUTE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
Sachant que pour l'étape 1, on peut simplement charger une demie image tout en laissant "Vide" la partie basse.
Sachant que pour l'étape 2, on peut simplement charger une demie image tout en laissant "Vide" la partie haute.
En fait, c'est surtout le processus en ligne BASIC (compréhensible lol) qui m’intéresse. Même si le résulta n'est pas exploitable
Supposons que je veuille simplement afficher:
1) Une demie image en SCREEN5 sur la partie HAUTE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
Sachant que pour l'étape 1, on peut simplement charger une demie image tout en laissant "Vide" la partie basse.
Sachant que pour l'étape 2, on peut simplement charger une demie image tout en laissant "Vide" la partie haute.
En fait, c'est surtout le processus en ligne BASIC (compréhensible lol) qui m’intéresse. Même si le résulta n'est pas exploitable
igal :
1) Une demie image en SCREEN5 sur la partie HAUTE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
Ce n'est pas possible ou presque car les modes SCREEN 7 à 12 gèrent la mémoire en entrelacée. Je ne me souviens pas exactement mais c'est un truc du genre : Les octets pairs physiques en VRAM pour la pages 0 et les impairs pour les pages 1. Edité par GDX Le 28/04/2014 à 11h37
aleste fonctionne avec la partie supérieure de l'écran ( le score ) affichée sous interruption
avec un turbo-r et sa touche pause on comprend mieux qu'il y a 2 écrans différents mais tous les 2 en screen 5
avec un turbo-r et sa touche pause on comprend mieux qu'il y a 2 écrans différents mais tous les 2 en screen 5
GDX :
Ce n'est pas possible ou presque car les modes SCREEN 7 à 12 gèrent la mémoire en entrelacée. Je ne me souviens pas exactement mais c'est un truc du genre : Les octets pairs physiques en VRAM pour la pages 0 et les impairs pour les pages 1.
igal :
1) Une demie image en SCREEN5 sur la partie HAUTE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
2) Une demie image en SCREEN8 sur la partie BASSE de l'écran.
Ce n'est pas possible ou presque car les modes SCREEN 7 à 12 gèrent la mémoire en entrelacée. Je ne me souviens pas exactement mais c'est un truc du genre : Les octets pairs physiques en VRAM pour la pages 0 et les impairs pour les pages 1.
Non. C'est linéaire.
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Que veux-tu dire par linéaire ?
Au mieux, le Basic execute une ligne par interruption. Cela veux dire que tu peux oublier. C'est impossible ! Edité par GDX Le 28/04/2014 à 14h18
igal :
En fait, c'est surtout le processus en ligne BASIC (compréhensible lol) qui m’intéresse. Même si le résulta n'est pas exploitable
Au mieux, le Basic execute une ligne par interruption. Cela veux dire que tu peux oublier. C'est impossible ! Edité par GDX Le 28/04/2014 à 14h18
Je veux dire que dans la page 0 du screen8 tu charges le les 16Ko de ta demie page de screen5 et dans les 32Ko du "haut" tu colle ta demie page de screen 8.
En fait je fais un abus de language parce qu'une image screen5 ne fait pas 32K et une screen8 ne fait pas 64K... Mais en gros tu charges 106 lignes de données Screen5 a l'adresse 0000h de la VRAM. Puis 106 lignes de données screen8 à l'adresse 6A00h (256*106).
Une routine assembleur qui attends la VBL pour configurer le VDP pour afficher du screen5 puis attente ligne 106 pour configurer le VDP en screen8.
Voilà.
En fait je fais un abus de language parce qu'une image screen5 ne fait pas 32K et une screen8 ne fait pas 64K... Mais en gros tu charges 106 lignes de données Screen5 a l'adresse 0000h de la VRAM. Puis 106 lignes de données screen8 à l'adresse 6A00h (256*106).
Une routine assembleur qui attends la VBL pour configurer le VDP pour afficher du screen5 puis attente ligne 106 pour configurer le VDP en screen8.
Voilà.
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Z80,
Peux-tu lancer le programme suivant sur un vrai MSX et expliquer la raison de ce phénomène ?
Si ça fonctionnait comme tu le dis, on ne devrait rien voir en page 2, non ?!
Peux-tu lancer le programme suivant sur un vrai MSX et expliquer la raison de ce phénomène ?
Code TEXT :
10 SCREEN5:A=VDP(1) 20 CIRCLE(127,96),96,15 30 FORT=0TO2000:NEXT 40 VDP(0)=14:VDP(1)=96 'screen 8 50 CIRCLE(127,96),90,15 60 FORT=0TO2000:NEXT 70 VDP(0)=6:VDP(1)=96 'screen 5 80 SETPAGE2 90 GOTO 90
Si ça fonctionnait comme tu le dis, on ne devrait rien voir en page 2, non ?!
TurboSEB
Membre non connecté
Conseiller Municipal
Il me semble que dans micronews 8 il est ecrit en mode entrelacer pour alterner les ecrans dans differents mode graphique
D'ailleur je me demande si la RAM ne serait pas pareil, du moins la partie autres que les 23ko du basic qui seul serait effacable par RESET simple, je me demande cela car j'ai deja eu l'experience d'un jeu en RAM qui résister a plusieurs RESET et aussi une demo bootable en RAMDISK qui résister au meme traitement J'ai pas plus d'explication, mais ca m'avais étonné a l'epoque sur mon HBF700F Edité par TurboSEB Le 28/04/2014 à 20h19
Jipe :
la VRAM n'est pas effacée , on se servait de ça pour récupérer des images de jeux dans le temps
D'ailleur je me demande si la RAM ne serait pas pareil, du moins la partie autres que les 23ko du basic qui seul serait effacable par RESET simple, je me demande cela car j'ai deja eu l'experience d'un jeu en RAM qui résister a plusieurs RESET et aussi une demo bootable en RAMDISK qui résister au meme traitement J'ai pas plus d'explication, mais ca m'avais étonné a l'epoque sur mon HBF700F Edité par TurboSEB Le 28/04/2014 à 20h19
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
en effet la RAM ne s'efface pas sur un MSX2 lors d'un reset
le cas classique est une rom 32k tournant en ram au lieu de rom
certains effaçaient ou inversaient l'en tête 41 42 pour reprendre la main sans éteindre la machine
a partir du 2+ les premiers octets de chaque bank mémoire sont remis a 0 lors du reset
le cas classique est une rom 32k tournant en ram au lieu de rom
certains effaçaient ou inversaient l'en tête 41 42 pour reprendre la main sans éteindre la machine
a partir du 2+ les premiers octets de chaque bank mémoire sont remis a 0 lors du reset
GDX :
Z80,
Peux-tu lancer le programme suivant sur un vrai MSX et expliquer la raison de ce phénomène ?
Si ça fonctionnait comme tu le dis, on ne devrait rien voir en page 2, non ?!
Peux-tu lancer le programme suivant sur un vrai MSX et expliquer la raison de ce phénomène ?
Code TEXT :
10 SCREEN5:A=VDP(1) 20 CIRCLE(127,96),96,15 30 FORT=0TO2000:NEXT 40 VDP(0)=14:VDP(1)=96 'screen 8 50 CIRCLE(127,96),90,15 60 FORT=0TO2000:NEXT 70 VDP(0)=6:VDP(1)=96 'screen 5 80 SETPAGE2 90 GOTO 90
Si ça fonctionnait comme tu le dis, on ne devrait rien voir en page 2, non ?!
Ça aurait été avec plaisir mais je ne suis pas beaucoup chez moi en ce moment je donne un coup de main dans un appartement qui vient d’être livré et dans lequel il y a plein de truc qui ne fonctionne pas. Mais comme le dit Jipé et comme tu utilise des accès directes aux registres du VDP pour changer le mode graphique, la VRAM n'est pas initialisée comme si tu faisais un SCREEN 5, suivis d'un SCREEN 8 et inversement...
En suite, il faut bien comprendre que pour un pixel (un octet) de screen 8 tu as deux pixel en screen 5.
Dit autrement: à l'adresse 0000h en screen 8 tu colle FFh tu as un pixel blanc, mais si tu passe en mode SCREEN5 cet octet à l'adresse 0000h contient toujours FFh mais cette fois ci cela représente les pixel 0,0 et 1.0 (pixel 0 et 1 de la ligne 0) avec pour couleur 15 (Fh).
En suite et de mémoire uniquement la partie haute de l'octet c'est la couleur du pixel 0 et la partie basse de l'octet c'est pour le pixel 1.
Mais à confirmer.
Mettre F7h pour voir si c'est le pixel 0 qui est de couleur 15 (Fh) ou 7 (7h).
Je ferai le teste entre le 1er et le 3 mai.
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie