home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 59 / 059.d81 / key.s < prev    next >
Encoding:
Text File  |  1989-01-01  |  799 b   |  103 lines

  1. .org 49152       
  2. .mem
  3. ;.obj "key 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 #2
  29. sta counter
  30. n1 lda 653
  31. cmp #1
  32. beq +++
  33. lda 197
  34. cmp #7
  35. bne +
  36. jsr down
  37. jmp count
  38. + cmp #2
  39. bne +
  40. jsr right
  41. + jmp count
  42. + lda 197
  43. cmp #7
  44. bne +
  45. jsr up
  46. jmp count
  47. + cmp #2
  48. bne +
  49. jsr left
  50. + jmp count
  51.  
  52. count =*
  53.  
  54. dec counter
  55. lda counter
  56. beq +
  57. jmp n1
  58. + jmp norirq
  59.  
  60. remove =*
  61.  
  62. sei
  63. lda <norirq
  64. sta irqvec
  65. lda >norirq
  66. sta irqvec+1
  67. cli
  68. rts
  69.  
  70. up =*
  71.  
  72. dec sprite+1
  73. rts
  74.  
  75. down =*
  76.  
  77. inc sprite+1
  78. rts
  79.  
  80. right =*
  81.  
  82. inc sprite
  83. lda sprite
  84. cmp #0
  85. bne +
  86. lda sprite+16
  87. eor #1
  88. sta sprite+16
  89. + rts
  90.  
  91. left =*
  92.  
  93. dec sprite
  94. lda sprite
  95. cmp #255
  96. bne +
  97. lda sprite+16
  98. eor #1
  99. sta sprite+16
  100. + rts
  101.  
  102. counter .byte 0
  103.