home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / proasm / routines / amigaguide.r < prev    next >
Text File  |  1993-10-15  |  2KB  |  87 lines

  1.  
  2. ;---;  amigaguide.r  ;---------------------------------------------------------
  3. *
  4. *    ****    AmigaGuide support routines    ****
  5. *
  6. *    Author        Daniel Weber
  7. *    Version        0.10
  8. *    Last Revision    15.10.93
  9. *    Identifier    agu_defined
  10. *       Prefix        agu_    (AmigaGuide)
  11. *                 ¯    ¯¯
  12. *    Functions    ShowAmigaGuide
  13. *
  14. ;------------------------------------------------------------------------------
  15.  
  16.     IFND    agu_defined
  17. agu_defined    SET    1
  18.  
  19. ;------------------
  20. agu_oldbase    EQU __BASE
  21.     base    agu_base
  22. agu_base:
  23.  
  24. ;------------------
  25.     opt    sto,o+,ow-,q+,qw-        ;all optimisations on
  26.  
  27.  
  28. ;------------------------------------------------------------------------------
  29. *
  30. * ShowAmigaGuide    - show an AmigaGuide file
  31. *
  32. * INPUT:    a0:    pointer to a NewAmigaGuide structure (see include files)
  33. *
  34. * RESULT:    <none>
  35. *
  36. * NOTES:    following entries of the NAG structure should be set up:
  37. *        nag_Name, nag_ScreenName (if not WB), nag_BaseName,
  38. *        nag_Node (here you may select a specific node such
  39. *        as MAIN or SIMShortCuts etc. - <name> defined in a *.guide file
  40. *        @Node <name>)
  41. *
  42. *        f.e.:    nag_Name     -> dc.b "asm:asx/asxhelp.guide",0
  43. *            nag_BaseName -> dc.b "ASX.guide",0
  44. *            nag_Node     -> dc.b "MAIN",0
  45. *
  46. ;------------------------------------------------------------------------------
  47.     IFD    xxx_ShowAmigaGuide
  48. ShowAmigaGuide:
  49.     apushm
  50.     move.l    AmigaGuideBase(pc),d0        ;only supported if amigaguide
  51.     beq.s    .out                ;available
  52.  
  53.     move.l    a0,a5
  54.  
  55.     IFD    cws_homedir
  56.     move.l    cws_homedir(pc),(a5)    ;nag_Lock
  57.     bne.s    1$
  58.     ENDC
  59.  
  60.     move.l    DosBase(pc),a6
  61.     jsr    -600(a6)        ;GetProgramDir()
  62.     move.l    d0,(a5)            ;nag_Lock
  63.     beq.s    .out
  64.  
  65. 1$:    move.l    AmigaGuideBase(pc),a6
  66.     move.l    a5,a0
  67.     sub.l    a1,a1
  68.     jsr    -54(a6)            ;OpenAmigaGuideA()
  69.     move.l    d0,a0            ;(this way the program waits...)
  70.     jsr    -66(a6)            ;CloseAmigaGuide()
  71.  
  72. .out:    apopm
  73.     rts
  74.  
  75.     ENDC
  76.  
  77. ;--------------------------------------------------------------------
  78.  
  79.     base    agu_oldbase
  80.     opt    rcl
  81.  
  82. ;------------------
  83.     ENDIF
  84.  
  85.  end
  86.  
  87.