Logicielsmoto.com

Nous sommes le 28 Mar 2024, 23:44

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 598 messages ]  Aller à la page Précédente  1 ... 27, 28, 29, 30, 31, 32, 33 ... 40  Suivante
Auteur Message
MessagePosté: 19 Juil 2022, 10:57 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Sympa. Tu gagnerais quelques cycles en remplaçant le pshu final par "STA -1,U" et le pshu d par STD -2,U. Mais ca n’est utile que pour les tailles 6n+1 ou 6n+2 qui génère l’un ou l’autre (33% des des tailles possibles).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 19 Juil 2022, 12:51 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
exact, vu que je n'ai pas besoin de récupérer U en sortie (étant donné qu'on delete l'objet, on n'a plus besoin de u qui est le ptr sur la structure d'objet). Donc bonne idée.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 19 Juil 2022, 14:16 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Ah.. oops.. j’avais pas vu que U n’était pas sauvé â l’entrée. Content que ça marche quand même.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Oct 2022, 17:32 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
phpBB [video]

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Oct 2022, 17:57 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Merci Sam !

Notre nouveau site avec toutes les démonstrations de jeu en download :
https://www.wide-dot.com/

Vous pouvez y télécharger Sonic ;-)


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Oct 2022, 19:21 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Tu prévois une annonce sur system-cfg aussi ?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 21 Oct 2022, 19:55 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Je ferai un post demain


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Oct 2022, 12:11 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Nous avions eu quelques aperçus prometteurs, mais le résultat final est tellement bien qu'il me laisse sans voix.
Félicitations à toute l'équipe, tant pour la conception des outils que pour le jeu lui-même.
Avec Mission:Liftoff, Pacman, et maintenant Sonic-2, le niveau des jeux sur TO8 progresse d'année en année :)

Je prépare des extensions 256K, je crois que la demande va être forte...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Oct 2022, 13:04 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Merci Daniel,

Ces dernières semaines j'ai purgé tous les bugs (ils y en avait une dizaine) en préparation de la vidéo.
Même s'il manque encore plein de choses dans le niveau, il fallait bien sortir une version jouable à un moment donné.

Pour les ponts, chaque rondin est géré individuellement.
On ajuste l'enfoncement en fonction de la position du personnage et de la longueur du pont (tables de valeurs).
On a également un timer qui permet de faire l'enfoncement ou le relâchement du pont de manière progressive.

Je vous recopie pas tout le code qui est sur le github, mais voici la partie interessante :

Code:
                                                      * ; ||||||||||||||| S U B R O U T I N E |||||||||||||||||||||||||||||||||||||||
                                                      * ; subroutine to make the bridge push down where Sonic or Tails walks over
                                                      * ; loc_F9E8:
Obj11_Depress                                         * Obj11_Depress:
        ldb   Obj11_depressTimer,u ; get timer value  *         move.b  objoff_3E(a0),d0
        jsr   CalcSine             ; apply sin        *         jsrto   (CalcSine).l, JmpTo_CalcSine ; apply sine function to depress timer
        std   glb_d4                                  *         move.w  d0,d4
        ldx   #byte_FB28                              *         lea     (byte_FB28).l,a4
        anda  #0                                      *         moveq   #0,d0
        ldb   subtype,u ; get bridge length           *         move.b  subtype(a0),d0
        _lsld
        _lsld
        _lsld
        _lsld ; bridge length *16                     *         lsl.w   #4,d0
        std   glb_d0
        anda  #0                                      *         moveq   #0,d3
        ldb   Obj11_p1_log_pos,u                      *         move.b  objoff_3F(a0),d3
        stb   glb_d2_b                                *         move.w  d3,d2
        addd  glb_d0
        std   glb_d3                                  *         add.w   d0,d3
                                                      *         moveq   #0,d5
        ldy   #Obj11_DepressionOffsets-$80            *         lea     (Obj11_DepressionOffsets-$80).l,a5 ; table begin at length 8 so apply an offset of 8x16 bytes
        lda   d,y                                     *         move.b  (a5,d3.w),d5
        sta   glb_d5_b
        anda  #0
        ldb   glb_d2_b ; faster to get value in d2    *         andi.w  #$F,d3
        _lsld
        _lsld
        _lsld
        _lsld ;ply log pos*16                         *         lsl.w   #4,d3
        leax  d,x                                     *         lea     (a4,d3.w),a3
        ldy   Obj11_child1,u                          *         movea.l Obj11_child1(a0),a1
        sty   glb_a1
        leay  sub9_y_pos+next_subspr,y                *         lea     sub9_y_pos+next_subspr(a1),a2
        sty   glb_a2 ; set end loop position
        ldy   glb_a1
        leay  sub2_y_pos,y                            *         lea     sub2_y_pos(a1),a1
 ; process logs on player's left                      *
@loop   anda  #0                                      * -       moveq   #0,d0
        ldb   ,x+                                     *         move.b  (a3)+,d0   ; load factor based on player position
        addd  #1                                      *         addq.w  #1,d0      ; add one to factor ($FF gives $100)
        tsta
        bne   >
        lda   glb_d5_b
        mul      ; depression offset * bend factor    *         mulu.w  d5,d0
        bra   @skip
!       lda   glb_d5_b ; multiply by $100
        andb  #0
@skip   stx   @x
        tfr   d,x    ; depression offset * bend factor (9bits)
        ldd   glb_d4 ; sin of timer value (9bits)
        jsr   Mul9x16                                 *         mulu.w  d4,d0
        ldx   #0
@x      equ   *-2
        tfr   a,b                                     *         swap    d0
        anda  #0
        addd  Obj11_baseYPos,u                        *         add.w   objoff_3C(a0),d0
        std   ,y ; set y_pos                          *         move.w  d0,(a1)
        leay  next_subspr,y                           *         addq.w  #6,a1
        sty   glb_a1
        cmpy  glb_a2 ; end of first sub object ?      *         cmpa.w  a2,a1
        bne   >                                       *         bne.s   +
        ldy   Obj11_child2,u ; yes load 2nd sub obj   *         movea.l Obj11_child2(a0),a1 ; a1=object
        leay  sub2_y_pos,y                            *         lea     sub2_y_pos(a1),a1
!       dec   glb_d2_b       ; dec nb of log          * +       dbf     d2,-
        bpl   @loop

                                                      *
        ;                                             *         moveq   #0,d0
        ;                                             *         move.b  subtype(a0),d0
        anda  #0                                      *         moveq   #0,d3
        ldb   Obj11_p1_log_pos,u ; we are processing  *         move.b  objoff_3F(a0),d3
        incb  ; from the first log on player's right  *         addq.b  #1,d3
        subb  subtype,u                               *         sub.b   d0,d3
        negb                                          *         neg.b   d3
        bmi   @rts      ; p1 is on last bridge log    *         bmi.s   ++      ; rts
        std   glb_d2    ; store nb of log to process  *         move.w  d3,d2
        _lsld
        _lsld
        _lsld
        _lsld           ; *16 to get the desired line in factor table
        std   glb_d3                                  *         lsl.w   #4,d3
        ldx   #byte_FB28
        leax  d,x       ; select the line             *         lea     (a4,d3.w),a3
        ldd   glb_d2
        leax  d,x       ; add remaining nb logs, point on $FF value       *         adda.w  d2,a3
        dec   glb_d2_b  ; decrement nb of log to process                              *         subq.w  #1,d2
        bmi   @rts                                    *         bcs.s   ++      ; rts
; process logs on player's right                      *
@loop   anda  #0                                      * -       moveq   #0,d0
        ldb   ,-x  ; decrement and load, get the value on the left of $FF                                   *         move.b  -(a3),d0
        addd  #1                                      *         addq.w  #1,d0
        tsta
        bne   >
        lda   glb_d5_b
        mul                                           *         mulu.w  d5,d0
        bra   @skip
!       lda   glb_d5_b ; multiply by $100   
        andb  #0
@skip   stx   @x
        tfr   d,x
        ldd   glb_d4 ; sin of timer value
        jsr   Mul9x16                                 *         mulu.w  d4,d0
        ldx   #0
@x      equ   *-2
        tfr   a,b                                     *         swap    d0
        anda  #0
        addd  Obj11_baseYPos,u                        *         add.w   objoff_3C(a0),d0
        std   ,y ; set y_pos                          *         move.w  d0,(a1)
        leay  next_subspr,y                           *         addq.w  #6,a1
        cmpy  glb_a2                                  *         cmpa.w  a2,a1
        bne   >                                       *         bne.s   +
        ldy   Obj11_child2,u                          *         movea.l Obj11_child2(a0),a1 ; a1=object
        leay  sub2_y_pos,y                            *         lea     sub2_y_pos(a1),a1
!       dec   glb_d2_b                                * +       dbf     d2,-
        bpl   @loop
@rts                                                  * +
        rts                                           *         rts

                                                      * ; ===========================================================================
                                                      * ; seems to be bridge piece vertical position offset data
 ; maximum vertical position offset for each log of each bridge size
 ; (vertical depth of the bridge according to its length)
 ; the value read is the one that match player position
 ; this max value is applied to all logs
 ; first line is for bridge of length 8 and so on
 
Obj11_DepressionOffsets                               * Obj11_DepressionOffsets: ; byte_FA98:
        fcb 2,4,6,8,8,6,4,2,0,0,0,0,0,0,0,0           *         dc.b   2,  4,  6,  8,  8,  6,  4,  2,  0,  0,  0,  0,  0,  0,  0,  0; 16
        fcb 2,4,6,8,$A,8,6,4,2,0,0,0,0,0,0,0          *         dc.b   2,  4,  6,  8, $A,  8,  6,  4,  2,  0,  0,  0,  0,  0,  0,  0; 32
        fcb 2,4,6,8,$A,$A,8,6,4,2,0,0,0,0,0,0         *         dc.b   2,  4,  6,  8, $A, $A,  8,  6,  4,  2,  0,  0,  0,  0,  0,  0; 48
        fcb 2,4,6,8,$A,$C,$A,8,6,4,2,0,0,0,0,0        *         dc.b   2,  4,  6,  8, $A, $C, $A,  8,  6,  4,  2,  0,  0,  0,  0,  0; 64
        fcb 2,4,6,8,$A,$C,$C,$A,8,6,4,2,0,0,0,0       *         dc.b   2,  4,  6,  8, $A, $C, $C, $A,  8,  6,  4,  2,  0,  0,  0,  0; 80
        fcb 2,4,6,8,$A,$C,$E,$C,$A,8,6,4,2,0,0,0      *         dc.b   2,  4,  6,  8, $A, $C, $E, $C, $A,  8,  6,  4,  2,  0,  0,  0; 96
        fcb 2,4,6,8,$A,$C,$E,$E,$C,$A,8,6,4,2,0,0     *         dc.b   2,  4,  6,  8, $A, $C, $E, $E, $C, $A,  8,  6,  4,  2,  0,  0; 112
        fcb 2,4,6,8,$A,$C,$E,$10,$E,$C,$A,8,6,4,2,0   *         dc.b   2,  4,  6,  8, $A, $C, $E,$10, $E, $C, $A,  8,  6,  4,  2,  0; 128
        fcb 2,4,6,8,$A,$C,$E,$10,$10,$E,$C,$A,8,6,4,2 *         dc.b   2,  4,  6,  8, $A, $C, $E,$10,$10, $E, $C, $A,  8,  6,  4,  2; 144
                                                      *
                                                      * ; something else important for bridge depression to work (phase? bridge size adjustment?)
 ; bridge curve for left or right log segment from player position
 ; factor = (table value+1)*(1/256)
 ; factor is applied on the depression offset of a log
 ; left log segment: select table line that matches segment length (bridge start to player pos), read values from left to right
 ; right log segment: select table line that matches remaining logs (player pos to bridge end), select column=nb remaining log , read values from right to left

byte_FB28                                                                   * byte_FB28:
        fcb $FF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0                               *         dc.b $FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 16  ; segment length 1
        fcb $B5,$FF,0,0,0,0,0,0,0,0,0,0,0,0,0,0                             *         dc.b $B5,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 32  ; segment length 2
        fcb $7E,$DB,$FF,0,0,0,0,0,0,0,0,0,0,0,0,0                           *         dc.b $7E,$DB,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 48  ; segment length 3
        fcb $61,$B5,$EC,$FF,0,0,0,0,0,0,0,0,0,0,0,0                         *         dc.b $61,$B5,$EC,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 64  ; ...
        fcb $4A,$93,$CD,$F3,$FF,0,0,0,0,0,0,0,0,0,0,0                       *         dc.b $4A,$93,$CD,$F3,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 80
        fcb $3E,$7E,$B0,$DB,$F6,$FF,0,0,0,0,0,0,0,0,0,0                     *         dc.b $3E,$7E,$B0,$DB,$F6,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0; 96
        fcb $38,$6D,$9D,$C5,$E4,$F8,$FF,0,0,0,0,0,0,0,0,0                   *         dc.b $38,$6D,$9D,$C5,$E4,$F8,$FF,  0,  0,  0,  0,  0,  0,  0,  0,  0; 112
        fcb $31,$61,$8E,$B5,$D4,$EC,$FB,$FF,0,0,0,0,0,0,0,0                 *         dc.b $31,$61,$8E,$B5,$D4,$EC,$FB,$FF,  0,  0,  0,  0,  0,  0,  0,  0; 128
        fcb $2B,$56,$7E,$A2,$C1,$DB,$EE,$FB,$FF,0,0,0,0,0,0,0               *         dc.b $2B,$56,$7E,$A2,$C1,$DB,$EE,$FB,$FF,  0,  0,  0,  0,  0,  0,  0; 144
        fcb $25,$4A,$73,$93,$B0,$CD,$E1,$F3,$FC,$FF,0,0,0,0,0,0             *         dc.b $25,$4A,$73,$93,$B0,$CD,$E1,$F3,$FC,$FF,  0,  0,  0,  0,  0,  0; 160
        fcb $1F,$44,$67,$88,$A7,$BD,$D4,$E7,$F4,$FD,$FF,0,0,0,0,0           *         dc.b $1F,$44,$67,$88,$A7,$BD,$D4,$E7,$F4,$FD,$FF,  0,  0,  0,  0,  0; 176
        fcb $1F,$3E,$5C,$7E,$98,$B0,$C9,$DB,$EA,$F6,$FD,$FF,0,0,0,0         *         dc.b $1F,$3E,$5C,$7E,$98,$B0,$C9,$DB,$EA,$F6,$FD,$FF,  0,  0,  0,  0; 192
        fcb $19,$38,$56,$73,$8E,$A7,$BD,$D1,$E1,$EE,$F8,$FE,$FF,0,0,0       *         dc.b $19,$38,$56,$73,$8E,$A7,$BD,$D1,$E1,$EE,$F8,$FE,$FF,  0,  0,  0; 208
        fcb $19,$38,$50,$6D,$83,$9D,$B0,$C5,$D8,$E4,$F1,$F8,$FE,$FF,0,0     *         dc.b $19,$38,$50,$6D,$83,$9D,$B0,$C5,$D8,$E4,$F1,$F8,$FE,$FF,  0,  0; 224
        fcb $19,$31,$4A,$67,$7E,$93,$A7,$BD,$CD,$DB,$E7,$F3,$F9,$FE,$FF,0   *         dc.b $19,$31,$4A,$67,$7E,$93,$A7,$BD,$CD,$DB,$E7,$F3,$F9,$FE,$FF,  0; 240 ; ...
        fcb $19,$31,$4A,$61,$78,$8E,$A2,$B5,$C5,$D4,$E1,$EC,$F4,$FB,$FE,$FF *         dc.b $19,$31,$4A,$61,$78,$8E,$A2,$B5,$C5,$D4,$E1,$EC,$F4,$FB,$FE,$FF; 256 ; segment length 16


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Oct 2022, 14:50 
Hors ligne

Inscription: 22 Mai 2009, 11:08
Messages: 68
Localisation: dijon
bonjour bonjour ^^
et bé un jeu que je vais tester sur mon to8d pas plus tard que lundi aprem !
j'en reste sans voix sur cet exploit !
Bref merci pour le jeu et pour le tool qui a l'air ( je ne suis pas coder) superbe !

YoG

_________________
--- que dire ---


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 22 Oct 2022, 19:07 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Merci, j’attends ton retour avec impatience ! Je suis ravi de voir la demo fonctionner ailleurs qu’a la maison !


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 25 Oct 2022, 21:16 
Hors ligne

Inscription: 22 Mai 2009, 11:08
Messages: 68
Localisation: dijon
harg ! désolé j'avais oublié !
Je te fais cela demain sans faute !
Bonne soirée :) :up: :up:

_________________
--- que dire ---


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 27 Oct 2022, 13:24 
Hors ligne

Inscription: 22 Mai 2009, 11:08
Messages: 68
Localisation: dijon
Bonjour bonjour ^^ :up: :up:

et bien sur mon sddrive cela me donne un écran blanc:(
Bref lift off et autre chargent mais ça doit être un problème de copie sur la carte sd.
Bref je tetente taleur, faut pas dé****er sur un soft pareil !

Je vous tiens au courant.

_________________
--- que dire ---


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 27 Oct 2022, 13:33 
Hors ligne

Inscription: 21 Avr 2019, 21:48
Messages: 433
Localisation: Var
Sur le sddrive il faut attendre un peu le chargement contrairement à la t2. Tu as attendu combien de temps ?.
Tu as bien pris la version.sd ? Pas le .sd qui flash la t2 ?
La version sddrive nécessite l’extension de ram pour la phase de jeu (l’intro fonctionne quand même sans)


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 27 Oct 2022, 16:23 
Hors ligne

Inscription: 22 Mai 2009, 11:08
Messages: 68
Localisation: dijon
coucou

Ok bé ça fonctionne pas même si j'ai pris sonic2.sd.
Après quelques secondes j'arrive sur un écran buggué, plein de lignes et de caractères graphiques.
Bref j'ai 512ko de ram et je vais tenter taleur de faire fd2sd pour voir !

On va y arriver !

merci à toi encore.

_________________
--- que dire ---


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 598 messages ]  Aller à la page Précédente  1 ... 27, 28, 29, 30, 31, 32, 33 ... 40  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 32 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com