Newsgroup: it.comp.os.dos
Titolo: aumentare la Memoria convenzionale

Qualcuno sa se esiste un programma che simuli la presenza di ulteriore
memoria convenzionale (oltre la canonica 640 kb)?
E poi questo limite di 640 Kb è superabile, cioè si può fare vedere ad un
programma dos la presenza ad es. di 1000 kb di memoria convenzionale libera?
Grazie Diego


In entrambi i casi:
non so se esiste tale programma, ma se esiste
ti allontana dalla compatibilità col dos che ne "concepisce" solo 640...
Dunque è un po' rischioso.
Di solito i programmi dos che richiedono più di 640kb (=65536 bytes)
di memoria sono in grado di leggere la memoria "alta" (XMS o EMS a seconda...)
ed è molto raro che un programma dos ti chieda più di 610.000 bytes
di memoria convenzionale (il "record" che ho trovato finora è stato Falcon3,
che ne voleva 630.000 bytes, e non è stato un problema darglieli...)
MaRoK



mi pare che la convenzionale si fermi a 640kb
poi c'e' l'espansa dai 640 ai 1000
e l'estesa oltre i 1000.
il tutto salvo errori, comunque ti serve un gestore per la memoria
alta
ciao
--
sandro
ICQ 179590321

 Come cavolo hai fatto?
AH, i bei tempi in cui ero un mago a recuperare memoria convenzionale.. 
Ma perché non avevo Internet ALLORA?!? ^______^
Per non restare troppo OT, ricordatevi che i programmi che devono essere 
caricati in memoria alta, anche se occupano pochi Kb, è possibile che ne 
richiedano MOLTI DI PIU' nel momento in cui debbano esserci caricati!
Quindi è molto importante L'ORDINE col quale si specificano i vari 
"devicehigh" o "LH".
Infine, se avete schede ISA che occupano QUELLA memoria, cercate di 
"compattare" quelle aree in modo da lasciare la memoria libera CONTIGUA.
Credo che per molti che leggono i.c.o.w.s (il messaggio è in XPost! 
Avvertite quando crospostate!) queste argomentazioni siano vicine 
all'ARABO! ;))
-- 
		Luca Amicone
		(da casa)

 e l'estesa oltre i 1000.
No, espansa ed estesa sono due alternative
configurabili per esempio tramite i parametri di EMM386,
non sono una di seguito all'altra.
MaRoK

 630 ? Con il dos 6.22?
