如何使移植的游戏正常运行 上海 屠云轩 1994-02-25 由于硬盘、速度等的提高,使许多原先在PC_XT,PC_AT机上的优秀游戏程序不能在PC_286,PC_386上正常运行,其原因是多样的,但最突出的问题是:原先在PC_XT、PC_AT机上的游戏在PC_286,PC_386上运行时,游戏速度过快,使操作者无所适从,因此我用C语言编写了一段延时程序,来降低游戏程序的运行速度,使操作者能在PC_286、PC_386上正常地操纵游戏。 其原理主要是通过接管时钟中断IC(十六进制)来进行延时,用户可以通过改变参数COUNTER的值来延时的大小。 以下是我的源程序清单,已经在PC_286,BLAND C++环境下调试通过。 #include #include #define COUNT 200001 extern unsigned_heaplen=1024; extern unsigned_stklen=512; void interrupt(*old_handler)(void); void interrupt clk_sv(void); long counter; main() { old_handler=getvect(0x1c); setvect(ox1c,clk_sv); keep(0,(_SS+(_SP/16)-_psp)); } void interrupt cld_sv(void) { for(counter==01;counter