Faits: Faits: A. Par arrêt du 30 mai 1991, la Cour d'assises du canton de Genève a reconnu P._ coupable de diverses infractions dont, principalement, un brigandage avec armes perpétré le 12 novembre 1983 au préjudice de la bijouterie Kunz à Genève; elle l'a condamné à cinq ans de réclusion. Dès son arrestation, l'accusé avait protesté de son innocence; il a ensuite recouru sans succès à la Cour de cassation cantonale, puis au Tribunal fédéral, par la voie du recours de droit public; ce dernier recours a été rejeté le 9 mars 1992 (cause 1P.821/1991). P._ a été placé en détention préventive dès le 24 avril 1990, puis il a subi l'exécution de la peine jusqu'au 20 août 1993; la poursuite pénale a ainsi entraîné une incarcération de 1214 jours en tout. Par la suite, le Procureur général du canton de Genève a introduit une demande de révision dirigée contre l'arrêt du 30 mai 1991. Cette demande était fondée sur des faits nouveaux, venus à la connaissance du magistrat requérant d'abord par une demande d'entraide judiciaire des autorités italiennes, puis confirmés par une nouvelle enquête. Il apparaissait qu'en réalité, P._ ne faisait pas partie des trois malfaiteurs ayant commis le brigandage du 12 novembre 1983. Statuant le 21 décembre 1999, la Cour de cassation cantonale a admis cette demande; selon le dispositif de son arrêt, elle a acquitté P._ de l'accusation relative au brigandage et a constaté, au sujet des autres infractions, que l'action pénale était prescrite. Par la suite, le Procureur général du canton de Genève a introduit une demande de révision dirigée contre l'arrêt du 30 mai 1991. Cette demande était fondée sur des faits nouveaux, venus à la connaissance du magistrat requérant d'abord par une demande d'entraide judiciaire des autorités italiennes, puis confirmés par une nouvelle enquête. Il apparaissait qu'en réalité, P._ ne faisait pas partie des trois malfaiteurs ayant commis le brigandage du 12 novembre 1983. Statuant le 21 décembre 1999, la Cour de cassation cantonale a admis cette demande; selon le dispositif de son arrêt, elle a acquitté P._ de l'accusation relative au brigandage et a constaté, au sujet des autres infractions, que l'action pénale était prescrite. B. Sur la base de la législation cantonale applicable, P._ a réclamé le versement d'une indemnité pour le préjudice causé par la poursuite pénale et la détention injustifiées. La demande introduite à cette fin, le 20 décembre 2000, était dépourvue de conclusions formelles, mais elle comportait un récapitulatif de dix chefs d'indemnisation, pour un montant total de 2'278'979 fr. Par arrêt du 25 juin 2001, la Chambre pénale de la Cour de justice est entrée en matière sur la demande, jugeant que le récapitulatif était suffisamment explicite quant à l'ampleur des prétentions élevées; elle l'a partiellement admise et a alloué au requérant une indemnisation de 370'404 fr., à la charge du canton de Genève. Par arrêt du 25 juin 2001, la Chambre pénale de la Cour de justice est entrée en matière sur la demande, jugeant que le récapitulatif était suffisamment explicite quant à l'ampleur des prétentions élevées; elle l'a partiellement admise et a alloué au requérant une indemnisation de 370'404 fr., à la charge du canton de Genève. C. Agissant par la voie du recours de droit public, P._ requiert le Tribunal fédéral d'annuler ce prononcé et de renvoyer la cause à la Cour de justice, pour que cette juridiction statue à nouveau selon les instructions qui lui seront données. Invoquant l'art. 9 Cst., le recourant se plaint de violation du droit d'être entendu, d'évaluation arbitraire des montants alloués au titre du tort moral, et de constatations arbitraires des faits au sujet de l'étendue du dommage pécuniaire. Invités à répondre, le Procureur général du canton de Genève propose le rejet du recours; la Cour de justice a renoncé à déposer des observations.