Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ti83pce.inc"
- .assume ADL=1
- .db tExtTok,tAsm84CeCmp
- .org userMem
- ;#macro safe_call(x) push iy \ ld iy,$D00080 \ call x \ pop iy #endmacro
- ;Reglage
- di
- ld hl,$F50000
- ld (hl),2
- xor a,a
- DGetKey:
- LD A,($F5001E)
- BIT 0,A
- CALL NZ,_Kdown
- BIT 1,A
- CALL nz,_Kleft
- BIT 2,A
- CALL nz,_Kright
- BIT 3,A
- CALL nz,_Kup
- AffichageTete:
- PUSH DE
- BIT 0,B
- CALL nz,_Adown
- BIT 3,B
- CALL nz,_Aup
- BIT 1,B
- CALL nz,_Aleft
- BIT 2,B
- CALL nz,_Aright
- CALL _SpriteA ; stake: 1.BC 2.HL
- POP BC
- POP HL
- POP IX
- POP IY
- PUSH HL
- PUSH DE
- LEA HL,IY
- GetMouveAfterA:
- LD C,(HL)
- BIT 0,C
- CALL nz,_AftermouveDown
- BIT 3,C
- CALL nz,_AftermouveUp
- BIT 1,C
- CALL nz,_AftermouveLeft
- BIT 2,C
- CALL nz,_AftermouveRight
- GetSpriteAfterA:
- POP BC
- POP HL
- LD A,(HL)
- PUSH HL
- CP A,C
- JP nz,GetSpriteAfterA_Rotation
- BIT 0,C
- CALL nz,_GetSpriteAADown
- BIT 3,C
- CALL nz,_GetSpriteAAUp
- BIT 1,C
- CALL nz,_GetSpriteAALeft
- BIT 2,C
- CALL nz,_GetSpriteAARight
- PUSH BC
- AffiSpriteAfterA:
- Call _SpriteA
- POP BC
- POP IX
- POP IY
- POP HL
- PUSH IX
- PUSH DE
- LEA DE,IY
- EXX
- AffQueue:
- PUSH DE
- LD C,(HL)
- BIT 0,C
- CALL nz,_AFFQDown
- BIT 3,C
- CALL nz,_AFFQUp
- BIT 1,C
- CALL nz,_AFFQLeft
- BIT 2,C
- CALL nz,_AFFQRight
- CALL _SpriteA
- POP HL
- POP BC
- POP IX
- POP IY
- PUSH HL
- PUSH DE
- PUSH IX
- PUSH BC
- LD HL,(AffHL4)
- LEA DE,IY
- Effacement:
- ld C,(HL)
- BIT 0,C
- CALL nz,_EffDown
- BIT 3,C
- CALL nz,_EffUp
- BIT 1,C
- CALL nz,_EffLeft
- BIT 2,C
- CALL nz,_EffRight
- LD HL,$FFFF
- CALL _SpriteA
- POP BC
- POP HL
- POP IX
- POP IY
- PUSH DE
- PUSH HL
- PUSH BC
- LEA HL,IY
- LEA DE,IX
- EXX
- JP DGetKey
- GetSpriteAfterA_Rotation:
- BIT 0,C
- CALL nz,_GetSpriteAARDown
- BIT 3,C
- CALL nz,_GetSpriteAARUp
- BIT 1,C
- CALL nz,_GetSpriteAARLeft
- BIT 2,C
- CALL nz,_GetSpriteAARRight
- JP AffiSpriteAfterA
- _Kdown:
- BIT 3,B
- JP nz,AffichageTete
- RES 1,B
- RES 2,B
- SET 0,B
- RET
- _Kup:
- BIT 0,B
- JP nz,AffichageTete
- RES 1,B
- RES 2,B
- SET 3,B
- RET
- _Kleft:
- BIT 2,B
- JP nz,AffichageTete
- RES 0,B
- RES 3,B
- SET 1,B
- RET
- _Kright:
- BIT 1,B
- JP nz,AffichageTete
- RES 0,B
- RES 3,B
- SET 2,B
- RET
- _Adown:
- POP IX
- LD (HL),B
- LD E,$11
- ADD HL,DE
- POP DE
- PUSH HL
- PUSH BC
- LD BC,$F00
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- PUSH IX
- LD HL,SpriteDownA
- RET
- _Aup:
- POP IX
- LD (HL),B
- LD E,$11
- SBC HL,DE
- POP DE
- PUSH HL
- PUSH BC
- LD BC,$F00
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- PUSH IX
- LD HL,SpriteUpA
- RET
- _Aleft:
- POP IX
- LD (HL),B
- DEC HL
- POP DE
- PUSH HL
- PUSH BC
- LD C,$B
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- PUSH IX
- LD HL,SpriteLeftA
- RET
- _Aright:
- POP IX
- LD (HL),B
- INC HL
- POP DE
- PUSH HL
- PUSH BC
- LD C,$B
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- PUSH IX
- LD HL,SpriteRightA
- RET
- _AftermouveDown:
- POP IY
- LD E,$11
- ADD HL,DE
- LEA DE,IX
- PUSH HL
- PUSH BC
- LD BC,$F00
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- PUSH IY
- RET
- _AftermouveUp:
- POP IY
- LD E,$11
- SBC HL,DE
- LEA DE,IX
- PUSH HL
- PUSH BC
- LD BC,$F00
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- PUSH IY
- RET
- _AftermouveLeft:
- POP IY
- DEC HL
- LEA DE,IX
- PUSH HL
- PUSH BC
- LD C,$B
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- PUSH IY
- RET
- _AftermouveRight:
- POP IY
- INC HL
- LEA DE,IX
- PUSH HL
- PUSH BC
- LD C,$B
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- PUSH IY
- RET
- _GetSpriteAADown:
- LD HL,SpriteAADown
- RET
- _GetSpriteAAUp:
- LD HL,SpriteAAUP
- RET
- _GetSpriteAALeft:
- LD HL,SpriteAALeft
- RET
- _GetSpriteAARight:
- LD HL,SpriteAARight
- RET
- _GetSpriteAARDown:
- LD HL,SpriteAARDown
- RET
- _GetSpriteAARUp:
- LD HL,SpriteAARUp
- RET
- _GetSpriteAARLeft:
- LD HL,SpriteAARLeft
- RET
- _GetSpriteAARRight:
- LD HL,SpriteAARRight
- RET
- _AFFQDown:
- POP IX
- LD E,$11
- ADD HL,DE
- POP DE
- PUSH HL
- LD BC,$F00
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- LD HL,SpriteAGdown
- PUSH IX
- RET
- _AFFQUp:
- POP IX
- LD E,$11
- SBC HL,DE
- POP DE
- PUSH HL
- LD BC,$F00
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- LD HL,SpriteAGup
- PUSH IX
- RET
- _AFFQLeft:
- POP IX
- DEC HL
- POP DE
- PUSH HL
- LD C,$B
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- LD HL,SpriteAGleft
- PUSH IX
- RET
- _AFFQRight:
- POP IX
- INC HL
- POP DE
- PUSH HL
- LD C,$B
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- LD HL,SpriteAGright
- PUSH IX
- RET
- _EffDown:
- LD (HL),0
- LD C,$11
- ADD HL,BC
- LD (AffHL4),HL
- LD BC,$F00
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- RET
- _EffUp:
- LD (HL),0
- LD C,$11
- SBC HL,BC
- LD (AffHL4),HL
- LD BC,$F00
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- RET
- _EffLeft:
- LD (HL),0
- DEC HL
- LD (AffHL4),HL
- LD C,B
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- RET
- _EffRight:
- LD (HL),0
- INC HL
- LD (AffHL4),HL
- LD C,$B
- EX DE,HL
- ADD HL,BC
- EX DE,HL
- RET
- _SpriteA:
- LD A,12
- CopyLineA:
- INC B \ LD C,$40
- LDIR
- LD C,$B
- EX DE,HL
- ADD hl,BC
- EX DE,HL
- DEC A
- JR nz,CopyLineA
- LD BC,$F0C
- EX DE,HL
- SBC HL,BC
- EX DE,HL
- RET
- .end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement