$this->bbcode_second_pass_quote('na_th_an', 'N')o estás haciendo mal - pero eso no son gráficos corruptos. Eso es como el Spectrum puede mostrar el color. No puedes mezclarlos como quieras. Usar la paleta del Spectrum no es suficiente, hay que diseñar los gráficos teniendo en cuenta las
restricciones del Spectrum.
La VRAM del Spectrum es peculiar. Se diseñó de forma que se pudisese tener gráficos de "alta" (en la época) resolución y en color pero ocupando poca memoria. Si cada píxel pudiese tener su propio color, una pantalla del Spectrum ocuparía nada más y nada menos que 24Kb de RAM, la mitad de la memoria. Además, mover cualquier cosa ahí implicaría demasiada CPU, sería inviable hacer ningún juego de acción.
La solución de los diseñadores fue usar un display monocromo de 256x192, que sólo ocupa 6Kb, y "colorearlo" con una especie de "overlay" de atributos que a cada grupo de 8x8 píxeles (correspondientes a una celda de carácter) da un color para los píxeles a 0 (denominado "PAPER") y otro para los píxeles a 1 (denominado "INK"). Esto significa que en cada 8x8 píxeles sólo puede haber dos colores. Por paranoias de diseño, además, esos dos colores deben tener el mismo "Brillo" (la paleta del Spectrum se divide en dos subpaletas de 8 colores: los 8 colores básicos y los 8 colores básicos más intensos; al primer grupo se le llama "BRIGHT 0" y al segundo "BRIGHT 1").
Por tanto, si no creas tus gráficos con esto en mente, los conversores intentan hacer la conversión lo mejor que pueden para que un Spectrum pueda mostrar algo parecido a lo que has creado, y por eso obtienes eso que llamas "fallos gráficos".
Lo mejor es diseñar los gráficos directamente como el Spectrum es capaz de mostrarlos. Yo uso Photoshop también, y para ello empleo una rejilla ("grid") que programo para que limite recuadros de 8x8 píxeles y usarla como guía:
rejilla.png
(Fíjate como en cada recuadro de la cuadrícula sólo hay dos colores del mismo nivel de brillo)
Una pregunta sobre este tema, yo uso GIMP pero para los colores suelo usar una imagen con los colores de la paleta de Spectrum, ¿tu en Photoshop tienes ya una paleta predefinida para este menester?