Advertisement
zamcsaba

Cucc

Dec 4th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DEF COL0 0x94
  2. DEF COL1 0x95
  3. DEF COL2 0x96
  4. DEF COL3 0x97
  5. DEF COL4 0x98
  6.  
  7. DEF SW 0x81
  8.  
  9. DEF SW_2_ON 0b00000100
  10. DEF SW_1_ON 0b00000010
  11. DEF SW_0_ON 0b00000001
  12.  
  13. DEF ARR_0_0 0b00000100
  14.  
  15. DEF ARR_1_0 0b01001000
  16. DEF ARR_1_1 0b00001000
  17.  
  18. DEF ARR_2_0 0b01010000
  19. DEF ARR_2_1 0b00010000
  20.  
  21. DEF ARR_3_0 0b01100000
  22. DEF ARR_3_1 0b00100000
  23.  
  24. DEF ARR_4_0 0b01111000
  25. DEF ARR_4_1 0b01000000
  26. DEF ARR_4_2 0b01100000
  27. DEF ARR_4_3 0b01110000
  28.  
  29.  
  30.     CODE
  31.    
  32. start:
  33.     MOV r0, SW
  34.    
  35.     TST r0, #SW_0_ON
  36.     JNZ start_t
  37.     JSR villog
  38.     JMP start
  39.     start_t:
  40.         JSR draw
  41.         JMP start
  42.    
  43. villog:
  44.     JSR reset
  45.     JSR wait
  46.     JSR draw
  47.     JSR wait
  48.     JMP start
  49.    
  50. draw:
  51.     JSR reset
  52.     JSR arrow_dbdga
  53.     RTS
  54.    
  55. wait:
  56.     ADD r5, #15
  57.     ADC r6, #0
  58.     ADC r7, #0
  59.     JNC wait
  60.     RTS
  61.    
  62. wait_short:
  63.     MOV r0, SW
  64.     TST r0, #SW_2_ON
  65.    
  66.     JNZ wait_short_t        
  67.     RTS
  68.    
  69.     wait_short_t:
  70.         ADD r5, #100
  71.         ADC r6, #0
  72.         ADC r7, #0
  73.         JNC wait_short
  74.         RTS
  75.    
  76.    
  77. reset:
  78.     MOV r0, 0x00
  79.     MOV COL0, r0
  80.     MOV COL1, r0
  81.     MOV COL2, r0
  82.     MOV COL3, r0
  83.     MOV COL4, r0
  84.    
  85.     RTS
  86.  
  87. arrow_dbdga:
  88.     MOV r0, SW
  89.     TST r0, #SW_1_ON
  90.    
  91.     JNZ arrow_dbdga_t
  92.     JSR arrow_left_dbdga
  93.     RTS
  94.    
  95.     arrow_dbdga_t:
  96.         JSR arrow_right_dbdga
  97.         RTS
  98.    
  99. arrow_left_dbdga:
  100.     MOV r0, #ARR_0_0
  101.     MOV COL0, r0
  102.    
  103.     JSR wait_short
  104.    
  105.     MOV r0, #ARR_1_1
  106.     MOV COL1, r0
  107.    
  108.     JSR wait_short
  109.    
  110.     MOV r0, #ARR_2_1
  111.     MOV COL2, r0
  112.    
  113.     JSR wait_short
  114.    
  115.     MOV r0, #ARR_3_1
  116.     MOV COL3, r0
  117.    
  118.     JSR wait_short
  119.    
  120.     MOV r0, #ARR_4_1
  121.     MOV COL4, r0
  122.    
  123.     JSR wait_short
  124.    
  125.     MOV r0, #ARR_4_2
  126.     MOV COL4, r0
  127.     MOV r0, #ARR_3_0
  128.     MOV COL3, r0
  129.    
  130.     JSR wait_short
  131.    
  132.     MOV r0, #ARR_4_3
  133.     MOV COL4, r0
  134.     MOV r0, #ARR_2_0
  135.     MOV COL2, r0
  136.    
  137.     JSR wait_short
  138.    
  139.     MOV r0, #ARR_4_0
  140.     MOV COL4, r0
  141.     MOV r0, #ARR_1_0
  142.     MOV COL1, r0
  143.    
  144.     JSR wait_short
  145.    
  146.     RTS
  147.    
  148. arrow_right_dbdga:
  149.     MOV r0, #ARR_0_0
  150.     MOV COL4, r0
  151.    
  152.     JSR wait_short
  153.    
  154.     MOV r0, #ARR_1_1
  155.     MOV COL3, r0
  156.    
  157.     JSR wait_short
  158.    
  159.     MOV r0, #ARR_2_1
  160.     MOV COL2, r0
  161.    
  162.     JSR wait_short
  163.    
  164.     MOV r0, #ARR_3_1
  165.     MOV COL1, r0
  166.    
  167.     JSR wait_short
  168.    
  169.     MOV r0, #ARR_4_1
  170.     MOV COL0, r0
  171.    
  172.     JSR wait_short
  173.    
  174.     MOV r0, #ARR_4_2
  175.     MOV COL0, r0
  176.     MOV r0, #ARR_3_0
  177.     MOV COL1, r0
  178.    
  179.     JSR wait_short
  180.    
  181.     MOV r0, #ARR_4_3
  182.     MOV COL0, r0
  183.     MOV r0, #ARR_2_0
  184.     MOV COL2, r0
  185.    
  186.     JSR wait_short
  187.    
  188.     MOV r0, #ARR_4_0
  189.     MOV COL0, r0
  190.     MOV r0, #ARR_1_0
  191.     MOV COL3, r0
  192.    
  193.     JSR wait_short
  194.    
  195.     RTS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement