home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / Geneve / 9640news / CAT09 / CRRRDTC.ARK < prev    next >
Text File  |  2006-10-19  |  3KB  |  70 lines

  1. ?
  2. ********************************************************************************
  3. *
  4. * This routine will only work in the X-Basic environment.
  5. *
  6. * Pinouts required for the code below to operate
  7. *
  8. *   Modem            RS232
  9. *     8                19
  10. *
  11. * Save this file to disk as "DSK1.CD/S"
  12. *
  13. * To assemble use "DSK1.CD/S" as source name
  14. * then use "DSK1.CD/O" as object file name
  15. * hit enter for list file and options!
  16. *
  17. * After assembling then do the following to load from X-Basic:
  18. *
  19. * 10 CALL INIT
  20. *
  21. * 20 CALL LOAD("DSK1.CD/O")
  22. *
  23. * This will load the object code into memory!
  24. *
  25. * Now the code is loaded and ready to go!
  26. *
  27. * For a Carrier Detect use the following as a GOSUB in the X-Basic program
  28. *
  29. * 10 CALL LINK("CD",A$):: IF A$=CHR$(255) THEN (255= no carrier)
  30. * 20 RETURN                                    (128= carrier)
  31. *
  32. * To test this by itself change RETURN to GOTO 10 and call the modem!
  33. * You should get 255 with no carrier and 128 with a carrier!
  34. *
  35. *
  36. ********************************************************************************
  37.        DEF CD
  38. *
  39. SAVRTN DATA 0             *a block to hold return address
  40. RESULT DATA 0             *a block to hold result code
  41. CHECK  DATA >180          *the character 128
  42. NOCAR  DATA >1FF          *the character 255
  43. MYWS   BSS 32             *sets up registers for this routine
  44. CD     MOV 11,@SAVRTN     *load save return address
  45.        LWPI MYWS          *load my registers
  46.        LI 12,>1380        *load the CRU with the base address for RS232/2
  47.        MOV @CHECK,@RESULT *load RESULT block with carrier=yes
  48.        CLR 10             *clear counter
  49.        TB 27              *testing pin 19
  50.        JNE $+4            *if off then no carrier
  51.        JMP BASIC          *if on jump to BASIC
  52.        DEC 10             *the counter for 65000 counts
  53.        JNE $-8            *go back to TB 27
  54.        MOV @NOCAR,@RESULT *load RESULT with No carrier
  55. BASIC  CLR 0              *tells STRASG this is a simple variable
  56.        LI 1,1             *tells element number
  57.        LI 2,RESULT        *loads CPU beginning address using contents of R0-R2
  58.        BLWP @>2010        *send contents to STRASG utility
  59.        LWPI >83E0         *load GPL workspace registers
  60.        CLR 0              *clear R0 for the error check routine
  61.        MOVB 0,@>837C      *check for no errors
  62.        MOV @SAVRTN,11     *load saved return address
  63.        RT                 *return to calling routine
  64.        END
  65.  
  66.  
  67. Download complete.  Turn off Capture File.
  68.  
  69.  
  70.