# include <dos.h> int iCounter=0; void interrupt (*OldPrinterInterruptFunction)( ); void interrupt NewPrinterInterruptFunction( ); void interrupt (*OldTimerInterruptFunction)( ); void interrupt NewTimerInterruptFunction( ); int main( ) { OldPrinterInterruptFunction=getvect(0x17); setvect(0x17,NewPrinterInterruptFunction); OldTimerInterruptFunction=getvect(0x08); setvect(0x08,NewTimerInterruptFunction); keep(0,(_SS+(_SP/16)-_psp)); return 0; } //------------------ NewPrinterInterruptFunction( ) -------------------// void interrupt NewPrinterInterruptFunction( ) { if(_AH==0x00) { if(_AL>=\'a\' && _AL<=\'z\') _AL-=32; else if(_AL>=\'A\' && _AL<=\'Z\') _AL+=32; } (*OldPrinterInterruptFunction)( ); } //-------------------- NewTimerInterruptFunction( ) -------------------// void interrupt NewTimerInterruptFunction( ) { iCounter++; if(iCounter==182) setvect(0x17,OldPrinterInterruptFunction); else if(iCounter==364) { setvect(0x17,NewPrinterInterruptFunction); iCounter=0; } (*OldTimerInterruptFunction)( ); }