Sě, a scanso di equivoci ti ricordo che 630.000 bytes = 615kb.
Con mouse+cd rom non č cosě difficile,
se hai anche altri devices inizia a diventare un bordello.
Cosa devi caricare?
MaRoK

 Con il dos 6.22 e memmaker arrivo si e no a 600 :-(
Mmmm... forse hai un driver del cdrom un po' pesante...
su questo ng qualche post fa qualcuno ha scritto il link a un driver "universale"
che, a detta sua, era più leggero di quelli proprietari in circolazione.
Puoi provare a dare un'occhiata, se lo trovi.
In ogni caso, scrivici il tuo autoexec ed il tuo config,
che vediamo se per caso c'è qualche errore da qualche parte.
Per arrivare a risultati ottimali (636.000 bytes su dos6.22 e 640.000 su win95)
io avevo fatto caricare al memmaker i vari driver singolarmente,
cioè gli avevo fatto scrivere vari autoexec e config con un solo driver a testa
prendendo nota dei valori che mi indicava per ognuno.
Alla fine li avevo combinati insieme nelle varie aree
meglio di quanto riuscisse a fare lui, ficcandoci dentro anche il driver scsi.
Però mi ricordo che 630.000 bytes o giù di lì con memmaker
li ottenevo anche di default (solo con cd+mouse però)
per questo mi sembra strano...
MaRoK

 ha scritto 
nel messaggio 
news:hnjaa.23438$pG1.5...@news1.tin.it
...


 


Allora ti allego il mio miglior risultato 
572K :-(


 


Config.sys


 


DEVICE=a:\HIMEM.SYS
DEVICE=a:\EMM386.EXE /ram 
auto
dos=high,umb
LASTDRIVE=m
DEVICEHIGH=a:\GSCDROM.SYS /D:MSCD000 
/v


 


Autoexec.bat


 


@echo off
LH a:\
SBEINIT.COM
LH a:\MSCDEX 
/D:MSCD000
LH a:\
mouse.com


 


mem /c 


 


Moduli utilizzanti memoria al di sotto di 1 
MB:


 


  
Nome           
Totale          
Convenzionale    Memoria superiore
  --------  
----------------   ----------------   
----------------
  SYSTEM      
18,208   (18K)     10,912   
(11K)      7,296    (7K)
  
HIMEM        1,168    
(1K)      1,168    
(1K)          0    
(0K)
  EMM386       
4,176    (4K)      
4,176    
(4K)          0    
(0K)
  DBLBUFF      2,976    
(3K)      2,976    
(3K)          0    
(0K)
  MSCDEX      32,384   
(32K)     32,384   
(32K)          0    
(0K)
  MOUSE       17,280   
(17K)     17,280   
(17K)          0    
(0K)
  GSCDROM     25,600   
(25K)          0    
(0K)     25,600   (25K)
  
IFSHLP       2,864    
(3K)          0    
(0K)      2,864    (3K)
  
COMMAND      7,168    
(7K)          0    
(0K)      7,168    (7K)
  
SBEINIT      4,560    
(4K)          0    
(0K)      4,560    (4K)
  
Disp.      598,528  (585K)    
586,160  (572K)     12,368   
(12K)


 


Riepilogo della memoria:


 


  Tipo di 
memoria      
Totale         
Usata     Disponibile
  ----------------  
-----------   -----------   -----------
  
Convenzionale         
655,360        
69,200       586,160
  
Superiore              
59,856        
47,488        12,368
  
Riservata                   
0             
0             
0
  Estesa (XMS)*     
267,261,488     3,697,200   263,564,288
  
----------------  -----------   -----------   
-----------
  Memoria totale    
267,976,704     3,813,888   
264,162,816


 


  Tot. inf. a 1 
MB      715,216       
116,688       598,528


 


  Totale espansa 
(EMS)                                   
33,947,648    (32M)
  Estesa disponibile 
(EMS)*            
33,554,432    (32M)


 


  * EMM386 sta utilizzando memoria XMS per 
simulare memoria EMS se necessaria.
    La memoria EMS 
disponibile potrebbe cambiare al variare della memoria XMS.


 


  Dim. massima di un programma 
eseguibile                   
586,064   (572K)
  Dim. massima di un blocco libero di memoria 
superiore      12,048    (12K)
  
MS-DOS Š residente nell'area di memoria alta.


 


 



 ha scritto nel messaggio
news:hnjaa.23438$pG1.5...@news1.tin.it...
poi guardando il comando Mem, mi sembra che si possa utilizzare solo la mem
convenzionale (655.000) + la superiore (60.000) tot 715.000! Quindi se io ho
115.000 byte di driver meglio di 600.000 comunque non posso arrivare!
Oppure c'è la possibilità di caricare oltre la memoria superiore e/o
aumentare quest'ultima?
Grazie Diego

 LH a:\
mouse.com
prova a mettere MSCDEX per primo.
non so cosa serva in specifico SBEINIT, ma tutti i giochi DOS che conosco non
hanno bisogno di nessun driver DOS x soundblaster: secondo me lo puoi togliere.
Ciao
-- 
Ranger! 
www.rossi.eu.com
aggiungi .it alla mail x rispondermi

 Quindi se io ho 115.000 byte di driver meglio di 600.000 comunque non posso arrivare!
Ora come ora non ricordo quanta memoria può essere destinata all'allocazione dei drivers,
mi sembra un mega ma non ci giurerei... se qualcuno si ricorda batta un colpo!
MaRoK

 qualcuno si ricorda batta un colpo!
La memoria superiore che puo' essere usata per caricare i programmi TSR e i 
driver va da 640KB fino a 1024 KB. Pero' di questi 384KB molti sono 
utilizzati dal sistema per altri scopi. Piu' di 128KB vengono usati dalla 
scheda video (a seconda della configurazione) e 64KB dal BIOS. Quindi in 
pratica hai a disposizione al massimo 192KB di memoria superiore per 
caricare i programmi e i driver. Aggiunti ai 640KB di memoria convenzionale 
fanno un totale di 832KB utilizzabili per caricare roba.
Puoi tentare di rosicchiare qualcosina in piu' modificando le impostazioni 
della shadow RAM nel BIOS, ma non ho mai provato in pratica...
-- 
Carlo Luciano
GPG ElG/DSA 4096/1024 Key: 
http://web.tiscali.it/clbianco/clbianco.asc
ID: 0x5324A0DA - Fingerprint: 8B00C61034120506111B143DEDBF71B45324A0DA

 caricare i programmi e i driver.
Ah, ok. Lui ne aveva 114kb da caricare, dunque se incastrati bene dovrebbero starci.
MaRoK

 hanno bisogno di nessun driver DOS x soundblaster: secondo me lo puoi togliere.
Eh, anche la mia sul 486 non ha bisogno di alcun driver,
ma le schede nuove senza un emulatore per dos non funzionano.
Cmq per fortuna occupa poca memoria, una volta che la configurazione
č terminata la puoi anche caricare in memoria alta al fondo dell'autoexec
nell'ultimo buco rimasto libero, č tuttosommato indolore.
MaRoK

 dovrebbero starci.
A patto di impostare correttamente Emm386, se no si perde 64 KB o
addirittura 128 KB per la page frame di una memoria EMS che non usera'
mai... 


 wrote in
news:AsMaa.31275$
pG1.7...@news1.tin.it
: 

Non e' necessariamente cosi'. Il parametro importante non e' quanta
memoria effettivamente occupi il programma una volta caricato, ma quanta
ne allochi per caricarsi. Ho visto drivers che una volta caricati
occupavano 2 KB ma per caricarsi richiedevano un blocco da 20 KB!
Paradossalmente potrebbe essere necessario caricare SBEINIT come primo
driver invece che come ultimo... 


 driver invece che come ultimo...
No, in entrambi i casi conviene caricarlo per ultimo,
perché ho verificato che lo spazio liberato dopo il caricamento
NON viene redistribuito (rimane la frammentazione)
MaRoK

 migliore... ;-)))
