Citation: 6B_518/2023 E. 6

Die Beschwerde ist teilweise gutzuheissen und im Übrigen abzuweisen, soweit darauf eingetreten werden kann. Das angefochtene Urteil ist aufzuheben und die Sache zur Wahrung des Anspruchs des Beschwerdeführers auf rechtliches Gehör sowie zur neuen Entscheidung an die Vorinstanz zurückzuweisen. Bei diesem Ausgang des Verfahrens hat der Beschwerdeführer im Umfang seines Unterliegens die Gerichtskosten zu tragen (Art. 66 Abs. 1 BGG). Dem Kanton Zürich sind keine Gerichtskosten aufzuerlegen (Art. 66 Abs. 4 BGG). Der Kanton Zürich hat dem Beschwerdeführer für das bundesgerichtliche Verfahren eine angemessene Parteientschädigung auszurichten (Art. 68 Abs. 1 BGG).