home *** CD-ROM | disk | FTP | other *** search
/ Sauce 'n' Code 2 / sauce-n-code-02.adf / ASCII_Source / AGA_slideshow.asc next >
Text File  |  1995-07-02  |  5KB  |  191 lines

  1. MAIN:
  2. '         *****************************************************  
  3. '         *                                                   *  
  4. '         *    AGA Slideshow Engine for Showing GIF Files.    *  
  5. '         *      written by Freak of NFA for Ke¡/Carnage      *  
  6. '         *    This is meant for use in 2-disk productions    *  
  7. '         *                                                   *  
  8. '         *    Requires AMOS Pro Compiler and Kickstart 2.x   *  
  9. '         *    Requires "ZGif" in C: directory, uncrunched.   *  
  10. '         *                                                   *  
  11. '         *     This source code is Public Domain, please     *  
  12. '         *          credit the author if you use it!         *  
  13. '         *                                                   *  
  14. '         *****************************************************  
  15. '
  16. '
  17. '                **** NEW!! **** 
  18. '        Program uses "_COMMAND[]" procedure for AMOS 1.35 
  19. '        compatibility - you can change this to Exec "" if 
  20. '        you are using AMOS Professional.
  21. '
  22. _MAKESCREENS
  23. _ENVIRONMENT
  24.  
  25. PICS=20 : Rem - Total Number of pictures 
  26. PIC1=8 : Rem  - Number of pictures on disk one
  27. Dim PIC$(PICS)
  28.  
  29. _READTHEPICS
  30.  
  31. DERROR=0 : Rem ---- Disk Error Variable 
  32. '                   0 = No Errors  
  33. '                   1 = Disk not inserted, Escape Pressed  
  34. '                   2 = File not on disk 
  35. PIC=0
  36.  
  37. Do 
  38.    ' -------------------------------- Generate Picture Number 
  39.    Add PIC,1,1 To PICS
  40.    DISK$="Disk1:" : If PIC>PIC1 Then DISK$="Disk2:"
  41.    
  42.    _LOADTHEFILE
  43.    Exit If DERROR<>0
  44. Loop 
  45.  
  46. _CLEANUP
  47.  
  48. Procedure _MAKESCREENS
  49.    '-------------------------------- Make your loading screen here
  50.    Screen Open 0,640,256,2,Hires
  51.    Curs Off : Flash Off : Cls 0
  52.    Palette $448,$FFF
  53.    Hide : View 
  54.  
  55.    End Proc
  56. Procedure _ENVIRONMENT
  57.    
  58.    Amos Lock 
  59.    Break Off 
  60.    Request Wb 
  61.    Screen 0 : Gr Writing 0
  62.    
  63.    ' ------------------------------------------ use 3.0 Setpatch command, 
  64.    '                                          slideshow will then run in
  65.    '                                           mono on an A600 or A500+ 
  66.    _COMMAND["Run >Nil: <Nil: C:Setpatch >Nil:"]
  67.    _COMMAND["Resident >Nil: C:ZGif PURE"]
  68.    
  69.    ' ------------------------------- Use track Load to insert a Protracker
  70.    '                                 module in bank 3 if you want one, this 
  71.    '                                 will play it if it's there.
  72.    If Length(3)<>0
  73.       Led Off 
  74.       Track Loop On 
  75.       Track Play 3
  76.    End If 
  77.    
  78. End Proc
  79. Procedure _READTHEPICS
  80.    Shared PIC$(),PICS
  81.  
  82.    For PIC=1 To PICS
  83.       Read FILE$
  84.       PIC$(PIC)=FILE$
  85.    Next PIC
  86.  
  87.    ' ----------------------------- Pictures on disk 1 
  88.    Data "01.gif"
  89.    Data "02.gif"
  90.    Data "03.gif"
  91.    Data "04.gif"
  92.    Data "05.gif"
  93.    Data "06.gif"
  94.    Data "07.gif"
  95.    Data "08.gif"
  96.  
  97.    ' ----------------------------- Pictures on disk 2 
  98.    Data "09.gif"
  99.    Data "10.gif"
  100.    Data "11.gif"
  101.    Data "12.gif"
  102.    Data "13.gif"
  103.    Data "14.gif"
  104.    Data "15.gif"
  105.    Data "16.gif"
  106.    Data "17.gif"
  107.    Data "18.gif"
  108.    Data "19.gif"
  109.    Data "20.gif"
  110.  
  111.    End Proc
  112. Procedure _LOADTHEFILE
  113.    Shared DISK$,PIC$(),PIC,DERROR
  114.  
  115.    DERROR=0
  116.    ' ----------------------------------------- Is disk in drive?
  117.    If Exist(DISK$)=False Then _INSERTDISK
  118.    If DERROR<>0 Then Pop Proc
  119.  
  120.    ' ----------------------------------- Is file on disk ?
  121.    If Exist(DISK$+PIC$(PIC))=False
  122.       DERROR=2
  123.       Pop Proc
  124.    End If 
  125.  
  126.    ' ----------------------------------------- Load file into AMOS
  127.    Open In 1,DISK$+PIC$(PIC)
  128.       Reserve As Work 10,Lof(1)
  129.       Bload DISK$+PIC$(PIC),Start(10)
  130.    Close 1
  131.  
  132.    ' *********************************************************
  133.    '      INSERT ANY BANK DECRYPTION ROUTINES IN HERE!!!
  134.    ' *********************************************************
  135.  
  136.    ' --------------------------------------------------- Save to RAM
  137.    Bsave "Ram:Temp",Start(10) To Start(10)+Length(10)
  138.    Erase 10
  139.  
  140.    ' --------------------------------- Show it
  141.    Amos To Back 
  142.    _COMMAND["ZGif >Nil: Ram:Temp"]
  143.    Amos To Front 
  144.  
  145.    ' --------------------------------- Delete the file from RAM 
  146.    Kill "Ram:Temp"
  147.  
  148.    End Proc
  149. Procedure _INSERTDISK
  150.    Shared DISK$,DERROR
  151.  
  152.    ' ------------------------------- Insert your own disk-request here
  153.    Do 
  154.  
  155.       A$=Inkey$
  156.       If A$=Chr$(27) : Rem ------------ Check for Escape Key  
  157.          DERROR=1
  158.          Exit 
  159.       End If 
  160.  
  161.       Exit If Exist(DISK$)=True
  162.    Loop 
  163.  
  164.    End Proc
  165. Procedure _COMMAND[COM$]
  166.  
  167. '  Call the DOS Execute function   
  168.  
  169.    Dreg(1)=Varptr(COM$)
  170.    Dreg(2)=0
  171.    Dreg(3)=0
  172.    X=Doscall(-222)
  173.  
  174. End Proc
  175. Procedure _CLEANUP
  176.  
  177.    Track Stop 
  178.    Led On 
  179.  
  180.    Amos Unlock 
  181.    Break On 
  182.    Request On 
  183.  
  184.    End Proc
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.