home *** CD-ROM | disk | FTP | other *** search
/ Dream 55 / Amiga_Dream_55.iso / RISCOS / MAGAZINE / NEWS / PCE021.ZIP / Pce021 / Src / s / timer < prev    next >
Text File  |  1998-07-24  |  1KB  |  63 lines

  1. ;    timer.s
  2. ;    -------
  3. ;    PC Engine timer emulation
  4. ;    by Paul Clifford
  5. ;
  6. ;    Started 16 August 1997
  7.  
  8.  
  9. ;    ------------------------------------------------------------------------
  10.  
  11.     AREA    |timer$$code|, CODE, READONLY
  12.  
  13.  
  14. ;    void Timer_Write(uhalf address, ubyte value)
  15. ;    Timer write port
  16. Timer_Write
  17.     EXPORT    Timer_Write
  18.     cmp    r0, #1
  19.     movgts    pc, r14
  20.     ldrlt    r2, adrof_timer_load
  21.     ldreq    r2, adrof_timer_status
  22.     andlt    r1, r1, #0x7f
  23.     andeq    r1, r1, #1
  24.     str    r1, [r2, #0]
  25.     movs    pc, r14
  26. ;    ubyte Timer_Read(uhalf address)
  27. ;    Timer read port
  28. Timer_Read
  29.     EXPORT    Timer_Read
  30.     cmp    r0, #1
  31.     ldrlt    r1, adrof_timer_value
  32.     ldreq    r1, adrof_timer_status
  33.     movgt    r0, #0
  34.     ldrle    r0, [r1, #0]
  35.     movs    pc, r14
  36.  
  37.  
  38. adrof_timer_value
  39.     DCD    timer_value
  40. adrof_timer_status
  41.     DCD    timer_status
  42. adrof_timer_load
  43.     DCD    timer_load
  44.  
  45.  
  46. ;    ------------------------------------------------------------------------
  47.  
  48.     AREA    |timer$$data|, DATA
  49.  
  50.  
  51. timer_value
  52.     EXPORT    timer_value
  53.     DCD    0x7f
  54. timer_status
  55.     EXPORT    timer_status
  56.     DCD    0
  57. timer_load
  58.     EXPORT    timer_load
  59.     DCD    0x7f
  60.  
  61.  
  62.     END
  63.