60

magiceyes :
J'avoue apprécier l'assembleur, mais juste pour me faire plaisir à moi-même en fait.

Ceci dit, il est clair que pour exploiter un proc avec 4K de mémoire, difficile de faire cela autrement.

Mais justement il me semble que l'architecture de la GP2x dispose de largement suffisamment de puissance
et de mémoire pour permettre un code plus générique. Si tu adores l'assembleur, je comprend que tu trouves
que cela soit un peu du gachis. Mais j'imagine que toi aussi tu trouves cela inutilement long et répétitif de faire
tous les codes simples en assembleur genre initialiser tes périphériques, charger des fichiers de ressources ...

Le compromis idéal reste encore de faire un code haut niveau pour tout ce qui n'est pas crucial en performance,
et de faire des petites routines ASM pour le reste, qui devront être adaptées en cas de portage.


tout a fait d'accord grin pour moi c'est le mieu et ca rend l'application plus portable wink

61

magiceyes :
Mais justement il me semble que l'architecture de la GP2x dispose de largement suffisamment de puissance
et de mémoire pour permettre un code plus générique


Vous peut etre, perso je disposes d'un 68000 a 13 Mhz et de deux Risc a 27 Mhz, certains essayent de developper des jeux Jaguars en C cela se finit par des puissances 4 et des mastermind eek.

Je vais arreter la de polluer votre forum, en tout cas vous avez l'air moins coincer que certains autres concernant ce genre de discution en tout les cas de figures bon developpement a vous tous

a +

GT Heureux d'ètre passé là top
avatar
Accrochez vous ca va être Cerebral !!

62

merci a toid'etre passe pour donner des infos wink certe quand on a un petit processeur avec peut de memoire on doit se limite a l'ASM pour faire de grande choses. Je penes qu'avec la GP2x est les performance qu'elle propose on peut facilement faire du c et a la rigueur optimiser les partie qui requierent de la puissance en ASM.

Bon courage parceque ca doit pas etre facile de gere 3 proc avec si peut de resources

63

Yod4z :
ca doit pas etre facile de gere 3 proc avec si peut de resources

C'est très proche en fait de ce que l'on faisait sur l'amiga et le ST ... chaque cycle comptait :-)
Mais c'est vrai qu'à ce niveau, la GP2x est une rolls, on doit pouvoir la conduire pépère oui
GT Turbo :
68000 a 13 Mhz

Nostalgie smile Mais c'est presque le double de ce que nous avions sur l'amiga, tu dois donc arriver a faire des trucs supers top
En tout cas, tu es le bienvenu, n'hésite pas à prendre une GP2x et nous montrer ce que tu peux faire avec 2x200 MHz en asm pur fou

64

68000 a 7.89Mhz me semble t'il sur 500 mais bon le 68060 allait a 66Mhz voir 80Mhz (pratiquement introuvable a par pour de gros industriel wink)

65


J'avoue m'être arreté au 500 dans la gamme. Il y avait des gros bestiaux avec de belles cartes, mais c'était hors de mes moyens de l'époque. J'ai vu des joli protos de nos jours aussi, mais pareil, a des prix qui feraient hurler de rire un amateur de console microsoft (oups).

66

Yod4z :
Bon courage parceque ca doit pas etre facile de gere 3 proc avec si peut de resources



C'est justement ce coté défi qui stimule !! top
magiceyes :
C'est très proche en fait de ce que l'on faisait sur l'amiga et le ST ... chaque cycle comptait :-)


Je suis un ancien demomaker Atari (Cerebral Vortex Software Development), donc j'ai l'habitude de compter les cycles !! fou
magiceyes :
En tout cas, tu es le bienvenu, n'hésite pas à prendre une GP2x et nous montrer ce que tu peux faire avec 2x200 MHz en asm pur


Il y a peu de chances que je changes de machine (Fanatique Atari (D'ailleurs je devellopes avec un micro Atari (Falcon 68060 a 80 Mhz)) mais au cas ou je saurais ou aller !!

A + a vous tous !!

GT Turbo octopus
avatar
Accrochez vous ca va être Cerebral !!

67

Yod4z :
Je penes qu'avec la GP2x est les performance qu'elle propose on peut facilement faire du c et a la rigueur optimiser les partie qui requierent de la puissance en ASM.


Je pense qu'on peut largement tout faire en C (enfin ce qui est faisable), et à part à écrire des émulateurs ou des moteurs 3D, je doute qu'on arrive facilement à prendre toute la puissance de ces deux procs avec du développement amateur (mais je ne demande qu'à me tromper wink).
Par conte, coder en Java ou en Python, je trouve que c'est un peu gâcher happy (bon après ça dépend pour faire quoi... )
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

68

GT Turbo
:
Yod4z :
Bon courage parceque ca doit pas etre facile de gere 3 proc avec si peut de resources



C'est justement ce coté défi qui stimule !! top
magiceyes :
C'est très proche en fait de ce que l'on faisait sur l'amiga et le ST ... chaque cycle comptait :-)


Je suis un ancien demomaker Atari (Cerebral Vortex Software Development), donc j'ai l'habitude de compter les cycles !! fou
magiceyes :
En tout cas, tu es le bienvenu, n'hésite pas à prendre une GP2x et nous montrer ce que tu peux faire avec 2x200 MHz en asm pur


Il y a peu de chances que je changes de machine (Fanatique Atari (D'ailleurs je devellopes avec un micro Atari (Falcon 68060 a 80 Mhz)) mais au cas ou je saurais ou aller !!

A + a vous tous !!

GT Turbo octopus


ben developpe sur linx au moi smile

69

bon deja la nouvelle de ce matin etait bien impressionante mais en voila encore une wink
hermes PS2R a cree une librairies permetant de piloter totalement le 940:

tal y como dije el otro día en el foro general, aquí os dejo la libreria que he hecho para control de ambos procesadores con ejemplos.

La libreria en cuestion se llama cpuctrl.c y contiene metodos para:

- Apagar el 940t
- Cargar un programa en el 940t
- Parar el 940t
- Poner en marcha el 940t
- Ajustar/leer la frecuencia de reloj
- Ajustar/leer los divisores de frecuencia para 920, 940 y DCLK
- Tambien dispone un metodo para salvar/cargar ciertos registros para volver al sistema con los valores correctos

Me he basado en los fuentes de squidge y tambien en los fuentes publicados hasta ahora y por supuesto, la minimal library 0.5 de rlyeh que he utilizado en mi programa Pintor.

El ejecutable de prueba se llama dualcpu.gpe y lo que hace es poner como frecuencia de trabajo 200Mhz (el firm que yo tengo trabaja a 220Mhz!), cargar el ejecutable del 940t y esperar a que pulses A para calcular una operacion en el 940t de forma paralela.

OBSERVACIONES:

- Si se saliera del programa si usar la funcion load_system_regs() y se hace ajustes en los divisores o en la frecuencia o se apaga el 940t, los programas del sistema (como el reproductor de MP3) se ven afectados. asi que es una buena forma de ahorrar pilas ahí tambien

-Si compilais el codigo de 940, recordad copiar 940tcode.h al directorio dualcore para que se enlace con la aplicacion al compilar
En fin, un saludete y espero vuestros comentarios y sugerencias

Tel et comme je l'ai di l'autre jour dans le forum general, je vous livre ici le librairie que j'ai fait pour controler les 2 processeurs avec des exemples..

La librerie en question s'appelle cpuctrl.c et contient des methodes pour:

- Eteindre le 940t
- Charger un programme sur le 940t
- Arreter le 940t
- Metre en route le 940t
- Ajuster/lire la frequence d'horloge
- Ajuster/lire les diviseurs de frequence pour 920, 940 et DCLK
- Il met aussi a disposition une methode pour sauvegarder/charger certains registres pour revenir au systeme avec les valeurs correctes

Je me suis basé sur les sources de squidge et aussi sur les sources publiées jusqu'a maintenant et par suposition, la minimal library 0.5 de rlyeh que j'ai utilisé dans mon programe Pintor.

L'executable de test s'appel dualcpu.gpe et ce qu'il fait et de metre la frequence de travail a 200Mhz (le firm que j'ai le fait travailler a 220Mhz!), charger l'executable du 940t et attendre qu'on appuie sur A pour calculer une operacion dans le 940t de façon parallele.

OBSERVACIONS:

- Si on quitte le programme sans utiliser le fonction load_system_regs() et qu'on fasse des ajustement dans les diviseurs ou de la frequence ou on eteind le 940t, les programmes du systeme (comme le lecteur de MP3) se voient affectés. C'est un bon moyen d'economiser des piles

-Si tu compile du code pour le 940, souvient toi de copier 940tcode.h dans le repertoire dualcore pour que ca se noue avec l'application a la compilation.
Enfin, salut et j'espers avoir de vos commentaires et suggestions

Pour le recup ca se passe par LA

70

ils s'arreteront quand? grin en 1 mois on a deja des outils pour toucher au 2 processeurs et meme pôuvoir les arreter, regler la frequence... Il restera quoi apres? la gestion de la Sd et du port usb? wink

71

une version de la SDL mega optimisé !! tongue

72

thyphoon :
une version de la SDL mega optimisé !! tongue

ouaip! ca ca serait cool mais au vu de ce qui se passe il faut que ce soit GPH qui le fasse car les gros developpeur GP2x veulent passer par autre chose wink
A premiere vu on pourrait meme overclocker les proc a 266Mhz (spec MagicEyes) sans problemes meme si les piles tiennent forcement bien moins longtemps wink (sous HH) mais hermes PS2R avec sa librairie n'est arrive a monter qu'a 220Mhz sans problemes apres a 240Mhz il a du changer le diviseur a 1 sinon la machine s'eteint. Il a aussi essayer de reduire la frequence du FCLK il y a des ligne qui apparaissent a l'ecran ainsi que des perturbations.

73

voila le petit utilitaire qui sert a changer la frequence des processeurs a utiliser avec parcimonie wink: ICI

Au lancement il desactive directement le 940 et apres L ou R on peut changer la frequence de base et avec A on peut choisir le diviseur (a l'ecran il apparait la frequence resultante de la division de frequence de base entre ces diferent facteurs).
En appuiant sur START on quitte le systeme sans appliquer les changement (a part pour le 940t qui reste desactive) et avec SELECT on active la frequence et diviseur choisi.
vous pouvez suivre les divers test deja effectues sur ce thread:La

A 105 mhz (210/2) les videos de resolution 320*240 (natives de la console) 25 fps et bitrate de 250kbits vont a FULLSPEED! biensur les videos de resolution supperieurs sont lentes wink mais ca permet d'avoir un lecteur portable qui consomme bien moins de piles.

Il est pas conseille de decendre en dessous de 83mhz (166/2) ou sinon dans le player MP3 il y a des coupures. A 83 Mhz ca reste correct (meme si un long teste n'a pas ete effectue) et avec l'ecran eteint. A 56 mhz les MP3 a 128 kbs de bite rate se jouent parfaitement.

A 150 Mhz l'emul de NeogeoCD tourne correctement dans certains jeux comme puzzle bobble, etc.

74

Pilas 1700 mAh, lecture de video en continu, video avec biterate de 300 kbps xvid et 128Kbps stereo pour le son, resultats:
- Sans l'utilitaire: 1 heures 40 minutes.
- Avec l'utilitaire, 2eme processeur arrete (mais surement reactive par le lecteur video) et le premiere processeur a 100 mhz, lecture parfaite, durée: 2 heures 40 minutes. Merveilleux! Avec des piles de 2500Mah on doit surement arriver a 5 heures.


Reste plus qu'a esperer que GPH ou Open2x integre un systeme qui verifie l'utilistion du CPU et qui en fonction accelere ou ralentisse la vitesse du processeur( emul SNES, MD, NeoGeoCD, lecteur MP3...), voir desactive le second processeur si inutilise (pour les emule NES, C64, Master, GB...)

75

truc de dingue wink sur le forum il disetn qu'en fait avec le firmeware 1.01 le proc tourne par defaut a 298Mhz grin ce qui ferait que si on reste optimise la console pourrait alle a 2x300Mhz et do nc tres bioen faire tourner les emulateur PSX grin

76

nouvelle version de l'utilitaire:
a recu par La
Actualisation: Version 1.01 qui corrige les problemes d'ajustement d'horloge de ceux qui en on parle dans le forum.

77

Merci Yodaz pour toutes ces excellentes news, moi je bave sur mon clavier pendant ce temps... calin

78

a ce que je comprend avec le nouveau firmeware au boot et dans les menu la console tournerait a 298Mhz ce qui expliquerait que les piles s'usent bien plus vite que prevu et ce qui sous entend qu'on peut faire tourner le processseur a cette vitesse grin

79

sur Gp2mania un petit prog vient de sortir et il s'appel: cpu+speed+selector.zip il a ete cree par Darkness Angel et il est dispo la La

80

Bon en fait il y avait un bug dans le code de Hermes qui fesait qu'il prennait pas la bonne valeur de la PLL et donc que le calcule d frequence est faut, voila une version avec le code corrige par La

Avec toutes les version de firmware le processeru tourne a 200MHZ.
Voila la partie du code qui est faux

void set_FCLK(unsigned MHZ)
{
unsigned v;
unsigned mdiv,pdiv=3,scale=0;
MHZ*=1000000;
mdiv=(MHZ*pdiv)/SYS_CLK_FREQ;

mdiv=((mdiv-8)<<8) & 0xff00;
pdiv=((pdiv-2)<<3) & 0xfc; /* <-- should be << 2 */
scale&=3;
v=mdiv | pdiv | scale;
MEM_REG[0x910>>1]=v;
}

unsigned get_freq_920_CLK()
{
unsigned i;
unsigned reg,mdiv,pdiv,scale;

reg=MEM_REG[0x912>>1];
mdiv = ((reg & 0xff00) >> 8) + 8;
pdiv = ((reg & 0xfc) >> 3) + 2; /* <-- should be >> 2 */
scale = reg & 3;
MDIV=mdiv;
PDIV=pdiv;
SCALE=scale;

i = (MEM_REG[0x91c>>1] & 7)+1;
return ((SYS_CLK_FREQ * mdiv) / (pdiv << scale))/i; }


Aussi, pour ceux qui ont trouve que le LCD change quand on change la vitesse d'horloge, c'est parceque l'horloge du LCD est derive du FPLL, donc si on change le FPLL on change aussi l'horloge du LCD. Simple! L'horloge du LCD doit etre reconfigure quand le FPLL est changé.

ces explication ont ete donne par Robster sur ce thread

81

imaginez si on change la frequence de chaque jeu /emulateur en fonction de ses besoins on peu gagner enormement de temps avec les piles.... grin je suppose que l'os doit tres bien tourner a 100Mh spout doit pas demander beaucoup de puissance etc...
J'éspère que chaque developpeur integrera un reglage des frequences en fonction de la puissance demandé par leur jeu...

Je suis contant car cette console a vraiment des posibilités extraordinaire....

82

Spout tourne à 66mhz sur gp32 peu être moins, il a été optimisé pour tourner à basse fréquence. si les jeux amateurs tourne eux aussi au minimum on peu gagner beaucoup en autonomie.
avatar