Advertisement
Guest User

Untitled

a guest
Mar 12th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.85 KB | None | 0 0
  1. #include "ti83pce.inc"
  2. .assume ADL=1
  3. .db tExtTok,tAsm84CeCmp
  4. .org userMem
  5. ;#macro safe_call(x) push iy \ ld iy,$D00080 \ call x \ pop iy #endmacro
  6.  
  7.  
  8.  
  9.  
  10. ;Reglage
  11.  
  12. di
  13. ld hl,$F50000
  14. ld (hl),2
  15.  
  16. xor a,a
  17.  
  18. DGetKey:
  19. LD A,($F5001E)
  20. BIT 0,A
  21. CALL NZ,_Kdown
  22. BIT 1,A
  23. CALL nz,_Kleft
  24. BIT 2,A
  25. CALL nz,_Kright
  26. BIT 3,A
  27. CALL nz,_Kup
  28.  
  29. AffichageTete:
  30. PUSH DE
  31. BIT 0,B
  32. CALL nz,_Adown
  33. BIT 3,B
  34. CALL nz,_Aup
  35. BIT 1,B
  36. CALL nz,_Aleft
  37. BIT 2,B
  38. CALL nz,_Aright
  39.  
  40. CALL _SpriteA ; stake: 1.BC 2.HL
  41.  
  42. POP BC
  43. POP HL
  44. POP IX
  45. POP IY
  46. PUSH HL
  47. PUSH DE
  48. LEA HL,IY
  49.  
  50. GetMouveAfterA:
  51. LD C,(HL)
  52. BIT 0,C
  53. CALL nz,_AftermouveDown
  54. BIT 3,C
  55. CALL nz,_AftermouveUp
  56. BIT 1,C
  57. CALL nz,_AftermouveLeft
  58. BIT 2,C
  59. CALL nz,_AftermouveRight
  60. GetSpriteAfterA:
  61. POP BC
  62. POP HL
  63. LD A,(HL)
  64. PUSH HL
  65. CP A,C
  66. JP nz,GetSpriteAfterA_Rotation
  67. BIT 0,C
  68. CALL nz,_GetSpriteAADown
  69. BIT 3,C
  70. CALL nz,_GetSpriteAAUp
  71. BIT 1,C
  72. CALL nz,_GetSpriteAALeft
  73. BIT 2,C
  74. CALL nz,_GetSpriteAARight
  75. PUSH BC
  76. AffiSpriteAfterA:
  77.  
  78. Call _SpriteA
  79.  
  80. POP BC
  81. POP IX
  82. POP IY
  83. POP HL
  84. PUSH IX
  85. PUSH DE
  86. LEA DE,IY
  87. EXX
  88.  
  89. AffQueue:
  90. PUSH DE
  91. LD C,(HL)
  92. BIT 0,C
  93. CALL nz,_AFFQDown
  94. BIT 3,C
  95. CALL nz,_AFFQUp
  96. BIT 1,C
  97. CALL nz,_AFFQLeft
  98. BIT 2,C
  99. CALL nz,_AFFQRight
  100.  
  101. CALL _SpriteA
  102.  
  103. POP HL
  104. POP BC
  105. POP IX
  106. POP IY
  107. PUSH HL
  108. PUSH DE
  109. PUSH IX
  110. PUSH BC
  111. LD HL,(AffHL4)
  112. LEA DE,IY
  113.  
  114. Effacement:
  115.  
  116. ld C,(HL)
  117. BIT 0,C
  118. CALL nz,_EffDown
  119. BIT 3,C
  120. CALL nz,_EffUp
  121. BIT 1,C
  122. CALL nz,_EffLeft
  123. BIT 2,C
  124. CALL nz,_EffRight
  125.  
  126. LD HL,$FFFF
  127. CALL _SpriteA
  128.  
  129. POP BC
  130. POP HL
  131. POP IX
  132. POP IY
  133. PUSH DE
  134. PUSH HL
  135. PUSH BC
  136. LEA HL,IY
  137. LEA DE,IX
  138. EXX
  139. JP DGetKey
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146. GetSpriteAfterA_Rotation:
  147. BIT 0,C
  148. CALL nz,_GetSpriteAARDown
  149. BIT 3,C
  150. CALL nz,_GetSpriteAARUp
  151. BIT 1,C
  152. CALL nz,_GetSpriteAARLeft
  153. BIT 2,C
  154. CALL nz,_GetSpriteAARRight
  155. JP AffiSpriteAfterA
  156.  
  157. _Kdown:
  158. BIT 3,B
  159. JP nz,AffichageTete
  160. RES 1,B
  161. RES 2,B
  162. SET 0,B
  163. RET
  164. _Kup:
  165. BIT 0,B
  166. JP nz,AffichageTete
  167. RES 1,B
  168. RES 2,B
  169. SET 3,B
  170. RET
  171. _Kleft:
  172. BIT 2,B
  173. JP nz,AffichageTete
  174. RES 0,B
  175. RES 3,B
  176. SET 1,B
  177. RET
  178. _Kright:
  179. BIT 1,B
  180. JP nz,AffichageTete
  181. RES 0,B
  182. RES 3,B
  183. SET 2,B
  184. RET
  185. _Adown:
  186. POP IX
  187. LD (HL),B
  188. LD E,$11
  189. ADD HL,DE
  190. POP DE
  191. PUSH HL
  192. PUSH BC
  193. LD BC,$F00
  194. EX DE,HL
  195. ADD HL,BC
  196. EX DE,HL
  197. PUSH IX
  198. LD HL,SpriteDownA
  199. RET
  200. _Aup:
  201. POP IX
  202. LD (HL),B
  203. LD E,$11
  204. SBC HL,DE
  205. POP DE
  206. PUSH HL
  207. PUSH BC
  208. LD BC,$F00
  209. EX DE,HL
  210. SBC HL,BC
  211. EX DE,HL
  212. PUSH IX
  213. LD HL,SpriteUpA
  214. RET
  215. _Aleft:
  216. POP IX
  217. LD (HL),B
  218. DEC HL
  219. POP DE
  220. PUSH HL
  221. PUSH BC
  222. LD C,$B
  223. EX DE,HL
  224. SBC HL,BC
  225. EX DE,HL
  226. PUSH IX
  227. LD HL,SpriteLeftA
  228. RET
  229. _Aright:
  230. POP IX
  231. LD (HL),B
  232. INC HL
  233. POP DE
  234. PUSH HL
  235. PUSH BC
  236. LD C,$B
  237. EX DE,HL
  238. ADD HL,BC
  239. EX DE,HL
  240. PUSH IX
  241. LD HL,SpriteRightA
  242. RET
  243. _AftermouveDown:
  244. POP IY
  245. LD E,$11
  246. ADD HL,DE
  247. LEA DE,IX
  248. PUSH HL
  249. PUSH BC
  250. LD BC,$F00
  251. EX DE,HL
  252. ADD HL,BC
  253. EX DE,HL
  254. PUSH IY
  255. RET
  256. _AftermouveUp:
  257. POP IY
  258. LD E,$11
  259. SBC HL,DE
  260. LEA DE,IX
  261. PUSH HL
  262. PUSH BC
  263. LD BC,$F00
  264. EX DE,HL
  265. SBC HL,BC
  266. EX DE,HL
  267. PUSH IY
  268. RET
  269. _AftermouveLeft:
  270. POP IY
  271. DEC HL
  272. LEA DE,IX
  273. PUSH HL
  274. PUSH BC
  275. LD C,$B
  276. EX DE,HL
  277. SBC HL,BC
  278. EX DE,HL
  279. PUSH IY
  280. RET
  281. _AftermouveRight:
  282. POP IY
  283. INC HL
  284. LEA DE,IX
  285. PUSH HL
  286. PUSH BC
  287. LD C,$B
  288. EX DE,HL
  289. ADD HL,BC
  290. EX DE,HL
  291. PUSH IY
  292. RET
  293. _GetSpriteAADown:
  294. LD HL,SpriteAADown
  295. RET
  296. _GetSpriteAAUp:
  297. LD HL,SpriteAAUP
  298. RET
  299. _GetSpriteAALeft:
  300. LD HL,SpriteAALeft
  301. RET
  302. _GetSpriteAARight:
  303. LD HL,SpriteAARight
  304. RET
  305. _GetSpriteAARDown:
  306. LD HL,SpriteAARDown
  307. RET
  308. _GetSpriteAARUp:
  309. LD HL,SpriteAARUp
  310. RET
  311. _GetSpriteAARLeft:
  312. LD HL,SpriteAARLeft
  313. RET
  314. _GetSpriteAARRight:
  315. LD HL,SpriteAARRight
  316. RET
  317. _AFFQDown:
  318. POP IX
  319. LD E,$11
  320. ADD HL,DE
  321. POP DE
  322. PUSH HL
  323. LD BC,$F00
  324. EX DE,HL
  325. ADD HL,BC
  326. EX DE,HL
  327. LD HL,SpriteAGdown
  328. PUSH IX
  329. RET
  330. _AFFQUp:
  331. POP IX
  332. LD E,$11
  333. SBC HL,DE
  334. POP DE
  335. PUSH HL
  336. LD BC,$F00
  337. EX DE,HL
  338. SBC HL,BC
  339. EX DE,HL
  340. LD HL,SpriteAGup
  341. PUSH IX
  342. RET
  343. _AFFQLeft:
  344. POP IX
  345. DEC HL
  346. POP DE
  347. PUSH HL
  348. LD C,$B
  349. EX DE,HL
  350. SBC HL,BC
  351. EX DE,HL
  352. LD HL,SpriteAGleft
  353. PUSH IX
  354. RET
  355. _AFFQRight:
  356. POP IX
  357. INC HL
  358. POP DE
  359. PUSH HL
  360. LD C,$B
  361. EX DE,HL
  362. ADD HL,BC
  363. EX DE,HL
  364. LD HL,SpriteAGright
  365. PUSH IX
  366. RET
  367.  
  368. _EffDown:
  369. LD (HL),0
  370. LD C,$11
  371. ADD HL,BC
  372. LD (AffHL4),HL
  373. LD BC,$F00
  374. EX DE,HL
  375. ADD HL,BC
  376. EX DE,HL
  377. RET
  378. _EffUp:
  379. LD (HL),0
  380. LD C,$11
  381. SBC HL,BC
  382. LD (AffHL4),HL
  383. LD BC,$F00
  384. EX DE,HL
  385. SBC HL,BC
  386. EX DE,HL
  387. RET
  388. _EffLeft:
  389. LD (HL),0
  390. DEC HL
  391. LD (AffHL4),HL
  392. LD C,B
  393. EX DE,HL
  394. SBC HL,BC
  395. EX DE,HL
  396. RET
  397. _EffRight:
  398. LD (HL),0
  399. INC HL
  400. LD (AffHL4),HL
  401. LD C,$B
  402. EX DE,HL
  403. ADD HL,BC
  404. EX DE,HL
  405. RET
  406.  
  407. _SpriteA:
  408. LD A,12
  409. CopyLineA:
  410. INC B \ LD C,$40
  411. LDIR
  412. LD C,$B
  413. EX DE,HL
  414. ADD hl,BC
  415. EX DE,HL
  416. DEC A
  417. JR nz,CopyLineA
  418. LD BC,$F0C
  419. EX DE,HL
  420. SBC HL,BC
  421. EX DE,HL
  422. RET
  423. .end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement