Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 33 741 218

  • Nb. de membres 193
  • Nb. d'articles 1 329
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  OS4 toutes plateformes confondues »» WINUAE-PPC

WINUAE-PPC

3 Modérateur(s)
K-LElwoodcorto
AmiDARK AmiDARKicon_post
@Alain : Oui, comme dit Kamelito, le blocage est peut-être au niveau de l'OS dans les drivers...
Peut-être chercher au niveau des drivers de la carte pour AmigaOS4 ?

Et concernant les 128.000.000, tu as mentionné dans la page précédente :
Je pense pas car les ULONG sont très fréquent dans ce genre de cas et que la valeur comme je le disais est certainement un truc comme 127 999 990 qui tiendrait pas sur un octet
D'où ma réflexion sur le façon dont tu as interprété la zone mémoire...


Message édité par : AmiDARK / 15-06-2016 12:47
Message édité par : AmiDARK / 15-06-2016 13:06
icon_post
Autre chose qui peut etre testé et toutes les version depuis AmigaOS4.0 pour voir si ca fonctionnait pour savoir si le blocage est intentionnel. Soit partir de la 4.0 et monter soit de la 4.1 FE et descendre et ensuite faire un diff sur le kernel.

Kamelito
[addsig]
thellier thelliericon_post
Heu personne n a parle' du chiffre 128000000 decimal

Pour info effectivement avec la valeur 128MO précise je trouve
2 occurrence
Ce soir ma checksum marche : winuaeppc boote OK avec ma ROM modifiée

Mais rien ne change...
Le problème vient d ailleurs
Voir aussi mes questions sur EAB

Alain



Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
AmiDARK AmiDARKicon_post
1ko = 1024 octets ...
Comment 128Mo pourraient faire 128.000.000 octets seulement ?
D'ailleurs je pense que la mémoire est définie en intégralitté (les 128Mo) car c'est la définition des limites physiques de la mémoire .. Puis que le système réserve une partie de celle ci pour sa gestion ... Sachant que la partie liée à la gestion peut-être dynamique (car la mémoire nécessaire dépend de la quantité de blocs mémoires réservés à chaque instant de l'exécution de l'OS....

Addendum :
1 Kilo Octet(Ko)= 210 octets= 1.024 octets
1 Méga Octet (Mo)= 220 octets= 1.024 Kio= 1.048.576 octets

Donc 128Mo = 1.048.576 * 128 = 134.217.728 octets = $08.00.00.00

Cela prends tout son sens .. 2mo sur un Amiga 1200 = 2.097.152 octets = $00.20.00.00
Vous n'avez jamais vu cette valeur dans certains outils d'informations mémoire sur Amiga 1200 ? Les $00200000 ? ;)


Message édité par : AmiDARK / 14-06-2016 13:42
Message édité par : AmiDARK / 14-06-2016 13:42
Message édité par : AmiDARK / 14-06-2016 13:44
thellier thelliericon_post

Soyons clair je poste ici car je n'ai pas toutes les réponses

Notamment à la réflexion la checksum ne soit pas être une addition : j'suis con ...

je vais essayer un xor....

>STRICTEMENT COMPRISE entre 127 et 128 mo. Je ne connais pas de ram de 127.5 mo. 

Je pense que une partie de la RAM est pas dispo pour le système (utilisée par header, structure) et que la taille est donc bien qque chose comme 127.9 MO 

comme je sais pas à priori combien d'octet fait cette structure prend comme place je préfère ajouter 3*128MO que marquer 512 et laisser aucune place à cette structure

Mais c'est qu'une hypothèse alors je vais modifier le test pour mettre <= 128MO 

>Dans le fichier rom, elle n'est pas écrite en un octet

Je pense pas car les ULONG sont très fréquent dans ce genre de cas et que la valeur comme je le disais est certainement un truc comme 127 999 990 qui tiendrait pas sur un octet

>Pourquoi ne pas faire le contraire à savoir diminuer la RAM et voir si ca marche.

Tout à fait : faut tenter ça aussi


