La Place des Développeurs gagner de la memoire en basic
ericb59
Membre non connecté
Conseiller Municipal
je viens de constater avec un programme en nestor basic, qu'un Turbor n'a,pas tout a fait la meme capacité memoire qu'un msx2+
un programme qui passe tres bien sur TR, me fait un out of memory sur 2+ !
Pourquoi ?
connaissez vous des astuces pour gagner quelques octets sous basic ?
Quel est exactement l'effet d'un "clear 200" par exemple ?
pour gagner de la place j'ai déja un defint a-z
l'appui sur ctrl au boot pourais me libérer quelques octets, mais ce n'est pas une option "pro"
existe t'il un moyen logiciel pour avoir le même effet ?
merci d'avance pour vos astuces Edité par ericb59 Le 30/12/2013 à 16h28
un programme qui passe tres bien sur TR, me fait un out of memory sur 2+ !
Pourquoi ?
connaissez vous des astuces pour gagner quelques octets sous basic ?
Quel est exactement l'effet d'un "clear 200" par exemple ?
pour gagner de la place j'ai déja un defint a-z
l'appui sur ctrl au boot pourais me libérer quelques octets, mais ce n'est pas une option "pro"
existe t'il un moyen logiciel pour avoir le même effet ?
merci d'avance pour vos astuces Edité par ericb59 Le 30/12/2013 à 16h28
Salut,
pour desactiver le 2eme drive on doit appuyer sur CTRL au demarrage
Comme tu dis c'est pas une solution tres pro
Moi j'utilise l'utilitaire ONEDRIVE qui fonctionne sous MSDOS et sous BASIC MSX
Ce logiciel desactive le 2eme DISKDRIVE MSX
http://www.msx.org/news/software/en/onedrive-10
Sous BASIC voila la syntaxe :
5 poke &hffff,170
10 BL0AD"ONEDRIVE.COM"
20 A=PEEK(-833)+256*PEEK(-832)
30 DEFUSR=A
40 A=USR("a:menu.bas")
A+ Edité par msx45 Le 30/12/2013 à 16h51
pour desactiver le 2eme drive on doit appuyer sur CTRL au demarrage
Comme tu dis c'est pas une solution tres pro
Moi j'utilise l'utilitaire ONEDRIVE qui fonctionne sous MSDOS et sous BASIC MSX
Ce logiciel desactive le 2eme DISKDRIVE MSX
http://www.msx.org/news/software/en/onedrive-10
Sous BASIC voila la syntaxe :
5 poke &hffff,170
10 BL0AD"ONEDRIVE.COM"
20 A=PEEK(-833)+256*PEEK(-832)
30 DEFUSR=A
40 A=USR("a:menu.bas")
A+ Edité par msx45 Le 30/12/2013 à 16h51
ericb59 :
merci je regarde ça en rentrant !
tu as mis la doc avec ?
tu as mis la doc avec ?
Desolé j'ai pas retrouvé les docs
sous MSDOS tu tapes ONEDRIVE
sous BASIC tu tapes les commandes que j'ai donné plus haut
bien sur tu remplaces le "menu.bas" par le fichier que tu veux lancer
A+ Edité par msx45 Le 30/12/2013 à 17h28
ericb59
Membre non connecté
Conseiller Municipal
poke &Hffff,170 (pour un MSX PHILIPS)
poke &Hffff,255 (pour un MSX SONY)
C'est pas obligé de taper cette ligne c'est juste pour améliorer la compatibilité des softs
sinon tu as le poke universel
c'est pratique pour les MSX avec struture de slots non standard
The universal poke to do this is:
POKE -1,1.0625*(NOT(PEEK(-1))AND&HF0)
The same POKE, but a bit shorter:
POKE -1,(15-PEEK(-1)16)*17 Edité par msx45 Le 30/12/2013 à 18h48
poke &Hffff,255 (pour un MSX SONY)
C'est pas obligé de taper cette ligne c'est juste pour améliorer la compatibilité des softs
sinon tu as le poke universel
c'est pratique pour les MSX avec struture de slots non standard
The universal poke to do this is:
POKE -1,1.0625*(NOT(PEEK(-1))AND&HF0)
The same POKE, but a bit shorter:
POKE -1,(15-PEEK(-1)16)*17 Edité par msx45 Le 30/12/2013 à 18h48
ericb59
Membre non connecté
Conseiller Municipal
c'est censé faire quoi ce poke au juste ?
Sinon ça à l'air de fonctionner sans le poke... C'est cool !
Tiens j'ai aussi trouvé ça pour gagner quelques octets
maxfiles=0
Sinon ça à l'air de fonctionner sans le poke... C'est cool !
Tiens j'ai aussi trouvé ça pour gagner quelques octets
maxfiles=0
poke &HFFFF.0 (pour un 2+ ou un Turbo-R)
le poke est fonction de l'emplacement du slot de mémoire
et pour mettre tout le monde d'accord voici un poke universel : POKE-1,(15-PEEK(-1)16)*17
-1 et &HFFFF ça revient au même
le poke est fonction de l'emplacement du slot de mémoire
et pour mettre tout le monde d'accord voici un poke universel : POKE-1,(15-PEEK(-1)16)*17
-1 et &HFFFF ça revient au même
pour "gagner" de la mémoire il faut optimiser ses programmes
pas de ligne de REM
au possible taper plusieurs instructions sur la même ligne ça fait gagner des octets
ne travailler qu'avec des entiers
oublier les espaces entre 2 instructions ex: le msx interprête pareil MOTOR ON et MOTORON
oublier les gros tableaux de variables
ensuite si on a pas assez de place
mettre la demo ou l'intro dans un programme a part qui fait appel au programme principal
idem pour la fin
pas de ligne de REM
au possible taper plusieurs instructions sur la même ligne ça fait gagner des octets
ne travailler qu'avec des entiers
oublier les espaces entre 2 instructions ex: le msx interprête pareil MOTOR ON et MOTORON
oublier les gros tableaux de variables
ensuite si on a pas assez de place
mettre la demo ou l'intro dans un programme a part qui fait appel au programme principal
idem pour la fin
ericb59
Membre non connecté
Conseiller Municipal
Je n'avais jamais remarqué mais un
Turbo-R Boot avec 25271 Octets de libre pour le basic
un MSX2+ avec 23414 Octets
un MSX2 abev 23432 Octets
D'ou provient cette différence ?
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie