MSX Village forum

La Place des Développeurs Demande aide : set page, vpoke et overflow !

kirem Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 05/11/2010 à 13h29

Messages: 45

Le 10/12/2010 à 23h30
Bonsoir,jai des petits problèmes avec Set Page et Vpoke
Setpage et Vpoke: En screen 5 on à 4 pages avec 128ko de vram,la 1er en &h0,la 2eme en &h8000 puis la 3eme en &h10000 et la 4 en &h18000 donc je fais un vpoke &h0,&hFF j'obtien 2 pixels blanc sur la page 0,avec un vpoke &h8000,&hFF j'ai 2 pixels sur la page 1.
Là ou j'ai un problème c'est pour la page 2 un vpoke&h10000,&hFF me donne erreur Overflow,normal le vpoke fonctionne avec des adresses de 16 bits soit 64ko adressable,d'ou ma question on fait comment pour accèder aux 64ko des pages 2 et 3,je soupçonne un flag dans un registre mais où ?

Ma deuxieme question: Je connais mes adresses des pages 0 à 3 mais si je fais un Setpage 2,2 l'adresse de la page change en &h0 ,la 3 ce retrouve en &h8000 etc...moi je croyais que les adresses restaient fixe ,visiblement non,je me trompe ? Et si non on fait comment pour retrouver l'adresse des pages facilement ?
Site web    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 11/12/2010 à 12h23
dit donc toi:D ,y'a un Zero en trop la :lol
les bonnes adresses ne seraient t'elles pas &H0, &H0800,&H1000 et &H1800 a moins que je ne me trompe:oups (s'est possible, si si ,car d'apres le Pdf, cela concerne le Screen 2 a 4)

sinon voici un Pdf avec toutes les données, desolé c'est en Hollandais, mais avec les chiffres, on s'y retrouve^^
ScreenMSX2.pdf
(source : MSX Gids N°24 Sep/Oct 1989)

Je trouve ce Pdf asser complet, mais une traduction serait idéal, ce qui en ferait litteralement une bible.

Solution 1 : Apprendre le Hollandais:lol
Solution 2 : bosser un peu:p Edité par TurboSEB Le 11/12/2010 à 19h01



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 11/12/2010 à 13h33
kirem :
Bonsoir,jai des petits problèmes avec Set Page et Vpoke

Setpage et Vpoke: En screen 5 on à 4 pages avec 128ko de vram,la 1er en &h0,la 2eme en &h8000 puis la 3eme en &h10000 et la 4 en &h18000 donc je fais un vpoke &h0,&hFF j'obtien 2 pixels blanc sur la page 0,avec un vpoke &h8000,&hFF j'ai 2 pixels sur la page 1.





Comme tu l'as compris, tu ne peux adresser que 64ko maximum sur 16 bits.



Attention, je ne code pas sur MSX, donc je ne pourrai pas te donner un exemple tout prêt.



Tu as 128ko de VRAM et 4 buffers. Donc chaque buffer prends 128/4 soit 32ko.



Ton premier écran va de 0 à 0x7FFF.

Manifestement, chaque pixel est représenté sur un demi octet (un quartet ? :p ).

Donc 0x8000 "allume" deux pixels sur le second buffer.



Maintenant, si on regarde ici:

http://nocash.emubase.de/portar.htm



et plus exactement, ici:

http://nocash.emubase.de/portar.htm#vramdatareadwrite



Tu as la réponse à ta question.

Il faut utiliser les "upper bits" pour adresser les buffers au dela du premier bloc de 64ko adressable directement.



l'adresse mémoire se passe en deux fois sur le port 99 (les "upper bits" sont précisés lors du deuxième envoi).



A utiliser avec in / out en basic.



Je ne peux pas t'en dire plus, car je n'en sais pas plus :) Edité par Visiteur Le 11/12/2010 à 13h36
   
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 11/12/2010 à 19h11
M:D rde, j'ai encore dit des betises, les adresses étaient bonnes

source : MSX INFO n°2 juin/juillet 1989

Rmq: il y a une erreur sur ce tableau, la derniere adresse doit etre 1FFFFH au lieu de 10000H Edité par TurboSEB Le 11/12/2010 à 19h20



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
kirem Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 05/11/2010 à 13h29

Messages: 45

Le 12/12/2010 à 23h34
Merci TurboSeb pour tes scans,je vais apprendre le Hollandais,non je blague trop dur pour moi.

Merci Venon, tes tuyaux sont les bons me reste plus qu'à me prendre la tête avec Out,pour l'instant j'ai modifié mon programme pour travailler que sur la page 0 ou 1 comme cela vpoke et vpeek suffisent.
Site web    
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 14/12/2010 à 19h41
Bien vu Pour les Vpeek et les Vpoke Kirem!

Pour mon prochain projet la page jeu est la 0 et la page où sont stockés les niveaux est en page 1, ça suffit; les autres pages étant accessibles avec le Copy ;)


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie