Mik
2014-03-20 10:37:09 UTC
Sono giorni che mi sto scervellando per risolvere
un problema ma dopo aver fatto innumerevoli prove
ancora non sono riuscito a venirne a capo, quindi
chiedo se qualche esperto del DOS puo' darmi una mano.
Sto sistemando un macchinario industriale a controllo
numerico. Questo CN prende le istruzioni (e restituisce
le informazioni relative al suo stato) da un PC attraverso
la porta seriale e con un programma di interfaccia
basato sul DOS.
Il computer da utilizzare a questo scopo e' un portatile
Panasonic (PII 300MHz) che ha uno schermo da 14"
(800x600 TFT) e win98 installato (teoricamente potrebbe
funzionare anche con un 286, il PC viene usato solo come
terminale).
Il problema e' che aprendo il programma di comunicazione,
lo schermo si riduce lasciando ai bordi dei margini neri e
questo anche in esecuzione a schermo intero (all'interno
del programma c'e' probabilmente qualche istruzione che lo
fa partire a 640x480).
Ho provato con altri portatili e tutti hanno piu' o meno
lo stesso comportamento salvo che alcuni hanno un tasto
che permette di espandere la videata (tasto che ovviamente
il portatile preposto all'utilizzo su questa macchina non ha).
Alcuni PC (portatili o fissi) espandono automaticamente
la finestra per usare tutto lo schermo, altri no.
Varie prove sono state fatte con win98, con XP, e con il
DOS di Win98 (DOS 7).
L'esito e' indipendente dal sistema operativo quindi
sembrerebbe un problema legato all'interazione del programma
usato dal CN con la scheda video del computer.
L'unica soluzione trovata fino ad ora e' stata quella di
installare Linux e far partire il programma di comunicazione
da DOSBox che emulando hardware diverso riesce a forzare lo
schermo a scalare in 800x600 l'applicazione che nativamente
parte a 640x480... Peccato che questa soluzione rallenti
terribilmente la comunicazione, rendendo il macchinario
inutilizzabile.... forse troppi soft che girano uno sopra
l'altro.. Linux, Xorg, Dosbox e infine il programma "terminale").
L'ideale sarebbe riuscire a forzare lo schermo ad una
risoluzione per poi non cambiarla piu'... Esiste il modo,
usando magari ANSI.SYS (che non ho capito come usare nemmeno
dopo aver letto l'help) di forzare all'avvio una risoluzione
predefinita sullo schermo?
Premetto che i vari MODE CON: Lines=... sono gia' stati
provati senza successo... sembra che quando venga lanciato il
programma di comunicazione questo resetti tutti i comandi
lanciati precedentemente.
Spero di essermi spiegato abbastanza bene per poter ricevere
qualche suggerimento o spunto da cui partire.. ormai non so piu'
cosa provare...
Grazie anticipatamente
Saluti
Mik
un problema ma dopo aver fatto innumerevoli prove
ancora non sono riuscito a venirne a capo, quindi
chiedo se qualche esperto del DOS puo' darmi una mano.
Sto sistemando un macchinario industriale a controllo
numerico. Questo CN prende le istruzioni (e restituisce
le informazioni relative al suo stato) da un PC attraverso
la porta seriale e con un programma di interfaccia
basato sul DOS.
Il computer da utilizzare a questo scopo e' un portatile
Panasonic (PII 300MHz) che ha uno schermo da 14"
(800x600 TFT) e win98 installato (teoricamente potrebbe
funzionare anche con un 286, il PC viene usato solo come
terminale).
Il problema e' che aprendo il programma di comunicazione,
lo schermo si riduce lasciando ai bordi dei margini neri e
questo anche in esecuzione a schermo intero (all'interno
del programma c'e' probabilmente qualche istruzione che lo
fa partire a 640x480).
Ho provato con altri portatili e tutti hanno piu' o meno
lo stesso comportamento salvo che alcuni hanno un tasto
che permette di espandere la videata (tasto che ovviamente
il portatile preposto all'utilizzo su questa macchina non ha).
Alcuni PC (portatili o fissi) espandono automaticamente
la finestra per usare tutto lo schermo, altri no.
Varie prove sono state fatte con win98, con XP, e con il
DOS di Win98 (DOS 7).
L'esito e' indipendente dal sistema operativo quindi
sembrerebbe un problema legato all'interazione del programma
usato dal CN con la scheda video del computer.
L'unica soluzione trovata fino ad ora e' stata quella di
installare Linux e far partire il programma di comunicazione
da DOSBox che emulando hardware diverso riesce a forzare lo
schermo a scalare in 800x600 l'applicazione che nativamente
parte a 640x480... Peccato che questa soluzione rallenti
terribilmente la comunicazione, rendendo il macchinario
inutilizzabile.... forse troppi soft che girano uno sopra
l'altro.. Linux, Xorg, Dosbox e infine il programma "terminale").
L'ideale sarebbe riuscire a forzare lo schermo ad una
risoluzione per poi non cambiarla piu'... Esiste il modo,
usando magari ANSI.SYS (che non ho capito come usare nemmeno
dopo aver letto l'help) di forzare all'avvio una risoluzione
predefinita sullo schermo?
Premetto che i vari MODE CON: Lines=... sono gia' stati
provati senza successo... sembra che quando venga lanciato il
programma di comunicazione questo resetti tutti i comandi
lanciati precedentemente.
Spero di essermi spiegato abbastanza bene per poter ricevere
qualche suggerimento o spunto da cui partire.. ormai non so piu'
cosa provare...
Grazie anticipatamente
Saluti
Mik