Ah, mi sa che siamo in due! :D
Cmq... visto che me l'avevate chiesto prima,
ecco la mia configurazione da 640.000 bytes con cd+mouse+tastiera italiana:
AUTOEXEC.BAT:
@echo off
Path=c:\windows;c:\windows\command;c:\dos;c:\utility
Set Temp = c:\Temp
Set Blaster=A220 I7 D1 T1
Mode con rate=32 delay=1
LH /L:2,20688 Keyb it,,c:\windows\command\keyboard.sys
LH /L:2,21248 Mouse >nul
LH /L:3,28288 \windows\command\Mscdex.exe /S /D:SONY_000 /L:D >nul
CONFIG.SYS:
Device=\windows\Himem.sys /TestMem:off
Device=\windows\Emm386.exe Ram HighScan I=B000-B7FF
Buffers=40,0
Files=40
Dos=Umb
Dos=High
DeviceHigh /L:1,9088  =\Windows\Command\Ansi.Sys
DeviceHigh /L:2,38208 =\Drivers\Cd\Slcd.Sys /D:SONY_000 /B:340 /M:P /V /C
REPORT DI MEM /C:
Moduli utilizzanti memoria al di sotto di 1 MB:
  Nome           Totale          Convenzionale    Memoria superiore
  --------  ----------------   ----------------   -----------------
  SYSTEM      39,456   (39K)      9,488    (9K)     29,968   (29K)
  HIMEM        1,120    (1K)      1,120    (1K)          0    (0K)
  EMM386       4,176    (4K)      4,176    (4K)          0    (0K)
  ANSI         4,352    (4K)          0    (0K)      4,352    (4K)
  COMMAND      7,168    (7K)          0    (0K)      7,168    (7K)
  SLCD        23,888   (23K)          0    (0K)     23,888   (23K)
  IFSHLP       2,864    (3K)          0    (0K)      2,864    (3K)
  SETVER         832    (1K)          0    (0K)        832    (1K)
  MOUSE       15,136   (15K)          0    (0K)     15,136   (15K)
  KEYB         6,944    (7K)          0    (0K)      6,944    (7K)
  MSCDEX      28,400   (28K)          0    (0K)     28,400   (28K)
  Disp.      678,880  (663K)    640,320  (625K)     38,560   (38K)
