home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / DEVELOP / EXTCALL / GFA / EXTEST.GFA (.txt) < prev    next >
GFA-BASIC Atari  |  2000-12-26  |  14KB  |  66 lines

  1. '
  2. ' $m40960
  3. compiled!=BYTE{BASEPAGE+256}<>96
  4. '
  5. PRINT "// Excall Testprogram //"
  6. '
  7. ' (c)2000 RGF Software
  8. '
  9. ' Dieses Programm simuliert einen externen Aufruf
  10. ' über die eingegebende Funktionsadresse.
  11. '
  12. '
  13. '
  14. '
  15. PRINT CHR$(27);"e";
  16. PRINT
  17. PRINT "Enter adress to call: ";
  18. adress%=VAL(@input$)
  19. PRINT
  20. PRINT "Enter Par 1: ";
  21. par1&=VAL(@input$)
  22. PRINT
  23. PRINT "Enter Par 2: ";
  24. par2%=VAL(@input$)
  25. PRINT
  26. PRINT "Enter Par 3: ";
  27. par3&=VAL(@input$)
  28. PRINT
  29. '
  30. IF adress%>0
  31.   PRINT "call extern Function: $";HEX$(adress%)
  32.   PRINT "return: ";C:adress%(par1&,L:par2%,par3&)
  33.   PRINT "ok"
  34. ELSE
  35.   PRINT "program abort"
  36. ENDIF
  37. '
  38. PRINT CHR$(27);"f";
  39. CLOSE #1
  40. '
  41. > FUNCTION input$
  42.   $F%
  43.   LOCAL var$
  44.   var$=""
  45.   exit!=FALSE
  46.   DO
  47.     byte&=INP(2)
  48.     SELECT byte&
  49.     CASE 32 TO 126,129 TO 168
  50.       var$=var$+CHR$(byte&)
  51.       PRINT ;CHR$(byte&);
  52.     CASE 8
  53.       IF LEN(var$)>0
  54.         var$=LEFT$(var$,PRED(LEN(var$)))
  55.         PRINT ;CHR$(27);"D";
  56.         PRINT ;CHR$(27);"K";
  57.       ENDIF
  58.     CASE 13,27
  59.       exit!=TRUE
  60.     ENDSELECT
  61.     '
  62.   LOOP UNTIL exit!
  63.   PRINT
  64.   RETURN var$
  65. ENDFUNC
  66.