home *** CD-ROM | disk | FTP | other *** search
- /**********************************************************
- *--- (c) 1990 by toolbox & U.Schmitz --------------------*
- * MCOPY.C Programm demonstriert die Anwendung der *
- * mcopy Routine. Nach lesen der Bildschirmadresse über *
- * die Funktion vm_init wird der obere Bildschirmbereich *
- * in die untere Hälfte kopiert. *
- * Zu beachten ist dabei, daß maximal 64 KByte-Blöcke *
- * kopiert werden können. *
- **********************************************************/
-
- #include<stdio.h>
- #include<graph.h>
- #include<conio.h>
- #include<dos.h>
-
- extern void w_mcopy(unsigned int, unsigned int, unsigned
- int, unsigned int, unsigned int);
-
- unsigned int v_ram;
-
- /*--------------------------------------------------------*/
-
- int vm_modus (void)
- {
- union REGS regs;
- regs.h.ah = 0x0F;
- int86(0x10, ®s, ®s);
- return(regs.h.al);
- }
-
- /*--------------------------------------------------------*/
-
- void vm_init(void)
- {
- if (vm_modus() == 7)
- {
- v_ram = 0xb000;
- }
- else
- {
- v_ram = 0xb800;
- }
- }
- /*--------------------------------------------------------*/
-
- main()
- {
- vm_init();
- printf("Bildschirmspeicher beginnt bei %X \n",v_ram);
- getch();
- /* -->Segement,Offset,Anzahl Bytes,Zielsegment,Zieloffset */
- w_mcopy(v_ram,0,960,v_ram,1920);
- getch();
- }
-