Category : C Source Code
Archive   : MSCHRT3.ZIP
Filename : TESTBIOS.C

 
Output of file : TESTBIOS.C contained in archive : MSCHRT3.ZIP
/*---------------------------------------------------------------------------
| Program TESTBIOS.C |
| |
| This program demonstrates the BIOS interrupt timing functionality of |
| MSCHRT V3 in a C environment. The user may select from several BIOS |
| interrupts to "exercise", and appropriate activity is generated. A |
| BIOS interrupt timer summary is then produced. MSDOS interrupt 21h |
| is timed in all cases, which will show the user the relationship between|
| operating system and hardware activity. |
| |
| (c)1989 Ryle Design, P.O. Box 22, Mt. Pleasant, MI 48804 |
| |
| V3.00 Microsoft C Shareware Evaluation Version |
---------------------------------------------------------------------------*/

#include
#include
#include

#include "pchrt.h"


void do_crt(void)
/*---------------------------------------------------------------------------
| This function enables both CRT & MSDOS interrupt timing, generates some |
| CRT activity, and displays the BIOS timer report. |
| |
| Globals referenced: none |
| |
| Arguments: void |
| |
| Returns : void |
---------------------------------------------------------------------------*/
{
int indx;

t_bios_start(CRT10+DOS21);

for (indx=0; indx<10; indx++) printf("Ryle Design ... Purveyors of Big Science\n");

t_bios_report(0);

t_bios_stop();

} /* do_crt */


void do_disk(void)
/*---------------------------------------------------------------------------
| This function enables both DISK & MSDOS interrupt timing, generates some|
| DISK activity, and displays the BIOS timer report. |
| |
| Globals referenced: none |
| |
| Arguments: void |
| |
| Returns : void |
---------------------------------------------------------------------------*/
{
int indx;
FILE *tfile;


t_bios_start(DISK+DOS21);

printf("Creating data file ... ");
tfile = fopen("TEST.XXX","wb");
printf("complete\n");

printf("Writing 32k bytes two bytes at a time ... ");
for (indx=0; indx<16384; indx++) fwrite((int *)indx,1,sizeof(int),tfile);
printf("complete.\n");

printf("Closing and erasing file ... ");
fclose(tfile);
unlink("TEST.XXX");
printf("complete.\n");

t_bios_report(0);

t_bios_stop();

} /* do_disk */


void do_printer(void)
/*---------------------------------------------------------------------------
| This function enables both PRT & MSDOS interrupt timing, generates some |
| printer activity, and displays the BIOS timer report. |
| |
| Globals referenced: none |
| |
| Arguments: void |
| |
| Returns : void |
---------------------------------------------------------------------------*/
{
int indx;
FILE *pfile;

printf("Make sure printer is online and ready. Press any key to continue >> ");
getch();

t_bios_start(PRT+DOS21);

pfile = fopen("PRN","wt");

for (indx=0; indx<10; indx++) fprintf(pfile,"Ryle Design ... Purveyors of Big Science\n");

fclose(pfile);

t_bios_report(0);

t_bios_stop();

} /* do_printer */


void main(void)
{
int indx;
long unsigned hits,elapsed;
char ts[13];

if (t_start() != TRUE)
{
printf("Insufficient heap for MSCHRT operation\n");
exit(0);
}

t_entry(0);

printf("TESTBIOS MSCHRT V3 Demonstration Series\n\n");
printf("Make sure files 10.INT, 13.INT, 17.INT, and 21.INT are in this directory\n\n");

do
{
printf("0 ... Profile BIOS interrupt 10h (CRT)\n");
printf("1 ... Profile BIOS interrupt 13h (Disk)\n");
printf("2 ... Profile BIOS interrupt 17h (Printer)\n");
printf("3 ... Exit\n");

printf("Select 0-3 >> ");
indx = getche();
indx -= '0';
printf("\n");

switch (indx)
{
case 0 : do_crt(); break;
case 1 : do_disk(); break;
case 2 : do_printer(); break;
}
}
while (indx != 3);

t_exit(0);
t_ask_timer(0,&hits,&elapsed);
t_stop();

printf("TestBios complete. Elapsed time %s\n",t_cvt_time(elapsed,ts) );

} /* TestBios */


  3 Responses to “Category : C Source Code
Archive   : MSCHRT3.ZIP
Filename : TESTBIOS.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/