Il giorno mercoledì 2 aprile 2014 08:52:26 UTC+2, Bowlingbpsl ha scritto:
> In assenza di spiegazioni, si cerca di tirare ad indovinare. Ma in assenza
> di sfera di cristallo, non e' facile (e poi non e' carino parlare del
> posto dive il nonno attacca l'ombrello).
Si hai ragione non e' carino e ne prendo atto... facciamo che mi
son lasciato prendere dal nervosismo.
Per quanto riguarda le spiegazioni che dire.. ho fatto del mio meglio.
Purtroppo non sono un esperto, tutt'altro.
Posso tentare di spiegare (o meglio di indovinare) perche' secondo
me in ambiente DOS non ce la si puo' fare ad avere la schermata a
pieno video.
L' applicazione in oggetto una volta lanciata prende il controllo
del PC che trasforma in una sorta di terminale per comunicare
via seriale col macchinario con l'ausilio di una schermata
"semigrafica".
Come suggeriva molto giustamente ilChierico per far questo l'exe in
oggetto prende il controllo della scheda grafica imponendo una
risoluzione predefinita (credo 640x350... EGA insomma).
Lo schermo (TFT) del portatile utilizzato ha una risoluzione fissa di
800x600 e la sua scheda grafica e' incapace di allargare o stringere
l'immagine per occupare tutto lo schermo.
Risoluzione fissa vuol dire che da win98 e anche da winXP si ha il
desktop che prende tutto lo schermo solo se si imposta una risoluzione
di 800x600. Se si imposta 640x480 le icone rimangono alla stessa
grandezza solo il desktop prende una porzione piu' piccola di schermo ed
allo stesso modo impostando 1024x768 le icone non cambiano dimensione
ma il desktop e' "esteso" ovvero scorre spostandosi col mouse perche'
prende una parte piu' grande rispetto alla dimensione dello schermo.
Da cosa dipende questo comportamento? Beh penso che dipenda dal
connubio schermo/scheda grafica/driver di windows. WinXP usa gli
stessi driver di 96/98/2000... altri driver per questa Neomagic
usata da Panasonic sul CF27 sembra non ne siano stati fatti o almeno
non ne ho trovati.
In ambiente DOS puro (5.0, 6.22 o freeDOS non fa differenza) in assenza
di driver grafici specifici lo schermo funziona con la sua risoluzione
fissa nativa di 800x600 quindi bordi neri attorno a tutte le applicazioni
che si riescano a lanciare da DOS... schermata di DOS "
command.com"
compresa!
Altri portatili con schermo/scheda/driver diversi si comportano
diversamente allargando la videata a tutto schermo.
Siccome schermo e scheda grafica non si potevano cambiare, l'unica via
percorribile stava nel provare se un sistema operativo diverso poteva
gestire diversamente l'hardware usando appunto driver diversi e cosi'
per mia fortuna in effetti e' stato... con linux (o meglio xorg)...
anche la semplice console i bordi neri non li presenta.
Gli emulatori DOS per linux "emulano" appunto l'ambiente DOS, ma la
gestione dell'output grafico e' comunque lasciata al sistema operativo
sottostante, ovvero linux. Ora potremmo discutere del perche' con
dosemu funziona bene e con dosbox va meno bene ma non voglio andare
completamente OT visto che gia' in parte lo sono.
Altri dubbi restano, ma non so a questo punto se sono legati
a Linux, all'applicazione o al DOS emulato in cui gira (FreeDOS)...
Ad esempio perche' l'applicazione funzioni in un ambiente DOS emulato
solo da finestra grafica e non da console anche se su un DOS nativo
la grafica non sia necessaria.
Ad esempio perche' in DOS 5.0 o 6.22 per comunicare col macchinario
sia sufficiente l'applicazione .exe e invece con FreeDOS ci vogliano
nella stessa cartella altri files chiamati basrun.exe o simili...
Fatto sta che in questo modo la videata di controllo e' grande quanto
lo schermo e tanto mi basta ma questo solo in ambiente DOS emulato
e non nativo.
> Che orrore, ANSI.SYS.
> Nessuno che ricorda piu' AANSI dell'Alberto Pasquale, uno dei programmi
> piu' longevi della storia (sopravvissuto fino a W98SE, grosso modo).
Credo di averlo provato senza successo, forse non sapendo bene come
usarlo (ed ancora non l'ho capito). Da quel che mi e' sembrato e' comunque
molto basato sul ANSI.SYS originale, non so cosa aggiunga in piu'.
Sicuramente ho imparato alcune cose e molte altre invece mi sono ancora
da chiarire e non appena ne avro' il tempo faro' qualche altra prova
per vedere se posso imparare ancora qualcosa (ad esempio ad usare ANSI.SYS).
Mi scuso se sono andato troppo lungo e mi scuso se per qualcuno ho magari
scoperto l'acqua calda. Ripeto non sono un esperto, questa e' la
conclusione alla quale sono arrivato provando provando e riprovando.
La riporto qui sperando che magari possa essere utile a qualcuno che
trovandosi di fronte allo stesso fenomeno possa prendere da questa
mia "esperienza" uno spunto di partenza per risolvere il problema.
Saluti
Mik