Advertisement
Guest User

with asm

a guest
Nov 22nd, 2012
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. set romsize 4k
  2.  
  3. dim mapx = a
  4. dim mapy = b
  5. dim pfy = c
  6. const mem = $A4
  7.  
  8. macro revb
  9. asm
  10. lda temp1
  11. and #$0F
  12. tax
  13. lda temp1
  14. lsr
  15. lsr
  16. lsr
  17. lsr
  18. tay
  19. lda rev_tbl_lo,x
  20. ora rev_tbl_hi,y
  21. sta temp1
  22. end
  23. end
  24.  
  25. COLUPF=$FF
  26. COLUBK=$00
  27.  
  28. playfield:
  29. ....XX...XX...XXX...XX...XX....
  30. ....X.X..X.X..X....X....X......
  31. ....XX...XX...XX....X....X.....
  32. ....X....X.X..X......X....X....
  33. ....X....X.X..XXX..XX...XX.....
  34. ...............................
  35. .....XX..XX....X....XX..XXX....
  36. ....X....X.X..X.X..X....X......
  37. .....X...XX...XXX..X....XX.....
  38. ......X..X....X.X..X....X......
  39. ....XX...X....X.X...XX..XXX....
  40. end
  41.  
  42. PROGRAMLOOP
  43. if joy0fire then let z = z | 1
  44. if !joy0fire && z then gosub DRAW_MAP
  45.  
  46. drawscreen
  47.  
  48. goto PROGRAMLOOP
  49.  
  50. DRAW_MAP
  51. if mapy > 39 then mapy = 0 else mapy = mapy + 4
  52. for pfy = 0 to 40 step 4
  53.  
  54. for mapx = 0 to 3
  55. temp1 = mapy | mapx
  56. temp1 = map[temp1]
  57. if mapx & 1 then callmacro revb
  58. temp2 = pfy | mapx
  59. mem[temp2] = temp1
  60. next
  61. if mapy > 39 then mapy = 0 else mapy = mapy + 4
  62. next
  63. z = 0
  64. return
  65.  
  66. data map
  67. %00001010, %11101000, %10001110, %00000000,
  68. %00001010, %10001000, %10001010, %00000000,
  69. %00001110, %11001000, %10001010, %00000000,
  70. %00001010, %10001000, %10001010, %00000000,
  71. %00001010, %11101110, %11101110, %00000000,
  72. %00000000, %00000000, %00000000, %00000000,
  73. %00001000, %00100110, %01110010, %00011100,
  74. %00001000, %00101001, %01001010, %00010010,
  75. %00000101, %01001001, %01110010, %00010010,
  76. %00000010, %10000110, %01001011, %11011100,
  77. %00000000, %00000000, %00000000, %00000000,
  78. %00000000, %00000000, %00000000, %00000000
  79. end
  80.  
  81. data rev_tbl_lo
  82. %00000000, %10000000, %01000000, %11000000
  83. %00100000, %10100000, %01100000, %11100000
  84. %00010000, %10010000, %01010000, %11010000
  85. %00110000, %10110000, %01110000, %11110000
  86. end
  87.  
  88. data rev_tbl_hi
  89. %00000000, %00001000, %00000100, %00001100
  90. %00000010, %00001010, %00000110, %00001110
  91. %00000001, %00001001, %00000101, %00001101
  92. %00000011, %00001011, %00000111, %00001111
  93. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement