[GEM Development] Newbie questions about OpenGEM

John Elliott jce at seasip.demon.co.uk
Sat Mar 17 02:24:30 PDT 2007


>  Any idea how much time I can expect GEM to take during it's timer routines?
> 
> Also is there anything I can do to minimize the amount of time it needs, or
> is that something that is fairly fixed? The distribution of GEM that my app
> would run under would be distributed with and for my app, so if it would
> help I'd consider making modifications to GEM to accommodate my app's
> requirements.

  The source for the GEM timer handler can be found in the AES source
tree in gemdosif.as (Pacific C builds) or gemdosif.a86 (Lattice C builds). 
What it does is:

1. If CMP_TICK is nonzero, decrement it and increase NUM_TICK by one. 
  If that caused CMP_TICK to become zero, queue a "tchange" event for next 
  time the dispatcher runs.

2. If gl_bdely is nonzero, then call b_delay(1). This will decrement
  gl_bdely by one; if it becomes zero, one or two "bchange" events will be
  queued.

  There's probably a maximum number of cycles that lot will take.

-- 
John Elliott


More information about the gem-dev mailing list