OVH Cloud OVH Cloud

Lancer une routine PNO > 64ko

8 réponses
Avatar
Frédéric Coste
Bonsoir / Bonjour,

Je rencontre un petit problème de ressources tout bête.
Après avoir porté un code initialement prévu pour PC, je me retrouve avec
une routine PNO de plus de 300ko.

Comme la hotsync me permet pas ce genre de facétie, je suis parti sur le
principale de découper ma routine afin de la faire tenir dans plusieurs
ressources. Et au démarrage de mon appli, j'alloue un bloc de mémoire de la
taille de ma routine compléte puis je copie chacun des blocs les uns à la
suite des autres.

Au moment du PceNativeCall, je passe juste le pointeur sur le début de ma
nouvelle zone, comme s'il s'aggisait une ressource.

Je trouve cette méthode plutôt simple...Mais elle n'a pas l'air de
fonctionné.

Et pour l'essayer, il faut obligatoirement l'essayer sur l'appareil et c'est
soft reset à chaque fois !!

Comment faites-vous ?

Merci
Frédéric

8 réponses

Avatar
Frédéric Coste
En fait, je suis en train de porter un émulateur de CPC. Malheureusement, je
ne maîtrise pas le code aussi bien que je le voudrais :(
Et cette routine émule tout le CPC.
Je ne pense pas être capable de la scinder, tous les composants émulés sont
liès, cadencés par le CPU.

Je suis étonné que tu n'es pas rencontré ce problème, même si je pense que
tu as entièrement raison.

Bon je vais cherché...
Je te tiendrais au courant lorsque j'aurais troucé :)

Merci Patrick

"Patrick Vuichard" a écrit dans le message de
news:
Frédéric Coste a écrit, le 02/07/2006 21:18 :

une routine PNO de plus de 300ko.



Belle bête. Mais est-ce vraiment utile de tout mettre dans un PNO ? Tu as
300 ko de calculs ??? Ca serait énorme !

Comme la hotsync me permet pas ce genre de facétie, je suis parti sur le
principale de découper ma routine afin de la faire tenir dans plusieurs
ressources.



Ca parail logique.

Et au démarrage de mon appli, j'alloue un bloc de mémoire de la taille de
ma routine compléte puis je copie chacun des blocs les uns à la suite des
autres.

Au moment du PceNativeCall, je passe juste le pointeur sur le début de ma
nouvelle zone, comme s'il s'aggisait une ressource.

Je trouve cette méthode plutôt simple...Mais elle n'a pas l'air de
fonctionné.



Franchement, ça ne m'étonne pas trop. Je n'ai jamais été confronté au
problème, mais j'essaierais ceci si c'était le cas :

- diminuer le PNO pour n'y garder que ce qui a du sens (les parties
faisant du calcul)
- diviser en morceaux logiques indépendants et ne charger que le bloc
correspondant pour l'exécuter. Ainsi, tu n'exécutes plus un PNO de 300 k
mais 5 PNOs de 60 k, les uns après les autres.

Et pour l'essayer, il faut obligatoirement l'essayer sur l'appareil et
c'est soft reset à chaque fois !!



Essaie de te procurer un cable série, pour pouvoir débugguer les PNOs.
Parce que, entre ce genre de droleries et les bugs habituels, les
WinDrawChars devient vite lassant.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses


Avatar
Den
Frédéric Coste a écrit :
En fait, je suis en train de porter un émulateur de CPC.



Le CPC Amstrad ?

Den
Avatar
Frédéric Coste
oui


"Den" a écrit dans le message de news:
44a97657$0$1632$
Frédéric Coste a écrit :
En fait, je suis en train de porter un émulateur de CPC.



Le CPC Amstrad ?

Den


Avatar
Frédéric Coste
Oui, j'ai déjà contacté Régis à propose de son émulateur, mais il n'est pas
encore capable de sauvegarder, et je trouve cela un peu génant.

Mais qu'importe, je voulais programme sous Palm OS et un émulateur CPC était
à la fois trés intéressant du point de vue du code et trés formateur pour le
porter.

Pour en revenir à mon problème, il s'agirait probablement d'un bug à
l'intérieur de ma routine. L'éxecution semble tout à fait correcte.
Maintenant commence le dur travail de debug, sans debug :)

Encore merci patrick :)

"Patrick Vuichard" a écrit dans le message de
news:
Frédéric Coste a écrit, le 03/07/2006 20:07 :

En fait, je suis en train de porter un émulateur de CPC.



Là, tu t'embètes pour rien : le boulot a déja été fait. Cherche
Copacabana. Evidemment, les auteurs trichent, ce qui aide un peu.

Je ne pense pas être capable de la scinder, tous les composants émulés
sont liès, cadencés par le CPU.



Je suis étonné que tu n'es pas rencontré ce problème,



Ben, faut en vouloir pour faire un PNO de 300 ko, quand même 8-o

Et puis, si j'en avais vraiment besoin, je ferais comme les personnes
citées plus tôt : je tricherais.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses


Avatar
Frédéric Coste
Excuses-moi cette question de débutant mais,

Comment connecter un câble série sur un TX ?

"Patrick Vuichard" a écrit dans le message de
news:
Frédéric Coste a écrit, le 04/07/2006 18:32 :

Maintenant commence le dur travail de debug, sans debug :)



POD + cable série.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses


Avatar
Frédéric Coste
Jusque là, je n'ai pas réussi, mais je vais essayer avec le câble d'origine
Palm :)


"Patrick Vuichard" a écrit dans le message de
news:
Frédéric Coste a écrit, le 04/07/2006 19:47 :

Comment connecter un câble série sur un TX ?



Le connecteur contient à la fois le port USB et le port série. Il suffit
donc d'avoir le bon cable.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses


Avatar
Frédéric Coste
Bon hmm, ok
Ben, je vais m'en tenir au bonne méthode traditionnelle...la trace manuelle
:)


"Patrick Vuichard" a écrit dans le message de
news:
Frédéric Coste a écrit, le 04/07/2006 20:30 :

Jusque là, je n'ai pas réussi, mais je vais essayer avec le câble
d'origine Palm :)



Tu n'as pas compris : le connecteur côté Palm est à la fois USB et série.
Mais le cable fourni n'est que USB. Il faut donc un cable série.

La différence est dans le cablage... et la prise côté desktop.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses


Avatar
Frédéric Coste
Bon, j'ai trouvé, encore une utilisatation de constantes...pffff

L'émulateur tourne maintenant sur mon TX :)

Encore merci Patrick :)

"Frédéric Coste" a écrit dans le message de news:
44aab5eb$0$1012$
Bon hmm, ok
Ben, je vais m'en tenir au bonne méthode traditionnelle...la trace
manuelle :)


"Patrick Vuichard" a écrit dans le message
de news:
Frédéric Coste a écrit, le 04/07/2006 20:30 :

Jusque là, je n'ai pas réussi, mais je vais essayer avec le câble
d'origine Palm :)



Tu n'as pas compris : le connecteur côté Palm est à la fois USB et série.
Mais le cable fourni n'est que USB. Il faut donc un cable série.

La différence est dans le cablage... et la prise côté desktop.

--

Internet, newsgroups, e-mail => Netiquette
http://usenet-fr.news.eu.org/fr.usenet.reponses/usenet/netiquette.html
news:fr.bienvenue news:fr.bienvenue.questions
news:news.announce.newusers news:fr.usenet.reponses