
#include "vm.h"

struct TrackBase *TrackBase ;
struct DOSBase *DOSBase ;

struct VM_Construct *VM_C ;
struct VM_Lock *VM_L ;
struct VM_Lock *VM_L2 ;
char *mem ;

void
__saveds begin(void) {

   int i ;

   TrackBase = (struct TrackBase *)OpenLibrary("track.library",0) ;
   if (!TrackBase) 
      return ;
   DOSBase = TrackBase -> tb_DOSBase ;

   VM_C = VM_Open("datafile") ;

   VM_L = VM_AllocMem(VM_C,1024) ;
   VM_L2 = VM_AllocMem(VM_C,1024) ;
   mem = VM_Lock(VM_L2) ;

   if (mem)
      for(i=0;i<1024; i++) {
         mem[i] = i & 0xff ;
         }
   else
      Printf ("Lock failed\n") ;

   mem = VM_Lock(VM_L) ;

   if (mem)
      for(i=0;i<1024; i++) {
         mem[i] = i & 0xff ;
         }
   else
      Printf ("Lock failed\n") ;

   VM_ReadOnly(VM_L) ;

   VM_UnLock(VM_L2) ;
   VM_UnLock(VM_L) ;

   VM_Close(VM_C) ;

   CloseLibrary( (struct Library *) TrackBase ) ;
   }
