Newsgroup: it.comp.os.dos
Titolo: Comandi da tastiera

Su un vecchio portatile con SO dos dovrei dare dei comandi da tastiera
ALT+CTRL+F8 da mettere in autoexec.bat per attivare il turbo in
automatico.
Mi date una dritta, sono mooolto arruginito col dos.
Qualcuno mi passa qualche sito per ripassarmi i comandi batch.
UN grazie a tutti i vecchi del vecchio DOS.



prova con ANSI.SYS

Giovanni
Se il turbo è attivabile attraverso un programma è possibile creare
una combinazione di tasti con i codici escape di ansi.sys che chiamano
il programma stesso.
Qualcosa del genere (ora non ricordo bene):
ESC[codicescansione;"mioprogramma"13;p

 ESC[codicescansione;"mioprogramma"13;p
Mi sembra di capire che il serva una combinazione di tasti per arrivare 
il turbo.
IMHO non e` possibile emulare una combinazione di tasti da un file 
batch.  Se esiste un programma basta mandarlo in esecuzione.


Giovanni
ESC[code;string;...p
http://www.computerhope.com/ansisys.htm
Per esempio per lasciare CTRL+F1 basta scrivere
ESC[0;94;"
turbo.com
"13;p
dove ad ESC sostituisci il codice ascii di Esc (mi pare 27).
Purtroppo ora non posso provarlo e quindi sono impreciso nel
risponderti ma se crei un file, magari chiamato tasti.txt e poi da un
file batch fai:
type tasti.txt
allora se hai installato ansi.sys, il codice escape viene interpretato
e crea la combinazione di tasti.
La combinazione è possibile farla, in dos mi ero creato vari
combinazioni con dei tasti funzione in passato ma credo di aver perso
quel file e tuttora non ho un computer dos sottomano per provare.
Se ho tempo ci provo e poi riferisco.

Ti ringrazio.
Stavo pensando anche di creare un programma con qbasic che
mi butti fuori i caratteri, renderlo .exe .
Però la tua soluzione è migliore se funziona.


 Se ho tempo ci provo e poi riferisco.
Le combinazioni di tasti che crei non servono allo scopo richiesto 
nell'OP.  Se vengono create vengono riconosciute solo attraverso 
ansi.sys che poi le restituisce alla shell.
Servono per far si che a seguito di una certa combinazione venga mandata 
in esecuzione una sequenza di altri tasti che nell'esempio che hai 
riportato ("ESC[0;94;"
turbo.com
"13;p") fanno in modo che con "Ctrl+F1" 
la shell riceva il comando 
turbo.com
.  Se esiste un simile programma 
tutto OK.
Ma se ben ricordo abilitare/disabilitare il turbo e` una funzione del 
BIOS, in genere qualche estensione proprietaria, e Alpha non dice se ha 
a disposizione un programma per fare questa operazione.  se esiste basta 
mettere nel .bat il comando, senza bisogno di creare una combinazione di 
tasti.  IMO non e` possibile passare un comando al BIOS da un file 
batch, se non attraverso un programma e solo conoscendo quale interrupt 
e funzione bisogna chiamare.


 mi butti fuori i caratteri, renderlo .exe .
Come ho gia` scritto nella risposta a Gioacchino IMO non e` possibile, 
devi sapere quale interrupt e quale funzione del BIOS va chiamata.  In 
genere sono funzioni proprietarie del costruttore.
Se invece fra le utility di quel PC hai un programma che gia` fa quella 
funzione basta che lo chiami dall'autoexec.bat.


 wrote: >Per esempio per lasciare CTRL+F1 basta scrivere >ESC[0;94;"
turbo.com
"13;p Rettifico: [0;94;"
turbo.com
";13p 

Giovanni
Da un file batch č possibile creare un programmino con il debug che
accede alle porte 70h e 71h tramite chiamate assembler. Da lě (a
seconda della macchina dovresti trovare un pň di documentazione al
riguardo) accedere al bit specifico per modificarlo.
Per esempio:
********************
CMOS 2Dh - AMI Hi-Flex BIOS - CONFIGURATION OPTIONS 
Bitfields for AMI Hi-Flex BIOS configuration options:
Bit(s)  Description     (Table C032)
 7      Weitek Installed
 6      Floppy Drive Seek - turn off for fast boot
 5      Boot Order
        0 - Drive C:, then A:
        1 - Drive A:, then C:
 4      Boot Speed (0 - Low; 1 - High)
 3      External Cache Enable (1 = On)
 2      Internal Cache Enable (1 = On)
 1      Use Fast Gate A20 after boot (1 = On)
 0      Turbo Switch (1 = On)
********************
dall'interrupt list di ralph brown, un ottimo punto di partenza per
queste cose.
Naturalmente come ho detto sopra, l'esempio vale solo per quel tipo di
macchina perchč come dicevi prima, sono estensioni proprietarie e non
tutti i bios sono uguali.
Naturalmente massima attenzione a smanettare con quelle porte!

 ha scritto nel messaggio 
news:q684l1do453p59g8j...@4ax.com...


 Naturalmente massima attenzione a smanettare con quelle porte!
Il mio vecchio 286 aveva la combinazione ctrl+alt+'+' per il turbo e 
ctrl+alt+'-' per toglierlo.  Fra le utility del produttore c'e` ne era 
una che settava i registri e chiamava un interrupt, ma non ricordo quale.


Boo,  se avete qualche idea.
No, non hai capito bene... :-)
Non c'è nessun programma nascosto in esecuzione che si attiva se viene
premuta una sequenza.
Se TU vuoi settare una combinazione di tasti particolare per lanciare
uno specifico programma allora:
1) modifichi il config.sys ed aggiungi la riga:
DEVICE=C:\DOS\ANSI.SYS
2) Riavvi il computer
3) Il driver ANSI.SYS interpreta particolari sequenze (dette sequenze
escape) ed effettua particolari operazioni.
Puoi settare il colore di primo piano e lo sfondo oppure creare
combinazioni di tasti.
La combinazione di tasti Ctrl+F1 per attivare il programma 
turbo.com
 è
la seguente:
 [0;94;"
turbo.com
";13p
Tu mi dirai, ma il programma non lo ho. Ma a partire da una buona
documentazione specifica (cerca Ralph Brown su internet) si può
accedere direttamente all'hardware attraverso la porta 70h e 71h e
settare i bit specifici. Questo puoi farlo con qualsiasi linguaggio di
programmazione oppure puoi farlo con il debug, scrivendo del codice
assembler. Naturalmente deve avere una discreta conoscenza
dell'assembler ed un ottima conoscenza dell'hardware a tua
disposizione. Andare scriteriatamente a giocherellare con il Bios non
è una cosa troppo saggia.
Buona fortuna.

Giovanni
Non credo che chiamava un interrupt, molto probabilmente accedeva alle
porta 70h e 71h che sono quelle necessarie per accedere al bios.

 porta 70h e 71h che sono quelle necessarie per accedere al bios.
Ti garantisco che accedeva ad un interrupt.  Avevo disassemblato il 
programma.  Era nascosto fra le funzioni per l'accesso alla memoria 
estesa.  int 15 forse?


Giovanni
Si č l'INT 15.
http://www.ctyme.com/intr/rb-1730.htm
Naturalmente offre un accesso al bios ad un piů alto livello rispetto
ad una scrittura grezza sulla porta.
Se l'autore del post trova una documentazione tramite interrupt che
attiva e disattiva con una chiamata il turbo, il programma tende a
diventare facilissimo.

 Buona fortuna.
Ordunque,
forse non mi sono spiegato bene.
A mè non interessa creare una sequenza di tasti per attivare il turbo visto 
che
c'è gia, ALT+CTRL+F8.
Se avessi o fossi in grado di crearmi un programma che mi attiva il turbo 
sarei
a posto basta che lo metto in autoexec ed è fatta.
Quello che dicevo io è, chi è che intercetta la sequenza di tasti premuti e 
mi
attiva il turbo ? il dos standard ? non credo.
Forse un programma memorizzato nel bios e attivato dal dos ?
In pratica io dovrei mandare la sequenzadi tasti al DOS che non li stampa
a video ma li interpreta ! tipo il CTRL+ALT+DEL che resetta.
Ecco per esempio è possibile fare un reset mandando la combinazione di
tasti sopra in un file .bat !
Purtroppo io non sono in grado di crearmi un programmino in asm e
gestimi il bios interrupt ecc. è oltre le mie capacità.
Provo a cercare questo Ralph Brown magari di da qualche dritta.
Grazie dell'attenzione


Come ho gia` scritto IMO non e` possibile fare quello che vuoi.
Quasi sicuramente quella sequenza e` intercettata dal bios prima ancora 
di essere passata alla shell (come Ctrl+Alt+Del).   Il comando e` 
eseguito nel bios stesso tramite accesso alle porte che ha detto 
Gioacchino o tramite una chiamata ad interrupt.
Ma nel setup del PC con hai la possibilita` di settare la modalita` turbo?


 Grazie dell'attenzione
Come ho gia` scritto IMO non e` possibile fare quello che vuoi.
Quasi sicuramente quella sequenza e` intercettata dal bios prima ancora 
di essere passata alla shell (come Ctrl+Alt+Del).   Il comando e` 
eseguito nel bios stesso tramite accesso alle porte che ha detto 
Gioacchino o tramite una chiamata ad interrupt.
Ma nel setup del PC con hai la possibilita` di settare la modalita` turbo?
Ciao



scrisse:

Ma hai provato a premere il tasto CANC all'avvio del computer?
Controlla se nel menù c'è l'attivazione automatica del turbo.

Gioacchino o tramite una chiamata ad interrupt.
Infatti.

 Controlla se nel menù c'è l'attivazione automatica del turbo.
Oppure ESC.
