MSX Village forum

L'école RAM Disponible Sous MSXDOS2 ?

ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 13/10/2018 à 15h01
Bonjour,

J'ai beau chercher je ne trouve pas l'information, ou je m'y prend mal ...

J'ai besoin de savoir quelles sont les zones mémoires libre sur un MSX2
après que MSX-DOS 2 soit chargé.

Quels sont les plages dispo dans les pages 0 à 3 des 64K de base.

merci d'avance.


banniere-ericb59e
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 13/10/2018 à 17h37
En voulant utiliser le DOS ou pas ?
Parce que si c'est seulement pour assurer le chargement d'un programme, après lancement de celui-ci, toute la RAM est dispo, de la page 0 à la page 3.


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)
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 13/10/2018 à 17h48
J'utilises des fonctions DOS pour le chargement de fichier en interne du programme.
J'ai voulu placer des DATAs en Page 3, et mon programme ne fonctionne plus. En y regardant de plus prêt avec le Debugger d'OpenMSX, je vois qu'il y a des données apparemment du MSXDOS en page 3 à partir de 0xC000
J'y vois N M S , Boot error press a key ... (J'utilise une emulation Turbo-r)


Si possible j'aimerai aussi savoir à quel adresse se trouve le Stack. Edité par ericb59 Le 13/10/2018 à 17h52


banniere-ericb59e
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 13/10/2018 à 18h32
la page 3 est utilisée pour les variables systéme de F380 a FFFF
la zone en dessous dépend du nombre de controleurs de disk
avec un controleur donc 2 disques elle commence a D87C avec un MSX DOS 2.3 visible avec Blue MSX
on voisle registre SP avec Blue MSX
il y a plusieurs version de MSX DOS 2 regarde ici pour le 2.40 http://www.msxcomputermagazine.nl/mccw/93/dos240/en.html
a priori il réserve 16k de plus dans la mémoire

l'en tête N M S veux dire New Media System c'est donc une disquette formatée avec un philips


:noel
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 13/10/2018 à 22h37
Citation :
Si possible j'aimerai aussi savoir à quel adresse se trouve le Stack.

Oui avec BlueMsx le debbuggeur te donne l'état de tous les registres ;)



Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 14/10/2018 à 15h08


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)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 14/10/2018 à 16h56
j'ai retrouvé un utilitaire VMAP.COM par Ryoga
avec mon dos 2.30 voici les résultats

ADDR SIZE OWNER/PARAMETER
0000 256 <SYSTEM>
0100 54278 <FREE>
D506 4676 <CONFIG>
E74A 6326 <SYSTEM>

la mémoire libre est donc de 0100 a D506


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 14/10/2018 à 17h08
Ok merci bien ;) :D


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 16/10/2018 à 13h31
Saut,

J'ai consulté les documentations que vous m'avez indiqué. Alors, il est tout a fait probable que je ne comprenne pas tout, et donc j'en suis toujours au même point.

Voici ma problématique.
Je charge un .com qui fait environs 20KO
une fois le programme execution j'ai besoin de connaitre jusque quelle adresse j'ai la possibilité de charger des DATAS.

Je connais la taille de mon programme, je sais qu'il va débuter en 0x0100.
Je sais que la taille de la TPA Dépend des MSX et des cartouches ou extensions qui sont déjà pluguées

J'ai lu que l'adresse haute de la TPA se trouve en 0x0006 et 0X007, mais à ces adresses, j'ai toujours 98h et 98h
L'adresse haute de la TPA ne peut pas être 9898h que je sache ! Elle est forcément en 0xC... quelque chose
Alors, pouvez vous me dire de façon concrète comment connaitre l'adresse du dernier octet libre de la TPA ?



Sur l'image ci-dessus, le contenu de la mémoire lorsque je suis sous MSXDOS, sans rien d'autre de chargé.
Le contenu est identique une fois mon programme chargé.
Toute fois les adresses 06h et 07h semblent changer lors du chargement d'un .com, mais reviennent à 98h 98h une fois le chargement terminé




Ca c'est le contenu de 0xC000 après un boot à froid. Il n'y a que le DOS2.33 de chargé. rien d'autre
C'est quoi cette daube en C000 ?

Emulation avec MSX Turbo-r sans options. juste Une disquette chargée et le Dos 2.33 chargé

Edité par ericb59 Le 16/10/2018 à 13h33


banniere-ericb59e
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 16/10/2018 à 14h10
ce que tu vois c'est l'image des secteurs de la disquette

le dos 2 travaille avec des segment de pages 16k
suivant la mémoire disponible sur ta machine il faut bien un buffer pour passer du disque a la ram
c'est certainement ce que tu vois en C000



:noel
Site web    
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 16/10/2018 à 14h47
Les adresses 0x0006 et 0X007 contiennent les ports de lecture et premier port d'écriture du VDP (au passage les développeurs qui prennent par défaut 0x98 c'est pas bien!).

Les variables systèmes commencent à l'adresse 0xf380
Les variables et zones de travail MSX-DOS se trouvent entre 0xf1C1 et 0xf37f
Les variables du Basic et de la pile sont entre MEMSIZ (lire 0xf672) et HIMEM (lire 0xfc4a)

Donc je dirai que la mémoire vive disponible est donnée par :
BOTTOM (lire 0xfc48) et MEMSIZ (lire 0xf672)

Je pense qu'il faut que tu utilises, comme en Basic, la plage 2 de 0x8000 à 0xbfff et tu switches avec les pages RAM disponibles si tu as besoin de plus de 16 ko. Et au delà tu peux utiliser 0xc000 à MEMSIZ.
Edité par Visiteur Le 16/10/2018 à 15h05
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 16/10/2018 à 15h54
sylvain :
Les adresses 0x0006 et 0X007 contiennent les ports de lecture et premier port d'écriture du VDP (au passage les développeurs qui prennent par défaut 0x98 c'est pas bien!).


Ben non, pas dans l'environnement MSX-DOS entre 0h et 0100h il y a plein de données
voir ici : http://map.grauw.nl/resources/dos2_environment.php#c2_5

2.3 PAGE ZERO USAGE


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 16/10/2018 à 15h57
@jipe Je veux bien. Mais est-ce que cela veut dire que toute la page 3 sert à MSX-DOS pour travailler ?
Je ne pense pas ...

Alors comment déterminer ce que j'ai le droit d'utiliser comme RAM ?


banniere-ericb59e
Site web    
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 16/10/2018 à 17h40
Ha, ok, je me suis fait avoir par tes copies d'écran. Tu montres la mémoire principale est là c'est bien ce que j'ai dit (Les adresses 0x0006 et 0X007 contiennent les ports de lecture et premier port d'écriture du VDP) c'est à dire le BIOS.

Une fois ton .com lancé tu devrais le voir en 0xc000 avec ce type de debug, et là oui les adresses 0xc006 et 0xc007 correspondent à la TPA.

Sinon demande à SHEM, il te la montrera dans la mémoire paginée :



Edité par Visiteur Le 16/10/2018 à 17h40
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 18/10/2018 à 21h27
Ok finalement j'y suis arrivé !
Merci à tous


banniere-ericb59e
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie