Amstrad Plus Forum Index

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

WIP : Sugarbox
Goto page: <  1, 2, 3, 4, 5, 6, 7  >
 
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Bienvenue sur ce forum -> Actualités
Previous topic :: Next topic  
Author Message
Kris


Offline

Joined: 08 Sep 2014
Posts: 261
Localisation: 35
Masculin Gémeaux (21mai-20juin)
Point(s): 86
Moyenne de points: 0.33

PostPosted: Mon 27 Nov - 23:09 (2017)    Post subject: WIP : Sugarbox Reply with quote

Je viens de MAJ ma version, courage pour la suite Wink
_________________
Kris


Back to top
Publicité






PostPosted: Mon 27 Nov - 23:09 (2017)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Mon 27 Nov - 23:18 (2017)    Post subject: WIP : Sugarbox Reply with quote

Overflow m'a donné quelques tuyaux pour reproduire le bug des sprites hard, je prépare une cartouche Smile

Back to top
Ast
Administrateur

Offline

Joined: 05 Sep 2014
Posts: 2,976
Masculin
Point(s): 389
Moyenne de points: 0.13

PostPosted: Mon 27 Nov - 23:20 (2017)    Post subject: WIP : Sugarbox Reply with quote

très bien, ca va avancer dans le bon sens !!! Okay
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Tue 28 Nov - 00:07 (2017)    Post subject: WIP : Sugarbox Reply with quote

mouais, j'ai fait la cartouche mais pas réussi à reproduire
tout au plus j'ai vu que winape était moins bon que sugarbox pour les interruptions maintenant Mr. Green


Back to top
Kris


Offline

Joined: 08 Sep 2014
Posts: 261
Localisation: 35
Masculin Gémeaux (21mai-20juin)
Point(s): 86
Moyenne de points: 0.33

PostPosted: Tue 28 Nov - 22:26 (2017)    Post subject: WIP : Sugarbox Reply with quote

C'est deja ça  Okay
_________________
Kris


Back to top
Lone


Offline

Joined: 17 Dec 2014
Posts: 139
Masculin
Point(s): 5
Moyenne de points: 0.04

PostPosted: Tue 28 Nov - 22:52 (2017)    Post subject: WIP : Sugarbox Reply with quote

Bon avancée de la semaine : La gestion des interruptions semble être maintenant vraiment pas mal, notamment sur les tests de Kevin Thacker (que son nom soit loué !)
Reste un problème sur un des tests, qui révèle le célèbre bug IM2, sur lequel j'ai pas le bug au bon moment (en gros, correct 1 fois sur trois)
Quand je compare les résultats sur mon plus, il ne me reste que ce soucis (qui est quand même un soucis)


En gros :
On est dans une boucle du type : 
  
8AB5:
  IN A, (C)
 RRA 
 JR NC, 8AB5


8A8A:
 IN A,(C)
 RRA
 JR C, 8ABA



En IM2
On devrait donc avoir, en théorie, le bug sur les instructions JR (seul cas ou l'on lit la mémoire)
Si l'on pondère avec la durée des instructions :
- IN => 4 nop
- RRA => 1nop
- JR => 2 ou 3 nops

Soit  la probabilité du bug : 
2ou3*2 sur (4+1+2ou3+4+1+2ou3)
Soit 4 ou 6 sur 14 à 16


Dans la réalité, on a le bug de manière régulière : 
8 int ok
1 bug 
2 ok
1 bug


8 ok
1 bug 
2 ok,
1 bug


etc, etc.
Soit, 2 bug sur 12 occurences.


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Sat 2 Dec - 22:41 (2017)    Post subject: WIP : Sugarbox Reply with quote

Si tu es intéressé pour gérer le CHUNK de symboles qu'utilise ACE pour les snapshots

Quote:
voici le format du chunk SYMB utilisé par ACE dans les snapshots (c'est le chunk qui contient les symboles) :

1 octet -> taille du symbole (0 est une valeur invalide)
n octets -> le nom du symbole (sans 0 à la fin puisqu'on connait la taille)
6 octets -> réservé (ça sera utilisé plus tard pour des symbols contextuels)
2 octets -> l'adresse du symbole (en big endian)

Et ça répété n fois dans le chunk jusqu'à ce que sa taille soit atteinte.


la prochaine version de Rasm supportera la génération de snapshot avec ce chunk en prime Smile

En pièce jointe un .SNA exemple
http://www.sendspace.com/file/gou8kl


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Mon 4 Dec - 09:21 (2017)    Post subject: WIP : Sugarbox Reply with quote

j'ai l'air con avec mon sna, la taille indiquée dans le chunk est plus grande de 8 octets (j'ai compté le header, fallait pas)

Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Wed 6 Dec - 16:19 (2017)    Post subject: WIP : Sugarbox Reply with quote

Coucouuuu


Dans la liste des suggestions, j'sais plus si j'ai proposé:


Compter le nombre d'instructions exécutées dans la seconde. Diviser par 1 million, afficher la valeur avec deux décimales. Oui, ce sont des MIPS


De ma petite expérience, le CPC tourne entre 0.3 et 0.7 mips selon ce qu'on fait.


ps: Chaque itération de LDIR LDDR CPIR, etc. compte pour une instruction, sinon ça fausse tout.


Bonus: Compter le nombre de NOP exécutés dans la seconde pour avoir le temps machine potentiel restant Smile


Back to top
Lone


Offline

Joined: 17 Dec 2014
Posts: 139
Masculin
Point(s): 5
Moyenne de points: 0.04

PostPosted: Wed 6 Dec - 16:37 (2017)    Post subject: WIP : Sugarbox Reply with quote

Roudoudou, j'imagine le compteur de Mips comme ceci : 


"A chaque passage par le m-cycle Fetch, incrémenter le compteur, s'il s'agit de la lecture du premier octet de l'opcode en cours.
A chaque début d'interruption (NMI ou pas), incrémenter le compteur de 1"


Ca colle avec ce que tu veux faire ? 
Tu aurais ainsi ton total d'instruction (plus un calcul de MIPS tous les 4 000 000 de ticks), légèrement ajusté pour compter les interruptions (est-ce intéressant ?)


Le nombre de NOPS, c'est assez facile à faire.
Tout cela en debug, par contre (interface de debug ON dans sugarbox), sinon ca bouffe du CPU pour rien.


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Wed 6 Dec - 16:56 (2017)    Post subject: WIP : Sugarbox Reply with quote

Je suppose que ça doit faire ça oui.


Ah, j'allais oublier, que ce soit pour le comptage des mips ou de nops, il faut tenir compte du HALT


Chaque attente de HALT c'est un NOP soit une instruction et aussi du temps potentiel!


Back to top
Lone


Offline

Joined: 17 Dec 2014
Posts: 139
Masculin
Point(s): 5
Moyenne de points: 0.04

PostPosted: Wed 6 Dec - 17:01 (2017)    Post subject: WIP : Sugarbox Reply with quote

On repasse dans l'instruction fetch pour chaque Halt : Du coup ça marche (faut juste incrémenter le compteur de nop)

Back to top
Lone


Offline

Joined: 17 Dec 2014
Posts: 139
Masculin
Point(s): 5
Moyenne de points: 0.04

PostPosted: Tue 12 Dec - 00:14 (2017)    Post subject: WIP : Sugarbox Reply with quote

Bon, les avancées sont difficile ces temps-ci. Pas mal de boulot invisible sur le PRI, et sur le son (mais ça s'entend).


Je suis donc a fond sur CRTC3, dont je connais désormais la bande son par coeur.


Tout est presque bon... a part les samples de guitare vers la fin.
La, je me rend compte que tu utilises des valeur '1' sur le tone frequency de certains canaux, ce qui me fait générer des trucs en dents de scie, alors que le CPC ne semble pas générer du tout la même chose... D'où le son différent (et les fameux "bliiips")


En faisant une moyenne lors de la génération de wav, c'est vachement atténué (forcément, d'autant que le down sampling se faisait tous les +/-3 sample (de 115khz a 4khz) - du coup j'avais un décalage, d'où l'impression "dent de scie") mais on est loin du rendu cpc ou ça ne s'entend pas du tout.


J'ai donc modifié mon "rendu" pour n'ajouter au buffer de son que les samples par paire. Ca fonctionne presque, j'ai juste un endroit ou je n'ai plus de son( coupure dans le sample )


Qui plus est, le vrombissement de la guêpe semble trop grave (tout en étant correct au niveau des fréquences du wave, donc je m'interroge)


Bref, j'ai encore du boulot...


Back to top
Lone


Offline

Joined: 17 Dec 2014
Posts: 139
Masculin
Point(s): 5
Moyenne de points: 0.04

PostPosted: Tue 19 Dec - 22:29 (2017)    Post subject: WIP : Sugarbox Reply with quote

Bon, pas mal de taff depuis la semaine dernière, tour sur le son. J'ai donc repris l'ensemble de ce qui sort de l'AY émulé, et comparé le tout avec ce qui sort du CPC (via la prise jack). Très instructif ! J'ai ainsi pu, avec un peu d'imagination, recoller la théorie et la pratique.


Pour faire simple, j'ai samplé le tout en 125khz ( 8us ), ajouté un petit filtre passe bande, et c'est tout comme le CPC !
Une option est d'ailleurs dispo, pour avoir une sortie en 22khz, 44khz, et 125 khz.


Reste quelques petits détails à régler à nouveau (comme certain comportement d'enveloppe, ou c'est pas clair, et où ça méritera quelques teste supplémentaires). Faut optimiser pas mal de trucs aussi (parce que bon, ça en fait des opérations en temps réel, ces filtres à 125khz)




En tout cas, le son commence furieusement à ressembler à du vrai son cpc.


J'ai mis à jour le 1er post, avec la version en cours (quelques bugs gratuit, notamment la led de l'enregistrement du son qui déconne)


Back to top
roudoudou


Offline

Joined: 14 Jul 2016
Posts: 427
Localisation: LYON
Masculin
Point(s): 46
Moyenne de points: 0.11

PostPosted: Tue 19 Dec - 23:02 (2017)    Post subject: WIP : Sugarbox Reply with quote

Youpi!

EDIT: j'viens de tester, j'ai des "issues" avec le volume et du son bien crade (mais j'suis en VM) je teste sous un windows natif demain si je peux


Back to top
Display posts from previous:   
Post new topic   Reply to topic    Amstrad Plus Forum Index -> Bienvenue sur ce forum -> Actualités All times are GMT + 2 Hours
Goto page: <  1, 2, 3, 4, 5, 6, 7  >
Page 4 of 7

 
Jump to:  

Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group