Alain



Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
YesCop YesCopicon_post
Alain,
N'ayant pas de rom sous la main, je ne sais pas si mes remarques seront vraies.
Je n'aime pas tes nloops, j'ai du mal
Concernant la première boucle, tu recherches une taille de 127 mo écrite en 4 octets. Dans le fichier rom, elle n'est pas écrite en un octet, suffisant pour coder l'information.
Ensuite tu recherches une taille STRICTEMENT COMPRISE entre 127 et 128 mo. Je ne connais pas de ram de 127.5 mo.
Si trouvé, tu ajoutes 3 fois 128, pourquoi ne pas écrire directement pt=512?
Je ne connais rien checksum mais je pense que ce sont des octets. A l'époque de ces roms, l'octet ou le mot étaient utilisés. De plus la somme de ulongs ne risque-t-elle pas de dépasser la taille d'un ulong?
Dernière remarque, un checksum est-elle vaiment qu'une somme simple?
J'aurai codé un checksum comme la somme des différences entre deux octets ou autre chose, histoire de compliquer le calcul du checksum et éviter les hacks.
As-tu comparé avec d'autres roms amiga et vérifier si le codage de la taille et autres infos étaient identiques?

Sam Flex 800 Mhz Amiga OS4.1 FE
icon_post
@Alain,

Pourquoi ne pas faire le contraire à savoir diminuer la RAM et voir si ca marche.
Si cela fonctionne cela indiquerait qu'il y ait du code bloquant l'ajout de mémoire ce qui n'est pas déconnant si on veut limiter l'avancer d'OS4 en émulation.

Kamelito
[addsig]
amigaouf amigaouficon_post
Merci alain pour ton retour
Donc a moin d avoir plus de source pour le moment c est un peu mort pour la ram..
Merci pour tes tantatives
thellier thelliericon_post

OK je viens de consacrer une heure au sujet de la ram: même en faisant la cheksum ça marche pas...

Je cherche dans un des fichiers rom de la cyberstorm une valeur en 127 et 128 MO : on trouve cette valeur qu'à un seul endroit j'y ajoute 3*128 Mo soit environ 512 MO

J'ajuste la taille de la carte à 512 en éditant la config .uae

Peut être que je fais une erreur qque part ... mais difficile à voir ... source joint si qqun à une idée

lire le fichier cyberstorm.rom dans un buffer

faire HackROM(buffer,taillebuffer,127,128);

sauver le buffer dans un nouveau fichier .rom

Alain

/*==========================================================================*/
void HackROM(void *pt,LONG nb,ULONG min,ULONG max)
{ 
ULONG *pt32=pt;
ULONG n;
ULONG x0;
ULONG checksum;
 
NLOOP(nb/4)
 {
 x0=pt32[0];
 if(x0< (max*1024*1024) )
 if((min*1024*1024) < x0)
  {
  printf("[%ld] Valeur %ld dans l'intervalle [%ld à %ld MO] manque %ld bytes \n",n*4,x0,min,max,(max*1024*1024) - x0);
  pt32[0]=x0+(3*128*1024*1024); /* around 128 + 3*128 = around 512 */
  }
 pt32=pt32+1;
 }

/*
>>>Le checksum commence à $20.
>>>Et il se calcule de $24 avec une longueur de $13FF8
>>on y additionne chaque octets ? ou chaque ULONG ?
>Chaque .l !
*/

 checksum=0;
 pt32=pt;
 pt32=pt32+((0x20)/4);
 nb=((0x13FF8)/4);

 NLOOP(nb)
  checksum=checksum+pt32[n+1];
 pt32[0]=checksum;

}
/*==========================================================================*/


Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
thellier thelliericon_post

Oui j'ai installé la dernière version: c'est facile une fois qu'on a installé son os4/winuaeppc il suffit de changer le winuae.exe et tout marche

C'est peut être un peu plus rapide/stable

Et surtout on a use-gfx c'est à dire le driver x86 qui permet d'avoir son Os4-Classic dans toutes les résolutions de son PC : pour moi ici c'est 1280x1024x32

On l'avais déjà dans les versions beta de WinUAE mais là c'est la version stable/débuggée

Concernant la mémoire rien de changé*

La uaenative.library  (passerelle ppp<->x86) serait désormais fonctionnelle (confirmée pat Toni Wilen) donc le portage de Wazp3D en hard devrait être possible... mais il faut que je trouve de la doc sur ce sujet

Alain

(*) Comme je l'ai déjà écrit : une piste serait de modifier la ROM : de modifier l'endroit où est écrit "je suis une carte d'extension de 128 Mo" et y mettre 512 par exemple. comme cela l'OS configurerait la mémoire tout seul

J'avais essayé ça bootait alors plus... apparement il faudrait refaire la checksum... mais j'ai pas tenté depuis


Alain




Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme