1

Bonjour,

j'ai fait un prog pour Ion seulement le hic c'est que je voudrais aussi qu'il marche avec la commande send(9prgm mais ca marche pas. sad

j'ai essayé de le compiler differement mais ca bug aidez moi svp

merci infiniment

2

Il faut simplement que tu change ton header par celui là :

.nolist
#include "ion.inc"
#define bcall(xxxx)	rst 28h \ .dw xxxx

.list
.org progstart-2
.db $BB,$6D
start:


Par contre le 'send(9prgmTRUC' ne marche que pour les TI 83, pour les TI 83+ c'est simplement : 'Asm(prgmTRUC'.

3

merci beaucoup pour ta réponse si rapide je vais tester ca tout de suite smile

+

4

j'arrive à compiler mais ca marche send(9prgmTRUC marche toujours pas sad

je dois le compiler avec quoi alors ?

5

Essaye ça :

6

non ca ne marche toujours pas sad j'ai essayé avec ton prog test et ca ne marche pas non plus sad

ps : c'est bien l'emulateur de la 83

7

Pour compiler avec ce que je t'ai passer il faut que ta source (avec l'header ./2) soit dans le même répertoire, ensuite tu compiles en laissant le fichier : 'Compiler.bat' et en tapant dans la fenetre 'asm LeNomDuProgramme' (sans spécifier l'éxtentions pour le nom du programme). Par contre il faut que ta source soit bien dans un des deux format '.z80' ou '.asm'.

8

temppb1.jpg

edit : en revanche le fichier 8xp marche sous l'emulateur 83 + avec la commande asm(...

editn 2 : le code du programme test :

.NOLIST
#include "ion.inc"

.LIST

.org progstart-2
.db $BB,$6D

start:

	bcall(_clrLCDFull)
	ret

.end
END


+

9

C'est ton fichier 'test.z80' ou le mien ? Parce que si c'est le mien essaye plutot ça :

.nolist 
#include "ion.inc" 
#define bcall(xxxx)	rst 28h \ .dw xxxx 
 
.list 
.org progstart-2 
.db $BB,$6D 
start:
	bcall(_clrLCDFull)
	ret

.end
END

10

ok je vais essayer smile


(merci pour ton aide)

11

sans succès sad ...

12

Hum... C'est bizarre que ça fasse ça. Mais pourquoi tu veux absolument un truc qui se lance sans shell ? Ce serai plus simple de programmer sous Ion.

'fin bon, essayes de trouver des tutos sur l'asm pour les TI 83 ou attends que quelqu'un d'autre qui s'y connais en asm passe par là...

13

Mais pourquoi tu veux absolument un truc qui se lance sans shell


parce que c'est moins long à recopier smile

14

Ah t'as pas de câble ? Tu recopies ça en héxa ?

15

Hein quoi ? faut le recopier en hexadécimale ? on fait comment ?? confus

16

Nan mais je te demande juste. T'as le câble ou pas ? Tu fait comment pour programmer en asm ? (Sinon oui, tu peux programmer en héxa sur ta TI, c'est comme pour faire un programme BASIC, avec le même éditeur, mais par contre c'est bien plus compliqué).

Tiens, tu peux peut être lire ça pour te renseigner : http://perso.orange.fr/f5zv/AMIS/TI/TIIM/TIIM9.htm

17

en fait non je n'ai pas le cable mais à j'aimerais bien faire des progs pour 82 stat en asm...
j'imagine qu'une fois compilés il n'y a qu'à les ouvrir avec ti graph link puis les recopier sur sa ti non ?

18

je crois que je vais enfin trouver le bon header !! http://www.ticalc.org/programming/columns/83-asm/killewald/vol1.html

19

EUREKA ! CA MARCHE

merci encore a toi Deeph, c'est très sympa de ta part de m'avoir aidé smile

+

20

(Non, il ne suffit pas de le compiler et de l'ouvrir avec TI Graph Link pour pouvoir l'avoir en héxa, il faut plutot ouvrir le fichier '.lst' (ou '.obj' s'il éxiste) et recopier les valeurs héxa (la troisième colonne dans le fichier '.lst')). Par contre si jamais tu te trompes quelque part dans ton programme et que ça te fait un 'Mem Cleared' t'as plus qu'a tout recopier neutral (donc si vraiment t'es interessé dans la programmation sur TI achète toi un câble, au moins tu pourras lancer tous les programmes Asm (Ion/Ashell/etc...), en faire des sauvegardes sur PC, etc...).

21

Je te le conseille aussi. C'est vraiment merdique de recopier, surtout si t'as un bug dans le programme: tu sais pas si tu t'es planté ou si c'est juste un bug...

22

donc si j'ai bien compris il faut que je recopie ce que j'ai mis en gras puis je fais avec send(9prgm et ca marche ?

0001 0000 #define TI83
0002 0000 ;-------------= Fall Down =-------------
0003 0000 ; Author: Ian Graf (port)
0004 0000 ; (ian_graf@geocities.com)
0005 0000 ; Florent Dhordain (original)
0006 0000 ; (flo.dh@usa.net)
0007 0000 ; Ahmed El-Helw (original)
0008 0000 ; (ahmedre@bellsouth.net)
0009 0000 ; Version: 1.5
0010 0000 ; Platform: ION
0011 0000 ; Date: 11/3/99
0012 0000 ;---------------------------------------
0013 0000
0014 0000
0015 0000 #define ballx saferam1 ; 1 byte - ball x coord
0016 0000 #define bally ballx+1 ; 1 byte - ball y coord
0017 0000 #define blockcnt bally+1 ; 1 byte - num blocks
0018 0000 #define score blockcnt+1 ; 2 bytes - score
0019 0000 #define tmpx score+2 ; 1 byte - temp x coord
0020 0000
0021 0000
0022 0000 ;---------------= header =--------------
0023 0000
0026 0000 .list
0027 0000~ #ifdef TI83P
0028 0000~ .org progstart-2
0029 0000~ .db $BB,$6D
0030 0000 #else
0031 9327 .org progstart
0032 9327 #endif
0033 9327 C9 ret
0034 9328 30 09 jr nc,start_of_program
0035 932A 46616C6C446F .db "FallDown",0
0035 9330 776E00
0036 9333
0037 9333
0038 9333 start_of_program:
0039 9333 CD 55 47 bcall(_clrlcdf) ;
0040 9336 11 00 04 ld de,4*256+0 ;
0041 9339 ED 53 0C 80 ld (currow),de ;
0042 933D 21 51 95 ld hl,titlestr ;
0043 9340 CD 0D 47 bcall(_puts) ;
0044 9343 01 37 00 ld bc,0*256+55 ; draw line
0045 9346 11 37 5E ld de,94*256+55 ;
0046 9349 CD E0 4A bcall(_darkline) ;
0047 934C 11 01 0A ld de,10*256+1 ; write "By AE, FD, and IG"
0048 934F ED 53 52 82 ld (pencol),de ;
0049 9353 21 5A 95 ld hl,authorstr ;
0050 9356 CD 81 47 bcall(_vputs) ;
0051 9359 11 04 16 ld de,22*256+4 ; write "2nd - Start"
0052 935C ED 53 52 82 ld (pencol),de ;
0053 9360 CD 81 47 bcall(_vputs) ;
0054 9363 11 04 1D ld de,29*256+4 ; write "ALPHA - Speed:"
0055 9366 ED 53 52 82 ld (pencol),de ;
0056 936A CD 81 47 bcall(_vputs) ;
0057 936D 11 04 24 ld de,36*256+4 ; write "CLEAR - Exit:"
0058 9370 ED 53 52 82 ld (pencol),de ;
0059 9374 CD 81 47 bcall(_vputs) ;
0060 9377 11 01 37 ld de,55*256+1 ; write "High: "
0061 937A ED 53 52 82 ld (pencol),de ;
0062 937E CD 81 47 bcall(_vputs) ;
0063 9381 2A AC 95 ld hl,(high) ;
0064 9384 CD 7C 4A bcall(_setxxxxop2) ; write high score
0065 9387 CD C2 41 bcall(_op2toop1) ;
0066 938A 3E 05 ld a,5 ;
0067 938C CD D4 51 bcall(_dispop1a) ;
0068 938F 11 35 1D updatm: ld de,29*256+53 ; write speed
0069 9392 ED 53 52 82 ld (pencol),de ;
0070 9396 3A AE 95 ld a,(speed) ;
0071 9399 CD 74 4A bcall(_setxxop1) ;
0072 939C CD D4 51 bcall(_dispop1a) ;
0073 939F CD 18 4A menul: bcall(_getk) ;
0074 93A2 FE 0F cp 15 ; [CLEAR]
0075 93A4 C8 ret z ; quit
0076 93A5 FE 30 cp 48 ; [ALPHA]
0077 93A7 20 09 jr nz,nchngs ;
0078 93A9 21 AE 95 ld hl,speed ; change num players
0079 93AC 7E ld a,(hl) ;
0080 93AD EE 03 xor %00000011 ;
0081 93AF 77 ld (hl),a ;
0082 93B0 18 DD jr updatm ;
0083 93B2 FE 36 nchngs: cp 54 ; [2nd]
0084 93B4 20 E9 jr nz,menul ;
0085 93B6 CD 5B 51 bcall(_cleargbuf) ;
0086 93B9 21 00 00 ld hl,0 ; reset score
0087 93BC 22 68 82 ld (score),hl ;
0088 93BF 21 65 82 ld hl,ballx ;
0089 93C2 36 2C ld (hl),44 ; ballx = 44
0090 93C4 23 inc hl ;
0091 93C5 36 00 ld (hl),0 ; bally = 0
0092 93C7 CD 4E 94 init: call randomblocks ;
0093 93CA 2A 68 82 ld hl,(score) ;
0094 93CD 29 add hl,hl ; hl = score*2
0095 93CE 3E 18 ld a,24 ;
0096 93D0 94 sub h ;
0097 93D1 47 ld b,a ;
0098 93D2 78 sloop: ld a,b ;
0099 93D3 32 67 82 ld (blockcnt),a ;
0100 93D6 CD 9D 94 call scroll ;
0101 93D9 CD B1 94 call checkcoll ; check collisions
0102 93DC CD 42 95 call putball ; draw ball
0103 93DF CD B6 91 call ionFastCopy ;
0104 93E2 CD 42 95 call putball ; clear ball
0105 93E5 FB ei ;
0106 93E6 3A AE 95 ld a,(speed) ;
0107 93E9 47 ld b,a ;
0108 93EA 76 delay: halt ;
0109 93EB 10 FD djnz delay ;
0110 93ED 3E FF ld a,$FF ;
0111 93EF D3 01 out (1),a ;
0112 93F1 3E FE ld a,$FE ;
0113 93F3 D3 01 out (1),a ;
0114 93F5 DB 01 in a,(1) ;
0115 93F7 CB 4F bit 1,a ; [(left)]
0116 93F9 28 1E jr z,moveleft ;
0117 93FB CB 57 bit 2,a ; [(right)]
0118 93FD 28 26 jr z,moveright ;
0119 93FF CD 18 4A donemv: bcall(_getk) ;
0120 9402 FE 0F cp 15 ; [CLEAR]
0121 9404 CA 0E 95 jp z,exit ;
0122 9407 FE 37 cp 55 ; [MODE]
0123 9409 20 06 jr nz,npause ;
0124 940B 3E 01 ld a,1 ; turn off calc
0125 940D D3 03 out (3),a ;
0126 940F FB ei ;
0127 9410 76 halt ;
0128 9411 3A 67 82 npause: ld a,(blockcnt) ;
0129 9414 47 ld b,a ;
0130 9415 10 BB djnz sloop ;
0131 9417 18 AE jr init ;
0132 9419
0133 9419 moveleft:
0134 9419 3A 65 82 ld a,(ballx) ;
0135 941C D6 02 sub 2 ;
0136 941E 38 DF jr c,donemv ; offscreen
0137 9420 32 6A 82 ld (tmpx),a ;
0138 9423 18 0E jr xcheck ;
0139 9425
0140 9425 moveright:
0141 9425 3A 65 82 ld a,(ballx) ;
0142 9428 C6 02 add a,2 ;
0143 942A FE 5C cp 96-4 ;
0144 942C 30 D1 jr nc,donemv ; offscreen
0145 942E 32 6A 82 ld (tmpx),a ;
0146 9431 C6 05 add a,5 ; check right side
0147 9433 21 66 82 xcheck: ld hl,bally ;
0148 9436 5E ld e,(hl) ;
0149 9437 CD B3 91 call ionGetPixel ;
0150 943A 7E ld a,(hl) ;
0151 943B B7 or a ;
0152 943C 20 C1 jr nz,donemv ; something in way
0153 943E 11 3C 00 ld de,5*12 ;
0154 9441 19 add hl,de ; something in way
0155 9442 7E ld a,(hl) ;
0156 9443 B7 or a ;
0157 9444 20 B9 jr nz,donemv ;
0158 9446 3A 6A 82 ld a,(tmpx) ;
0159 9449 32 65 82 ld (ballx),a ; move ball
0160 944C 18 B1 jr donemv ;
0161 944E
0162 944E
0163 944E randomblocks:
0164 944E 06 0C ld b,12 ; 12 blocks
0165 9450 21 F9 90 ld hl,grbuf+(60*12) ;
0166 9453 C5 rloop1: push bc ;
0167 9454 E5 push hl ;
0168 9455 06 04 ld b,4 ;
0169 9457 CD AA 91 call ionRandom ; one luck on 5 to have a hole
0170 945A E1 pop hl ;
0171 945B B7 or a ;
0172 945C 28 14 jr z,rloop3 ; skip space
0173 945E DD 21 AF 95 ld ix,block ;
0174 9462 11 0C 00 ld de,12 ;
0175 9465 06 04 ld b,4 ; 4 lines
0176 9467 E5 push hl ;
0177 9468 DD 7E 00 rloop2: ld a,(ix) ;
0178 946B 77 ld (hl),a ;
0179 946C DD 23 inc ix ;
0180 946E 19 add hl,de ;
0181 946F 10 F7 djnz rloop2 ;
0182 9471 E1 pop hl ;
0183 9472 23 rloop3: inc hl ;
0184 9473 C1 pop bc ;
0185 9474 10 DD djnz rloop1 ;
0186 9476 21 F9 90 ld hl,grbuf+(60*12) ;
0187 9479 06 0C ld b,12 ;
0188 947B AF xor a ;
0189 947C 4E rloop4: ld c,(hl) ;
0190 947D CB 09 rrc c ;
0191 947F CE 00 adc a,0 ;
0192 9481 10 F9 djnz rloop4 ;
0193 9483 FE 0C cp 12 ; less than 12 bricks
0194 9485 D8 ret c ;
0195 9486 06 0C ld b,12 ;
0196 9488 CD AA 91 call ionRandom ; put random space
0197 948B 21 F9 90 ld hl,grbuf+(60*12) ;
0198 948E 16 00 ld d,0 ;
0199 9490 5F ld e,a ;
0200 9491 19 add hl,de ;
0201 9492 06 04 ld b,4 ;
0202 9494 11 0C 00 ld de,12 ;
0203 9497 36 00 rloop5: ld (hl),0 ;
0204 9499 19 add hl,de ;
0205 949A 10 FB djnz rloop5 ;
0206 949C C9 ret ;
0207 949D
0208 949D
0209 949D 21 35 8E scroll: ld hl,grbuf+12 ;
0210 94A0 11 29 8E ld de,grbuf ;
0211 94A3 01 F4 02 ld bc,756 ;
0212 94A6 ED B0 ldir ;
0213 94A8 62 ld h,d ;
0214 94A9 6B ld l,e ;
0215 94AA 1C inc e ;
0216 94AB 70 ld (hl),b ;
0217 94AC 0E 0B ld c,11 ;
0218 94AE ED B0 ldir ;
0219 94B0 C9 ret ;
0220 94B1
0221 94B1
0222 94B1 checkcoll:
0223 94B1 3A 66 82 ld a,(bally) ;
0224 94B4 C6 06 add a,6 ;
0225 94B6 5F ld e,a ;
0226 94B7 3A 65 82 ld a,(ballx) ;
0227 94BA CD B3 91 call ionGetPixel ; check left
0228 94BD 7E ld a,(hl) ;
0229 94BE B7 or a ;
0230 94BF 20 23 jr nz,ndown ;
0231 94C1 3A 66 82 ld a,(bally) ;
0232 94C4 C6 06 add a,6 ;
0233 94C6 5F ld e,a ;
0234 94C7 3A 65 82 ld a,(ballx) ;
0235 94CA C6 05 add a,5 ;
0236 94CC CD B3 91 call ionGetPixel ; check right
0237 94CF 7E ld a,(hl) ;
0238 94D0 B7 or a ;
0239 94D1 20 11 jr nz,ndown ;
0240 94D3 2A 68 82 ld hl,(score) ; inc score
0241 94D6 23 inc hl ;
0242 94D7 22 68 82 ld (score),hl ;
0243 94DA 21 66 82 ld hl,bally ; move the ball down
0244 94DD 34 inc (hl) ;
0245 94DE 7E ld a,(hl) ;
0246 94DF FE 37 cp 60-5 ;
0247 94E1 D8 ret c ;
0248 94E2 35 dec (hl) ;
0249 94E3 C9 ret ;
0250 94E4
0251 94E4 3A 66 82 ndown: ld a,(bally) ;
0252 94E7 C6 05 add a,5 ;
0253 94E9 5F ld e,a ;
0254 94EA 3A 65 82 ld a,(ballx) ;
0255 94ED CD B3 91 call ionGetPixel ; check left
0256 94F0 7E ld a,(hl) ;
0257 94F1 B7 or a ;
0258 94F2 20 11 jr nz,moveup ; move up
0259 94F4 3A 66 82 ld a,(bally) ;
0260 94F7 C6 05 add a,5 ;
0261 94F9 5F ld e,a ;
0262 94FA 3A 65 82 ld a,(ballx) ;
0263 94FD C6 05 add a,5 ;
0264 94FF CD B3 91 call ionGetPixel ; check right
0265 9502 7E ld a,(hl) ;
0266 9503 B7 or a ;
0267 9504 C8 ret z ;
0268 9505
0269 9505 21 66 82 moveup: ld hl,bally ;
0270 9508 35 dec (hl) ;
0271 9509 7E ld a,(hl) ;
0272 950A E6 80 and %10000000 ; y<0
0273 950C C8 ret z ;
0274 950D E1 pop hl ;
0275 950E CD 59 47 exit: bcall(_clrscr) ;
0276 9511 CD 75 47 bcall(_homeup) ;
0277 9514 21 9B 95 ld hl,scorestr ;
0278 9517 CD 0D 47 bcall(_puts) ; write "Score: "
0279 951A 2A 68 82 ld hl,(score) ;
0280 951D CD 09 47 bcall(_disphl) ;
0281 9520 2A 68 82 ld hl,(score) ;
0282 9523 ED 5B AC 95 ld de,(high) ;
0283 9527 CD 04 40 bcall(_cphlde) ;
0284 952A 38 0C jr c,exitl ;
0285 952C 22 AC 95 ld (high),hl ;
0286 952F CD 3D 47 bcall(_newline) ;
0287 9532 21 A2 95 ld hl,highstr ;
0288 9535 CD 0D 47 bcall(_puts) ; write "New High!"
0289 9538 CD 18 4A exitl: bcall(_getk) ;
0290 953B FE 36 cp 54 ;
0291 953D CA 33 93 jp z,start_of_program ;
0292 9540 18 F6 jr exitl ;
0293 9542
0294 9542
0295 9542 putball:
0296 9542 06 06 ld b,6 ;
0297 9544 21 65 82 ld hl,ballx ;
0298 9547 7E ld a,(hl) ;
0299 9548 23 inc hl ;
0300 9549 6E ld l,(hl) ;
0301 954A DD 21 B3 95 ld ix,ball ;
0302 954E C3 AD 91 jp ionPutSprite ;
0303 9551
0304 9551
0305 9551 46616C6C646Ftitlestr: .db "Falldown",0
0305 9557 776E00
0306 955A 42792041452Cauthorstr: .db "By AE, FD, and IG",0
0306 9560 2046442C20616E6420494700
0307 956C 326E64202D20startstr: .db "2nd - Start",0
0307 9572 537461727400
0308 9578 414C50484120playerstr: .db "ALPHA - Speed:",0
0308 957E 2D2053706565643A00
0309 9587 434C45415220exitstr: .db "CLEAR - Exit",0
0309 958D 2D204578697400
0310 9594 486967683A20hscorestr: .db "High: ",0
0310 959A 00
0311 959B 53636F72653Ascorestr: .db "Score:",0
0311 95A1 00
0312 95A2 4E6577204869highstr: .db "New High!",0
0312 95A8 67682100
0313 95AC
0314 95AC 00 00 high: .dw 0
0315 95AE 01 speed: .db 1
0316 95AF
0317 95AF FF block: .db %11111111
0318 95B0 81 .db %10000001
0319 95B1 BF .db %10111111
0320 95B2 FF .db %11111111
0321 95B3 78 ball: .db %01111000
0322 95B4 B4 .db %10110100
0323 95B5 CC .db %11001100
0324 95B6 CC .db %11001100
0325 95B7 B4 .db %10110100
0326 95B8 78 .db %01111000
0327 95B9
0328 95B9
0329 95B9 .end
tasm: Number of errors = 0

23

Je croit, mais il y en a plus que ça a recopier :
0001 0000 #define TI83
0002 0000 ;-------------= Fall Down =-------------
0003 0000 ; Author: Ian Graf (port)
0004 0000 ; (ian_graf@geocities.com)
0005 0000 ; Florent Dhordain (original)
0006 0000 ; (flo.dh@usa.net)
0007 0000 ; Ahmed El-Helw (original)
0008 0000 ; (ahmedre@bellsouth.net)
0009 0000 ; Version: 1.5
0010 0000 ; Platform: ION
0011 0000 ; Date: 11/3/99
0012 0000 ;---------------------------------------
0013 0000
0014 0000
0015 0000 #define ballx saferam1 ; 1 byte - ball x coord
0016 0000 #define bally ballx+1 ; 1 byte - ball y coord
0017 0000 #define blockcnt bally+1 ; 1 byte - num blocks
0018 0000 #define score blockcnt+1 ; 2 bytes - score
0019 0000 #define tmpx score+2 ; 1 byte - temp x coord
0020 0000
0021 0000
0022 0000 ;---------------= header =--------------
0023 0000
0026 0000 .list
0027 0000~ #ifdef TI83P
0028 0000~ .org progstart-2
0029 0000~ .db $BB,$6D
0030 0000 #else
0031 9327 .org progstart
0032 9327 #endif
0033 9327 C9 ret
0034 9328 30 09 jr nc,start_of_program
0035 932A 46616C6C446F .db "FallDown",0 ; A mon avis elle te sert à rien cette ligne cheeky
0035 9330 776E00
0036 9333
0037 9333
0038 9333 start_of_program:
0039 9333 CD 55 47 bcall(_clrlcdf)
0040 9336 11 00 04 ld de,4*256+0
0041 9339 ED 53 0C 80 ld (currow),de
etc...


'fin de toute façons ça marchera pas parce que tu devra aussi recopier les routines d'Ion (voir sa source).
Donc je te conseil vraiment de t'acheter un câble.

edit : Et puis l'header n'est pas bon.

24

donc si j'ai bien compris :

1) je change le header
2) j'inclus les routines necessaires de Ion dans mon code
3)je recopie et je rajoute end 0000 end à la fin
4)send(9prgm


je vais essayer comme ca je te donne les resultats dans pas longtemps smile

+

25

Ok mais à mon avis tu vas devoir recopier un code hyper long...

26

je comprends pas ma ti bug quand je fais send9prgm sad , pourtant le code a l'air bon et je n'ai aucun problème lors de la compilation..

.NOLIST 
#define equ .equ 
#define EQU .equ 
#define end .end 
#define x_balle saferam1 
#define y_balle x_balle+1 
saferam1	equ	8265h 
_cleargbuf	equ	4BD0h 
cmdshad	equ	9157h 
lVectors	equ	cmdshad+80 
ionPutSprite	equ	lVectors+6 
ionFastCopy	equ	lVectors+15 
.LIST 
.org 9327h 
 
      ld     a,30 
      ld     (x_balle),a 
      ld     (y_balle),a 
directinput: 
 
      call    cleargbuf 
 
      ld      b,8 
      ld      a,(y_balle) 
      ld      l,a 
      ld      a,(x_balle) 
      ld      ix,balle 
      call      Ionputsprite 
      ld      b,8 
      ld      a,(y_balle) 
      add     a,8 
      ld      l,a 
      ld      a,(x_balle) 
      dec     a 
      ld      ix,balle2 
      call      Ionputsprite 
      call      IonFastCopy 
 
        ld      a,$FF 
        out      (1),a 
        ld      a,$FE 
        out      (1),a 
        in      a,(1) 
	bit       1,a 
        jp        z,gauche 
	bit       2,a 
        jp       z,droite 
	bit       3,a 
        jp        z,haut 
	bit       0,a 
        jp       z,bas 
 
      jp     directinput 
 
 
 
 
gauche: 
      ld     a,(x_balle) 
      cp     5 
      jp     z,return 
      dec    a 
      ld     (x_balle),a 
      jp     directinput 
 
droite: 
      ld     a,(x_balle) 
      cp     70 
      jp     z,return 
      inc    a 
      ld     (x_balle),a 
      jp     directinput 
 
bas: 
      ld     a,(y_balle) 
      cp     40 
      jp     z,return 
      inc    a 
      ld     (y_balle),a 
      jp     directinput 
 
 
 
 
haut: 
      ld     a,(y_balle) 
      cp     5 
      jp     z,return 
      dec    a 
      ld     (y_balle),a 
      jp     directinput 
 
 
return: 
      jp     directinput 
 
balle: 
      .db      %00111100 
      .db      %11111111 
      .db      %01111010 
      .db      %01011111 
      .db      %01111111 
      .db      %01000101 
      .db      %01011101 
      .db      %01111110 
 
balle2: 
 
      .db      %01110010 
      .db      %10111010 
      .db      %10001110 
      .db      %11111010 
      .db      %01110010 
      .db      %00000010 
      .db      %00011100 
      .db      %00000000 
 
 
 
.end 
END


ce qui donne :

3E1E
326582
326682
CDD04B
0608
3A6682
6F
3A6582
DD21B893
CDAD91
0608
3A6682
C608
6F
3A6582
3D
DD21C093
CDAD91

[...]

8A
72
22
1C
00
End
0000
End



EDIt : quand je le fais marcher sous ion il y a aucun problème - le header est different mais le reste ne change pas trop...

27

Bah t'as pas définit les routines d'Ion : Ionputsprite et IonFastCopy. Et t'es sur de ne pas avoir oublier quelque chose en héxa avant ?

Tiens voilà les routines à inclure dans le code source (de préférence avant le label 'balle') :

IonputSprite:
	ld	e,l
	ld	h,$00
	ld	d,h
	add	hl,de
	add	hl,de
	add	hl,hl
	add	hl,hl
	ld	e,a
	and	$07
	ld	c,a
	srl	e
	srl	e
	srl	e
	add	hl,de
	ld	de,gbuf
	add	hl,de
putSpriteLoop1:
sl1:	ld	d,(ix)
	ld	e,$00
	ld	a,c
	or	a
	jr	z,putSpriteSkip1
putSpriteLoop2:
	srl	d
	rr	e
	dec	a
	jr	nz,putSpriteLoop2
putSpriteSkip1:
	ld	a,(hl)
	xor	d
	ld	(hl),a
	inc	hl
	ld	a,(hl)
	xor	e
	ld	(hl),a
	ld	de,$0B
	add	hl,de
	inc	ix
	djnz	putSpriteLoop1
	ret


IonFastCopy:
	di
	ld	a,$80				; 7
	out	($10),a				; 11
	ld	hl,gbuf-12-(-(12*64)+1)		; 10
	ld	a,$20				; 7
	ld	c,a				; 4
	inc	hl				; 6 waste
	dec	hl				; 6 waste
fastCopyAgain:
	ld	b,64				; 7
	inc	c				; 4
	ld	de,-(12*64)+1			; 10
	out	($10),a				; 11
	add	hl,de				; 11
	ld	de,10				; 10
fastCopyLoop:
	add	hl,de				; 11
	inc	hl				; 6 waste
	inc	hl				; 6 waste
	inc	de				; 6
	ld	a,(hl)				; 7
	out	($11),a				; 11
	dec	de				; 6
	djnz	fastCopyLoop			; 13/8
	ld	a,c				; 4
	cp	$2B+1				; 7
	jr	nz,fastCopyAgain		; 10/1
	ret					; 10

28

Yahoo ca marche !!!

Merci encore pour ton aide c'étais vraiment très sympa smile

+

29

ça marche vraiment ? Tu devrai poster quelque part le code héxa et comment s'en servir (zFAQ peut être), pour ceux qui n'ont pas le câble ça peux toujours leur faire plaisir de jouer à un jeu asm smile

30

oui bien sur (pour l'instant c'est un simple sprite qui se déplace, ça n'a pas beaucoup d'interet smile )

j'ai juste une petite question :
quelle est la difference entre

#define _cleargbuf 515Bh

_cleargbuf equ 515Bh