// // puts the imagedata onto the screen. Every kind of image will be connverted // into a 15bit image. // // all routines written by Yannick Suter aka AsC/Nowadays! 1998 // // no comments. if you have questions email me: [asc@netlink.ch] #include"vbehead.h" #include "tim.h" extern TIMinf TIMinfo; unsigned long TVmode,additiv,Hmax,Wmax; #pragma aux ram2screen=\ "mov ecx,153600"\ "rep movsd"\ modify [edi ecx]\ parm [edi] [esi]; // main routine of the viewer! void view_tim(){ if(TIMinfo.picH > 200) Hmax = 200; else Hmax = TIMinfo.picH; if(TIMinfo.picW >= 320) { Wmax = 320; additiv = 0; } else { Wmax = TIMinfo.picW; additiv = (320-TIMinfo.picW); } TVmode = (0x10D|(1<<14)); if(TIMinfo.pmode == 0) view_4bit(); if(TIMinfo.pmode == 1) view_8bit(); if(TIMinfo.pmode == 2) view_15bit(); if(TIMinfo.pmode == 3) view_24bit(); getch(); textmode(); if(TIMinfo.pmode == 0) printf(" : 4bit picture\n"); if(TIMinfo.pmode == 1) printf(" : 8bit picture\n"); if(TIMinfo.pmode == 2) printf(" : 16bit picture\n"); if(TIMinfo.pmode == 3) printf(" : 24bit picture\n"); } void view_4bit(){ int x,y; unsigned char *picP; unsigned short *lfb; lfb = (unsigned short*)vbemode(); clear_screen(lfb); for(x=0;x<16;x++) TIMinfo.bit15_pal[x] = TIMinfo.bit4_pal[x*3+2] + (TIMinfo.bit4_pal[x*3+1] << 5) + (TIMinfo.bit4_pal[x*3] << 10); picP = TIMinfo.picdata_char; for(y=0;y