home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / subroutines / sonix_player_source.amos / sonix_player_source.amosSourceCode
AMOS Source Code  |  1993-07-31  |  3KB  |  115 lines

  1. GO
  2. Procedure GO
  3.    Screen Open 0,640,256,2,Hires
  4.    Palette 0,$FFF
  5.    Print "Please type in your full name ";
  6.    Pen 0
  7.    Input NAME$
  8.    Pen 1
  9.    NAME$=Upper$(NAME$)
  10.    CC=0
  11.    For FF=1 To Len(NAME$)
  12.       CC=CC+Asc(Mid$(NAME$,FF,1))
  13.    Next FF
  14.    If CC<>717 Then Print "Nice Try Hacker" : Wait 200 : Call 12345
  15.    GREETS
  16.    Reserve As Work 12,1024
  17.    A$="df1:instruments"
  18.    B$=Chr$(34)+Fsel$("*.smus","","Choose a Sonix File")+Chr$(34)
  19.    A$=A$+Chr$(255)
  20.    B$=B$+Chr$(254)
  21.    BSTART=Start(12)
  22.    BEND=BSTART+Length(12)
  23.    For F=1 To Len(A$)
  24.       Poke(BSTART-1)+F,Asc(Mid$(A$,F,1))
  25.    Next F
  26.    For F=1 To Len(B$)
  27.       Poke(BSTART-1)+F+Len(A$),Asc(Mid$(B$,F,1))
  28.    Next F
  29.    SONIX_PLAY
  30.    REPORT
  31. End Proc
  32. Procedure REPORT
  33.    Print "Running ";
  34.    Repeat 
  35.       Wait 50
  36.       Print ".";
  37.    Until Exist("sys:errorfile")
  38.    Print 
  39.    Open In 1,"sys:errorfile"
  40.    Do 
  41.       Exit If Eof(1)
  42.       ERR$=ERR$+Input$(1,1)
  43.    Loop 
  44.    Print ERR$
  45.    Print 
  46.    Close 1
  47.    Open Out 1,"sys:errorfile"
  48.    Print #1,"No Errors reported"
  49.    Close 1
  50. End Proc
  51. Procedure SONIX_PLAY
  52.    Reserve As Work 11,10000
  53.    BSTART=Start(12)
  54.    BEND=BSTART+Length(12)
  55.    FIN=Hunt(BSTART To BEND,Chr$(0))
  56.    For F=BSTART To FIN
  57.       LOOK=Peek(F)
  58.       LOOK$=Chr$(LOOK)
  59.       If LOOK$=Chr$(255) Then Exit 
  60.       INSDIR$=INSDIR$+LOOK$
  61.    Next F
  62.    For G=F+1 To FIN
  63.       LOOK=Peek(G)
  64.       LOOK$=Chr$(LOOK)
  65.       If LOOK$=Chr$(254) Then Exit 
  66.       TUNE$=TUNE$+LOOK$
  67.    Next G
  68.    TUNE$=TUNE$-".smus"
  69.    SONIX[INSDIR$,TUNE$]
  70. End Proc
  71. Procedure SONIX[PATH_FOR_INSTRUMENTS$,PATH_TO_TUNE$]
  72.    COMMAND$="df0:c/run > nil: df0:c/play > errorfile i="+PATH_FOR_INSTRUMENTS$+" "+PATH_TO_TUNE$
  73.    EXECUTE[COMMAND$]
  74.    Led Off 
  75. End Proc
  76. Procedure EXECUTE[COM$]
  77.    Rem *********************************************  
  78.    Rem * DOS CALL PROCEDURE                        *  
  79.    Rem * Written By D.Eckersley for TF Software    *  
  80.    Rem *********************************************
  81.    COM$=COM$+Chr$(0)
  82.    Dreg(1)=Varptr(COM$)
  83.    Dreg(2)=0
  84.    Dreg(3)=Start(11)
  85.    A=Doscall(-222)
  86. End Proc
  87. Procedure GREETS
  88.    Print "Access Granted ...."
  89.    Wait 50
  90.    Print "Hi there, you answered that last question correctly"
  91.    Print "Simple enough when you know your own name"
  92.    Print "For security, I have not printed your name om screen here as"
  93.    Print "that would mean that your name would be part of the ASCII of the program"
  94.    Print "Making it easy for Hackers to hack"
  95.    Print "What a ucrel tbsaard (anagram in case any kids are watching)"
  96.    Print "I can be to hackers eh ?"
  97.    Print "How about that for an idea for keeping out unauthourised people ?"
  98.    Print "To see what I mean, try giving another name instead !"
  99.    Print "This should give you an idea of what I am up to"
  100.    Print "Of course the version for release will have to have a decent front end"
  101.    Print "but this should give you some idea of what's possible"
  102.    Print 
  103.    Print "Also I notice that it somtimes refuses to play certain scores, "
  104.    Print "The problem seems to be with the Play routine itself (Not my program!)"
  105.    Print "As it doesn't work when typed directly into CLI either"
  106.    Print "I will of course try to solve it for the proper release"
  107.    Print 
  108.    Print "Hope you like what can be done so far"
  109.    Print "and thanks for the help and Ideas, and making me realize the potential "
  110.    Print "of this thing (the program I mean ,oo-er)"
  111.    Print 
  112.    Print "Press RETURN"
  113.    Repeat 
  114.    Until Inkey$=Chr$(13)
  115. End Proc