Faits:
Faits:
A. Par jugement du 17 février 2005, le Tribunal de l'arrondissement de la Sarine a condamné A._, pour infraction grave à la loi fédérale sur les stupéfiants (LStup; RS 812.121), infraction à la loi fédérale sur les armes (LArm; RS 514.54) et infraction à la loi fédérale sur le séjour et l'établissement des étrangers (LSEE; RS 142.20), à la peine de 15 ans de réclusion, complémentaire à une autre prononcée le 22 juillet 2002, et à l'expulsion du territoire suisse pour une durée de 15 ans.
En bref et pour l'essentiel, il a été retenu que l'accusé s'était livré, entre mars 2001 et mai 2005, à un trafic portant sur une quantité totale de 44.365 kilos bruts d'héroïne, équivalant à 4.532 kilos d'héroïne pure, et qu'il avait agi en bande et par métier, dans le cadre d'un réseau à ramifications internationales.
En bref et pour l'essentiel, il a été retenu que l'accusé s'était livré, entre mars 2001 et mai 2005, à un trafic portant sur une quantité totale de 44.365 kilos bruts d'héroïne, équivalant à 4.532 kilos d'héroïne pure, et qu'il avait agi en bande et par métier, dans le cadre d'un réseau à ramifications internationales.
B. A._ a appelé de ce jugement auprès de la Cour d'appel pénal du Tribunal cantonal fribourgeois, en se plaignant de la quotité de la peine infligée. A cet égard, il soulevait des griefs de fait, quant à la quantité de drogue sur laquelle portait le trafic, à son rôle dans le réseau et au but lucratif de ses agissements, et de droit, quant à l'appréciation de sa culpabilité, qu'il estimait trop sévère par rapport à celle de ses complices.
Par arrêt du 18 mai 2006, la Cour d'appel pénal a rejeté le recours dans la mesure où il était recevable et confirmé le jugement attaqué.
Par arrêt du 18 mai 2006, la Cour d'appel pénal a rejeté le recours dans la mesure où il était recevable et confirmé le jugement attaqué.
C. A._ forme un recours de droit public au Tribunal fédéral, pour violation des art. 8 et 9 Cst. Il conclut à l'annulation de l'arrêt attaqué, en sollicitant l'assistance judiciaire.
Le Ministère public conclut au rejet du recours.
L'autorité cantonale a renoncé à formuler des observations.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Saisi d'un recours de droit public, le Tribunal fédéral ne peut entrer en matière que sur les griefs d'ordre constitutionnel invoqués et suffisamment motivés dans le recours (cf. art. 90 al. 1 let. b OJ; ATF 130 I 258 consid. 1.3 p. 261/262; 129 I 113 consid. 2.1 p. 120, 185 consid. 1.6 p. 189).
1. Saisi d'un recours de droit public, le Tribunal fédéral ne peut entrer en matière que sur les griefs d'ordre constitutionnel invoqués et suffisamment motivés dans le recours (cf. art. 90 al. 1 let. b OJ; ATF 130 I 258 consid. 1.3 p. 261/262; 129 I 113 consid. 2.1 p. 120, 185 consid. 1.6 p. 189).
2. Le recourant se plaint d'arbitraire, prohibé par l'art. 9 Cst. Il reproche à l'autorité cantonale d'avoir considéré comme irrecevable, parce qu'insuffisamment motivé, son grief d'inégalité de traitement dans la fixation de la peine.
2.1 De jurisprudence constante, une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable, et cela non seulement dans sa motivation mais dans son résultat (ATF 131 I 57 consid. 2 p. 61; 129 I 8 consid. 2.1 p. 9, 173 consid. 3.1 p. 178).
2.2 L'arrêt attaqué considère comme insuffisante la motivation de l'appel en ce qui concerne le grief d'inégalité de traitement dans la fixation de la peine, au motif que le recourant s'est borné à alléguer que la volonté délictueuse de ses complices était très certainement comparable à la sienne.
Le recourant objecte d'abord que, n'ayant pas accès au jugement de condamnation de ses complices, il ne pouvait en connaître les motifs. En vain toutefois. Le cas échéant, son grief d'inégalité de traitement dans la fixation de la peine était par là même privé de fondement; il ne pouvait arguer d'une inégalité par rapport à des peines dont il ignorait comment elles avaient été fixées.
Non sans se contredire, le recourant laisse entendre qu'il a fait valoir des éléments de comparaison. Il se borne toutefois à l'affirmer, sans aucune démonstration à l'appui, n'indiquant même pas de quels éléments de comparaison il se serait prévalu. A plus forte raison n'établit-il pas d'arbitraire au sens défini ci-dessus (cf. supra, consid. 2.1). Il tente au reste vainement de justifier son abstention. C'est manifestement à lui qu'il incombait d'indiquer de quels éléments de comparaison il entendait se prévaloir, et non à l'autorité cantonale de les rechercher d'office sur la base de la simple affirmation d'une inégalité de traitement dans la fixation de la peine. Il n'établit en tout cas pas, ni même n'invoque, de violation arbitraire de l'art. 214 al. 2 let. c CPP/FR, qui prévoit que le mémoire d'appel doit contenir les motifs à l'appui des conclusions.
Le grief doit dès lors être rejeté dans la mesure où il est recevable.
Le grief doit dès lors être rejeté dans la mesure où il est recevable.
3. Le recourant invoque une violation du principe de l'égalité de traitement, consacré par l'art. 8 Cst., faisant valoir que son cas ne pouvait être traité isolément, mais devait être examiné en comparaison avec celui du coaccusé B._, jugé séparément.
3.1 Il ne ressort pas de l'arrêt attaqué qu'une violation de l'art. 8 Cst. ait été invoquée en instance cantonale et le recourant n'établit pas le contraire. Le grief apparaît donc nouveau et, partant, irrecevable, faute d'épuisement des instances cantonales (cf. art. 86 al. 1 OJ).
3.2 Au demeurant, il eût de toute manière été irrecevable pour un autre motif. Quoiqu'en dise le recourant, c'est en réalité d'une violation de l'art. 63 CP, et non de l'art. 8 Cst., dont il se plaint. Il reproche en effet aux juges cantonaux de lui avoir infligé une peine de 6 ans supérieure à celle prononcée à l'encontre de B._, pour avoir considéré que ce dernier, contrairement à lui, avait passé des aveux et collaboré à l'enquête et avoir ainsi tenu compte d'un élément qui ne serait pas déterminant au regard des critères à prendre en considération dans la fixation de la peine. Un tel grief revient clairement à se plaindre d'une application erronée de l'art. 63 CP, donc du droit pénal fédéral, et peut donc être soulevé dans un pourvoi en nullité (ATF 116 IV 292 consid. 2 p. 293; cf. également arrêts 6S.244/2003 consid. 4, 6S.279/2003 consid. 5.3, 6S.283/2002 consid. 6, 6P.70/2001 consid. 6). Il ne saurait donc être invoqué dans un recours de droit public, qui est subsidiaire (art. 84 al. 2 OJ; art. 269 PPF).
3.2 Au demeurant, il eût de toute manière été irrecevable pour un autre motif. Quoiqu'en dise le recourant, c'est en réalité d'une violation de l'art. 63 CP, et non de l'art. 8 Cst., dont il se plaint. Il reproche en effet aux juges cantonaux de lui avoir infligé une peine de 6 ans supérieure à celle prononcée à l'encontre de B._, pour avoir considéré que ce dernier, contrairement à lui, avait passé des aveux et collaboré à l'enquête et avoir ainsi tenu compte d'un élément qui ne serait pas déterminant au regard des critères à prendre en considération dans la fixation de la peine. Un tel grief revient clairement à se plaindre d'une application erronée de l'art. 63 CP, donc du droit pénal fédéral, et peut donc être soulevé dans un pourvoi en nullité (ATF 116 IV 292 consid. 2 p. 293; cf. également arrêts 6S.244/2003 consid. 4, 6S.279/2003 consid. 5.3, 6S.283/2002 consid. 6, 6P.70/2001 consid. 6). Il ne saurait donc être invoqué dans un recours de droit public, qui est subsidiaire (art. 84 al. 2 OJ; art. 269 PPF).
4. Le recours doit ainsi être rejeté dans la mesure où il est recevable. Comme ses conclusions étaient d'emblée vouées à l'échec, la requête d'assistance judiciaire ne saurait être admise (art. 152 al. 1 OJ) et le recourant, qui succombe, supportera les frais (art. 156 al. 1 OJ).
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté dans la mesure où il est recevable.
1. Le recours est rejeté dans la mesure où il est recevable.
2. La requête d'assistance judiciaire est rejetée.
2. La requête d'assistance judiciaire est rejetée.
3. Un émolument judiciaire de 2000 fr. est mis à la charge du recourant.
3. Un émolument judiciaire de 2000 fr. est mis à la charge du recourant.
4. Le présent arrêt est communiqué en copie au mandataire du recourant ainsi qu'au Ministère public et à la Cour d'appel pénal du Tribunal cantonal de l'Etat de Fribourg.
Lausanne, le 26 octobre 2006
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: La greffière: