home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 59 / 059.d81 / joy.s < prev    next >
Text File  |  2022-08-26  |  952b  |  120 lines

  1. .org 49152       
  2. .mem
  3. ;.obj "joy driver 64.2"
  4.  
  5. sprite = 53248
  6. joy    = 56320
  7. irqvec = 788
  8. norirq = $ea31
  9.  
  10. nop
  11. nop
  12. nop
  13. jmp install
  14. jmp remove
  15.  
  16. install =*
  17.  
  18. sei
  19. lda <start
  20. sta irqvec
  21. lda >start
  22. sta irqvec+1
  23. cli
  24. rts
  25.  
  26. start =*
  27.  
  28. lda #3
  29. sta counter
  30. n1 lda joy
  31. and #31
  32. cmp #30
  33. bne +
  34. jsr up
  35. jmp count
  36. + cmp #29
  37. bne +
  38. jsr down
  39. jmp count
  40. + cmp #23
  41. bne +
  42. jsr right
  43. jmp count
  44. + cmp #27
  45. bne +
  46. jsr left
  47. jmp count
  48. + cmp #22
  49. bne +
  50. jsr up
  51. jsr right
  52. jmp count
  53. + cmp #21
  54. bne +
  55. jsr down
  56. jsr right
  57. jmp count
  58. + cmp #25
  59. bne +
  60. jsr down
  61. jsr left
  62. jmp count
  63. + cmp #26
  64. bne +
  65. jsr up
  66. jsr left
  67. + jmp count
  68.  
  69. count =*
  70.  
  71. dec counter
  72. lda counter
  73. beq +
  74. jmp n1
  75. + jmp norirq
  76.  
  77. remove =*
  78.  
  79. sei
  80. lda <norirq
  81. sta irqvec
  82. lda >norirq
  83. sta irqvec+1
  84. cli
  85. rts
  86.  
  87. up =*
  88.  
  89. dec sprite+1
  90. rts
  91.  
  92. down =*
  93.  
  94. inc sprite+1
  95. rts
  96.  
  97. right =*
  98.  
  99. inc sprite
  100. lda sprite
  101. cmp #0
  102. bne +
  103. lda sprite+16
  104. eor #1
  105. sta sprite+16
  106. + rts
  107.  
  108. left =*
  109.  
  110. dec sprite
  111. lda sprite
  112. cmp #255
  113. bne +
  114. lda sprite+16
  115. eor #1
  116. sta sprite+16
  117. + rts
  118.  
  119. counter .byte 0
  120.