L'atelier simulation de cartouche sram dans bluemsx ?
c'est pareil pour une vraie 1Mo = 80 fichiers
c'est donc bien une limitation d'ERAMDISK
ça provient du programme qui initialise la SRAM = ERAMDISK.COM
il faut donc voir de ce coté pour une éventuelle modif
c'est donc bien une limitation d'ERAMDISK
ça provient du programme qui initialise la SRAM = ERAMDISK.COM
il faut donc voir de ce coté pour une éventuelle modif

Pourquoi autant de fichiers ?
Disons que j'ai un programme qui nécessite pas mal de données fixes dans pas mal de tableaux (DIM)
Habituellement pour remplir un tableau, on vas mettre ces données Fixes dans des lignes DATA
Mais cela encombre la mémoire basic avec des données inutiles...
10 DIM TA(10)
20 FOR I=1to10:read A:TA(I)=A:next
30 DATA 5,6,7,8,9,1,2,3,1,4
Dans cet exemple les données occupent un espace mémoire dans la variable tableau TA()
Mais occupent aussi de la place sous la forme des lignes DATA
La methode la plus simple et rapide que j'ai trouvée pour remplir mes tableaux
et de les sauvegarder sous forme de fichiers.
Dans l'exemple si dessus on rajouterai la ligne :
25 COPY TA to "A:TA.DAT"
Ainsi, dans mon programme finale je n'ai plus qu'à faire l'opération inverse pour récupérer mes données
COPY "A:TA.DAT" to TA
c'est rapide, et ça ne prend de l'espace que sur le stockage.
Ainsi je peux avoir plusieurs déclinaisons d'un tableau de variables sans que cela ne prenne de place dans la mémoire basic.
Mais bien sur ca augmente le nombre de fichiers nécessaires au bon fonctionnement du logiciel... Edité par ericb59 Le 03/02/2014 à 20h52
Disons que j'ai un programme qui nécessite pas mal de données fixes dans pas mal de tableaux (DIM)
Habituellement pour remplir un tableau, on vas mettre ces données Fixes dans des lignes DATA
Mais cela encombre la mémoire basic avec des données inutiles...
10 DIM TA(10)
20 FOR I=1to10:read A:TA(I)=A:next
30 DATA 5,6,7,8,9,1,2,3,1,4
Dans cet exemple les données occupent un espace mémoire dans la variable tableau TA()
Mais occupent aussi de la place sous la forme des lignes DATA
La methode la plus simple et rapide que j'ai trouvée pour remplir mes tableaux
et de les sauvegarder sous forme de fichiers.
Dans l'exemple si dessus on rajouterai la ligne :
25 COPY TA to "A:TA.DAT"
Ainsi, dans mon programme finale je n'ai plus qu'à faire l'opération inverse pour récupérer mes données
COPY "A:TA.DAT" to TA
c'est rapide, et ça ne prend de l'espace que sur le stockage.
Ainsi je peux avoir plusieurs déclinaisons d'un tableau de variables sans que cela ne prenne de place dans la mémoire basic.
Mais bien sur ca augmente le nombre de fichiers nécessaires au bon fonctionnement du logiciel... Edité par ericb59 Le 03/02/2014 à 20h52
j'ai trouvé une solution
en début du programme il y a 2 octets a 40H et 2 autres a 50H
le fait de les passer a FFH permet d'avoir 225 fichiers ( en théorie car je me suis arrêté a 100 )
en début du programme il y a 2 octets a 40H et 2 autres a 50H
le fait de les passer a FFH permet d'avoir 225 fichiers ( en théorie car je me suis arrêté a 100 )

Je n'ai pas compris ce que tu veux dire Jipé.
Quand à moi, j'ai changé seulement la valeur du nombre de fichiers dans le secteur 0. J'ai mis 70H (112) comme pour une disquette au lieu du 40H (64) d'origine de la façon suivante.
J'ai sauvegardé ma Mega-sram (fraichement formatée) avec MGSAVE.COM et j'ai remplacé 40 00 par 70 00 à 0035F9H et 004011H (parce que le secteur se trouve aussi dans la Disk-ROM) avec un éditeur hexa puis, j'ai ré-injecté le fichier dans la mega-sram avec MGLOAD.COM.
Après un redémarrage du MSX, j'ai pu copier 84 fichiers jusqu'à ce que la mémoire soit pleine.
On dirait que ce n'est pas une limitalion de ERAMDISK.COM mais de l'instruction CALL FORMAT qui détermine le nombre de fichier en fonction de la taille du disque. Pour le vérifier, il faudrait désassembler ERAMDISK.
Quand à moi, j'ai changé seulement la valeur du nombre de fichiers dans le secteur 0. J'ai mis 70H (112) comme pour une disquette au lieu du 40H (64) d'origine de la façon suivante.
J'ai sauvegardé ma Mega-sram (fraichement formatée) avec MGSAVE.COM et j'ai remplacé 40 00 par 70 00 à 0035F9H et 004011H (parce que le secteur se trouve aussi dans la Disk-ROM) avec un éditeur hexa puis, j'ai ré-injecté le fichier dans la mega-sram avec MGLOAD.COM.
Après un redémarrage du MSX, j'ai pu copier 84 fichiers jusqu'à ce que la mémoire soit pleine.
On dirait que ce n'est pas une limitalion de ERAMDISK.COM mais de l'instruction CALL FORMAT qui détermine le nombre de fichier en fonction de la taille du disque. Pour le vérifier, il faudrait désassembler ERAMDISK.

ericb59 :
Jipe, peux tu préciser à quel adresses tu à fait un changement ? Car des "40" il y en a un paquet !
40H est l'adresse


GDX :
Oui, c'est pour sauvegarder au format ROM.
Bon, parceque là j'ai un SRAM juste avec les 2 fichiers du DOS.
Quand je boot j'arrive donc sur le DOS1
J'ai sauvegardé ce SRAM avec MGSAVE qui se trouvait sur un FLOPPY dans B:
B:MGSAVE b:TEST.ROM /S01
Lorsque j'extrait ce fichier TEST.ROM de ma disquette, et que je l'insère en tant que rom dans un port cartouche, ça ne boot plus.

Fabf :
40H est l'adresse
ericb59 :
Jipe, peux tu préciser à quel adresses tu à fait un changement ? Car des "40" il y en a un paquet !
40H est l'adresse

ben non, je ne pense pas que ça soit 40H l'adresse. 40H c'est la valeur qu'il faut changer par FFH
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie