home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / Geneve / 9640news / CAT14 / JOYSTMC.ARK < prev    next >
Text File  |  2006-10-19  |  2KB  |  68 lines

  1. ?
  2. ******************************************
  3. ***   A routine to check for JOYST     ***
  4. ***     for Monty Schmidt              ***
  5. ***                                    ***
  6. ***      by Mack McCormack             ***
  7. ***        Put >9800 in R13            ***
  8. ***                                    ***
  9. ******************************************
  10.  
  11.        DEF  JOYST
  12.  
  13. WS     EQU  >83E0
  14. GRMRD  EQU  >9800        READ GROM DATA
  15. GRMRA  EQU  >9802-GRMRD  READ GROM ADDRESS
  16. GRMWA  EQU  >9C02-GRMRD  LOAD GROM ADDRESS
  17.  
  18. JOYST  MOV  R11,R10      SAVE THE RT ADDR
  19.        LWPI WS           USE YOUR OWN WORKSPACE HERE
  20.        CLR  R12          SET CRU BASE ADDRESS TO 0
  21.        LI   R13,GRMRD    GRMRD ADDRESS
  22.  
  23.        BL   @PUTSTK      SAVE THE GROM STACK
  24.        SBO  >15          P5 OFF-ALPHA LOCK LINE
  25.        LI   R5,1         TYPE KEYBOARD
  26.        LI   R0,>0FFF
  27.        CLR  R6
  28.        LI   R12,>24      ROW BASE
  29.        LDCR @>30(R5),3
  30.        LI   R12,>0006    CRU BASE TO READ DATA
  31.        CLR  R3
  32.        SETO R4           CLEAN REGISTER FOR READ
  33.        STCR R4,5         READ THE LINE
  34.        SRL  R4,9
  35.        SLA  R4,1         TIMES 2 = INDEX INTO TABLE
  36.        AI   R4,>16E0     JOYSTICK TABLES IN GROM
  37.        MOVB R4,@GRMWA(R13)
  38.        MOVB @>83E9,@GRMWA(R13) FROM ADDRESS IS YOU R4LB
  39.        NOP               ALLOW TIME
  40.        MOVB *R13,@>8376  WHEREVER YOU WANT THE ADDRESS (Y VALUE)
  41.        MOVB *R13,@>8377  THIS IS X VALUE
  42. * THIS IS WHERE YOU CAN CHECK FOR THE CORRECT VALUE *
  43.        BL   @GETSTK      RESTORE THE STACK
  44.        JMP  JOYST        NEED TO LOOP HERE APPROPRIATELY
  45. *OUT   B    *R10         HERES WHERE TO RT
  46.  
  47. *-- THIS IS THE SAVE STACK SUBROUTINE --*                                PAGE 00
  48. PUTSTK INCT @>8373       SUBROUTINE STACK POINTER
  49.        MOVB @>8373,R4
  50.        SRL  R4,8
  51.        MOVB @GRMRA(R13),@>8300(R4)  SAVE ADDRESS ON STACK
  52.        MOVB @GRMRA(R13),@>8301(R4)
  53.        DEC  @>8300(R4)
  54.        RT
  55. *-- THIS ROUTINE RESTORES THE STACK --*
  56. GETSTK MOVB @>8373,R4    LOAD ADDR OF SUBROUTINE STACK
  57.        SRL  R4,8
  58.        DECT @>8373       NEW VALUE OF STACK POINTER
  59.        MOVB @>8300(R4),@GRMWA(R13)
  60.        MOVB @>8301(R4),@GRMWA(R13)
  61.        RT
  62.  
  63.        END
  64.  
  65. Download complete.  Turn off Capture File.
  66.  
  67.  
  68.