aaa Le 31/08/2007 à 11:55 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