Riepilogo della memoria:
  Tipo di memoria      Totale         Usata     Disponibile
  ----------------  -----------   -----------   -----------
  Convenzionale         655,360        15,040       640,320
  Superiore             158,112       119,552        38,560
  Riservata             393,216       393,216             0
  Estesa (XMS)*      15,570,528       513,632    15,056,896
  ----------------  -----------   -----------   -----------
  Memoria totale     16,777,216     1,041,440    15,735,776
  Tot. inf. a 1 MB      813,472       134,592       678,880
  Totale espansa (EMS)                 16,039,936    (15M)
  Estesa disponibile (EMS)*            15,302,656    (15M)
  * EMM386 sta utilizzando memoria XMS per simulare memoria EMS se necessaria.
    La memoria EMS disponibile potrebbe cambiare al cambiare della memoria XMS.
  Dim. massima di un programma eseguibile                   640,304   (625K)
  Dim. massima di un blocco libero di memoria superiore      18,640    (18K)
  MS-DOS č residente nell'area di memoria alta.
Volendo avrei ancora 18k contigui piů una decina di k di frattaglie
per qualche altro driver, ma... non ho piů niente da metterci! :)
MaRoK

 ma ne usa solo 6944 una volta caricato.
ah, a proposito di Keyb: anni fa ho scritto un sostituto
di KEYB IT, che occupa solamente 0.6Kb di memoria, se lo vuoi
provare lo trovi sul mio sito



Io sono riuscito ad arrivare a 600K liberi su un server di rete
LANtastic, DOS 6.22, smartdrive ed una sbrodolata di altri servizi,
ahime' indispensabili.
Credo che siano rimasti non piu' di 5K NON contigui, in memoria alta...
Due giorni di prove e tentativi... ma la soddisfazione di bagnare il
naso a quei presuntuosi dei fornitori di un certo programma di gestione
di una cosa che ha a che fare con il mio nick... "non si puo' fare"...
si, certo, provaci con un altro!
Fabrizio ;-)

 copre solo metà schermo.
Cominciandovi a ringraziare in quanto ho effettivamente aumento la mem
superiore e ci va comodo quasi tutto, volevo chiederti in merito a questo
driver MS per mouse in ambiente dos, ho girato su tutto il sito microsoft
senza trovarlo, ma il driver mouse della microsoft non era freeware? oppure
si trova in qualche S.O.?
E poi quanto occupa questo driver?
Cioè io adesso sto usando un vecchio driver MS ver. 6.24 che avevo su un 386
e mi occupa 11 kb, però è del 1989!!!
Vorrei usare quello nuovo, ma se è freeware dove lo trovo?
grazie Diego

 Vorrei usare quello nuovo, ma se è freeware dove lo trovo?
Prova:
http://www.google.it/search?q=mouse+9.10
MaRoK

 15.184 bytes di memoria in esecuzione
ottimo, scusa un'altra domanda come si fa a conoscere il 2° valore memoria
al caricamento?
non è presente nella schermata di mem /c
Grazie ancora Diego!


 al caricamento?
Te li scrive memmaker nell'autoexec e/o config prima del driver.
MaRoK

 > > 15.184 bytes di memoria in esecuzione
Posso chiederti un'altra cosa?
Questi driver per Mouse la MS li rilasciava insieme ai propri Mouse
(hardware) oppure con qualche S.O.?
CiaoDIego

 (hardware) oppure con qualche S.O.?
Cosa intendi con "propri mouse"?
Esistono dei mouse di marca Microsoft?
Cmq sì, di solito il driver dos viene fornito in un floppy insieme al mouse,
come capita per il driver cd. Però non sempre è una versione decente! :)
Francamente io non ricordo dove ho preso il 9.10,
probabilmente l'avrò trovato infilato dentro a qualche gioco...
una volta li si includevano spesso, proprio perché erano
frequenti i conflitti con le versioni precedenti.
Ma se cerchi con google qualcosa trovi ancora...
MaRoK

programma dos la presenza ad es. di 1000 kb di memoria convenzionale libera?
Ripeto, la memoria convenzionale è 640 Kb. Il resto sono aree riservate e
blocchi di memoria superiore. Al di sopra di 1 Mb, la memoria è gestita da
un driver e può essere vista come memoria estesa (XMS) o memoria espansa
(EMS).
Il dos a me non vede più di 64 Mb di memoria ma non è un grosso problema.
La maggior parte dei programmi dos ne richiede un paio di mega di memoria
XMS (o simulata EMS).

 per qualche altro driver, ma... non ho piů niente da metterci! :)
Beh, direi che nella lista qui sopra hai l'imbarazzo della scelta... ;-))


 NON viene redistribuito (rimane la frammentazione)
Questo e' un problema, infatti. E' sempre necessario avere un po' piu' di
memoria libera di quella necessaria, in modo da poter ammortizzare il
problema. 


 decente! :)
L'ultima versione di 
mouse.com
 e' di sicuro in tutti i mouse marchiati MS,
nonche' in tutte le versioni recenti del DOS e di Win3.x. Dubito che sia
Freeware... 


 Uhm... no, per quello non ho mai avuto problemi.
Vorrei aggiungere un paio di suggerimenti.
- Mscdex se caricato in config.sys con:
installhigh=x:\MSCDEX.EXE /d:mscd001 /v
viene caricato prima della partenza dell'autoexec e non si porterebbe
dietro anche l'environment come capita a tutti i prg caricati
nell'autoexec.
- Se si necessita del driver di tastiera io uso da sempre KeybIt di Pino
Navato, un tsr di 528 byte (si carica da solo in UMB) che fa 1000 cose
in piu' del 
keyb.com
 di microsoft perche' programmabile e coi tasti
rimappabili.
- Se non fa schifo avere un command interpreter degno di questo nome,
4dos al posto di 
command.com
, si carica da solo in Ems/Xms (mi occupa
432 byte di convenzionale e 7664 byte in UMB)
- Come mouse driver usavo l'8.20, occupava meno del 9.x, o all'occorenza
Gmouse (Genius mouse), che stava in 12Kb
-- 
-=[]=---iAN CooG---=[]=-
Judgement day the second coming arrives
Before you see the light, you must die!

   MSCDEX      28,400   (28K)          0    (0K)     28,400   (28K)
E lo smartdrive? Non dirmi che riesci a vivere senza! o_O
-- 
-=[]=---iAN CooG---=[]=-
Invalid operator detected!
Replace and press any key.

 perche' per ultimi non ci andranno mai...
Sì, se lasci che lo spazio venga assegnato in maniera casuale (o sequenziale)
è difficile che un driver "grosso", caricato per ultimo, trovi spazio:
è sempre meglio fare le cose come si deve, ordinando i driver all'avvio.
Cmq 20kb non sono tanti, tra quelli che carico è uno dei più piccoli.
MaRoK

 Gmouse (Genius mouse), che stava in 12Kb
Eh, li ho scartati entrambi perché vanno in conflitto con molti giochi.
MaRoK

 mettere un solo KB in memoria bassa...
Eh, sul vecchio computer lo posso tranquillamente fare,
ma il nuovo purtroppo ha il driver della soundblaster che richiede memoria EMS,
dunque lasciando l'XMS ho sì più memoria alta disponibile, ma non ho l'audio...
MaRoK

 E lo smartdrive? Non dirmi che riesci a vivere senza! o_O
ehehe :)
una volta, quando usavo solo il dos, lo caricavo sempre,
ora che la maggiorparte delle operazioni di scrittura su disco le faccio da win
non ne sento più la necessità
MaRoK

 provare lo trovi sul mio sito
Bello!
Bisognerebbe prima o poi riscrivere tutti i driver in maniera decente! :)
MaRoK

 una volta, quando usavo solo il dos, lo caricavo sempre,
Ah, ok. Pensavo si stava preparando una configurazione per dos puro.
-- 
-=[]=---iAN CooG---=[]=-
ANTIFAN #1 di Simone Crisari

 Questa sintassi va bene per qualunque driver caricato nell'autoexec?
Boh, direi di si', io ci caricavo anche ansi.sys. Poi si sa che tutto
dipende da macchina a macchina. Ricordo ancora dei Compaq Presario
all'apparenza uguali ma in alcuni se settavo LocalLoadHigh=1 in
System.ini non partivano nemmeno o_O;
-- 
-=[]=---iAN CooG---=[]=-
Invalid operator detected!


On 2003-03-10 perla...@richiedisul.NG said:
   >Newsgroups: it.comp.os.dos,it.comp.os.win.software

nettamer
Net-Tamer V 1.10.1  - Test Drive

 ma non ho l'audio... 
?!?!?!?!?!?
Che SoundBlaster hai? E, soprattutto, che driver? Non mi risulta che i
driver della SoundBlaster richiedano memoria EMS... 


 driver della SoundBlaster richiedano memoria EMS...
Ho una soundblaster pci 128, e il suo driver dos "
sbinit.com
"
se non trova memoria EMS mi fa piantare il computer.
Se qualcuno ha una versione dello stesso driver meno idiota
sarei lieto di collaudarla! :)
MaRoK

 se non trova memoria EMS mi fa piantare il computer.
Mi pare *davvero* strano. I computer con bus PCI non hanno mai avuto la
memoria EMS, la possono solo emulare con EMM386 e simili. Mi sembra
incredibile che un driver di una SB PCI 128 richieda memoria EMS. 
Non e' che per caso gli serve invece che certe aree di memoria superiore
siano libere per usarle lui? Magari se dici a EMM386 di creare memoria EMS
lui non occupa certi spazi e cosi' sbinit li puo usare. In caso contrario,
si blocca tutto. 


 si blocca tutto.
Bč, č possibile, perň di memoria alta libera con la XMS ne ho a bizzeffe,
sicuramente piů che con la EMS. E' strano che non funzioni...
MaRoK

 MaRoK
Per il motivo di sopra in my opinion.
Ciao
Pietro

 che si carica _solo_ in memoria convenzionale
Be', mal comune mezzo gaudio, ma non mi sembra molto normale,
anzi, mi sembra una bella porcata!
Non ci penso nemmeno di caricare il driver audio in memoria convenzionale! :)
Cmq alla fine ho capito il problema:
il parametro di emm386 che nella mia configurazione causava l'errore era I=B000-B7FF.
Evidentemente, come mi sembra avessi detto anche tu, sono indirizzi di memoria necessari
per il driver audio: se li trovava occupati si incazzava come una bestia e crashava il computer! :)
Tolto quel parametro posso tranquillamente caricare in memoria alta il driver audio
mantenendo NOEMS in emm386.
Trovo cmq strano che con la memoria EMS il parametro I=B000-B7FF non dia problemi,
misteri dell'informatica.
MaRoK

 far funzionare la scheda.
A questo punto mi sembra chiaro che la tua scheda audio necessita di
un'area di memoria alla locazione C800. Guarda caso, questa locazione
viene usata di default da EMM386, a meno che tu non la escluda con "X=" o
con "WIN=". 
Il problema di Marok deve essere qualcosa di molto simile...


 bizzeffe, sicuramente piů che con la EMS. E' strano che non funzioni...
Attento: la memoria alta libera e' comunque gestita da EMM386. Ogni 
programma che la vuole usare deve passare attraverso di lui. Evidentemente 
con il parametro NOEMS EMM386 assume il controllo di qualche area di 
memoria tra C000 e EFFF che serve alla SB128 per funzionare. A questo punto 
quella memoria viene mostrata come "libera" e ne viene precluso l'utilizzo 
alla SB128, causando il blocco del driver.
Anzi, magari 
sbinit.com
 viene caricato proprio in quella area di memoria e 
questo causa il vero e proprio blocco. Questo spiegerebbe il funzionamento 
nel caso di caricamento in memoria bassa.


 problemi, misteri dell'informatica.
Con il parametro RAM buona parte della memoria superiore viene usata per
la page frame dell'EMS. Evidentemente in tal caso 
sbinit.com
 va a finire
fuori da B000-B7FF e il problema non si presenta. Mah...


 misteri dell'informatica.
Ma sei certo che i 64 k di memoria dati dall'indirizzo ci sono
quando carichi con la memoria EMS ?
(mettendo l'opzione /V te ne accorgi)
quanti K ne vedi in totale di superiore ?
Nel bios hai controllato se è libero l'indirizzo in questione ?
Se venisse utilizzato dall'hardware del video
non ci sarebbe niente da fare !
Ciao, Pietro

 ma ne usa solo 6944 una volta caricato.
Mai sentito parlare di Keyit dell'Alberto Pasquale? Non mi sembra che
vada oltre i 700 *byte*
Fabrizio


Ho scoperto pochi giorni fa quello di Ranger, su 
www.rossi.eu.com
,
occupa solo 500 bytes!
Ora non resta che riscrivere anche tutti gli altri e siamo a posto! :)
MaRoK