Sachverhalt:
Sachverhalt:
A. Die Bezirksanwaltschaft II für den Kanton Zürich erhob am 22. Oktober 2002 gegen X._ Anklage wegen Widerhandlung gegen das Bundesgesetz über die Betäubungsmittel (BetmG). Sie warf dem Angeklagten vor, er habe im November 2001 A._ für eine Entschädigung von Fr. 8'000.-- und 100 g Kokain den Auftrag zur Einfuhr von rund 4,8 kg Kokain aus der Dominikanischen Republik erteilt (Anklageziffer I/2). Im Weiteren legte die Bezirksanwaltschaft dem Angeklagten zur Last, er habe im gleichen Zeitraum die Einfuhr von ca. 1 kg Kokain aus Bolivien organisiert. Es sei jedoch nicht zu einer Lieferung dieser Drogen an den Angeklagten gekommen, da der vorgesehene Kurier sich geweigert habe, den Transport auszuführen. Konkret habe sich der Angeklagte mit B._, der im Kanton Genf eine mehrjährige Freiheitsstrafe wegen Drogenhandels verbüsst habe, telefonisch in Verbindung gesetzt und sich bei diesem nach einer Person erkundigt, die ihm - dem Angeklagten - Kokain liefern würde. Daraufhin habe B._ seinen in Bolivien wohnhaften Schwager C._ ersucht, 1 kg Kokain zu organisieren und in die Schweiz zu transportieren. In der Folge sei es aber nicht zur geplanten Drogeneinfuhr gekommen, da sich der Schwager von B._ aus Furcht vor den strengen Kontrollen nach dem 11. September 2001 schliesslich geweigert habe, den Transport durchzuführen (Anklageziffer III). Sodann führte die Bezirksanwaltschaft aus, der Angeklagte habe seit 1996 zu verschiedenen Zeitpunkten an diverse Abnehmer Kokain in Portionen von 2 bis 10 Gramm verkauft und einmal einem Interessenten 60 Gramm angeboten (Anklageziffer II).
Das Bezirksgericht Zürich sprach den Angeklagten mit Urteil vom 24. Januar 2003 der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz im Sinne von Art. 19 Ziff. 1 Abs. 4, 5 und 6 BetmG in Verbindung mit Art. 19 Ziff. 2 lit. a BetmG schuldig und bestrafte ihn mit 5 Jahren Zuchthaus, unter Anrechnung von 413 Tagen Haft. Mit Beschluss vom gleichen Datum trat das Bezirksgericht auf verschiedene Anklagevorwürfe nicht ein. Auf Berufung des Angeklagten hin bestätigte das Obergericht des Kantons Zürich am 2. September 2003 den erstinstanzlichen Entscheid im Schuld- und Strafpunkt. Der Angeklagte legte gegen das Urteil des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Sitzungsbeschluss vom 5. April 2004 wies das Kassationsgericht des Kantons Zürich die Beschwerde ab, soweit darauf eingetreten werden konnte.
Das Bezirksgericht Zürich sprach den Angeklagten mit Urteil vom 24. Januar 2003 der mehrfachen Widerhandlung gegen das Betäubungsmittelgesetz im Sinne von Art. 19 Ziff. 1 Abs. 4, 5 und 6 BetmG in Verbindung mit Art. 19 Ziff. 2 lit. a BetmG schuldig und bestrafte ihn mit 5 Jahren Zuchthaus, unter Anrechnung von 413 Tagen Haft. Mit Beschluss vom gleichen Datum trat das Bezirksgericht auf verschiedene Anklagevorwürfe nicht ein. Auf Berufung des Angeklagten hin bestätigte das Obergericht des Kantons Zürich am 2. September 2003 den erstinstanzlichen Entscheid im Schuld- und Strafpunkt. Der Angeklagte legte gegen das Urteil des Obergerichts eine kantonale Nichtigkeitsbeschwerde ein. Mit Sitzungsbeschluss vom 5. April 2004 wies das Kassationsgericht des Kantons Zürich die Beschwerde ab, soweit darauf eingetreten werden konnte.
B. X._ erhob gegen diesen Entscheid staatsrechtliche Beschwerde beim Bundesgericht. Er beantragt, der angefochtene Beschluss sei aufzuheben und die Sache sei zu neuer Entscheidung an das Kassationsgericht zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren.
B. X._ erhob gegen diesen Entscheid staatsrechtliche Beschwerde beim Bundesgericht. Er beantragt, der angefochtene Beschluss sei aufzuheben und die Sache sei zu neuer Entscheidung an das Kassationsgericht zurückzuweisen. Ausserdem ersucht er um Gewährung der unentgeltlichen Rechtspflege für das bundesgerichtliche Verfahren.
C. Die Staatsanwaltschaft und das Kassationsgericht des Kantons Zürich verzichteten auf eine Vernehmlassung.
Das Bundesgericht zieht in Erwägung:
Das Bundesgericht zieht in Erwägung:
1. Der Beschwerdeführer macht geltend, der Schuldspruch hinsichtlich Anklageziffer I/2 (Einfuhr von rund 4,8 kg Kokain aus der Dominikanischen Republik) beruhe auf den Aussagen der Auskunftsperson A._, der Schuldspruch bezüglich Anklageziffer III (Einfuhr von rund 1 kg Kokain aus Bolivien) auf denjenigen der Auskunftsperson B._. Er ist der Meinung, bei diesen Schuldsprüchen hätten sich die kantonalen Gerichte auf unverwertbare Aussageprotokolle gestützt und damit die Verfassung und die EMRK verletzt.
1.1 In der staatsrechtlichen Beschwerde wird ausgeführt, der Beschwerdeführer habe sich vor Bezirksgericht, vor Obergericht und vor Kassationsgericht auf den Standpunkt gestellt, die Protokolle über Einvernahmen mit B._ seien nicht verwertbar. Am 8. Mai 2002 sei eine Konfrontationseinvernahme mit B._ durchgeführt worden. Vorher habe der Verteidiger um Einsicht in die Akten ersucht. Die Bezirksanwaltschaft habe ihn für die Akteneinsicht auf den Zeitpunkt der Konfrontationseinvernahme vertröstet. Am 8. Mai 2002 habe der Verteidiger anlässlich dieser Einvernahme nur zwei Protokolle über polizeiliche Einvernahmen mit B._ vom 12. Dezember 2001 und 24. April 2002 erhalten. Nachträglich habe er festgestellt, dass vor der Konfrontationseinvernahme nicht weniger als 11 Einvernahmen mit B._ durchgeführt worden seien. 9 von 11 Einvernahmeprotokollen seien ihm somit anlässlich der genannten Einvernahme nicht bekannt gewesen. Mit diesem Vorgehen seien die Verteidigungsrechte des Beschwerdeführers verletzt worden.
1.1.1 Das Obergericht hielt in seinem Urteil fest, der Bezirksanwalt habe anerkannt, dass dem Verteidiger vor der Konfrontationseinvernahme vom 8. Mai 2002 nicht sämtliche Einvernahmeprotokolle vorgelegen hätten. Er habe jedoch geltend gemacht, es habe sich dabei um Aussagen von B._ gehandelt, mit denen dieser den Bruder des Beschwerdeführers und dessen Freundin belastet habe. Da zu diesem Zeitpunkt nicht klar gewesen sei, ob gegen diese Personen durch die Genfer Untersuchungsrichterin eine Untersuchung eröffnet werde, habe er diese Informationen dem Beschwerdeführer nicht zur Kenntnis bringen wollen. Unmittelbar nach der Konfrontationseinvernahme habe der Bezirksanwalt den Verteidiger darüber informiert, weshalb die Einsichtnahme nur mit Bezug auf einen Teil der Akten gewährt worden sei. Es sei demnach - wie das Obergericht im Weiteren ausführte - davon auszugehen, dass der Verteidiger vor der Konfrontationseinvernahme vom 8. Mai 2002 Akteneinsicht verlangt habe und diese damals nicht vollständig gewährt worden sei. Das bedeute jedoch nicht, dass das Fragerecht des Beschwerdeführers in solcher Weise unzulässig beeinträchtigt worden wäre, dass die ihn belastenden Aussagen B._s als ungültig und damit als nicht verwertbar einzustufen wären. Von denjenigen Einvernahmeprotokollen, welche dem Verteidiger anlässlich der Konfrontationseinvernahme nicht zur Verfügung gestanden seien, hätten nur die Einvernahmen B._s vom 7. Dezember 2001 und 29. April 2002 Aussagen über den vorliegenden Anklagesachverhalt enthalten. Diese Protokolle seien aber dem Verteidiger noch vor Abschluss der Untersuchung zur Kenntnis gelangt. Er hätte somit ohne weiteres noch während der Untersuchung eine ergänzende Befragung von B._ veranlassen können. Er habe das jedoch weder dort noch im erstinstanzlichen Verfahren noch im Berufungsverfahren getan, sondern sich damit begnügt, die Nichtigkeit der vorliegenden Protokolle der Einvernahme von B._ zu rügen. Da der Beschwerdeführer dieses Recht nicht ausgeübt habe, könne er sich heute nicht mehr auf die Unverwertbarkeit der fraglichen Protokolle berufen.
1.1.2 Das Kassationsgericht schützte diese Auffassung des Obergerichts. Es führte im angefochtenen Entscheid aus, grundsätzlich sei es richtig, dass in denjenigen Fällen, in welchen der Verteidiger vor der Konfrontationseinvernahme um Akteneinsicht ersucht habe, die Untersuchungsbehörde sämtliche Vorkehren für eine wirksame Ausübung der Verteidigungsrechte des Angeschuldigten zu treffen habe. Aufgrund der besonderen Umstände des vorliegenden Falles habe das Obergericht aber davon ausgehen dürfen, dass der Beschwerdeführer bzw. sein Verteidiger nach der Konfrontationseinvernahme vom 8. Mai 2002 hätte aktiv werden und nicht die Untersuchungsbehörde von sich aus den Mangel hätte beheben müssen. Der Verteidiger sei unmittelbar nach dieser Einvernahme darüber informiert worden, weshalb die Einsichtnahme nur mit Bezug auf einen Teil der Akten gewährt worden sei. Er habe in seinem an den Bezirksanwalt gerichteten Schreiben vom 10. Juni 2002 selber angegeben, nach der Konfrontation mit B._ von den nicht vorgelegten Protokollen Kenntnis erhalten zu haben, mithin auch von jenen, welche Aussagen über den Anklagesachverhalt enthielten. Sodann habe der Verteidiger im gleichen Schreiben erklärt: "Weiter behalte ich mir den Antrag um ergänzende Befragung der Auskunftspersonen A._ und B._ vor". Schliesslich stehe fest, dass der Bezirksanwalt dem Verteidiger in der Folge die Untersuchungsakten zur Einsicht habe zukommen lassen. Bei dieser Sachlage habe der Bezirksanwalt davon ausgehen dürfen, dass der Verteidiger im Falle der sachlichen Notwendigkeit einen Antrag auf Durchführung einer ergänzenden Konfrontationseinvernahme stellen würde. Der Verteidiger habe es jedoch nach Einsichtnahme in sämtliche Akten unterlassen, während der noch laufenden Untersuchung einen dahingehenden Antrag zu stellen. Aus der Sicht des Bezirksanwaltes habe somit kein Anlass mehr bestanden, von Amtes wegen entsprechende Weiterungen einzuleiten. Der Bezirksanwalt habe nach dem Ausbleiben eines Antrages davon ausgehen dürfen, der Verteidiger verzichte auf eine ergänzende Konfrontation. Die "Unterlassung der ergänzenden Konfrontation" stelle daher keinen "Mangel der Untersuchungsführung dar und mit Bezug auf das gerichtliche Verfahren" würden "in diesem Zusammenhang keine Rügen erhoben". Es sei deshalb der Auffassung des Obergerichts zu folgen, wonach der Beschwerdeführer sich nicht mehr darauf berufen könne, dass ihm anlässlich der Konfrontationseinvernahme keine vollständige Akteneinsicht gewährt worden sei.
1.2 In der staatsrechtlichen Beschwerde wird eingewendet, mit dieser Begründung habe das Kassationsgericht die §§ 14 und 15 der Strafprozessordnung des Kantons Zürich (StPO) willkürlich angewendet und damit die Verteidigungsrechte des Beschwerdeführers gemäss Art. 6 Ziff. 3 lit. a, b und d EMRK sowie dessen Anspruch auf ein faires Verfahren nach Art. 6 Ziff. 1 EMRK verletzt.
1.2.1 Gemäss Art. 6 Ziff. 3 EMRK hat der Angeklagte das Recht, innerhalb möglichst kurzer Frist in einer für ihn verständlichen Sprache in allen Einzelheiten über die Art und den Grund der gegen ihn erhobenen Beschuldigung in Kenntnis gesetzt zu werden (lit. a), ausreichende Zeit und Gelegenheit zur Vorbereitung seiner Verteidigung zu haben (lit. b) sowie Fragen an Belastungszeugen zu stellen oder stellen zu lassen (lit. d). Die Garantien von Art. 6 Ziff. 3 EMRK stellen besondere Aspekte des Rechts auf ein faires Verfahren nach Art. 6 Ziff. 1 EMRK dar. Mit der Garantie von Art. 6 Ziff. 3 lit. d EMRK soll ausgeschlossen werden, dass ein Strafurteil auf Aussagen von Zeugen abgestützt wird, ohne dass dem Angeschuldigten wenigstens einmal angemessene und hinreichende Gelegenheit gegeben wird, das Zeugnis in Zweifel zu ziehen und Fragen an den Zeugen zu stellen (BGE 129 I 151 E. 3.1 S. 153; 125 I 127 E. 6c/cc S. 135).
Was die vom Beschwerdeführer angerufenen Vorschriften des kantonalen Strafprozessrechts angeht, so legt § 14 Abs. 1 StPO fest, dass dem Angeschuldigten und seinem Verteidiger Gelegenheit gegeben wird, den Einvernahmen von Zeugen, Auskunftspersonen und Sachverständigen vor dem Untersuchungsbeamten beizuwohnen und an sie Fragen zu richten, welche zur Aufklärung der Sache dienen können. Gemäss § 15 StPO sind Einvernahmen von Zeugen, Auskunftspersonen oder Sachverständigen, bei welchen die Vorschriften von § 14 StPO nicht beachtet wurden, nichtig, soweit sie den Angeschuldigten belasten.
1.2.2 Der Beschwerdeführer ist der Ansicht, nachdem er bereits im bezirksgerichtlichen Verfahren und dann erneut vor Obergericht geltend gemacht habe, "dass die Protokolle B._ aus den genannten Gründen nicht verwertbar seien", habe er "alles getan, was zur Wahrnehmung der Rechte gemäss Art. 6 Ziff. 3 EMRK im Lichte der §§ 14 und 15 StPO/ZH notwendig" sei. Dem kann nicht beigepflichtet werden. Nach der Rechtsprechung des Zürcher Kassationsgerichts zu § 14 StPO ist es in Bezug auf die effektive Ausübung der Mitwirkungsrechte bei Konfrontationseinvernahmen primär Aufgabe des Verteidigers, entsprechende Vorkehren zu treffen bzw. zu veranlassen. Das Kassationsgericht betonte, es bestehe keine generelle Pflicht der Untersuchungsbehörde, unaufgefordert sämtliche Vorkehren für eine wirksame Ausübung der Verteidigungsrechte zu treffen, sondern es sei Sache des Verteidigers, aktiv zu werden und Anträge zu stellen (ZR 95/1996 Nr. 10 S. 29 u. 30). Dies gilt auch im Lichte der betreffenden Vorschriften der EMRK. Hinsichtlich des Anspruchs auf Befragung von Belastungszeugen hat das Bundesgericht wiederholt erklärt, Gesuche um Zeugenbefragungen seien den Behörden rechtzeitig und formgerecht einzureichen. Falls der Angeschuldigte nicht rechtzeitig einen entsprechenden Beweisantrag gestellt habe, könne er den Behörden nicht nachträglich vorwerfen, sie hätten seinen diesbezüglichen Grundrechtsanspruch verletzt (BGE 125 I 127 E. 6c/bb S. 134; 121 I 306 E. 1b S. 309; 118 Ia 462 E. 5b S. 470). Ob ein Antrag auf Befragung von Belastungszeugen unter dem Aspekt von Treu und Glauben rechtzeitig vorgebracht wurde, hängt von den konkreten Umständen des Einzelfalles ab.
Im vorliegenden Fall ist den Akten zu entnehmen, dass der Beschwerdeführer bzw. sein Verteidiger am 10. Juni 2002 von denjenigen Protokollen über Einvernahmen mit B._, welche ihm vor der Konfrontationseinvernahme vom 8. Mai 2002 nicht vorgelegt worden waren, Kenntnis erhalten hatte. In seinem an den Bezirksanwalt gerichteten Schreiben vom 10. Juni 2002 erklärte er, er behalte sich den Antrag um ergänzende Befragung der Auskunftspersonen A._ und B._ vor; gleichzeitig ersuchte er um vollständige Akteneinsicht. Nach Einsichtnahme in sämtliche Akten hat es der Beschwerdeführer jedoch unterlassen, während der noch laufenden Untersuchung eine Ergänzung der Konfrontationsbefragung mit B._ zu beantragen. Bei dieser Sachlage konnte das Kassationsgericht mit Grund annehmen, der Bezirksanwalt habe nach dem Ausbleiben eines solchen Antrags davon ausgehen dürfen, der Beschwerdeführer verzichte auf eine ergänzende Konfrontation, und deren Unterlassung stelle daher keinen Mangel der Untersuchungsführung dar. Der Beschwerdeführer macht zu Unrecht geltend, die Bemerkung des Kassationsgerichts, wonach mit Bezug auf das gerichtliche Verfahren in diesem Zusammenhang keine Rügen erhoben worden seien, gehe fehl, denn er habe sich vor allen gerichtlichen Instanzen auf seine Verteidigungsrechte berufen und gerügt, "dass die Untersuchungsbehörden bzw. die jeweiligen Vorinstanzen den Schuldspruch mit nicht verwertbaren Protokollen begründen". Mit seiner Bemerkung wollte das Kassationsgericht zum Ausdruck bringen, der Beschwerdeführer habe in den gerichtlichen Verfahren nicht beanstandet, dass die betreffende Gerichtsinstanz keine ergänzende Konfrontationseinvernahme durchgeführt habe. Eine solche Rüge wurde, wie sich ohne Willkür annehmen lässt, weder vor Bezirksgericht noch vor Obergericht erhoben. Was das Berufungsverfahren angeht, so kann gemäss § 420 StPO der Berufungskläger beantragen, dass in der zweiten Instanz Zeugen oder Sachverständige abgehört oder die erstinstanzlichen Verhandlungen vervollständigt werden. Der Beschwerdeführer erklärt, er habe im Berufungsverfahren mit Schreiben vom 25. Juni 2003 die Einvernahme von B._ "zur folgenden Beweistatsache" beantragt: "B._ machte die den Beschwerdeführer belastenden Aussagen, nachdem ihm Resultate aus der Telefonkontrolle vorgehalten worden waren". Bei diesem Begehren handelte es sich aber nicht um einen Antrag um Ergänzung der Konfrontationsbefragung, auf welchen sich die erwähnte Bemerkung des Kassationsgerichts bezieht. Auch was der Beschwerdeführer sonst noch vorbringt, ist nicht geeignet, die oben (E. 1.1.2) angeführten Überlegungen des Kassationsgerichts als verfassungs- oder konventionswidrig erscheinen zu lassen. Dieses gelangte zum Schluss, aufgrund der besonderen Umstände des vorliegenden Falles habe das Obergericht davon ausgehen dürfen, der Beschwerdeführer hätte noch während der Untersuchung oder im Verfahren vor der ersten oder zweiten Gerichtsinstanz eine ergänzende Konfrontationsbefragung mit B._ veranlassen können, und da er dies unterlassen habe, könne er sich nachträglich nicht mehr darauf berufen, dass ihm anlässlich der Konfrontationseinvernahme vom 8. Mai 2002 keine vollständige Akteneinsicht gewährt worden sei. Das Kassationsgericht hat damit weder das kantonale Strafprozessrecht willkürlich angewendet, noch die Verteidigungsrechte gemäss Art. 6 Ziff. 3 lit. a, b und d EMRK oder den Anspruch auf ein faires Verfahren nach Art. 6 Ziff. 1 EMRK verletzt.
Im vorliegenden Fall ist den Akten zu entnehmen, dass der Beschwerdeführer bzw. sein Verteidiger am 10. Juni 2002 von denjenigen Protokollen über Einvernahmen mit B._, welche ihm vor der Konfrontationseinvernahme vom 8. Mai 2002 nicht vorgelegt worden waren, Kenntnis erhalten hatte. In seinem an den Bezirksanwalt gerichteten Schreiben vom 10. Juni 2002 erklärte er, er behalte sich den Antrag um ergänzende Befragung der Auskunftspersonen A._ und B._ vor; gleichzeitig ersuchte er um vollständige Akteneinsicht. Nach Einsichtnahme in sämtliche Akten hat es der Beschwerdeführer jedoch unterlassen, während der noch laufenden Untersuchung eine Ergänzung der Konfrontationsbefragung mit B._ zu beantragen. Bei dieser Sachlage konnte das Kassationsgericht mit Grund annehmen, der Bezirksanwalt habe nach dem Ausbleiben eines solchen Antrags davon ausgehen dürfen, der Beschwerdeführer verzichte auf eine ergänzende Konfrontation, und deren Unterlassung stelle daher keinen Mangel der Untersuchungsführung dar. Der Beschwerdeführer macht zu Unrecht geltend, die Bemerkung des Kassationsgerichts, wonach mit Bezug auf das gerichtliche Verfahren in diesem Zusammenhang keine Rügen erhoben worden seien, gehe fehl, denn er habe sich vor allen gerichtlichen Instanzen auf seine Verteidigungsrechte berufen und gerügt, "dass die Untersuchungsbehörden bzw. die jeweiligen Vorinstanzen den Schuldspruch mit nicht verwertbaren Protokollen begründen". Mit seiner Bemerkung wollte das Kassationsgericht zum Ausdruck bringen, der Beschwerdeführer habe in den gerichtlichen Verfahren nicht beanstandet, dass die betreffende Gerichtsinstanz keine ergänzende Konfrontationseinvernahme durchgeführt habe. Eine solche Rüge wurde, wie sich ohne Willkür annehmen lässt, weder vor Bezirksgericht noch vor Obergericht erhoben. Was das Berufungsverfahren angeht, so kann gemäss § 420 StPO der Berufungskläger beantragen, dass in der zweiten Instanz Zeugen oder Sachverständige abgehört oder die erstinstanzlichen Verhandlungen vervollständigt werden. Der Beschwerdeführer erklärt, er habe im Berufungsverfahren mit Schreiben vom 25. Juni 2003 die Einvernahme von B._ "zur folgenden Beweistatsache" beantragt: "B._ machte die den Beschwerdeführer belastenden Aussagen, nachdem ihm Resultate aus der Telefonkontrolle vorgehalten worden waren". Bei diesem Begehren handelte es sich aber nicht um einen Antrag um Ergänzung der Konfrontationsbefragung, auf welchen sich die erwähnte Bemerkung des Kassationsgerichts bezieht. Auch was der Beschwerdeführer sonst noch vorbringt, ist nicht geeignet, die oben (E. 1.1.2) angeführten Überlegungen des Kassationsgerichts als verfassungs- oder konventionswidrig erscheinen zu lassen. Dieses gelangte zum Schluss, aufgrund der besonderen Umstände des vorliegenden Falles habe das Obergericht davon ausgehen dürfen, der Beschwerdeführer hätte noch während der Untersuchung oder im Verfahren vor der ersten oder zweiten Gerichtsinstanz eine ergänzende Konfrontationsbefragung mit B._ veranlassen können, und da er dies unterlassen habe, könne er sich nachträglich nicht mehr darauf berufen, dass ihm anlässlich der Konfrontationseinvernahme vom 8. Mai 2002 keine vollständige Akteneinsicht gewährt worden sei. Das Kassationsgericht hat damit weder das kantonale Strafprozessrecht willkürlich angewendet, noch die Verteidigungsrechte gemäss Art. 6 Ziff. 3 lit. a, b und d EMRK oder den Anspruch auf ein faires Verfahren nach Art. 6 Ziff. 1 EMRK verletzt.
2. Im Weiteren beklagt sich der Beschwerdeführer über eine Verletzung des Anspruchs auf rechtliches Gehör nach Art. 29 Abs. 2 BV.
2.1 Er bringt vor, die Bezirksanwaltschaft habe sich zu einem grossen Teil auf Telefonkontrollen abgestützt, für welche die erforderlichen Genehmigungen nicht vorgelegen hätten, so dass die entsprechenden Telefonprotokolle nicht verwertbar seien. Die ihn belastenden Aussagen von A._ und B._ würden wesentlich auf Vorhalten aus nicht verwertbaren TK-Protokollen beruhen und seien deshalb insoweit nicht verwertbar. In diesem Zusammenhang habe sein Verteidiger im Berufungsverfahren mit Eingabe vom 25. Juni 2003 unter anderem folgende Behauptungen aufgestellt: "b) B._ machte die den Beschwerdeführer belastenden Aussagen, nachdem ihm Resultate aus der Telefonkontrolle vorgehalten worden waren" ... "d) A._ machte die den Beschwerdeführer belastenden Aussagen, nachdem ihm Resultate aus der Telefonkontrolle vorgehalten worden waren." Dabei seien für diese Behauptungen folgende Beweise offeriert worden: "für b: B._" sowie der Genfer Polizeibeamte, der die Einvernahme vom 7. Dezember 2001 durchgeführt habe, "für d: A._" sowie ein Polizeibeamter der Kantonspolizei Zürich.
2.2 Das Obergericht hielt in seinem Urteil fest, der Verteidiger begründe den Einwand betreffend Unverwertbarkeit der Protokolle über die Einvernahmen A._s damit, dass diese auf nicht verwertbaren Telefonkontrollen beruhten. Er berufe sich dabei auf die Auffassung von Niklaus Schmid (Strafprozessrecht, Rz. 610), wonach Beweise, die durch einen ungültigen Beweis mittelbar beschafft wurden, dort unverwertbar seien, wo der ursprüngliche, ungültige Beweis Bestandteil sine qua non des mittelbar erlangten Beweises sei. Das Obergericht betonte, diese in der Lehre und Praxis umstrittene Frage der Fernwirkung eines Beweisverwertungsverbots könne im vorliegenden Fall offen bleiben, denn die Aussagen von A._ würden nicht auf Vorhalten von unverwertbaren Telefonprotokollen beruhen. In keiner einzigen dieser Einvernahmen sei der Auskunftsperson ein Protokoll eines abgehörten Telefongesprächs vorgehalten worden. Es ergebe sich offensichtlich, dass A._ seine Aussagen ohne solche Vorhalte von sich aus gemacht habe. Es könne somit keine Rede davon sein, dass A._ den Beschwerdeführer belastende Aussagen gemacht habe, nachdem ihm die Resultate aus den Telefonprotokollen vorgehalten worden seien.
Zu den Behauptungen betreffend die Aussagen von B._ führte das Obergericht aus, auch hier bestehe kein Anlass, eine Fernwirkung ungültiger Telefonprotokolle auf die Aussagen B._s anzunehmen. Dies gälte selbst für den Fall, dass der von der Verteidigung zitierten Auffassung von Schmid gefolgt würde. Es gebe keine Anhaltspunkte dafür, dass B._ die Aussagen nur deshalb gemacht habe, weil er durch die Telefonprotokolle dazu veranlasst worden sei. So habe das Bezirksgericht zu Recht darauf hingewiesen, dass die ersten gegenüber den Genfer Behörden am 7. Dezember 2001 gemachten Aussagen, welche bereits den wesentlichen, später bestätigten Inhalt gehabt hätten, ohne Vorhalt von TK-Protokollen zustande gekommen seien. Daran ändere der Umstand nichts, dass B._ in der Konfrontationseinvernahme mit dem Beschwerdeführer zu Protokoll gegeben habe, dass das Telefon des Beschwerdeführers schon lange von der Polizei abgehört worden sei und er nur das bestätigt habe, was dort gesagt worden sei bzw. dass er lediglich das bestätigt habe, was die Polizei schon gewusst habe. Mit diesen Äusserungen habe B._ keineswegs zum Ausdruck gebracht, dass er einzig aufgrund der fraglichen Telefonprotokolle zu seinen Aussagen veranlasst worden sei; seine Bemerkungen würden vielmehr den Eindruck erwecken, er habe sich gegenüber dem Beschwerdeführer für seine diesen belastenden Aussagen in dem Sinne rechtfertigen bzw. entschuldigen wollen, dass dieser auch ohne seine Aussagen belangt worden wäre. Nach dem Gesagten könne auf die vom Verteidiger beantragten Beweiserhebungen über die Frage, ob B._ vor den ersten belastenden Aussagen Resultate aus nicht verwertbaren Telefonkontrollen vorgehalten worden seien, verzichtet werden.
2.3 In der kantonalen Nichtigkeitsbeschwerde wurde beanstandet, dass das Obergericht die vom Beschwerdeführer für die Behauptungen gemäss lit. b und d offerierten Beweise nicht abgenommen habe, und in diesem Zusammenhang eine willkürliche Beweiswürdigung sowie eine Verletzung des Anspruchs auf rechtliches Gehör gerügt.
Das Kassationsgericht trat in diesen Punkten auf die Beschwerde mangels genügender Begründung nicht ein. Es führte zunächst aus, allgemein sei für eine rechtsgenügende Beschwerdebegründung erforderlich, dass die beschwerdeführende Partei den behaupteten Nichtigkeitsgrund in der Beschwerdeschrift selber nachweise. Dies bedinge eine Auseinandersetzung mit dem angefochtenen Entscheid bzw. den darin enthaltenen entscheidrelevanten Erwägungen. In der Beschwerdebegründung seien weiter die angefochtenen Stellen des vorinstanzlichen Entscheides zu bezeichnen und diejenigen Aktenstellen, aus denen sich ein Nichtigkeitsgrund ergeben solle, im Einzelnen anzugeben. Es sei nicht Sache des Kassationsgerichts, in den vorinstanzlichen Akten nach den Grundlagen des geltend gemachten oder gar eines anderen Nichtigkeitsgrundes zu suchen. Das Kassationsgericht dürfe die Vorbringen in der Beschwerde nicht von sich aus ergänzen, und die unangefochtenen Entscheidgründe hätten im Verfahren der kantonalen Nichtigkeitsbeschwerde Bestand.
Sodann hielt es mit Bezug auf den vorliegenden Fall fest, der Verteidiger fasse in der Nichtigkeitsbeschwerde die entscheidrelevanten Erwägungen (immerhin teilweise) zusammen. Anstatt sich mit ihnen argumentativ auseinander zu setzen, beschränke er sich aber darauf, seine Sicht der Dinge darzulegen und die angefochtenen Erwägungen im Ergebnis als willkürlich zu bezeichnen bzw. eine Gehörsverletzung zu rügen. Es hätte im Lichte der dargelegten Begründungsanforderungen indessen am Verteidiger gelegen, im Einzelnen darzutun, aus welchen Gründen die effektiv von der Vorinstanz angestellten Überlegungen am geltend gemachten Nichtigkeitsgrund leiden würden.
Diese Ausführungen des Kassationsgerichts sind sachlich vertretbar. In der staatsrechtlichen Beschwerde wird nichts vorgebracht, was geeignet wäre, sie als verfassungswidrig erscheinen zu lassen. Durfte aber das Kassationsgericht ohne Verletzung des Willkürverbots annehmen, die Nichtigkeitsbeschwerde genüge in den beiden erwähnten Punkten den Anforderungen an eine hinreichende Begründung nicht, so bedeutete es keine Verletzung des rechtlichen Gehörs, wenn es insoweit auf die Beschwerde nicht eintrat.
Verhält es sich so, dann erübrigt sich eine Prüfung der Erwägungen, mit denen das Kassationsgericht im Sinne einer Eventualbegründung darlegte, dass im Falle des Eintretens die Beschwerde in den beiden genannten Punkten keinen Erfolg gehabt hätte.
Nach dem Gesagten erweist sich die staatsrechtliche Beschwerde als unbegründet. Sie ist deshalb abzuweisen.
Nach dem Gesagten erweist sich die staatsrechtliche Beschwerde als unbegründet. Sie ist deshalb abzuweisen.
3. Der Beschwerdeführer ersucht um Gewährung der unentgeltlichen Rechtspflege im Sinne von Art. 152 Abs. 1 und 2 OG. Dem Gesuch kann mit Rücksicht auf die gesamten Umstände des Falles entsprochen werden.
Demnach erkennt das Bundesgericht:
Demnach erkennt das Bundesgericht:
1. Die staatsrechtliche Beschwerde wird abgewiesen.
1. Die staatsrechtliche Beschwerde wird abgewiesen.
2. Dem Beschwerdeführer wird die unentgeltliche Rechtspflege gewährt:
2.1 Es werden keine Kosten erhoben.
2.2 Fürsprecher Adrian Blättler wird als amtlicher Anwalt des Beschwerdeführers bezeichnet und für das bundesgerichtliche Verfahren aus der Bundesgerichtskasse mit Fr. 1'800.-- entschädigt.
2.2 Fürsprecher Adrian Blättler wird als amtlicher Anwalt des Beschwerdeführers bezeichnet und für das bundesgerichtliche Verfahren aus der Bundesgerichtskasse mit Fr. 1'800.-- entschädigt.
3. Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft und dem Kassationsgericht des Kantons Zürich schriftlich mitgeteilt.
Lausanne, 1. Oktober 2004
Im Namen der I. öffentlichrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Die Gerichtsschreiberin: