240p NEO-GEO AES-MVS SNK : ¿Cómo genera gráficos la Neo-geo?

DIVAGACIONES DE VIDEO Misticismo del 240p y el SNK NEO-GEO AES-MVS

Uno de los bastiones interesantes del mundo de los Sprite y Map-Tiles es el reclamo que la NeoGeo, de ahora en adelante NG, es el “Olimpo” donde descansa en su trono el 240p. Con este corto relato vamos a visitar la NG y verificar si cumple el 100% la generación de 240 líneas de escaneo progresivo horizontal, y por tanto es el amo y representante Olímpico del mito.

Para el 2022 las seudociencia predominantes al 240p habría retomado la defensa de sus sistemas de calibración supersticiosos de TV, sumando todo tipo de monitores y dispositivos de visualización. Gracias a esa nueva treta desde los 240profetas obligan a ampliar los contenidos del documento actual, exponiendo varios puntos adicionales necesarios para la compresión, exploración y divulgación en ciencia e ingeniera de la TV.

La relación entre TV ANALÓGICA, TV DIGITAL  y LAS VIDEO CONSOLAS es bastante compleja y deberemos acumular una enorme cantidad de información. Pueden visitar la trilogía de vídeo y señales  RGB+SDTV 480i+EDTV 480p en blog «Tesoro del saber retro»:

Behind the Curve (2018) – IMDb (minuto 5:2)
“La razón por la que venimos ganando a la ciencia (desde la seudociencia de la tierra plana), es porque la ciencia nos responde con matemáticas»

Repasemos por favor algunos «Parámetros de las señales de video» NTSC/PAL :

(Nota que encontrarán en todas las entradas que no posea una exposición tan extendida)

Existen por lo menos 6 parámetros que definen una señal de video:

Cantidad de líneas información: Son las 525 líneas del sistema NTSC y las 625 del sistema PAL. Representan la cantidad de líneas de información requeridas para mostrar un fotograma entero.

Tasa o velocidad de refresco vertical:   Cada cuánto se dará el cambio de la información en la pantalla, y será mejor si la consideramos desde la totalidad de líneas de información a representar. En NTSC de 60Hz y en el sistema pal de 50Hz, acordes a la tensiones oscilantes de las tomacorrientes en nuestros hogares (implica que existe un PAL 60Hz si la tensión a usar es de 60 Hz). Cada 60 o 50 Hz completaremos la información a representar en pantalla.

La cantidad de información activa o líneas activas (scan-lines, picture lines o active lines): Representan las líneas visibles y son las marcadas como las letras «i» de entrelazado (interlaced) y «p» de progresivo (progresive). Los Sistemas NTSC y PAL no poseen líneas activas estandarizadas, son NO-estandarizadas, diferentes al sistema estandarizado de TV o SDTV; 480 líneas activas entrelazadas en SDTV 480i a zonas de influencia NTSC y 576 líneas activas entrelazadas en SDTV 576i a zonas de influencia PAL. 

VERTICAL BLANKING INTERVAL o VBLANK: Representa el tiempo requerido para restablecer los campos electromagnéticos en un aparato de tubos CRT, es un tiempo de NO dibujado o desvanecimiento, «blanking» o borrado. Les podemos  estimar restando (En SDTV, EDTV, HDTV, FHDTV, etc.):

Líneas_tiempo_VBLANK = Líneas_información – Líneas_Activas

Los sistemas NTSC y PAL no posen un VBLANK estandarizado, se exigen por lo menos 3 líneas para sincronización vertical y hasta 9 líneas incluyendo pulsos de igualación; es  decir, la longitud en líneas como VBLANK depende de la fuente en los sistemas no-estandarizados.

Toda línea de video dentro del HBLANK debe ser modulada una tensión mínima = Blanking Level.(muy vulgarmente llamado over-scan).

  • «Durante el periodo de borrado vertical (VBLANK) no se produce información de imagen, ya que el nivel corresponde al o al infra negro que quede borrada la retrasa vertical. Pag 143.«.
    En español: Durante el VBLANK la tensión máxima ES inferior a la tensión «negro» = no intensidad de Luma y por tanto de no-color=negro => por tanto no podemos observar las señales de sincronización dado que condiciones operativas no se permitirá el paso de los rayos de cationes a los cañones RGB.

Fotogramas por segundo: Gracias a variadas prácticas mercadotécnicas («tech-reviewer»= superchería de lo técnico) les confundimos con los Hz de refresco de pantalla (tasa de refresco vertical), lo cierto es que son diferentes. En los sistemas progresivo de TV de transmisión electromagnética o cableada (nunca computadoras de entretenimiento) el cambio de fotogramas se da en un solo recorrido se dará al cambio de la tasa de refresco vertical EDTV 480p@60Hz o EDTV 576p@50Hz, HDTV 1080p Hz.  ¡PERO!. En sistemas entrelazados «i» se dará a la mitad de la tasa de refresco, dado que necesitamos dos medias imágenes  para completar una fotografía: NTSC 525@29,97FPS y PAL 625@25FPS.

Nota:: Los sistemas de transmisión de radio frecuencia (broadcasting) NTSC y PAL son limitados por la frecuencia en la que se modulan los dos componentes de información de color como CROMA. Los dos componentes «croma» son modulados uno sobre otro a una frecuencia de 4,43 MHz en PAL, y de 3,58 MHz en NTSC/PAL60.

Razón de cambio o velocidad del cambio de las líneas de vídeo como información: En resumen son los famosos 15kHz asumidos como estándar en algunas prácticas pseudo técnicas de TV. Calcularemos la variación de las líneas de información a la totalidad de las líneas y la una velocidad de fotograma cada segundo (FPS  en modos entrelazados y Hz en modos progresivos).

Frecuencia_cambio_lineas_información = Total_lineas_información_cuadro_completo * Frecuencia_del_cambio_fotograma

Ahora bien:

Frecuencia_cambio_fotograma = Refresco_Vertical_en_Escaneo_progresivo

Frecuencia_cambio_fotograma = Refresco_Vertical_en_Escaneo_entrelazado / 2

Frecuencia_cambio_fotograma = FPS_Escaneo_entrelazado

De allí se derivan los famosos 15kHz de los sistemas de tubos como:

Entrelazado_NSTC 525 * 29.97 FPS = 15734,25 Líneas_Hz ≈ 15 kHz
Entrelazado_PAL 625*25 FPS = 15625 Líneas_Hz ≈ 15 kHz
Progresivo_CGA/EGA/MCGA_320_2000@60Hz = 525/2*60Hz = 15750 Líneas_Hz ≈ 15 kHz
Progresivo_VGA_640_480@60Hz = 525*60Hz = 31500 Líneas_Hz ≈ 31 kHz

Nota: NTSC y PAL, ambos son entrelazados ¡Punto!. 

Exploráremos y repasáremos estos parámetros a mayor detalle en las entradas introductorias sugeridas, incluiremos: Espacios de color y Gamout, Codificación LUMA (diferencias de color), Corrección «gamma», HBLANK o espacio de sincronización de cada líneas horizontal o de información, etc.

¿Modo progresivo, entrelazado y no-entrelazado? (RESUMEN)

Repasemos brevemente según todo lo explorado que pueden causar varias dudas en las personas dedicadas a «usar varios métodos no son *muy legales para cargar software sin permiso de copia o réplica»:

MODO PROGRESIVO (100% real nada de mitología): Cada fotograma entero como 480 progresivas hacia EDTV 480p REC709 o 480p YPbPr REC601 con razón de cambio de líneas de información de 31 kHz”. Consolas que mal quieras llamar como 8bits, 16 bits, 32 bits como NES, SNES, SEGA MD/MS/GE/ PC-Engine, N64, PS1, etc. no poseen un modo progresivo real EDTV.

MODO ENTRELAZADO: Bajo el cumplimento del NTSC 525@29,97FPS, el fotograma es enviado mediante secuencias de líneas entrelazadas ⇒ la mitad a un campo 1 y la mitad campo 2, que podrán ser similares en números en líneas dibujadas con el SDTV 480i, sin embargo poco tiene que ver.

MODO NO-ENTRELAZADO: Solamente generamos algo similar a a una imagen a resolución {MCGA 15 kHz} 300×200@60Hz lo cual incluye (obviamente y fuera de toda duda) la compuestas desde los fondos, siendo los fondos resultado de un rompecabezas de pequeñas figuras (TILES = baldosines) de 8×8 o 16×16 puntos; a los que sumamos unas líneas de pixeles a tensión negro a términos mostrar imágenes en la TV, debemos o debemos enviar la imagen replicada dependiendo de la velocidad de rellenado del buffer y su despacho como señal NTSC (dentro de las posibilidades un segundo buffer o back buffer). Debe quedar claro la computadora de entretenimiento envía imagen hacia campos (1 y hacia el 2) para el cumplimiento del NTSC, por consiguiente podamos observarla en una TV NTSC (en PAL con una over-scan intencionado). No es un modo bug ni crack y mucho menos un estándar.

Nota : Considero que quienes se mienten a sí mismos sobre la «legalidad de tales métodos, sumando emulación etc.» poseen la misma incapacidad mental para superar sus sesgos cognitivos en temas de video analógico, es decir se mienten y se mienten a ellos mismo y a otros descaradamente como los gregarios a la seudociencia 240p.

¡AHORA SI! El cómo se compone un cuadro (frame) de imagen desde el NG (muy resumido)

No es un manual de programa tu juego NG, es una descripción de cómo se compone la imagen de un cuadro de vídeo, evadiendo de paso muchas cosas complejas del sistema de computo.

El sistema NG depende de varios ASIC independientes con el fin de componer una imagen desde la información almacenada C-ROM y S-ROM alojados al interior de cada “Cartucho”, y como filosofía de diseño principal el uso de mini-bitmaps = “NG-Sprites” = “Patrón” = “Pieza”.

Es muy importante recordar que máquinas similares NG son del tipo al TILE-SPRITE, y similar a estas máquinas el NG no posee la capacidad de almacenar un cuadro completo de vídeo como bitmaps (imagen ráster) en un espacio de VIDEO-RAM, y todo el trabajo es una «composición», es dibujado línea a línea de escaneo horizontal en un dispositivo CRT.

Cada cuadro de vídeo hacia la CRT se compone de:

  • Color de fondo fijo o “Backdrop”, por lo que no alberga mayor ciencia.
  • Conjunto de “piezas” y “sprites” desde el cartucho C-ROM )
  • Una imagen sobre puesta (over-layed) llamado “fix” (desde el cartucho S-ROM )

Iniciemos con la C-ROM

En el C-rom almacenamos un conjunto de “piezas”=”tiles”, cada pieza es del tamaño de 16×16 unidades de imagen de 4 bits por píxel = 4bbp. Es decir queda pieza apunta a una índice de paleta con 2^4-1=15 entradas y el tamaño de una “pieza” es de 16×16/2=128 bytes. El sistema NG es limitado a 96 “piezas” por línea de escaneo en pantalla (fuera de ese limite causa un bug visual), limitado a un total máximo de 381 elementos «piezas» por cada “cuadro generado”.

Nota1: El NG define una “imagen sprite” se compone de hasta 8 piezas alto x 8 piezas ancho =64 piezas. Las referencias indican que son archivos .spr del GN-CDROM (y emuladores).

Nota2: El NG no posee la capacidad de “Zoom”, solo “Encoger”. Un efecto ZOOM debe ser realizado como animación para lo cual no ofrece mayores inconvenientes con su bus de dirección de 20 bits, y para un total 128MiB para los gráficos en ROM (Cartucho).

Con el fin de componer la imagen en el NG encontraremos 4 espacios reservados para el almacenamiento en la VRAM como “Listados” (o Sprite Control Banks), nombrados del SCB1 al SCB4, conteniendo diversa información SIMULTÁNEA de las “piezas” a representar en pantalla.

Nota: Mantener 4 listas separadas permite al NG componer imagen accediendo a las 4 listas en un solo ciclo de reloj de lectura, y le podemos asimilar como una estructura de datos de 4 componentes.

SCB1 = Contiene información destinada realizar el “cuadro de vídeo”; Dirección de C-ROM, Si la imagen “posee un reflejo” horizontal o vertical, paleta seleccionada (no es el índice de color es el número de paleta con 255 paletas diferentes); Información de animación.

SCB2 = Coeficientes o factores de encogimiento, de una unidad de “sprite”. Por la suma de piezas deberá ser de un mayor tamaño para que poderlas encoger ¿es lógico o no?

SCB3: Posición en Y en pantalla relativa a la partes superior de la pantalla; una marca si el “pieza” esta adosado al anterior (= vincula los sprites) y tamaño del sprites => es decir la posición en Y.

SCB3: Posición en X de derecha a izquierda

¡Nos faltan varios detalles interesantes!. El primero es el tamaño de cuadro generado de vídeo. Se verá limitado por el tamaño de las coordenadas X y Y almacenadas con un tamaño de 9 bits = 512 puntos en pantalla o espacios que podemos similar a un como guiño guiño píxel y a la realidad son «puntos de información»; para un total de 512 x 512 puntos.

Como un segundo punto a destacar, la animación es almacenada en el SCB1. Como es de comprender nunca pero nunca son 60 cuadros de animación, y la NG no es la excepción, y en especial en su modo automático, en otras palabra cuando no interviene la CPU. Cada pieza es marcada como auto animación o no, y sus vecinos en memoria C-ROM deben ser cuadros de animación (en realidad mini-cuadritos), una animación se compone 4 a 8 de estas piezas.

Espacio FIX

Al componer la partes sobre puesta (puntajes, vidas, estados, etc = HUB=Heads-up display) debe contener información de transparencias.

Cada “pieza Fix” tiene un tamaño de 8×8 unidades pixel, igual que los anteriores de 4 bbp, en donde el color 0 del índice es el transparente = no se dibuja. En NTSC el tamaño del FIX es de 40×28 “piezas fix”.

Nota: Antes de continuar exploremos con números: 40×8=320 de ancho por 28×8=224 de alto. El FIX no posee capacidad de movimiento efecto “Scroll”.

Similar a los “piezas-sprites” es posible encontrar la región de memoria destinada al “Fix map” en la VRAM, en ella se almacena la información de “número de paleta” y “dirección base en el S-ROM en donde se ubica la de la pieza” = pudiendo direccionar hasta 16 bits.=2^16 de información de imagen.

Nota: El tamaño real del “fix map” en el NG es =40×32 espacios, perdemos 2 “TIEL-filas horizontales arriba y abajo”, se desaconseja su uso pero las recuperaremos al final, no se preocupen.

PALETA DE COLORES

Unas breves explicaciones sobre los colores en la NG. Cada unos los micro-bitmaps (fix o sprites) apuntan a una de 256 paletas (0 a 255) y cada paleta corresponde a 16 colores (0 a 15; y cero es transparencia en los fix maps).

Los Sprites pueden usar las 256 paletas, pero los “Fix” se limitan a las primeras 16 paletas. Como nada es sencillo en tales “aparatejos”, no solo hay 256 paletas, encontrará 2 paletas de 256 paletas que no se pueden usar al mismo tiempo (unidades de reloj VRAM). Aun así tenemos el viejo truquito*truculento = 256 paletas * 15 colores =3849 colores.

Las paletas son almacenadas como información de software desde el cual se escribe una corta VRAM PALLETE, o eso parece y les dejo la duda, y cada paleta es un arreglo de colores RGB de 4 bits.

Nota: Con un primer bit marcado con algo que llamaría LUMA 1 bit, puesto que solo “oscurece” el color.

RESULTADO FINAL COMO CUADRO DE IMAGEN

La composición de cada cuadro de vídeo en la CRT depende realmente de la experiencia y experticia de cada programador, y no esta demás recordar los “componentes” base:

  • Tenemos unos mini-bitmaps asimilables como pequeñas piezas, y desde estos podemos conformar Sprites y el fondo. Cada pieza con 16×16 puntos de 4 bits por píxel o “4bbp”
  • La información del destino de cada pieza es almacenada en 4 tablas separadas (no quisieron hacerlo más sencillo) en la VRAM, ello permite componer cuadros de vídeo de hasta 525×525 puntos de imagen. Limitados a que no podemos sobreponer más de 96 puntos de las piezas al tiempo en una línea de escaneo horizontal. Igualmente y según las referencias no podremos almacenar y representar más de 381 de estos elementos por cuadro de vídeo generado.
  • Una capa FIX (=HUD) es sobrepuesta sobre cualquier información de “sprites”, con un tamaño de 320×224 puntos de alto almacenados en VRAM en una lista separada, desaprovechando generalmente 2×8=16 puntos de alto, en el papel deberíamos tener 256 líneas de puntos horizontales, no se pierden ya aparecerán.
  • Cada elemento en las LISTAS (fix y sprites) de información apunta 1 paleta 256 colores en un VRAM COLORES SEPARADA = VRAM PALLETE, y conmutada entre dos (2) unidades VRAM PALLETE (con suerte podríamos entenderlo al explorar la señal de imagen al CRT). Los mini-bitmaps solo almacenan 4btis = 15 colores, 4bbp. En donde el índice cero=0 de cada paleta es la transparencia de la “capa FIX”, pero EN las listas se almacena el número de la paleta desde donde se tomará el color antes de representarlo en el CRT (es bastante confuso).

Una curiosidad: La mayoría de los componentes en el NG son ASIC, sin embargo, por extrañas razones de fabricación la conversión de salida desde las VRAM PALLETES como información de salida a líneas a escaneo RGB es realizada por un “divisor resistivo” = es decir que los colores son valores discretos o escalones, en el NG muy “ramplonamente”.

Las resistencias son el DAC acoplado a las VRAM PALLETE de este extraño aparato

Tal esquema introduce una cantidad de variaciones absurdamente innecesarias en los colores a mostrar, y dudo mucho que algún emulador se tomen la molestia de traducir esto a la realidad. ¿Se imagina los CD usaran DAC tan mediocres?, es como las placas de sonido COVOX para ordenadores. https://en.wikipedia.org/wiki/Covox_Speech_Thing. Aquello generará muchos cuestionamientos sobre la racionalidad de CALIBRAR = «metrología» colores desde las NG.

En las versiones hogareñas las líneas de escaneo desde las VRAM PALLETE(S) como información analógica R’G’B’ pasan al clásico “RGB enconder”, encargado de realizar la transformación a vídeo RGB a NTSC-YIQ/PAL-YUV, es decir como señales de croma y luma, de este a vídeo compuesto hacia el viejo TV CRT.

Este tipo de de Encoder es muy común en estos aparatejos, y realmente son un dolor de cabeza conceptual. Ellos no generan ninguna señal de sincronización, solo cambian el formato de color, la señal debe provenir del sistema de periféricos gráficos.

LA SEÑAL DE VÍDEO ESCANEO HORIZONTAL: ¿ESTARÁN AQUÍ LOS 240P?

Es claro que el NG no posee un Back-buffer o VRAM BUFFER para la pantalla del cuadro completo, como puede ser con la PS1.

Para construir cada una de las líneas de escaneo hacia la TV la NG se destinan DOS (2) buffer VRAM para “líneas” de 320* puntos de longitud , que van conmutando; mientras uno esta almacenando la imagen como “buffer” => el segundo atiende el “pintar” hacia el CRT, intercambiando papeles en cada cambio de línea de escaneo horizontal. En este punto damos por perdidos los 512-230=282 puntos de imagen guiño guiño píxel, pero rescatarlos tema para quienes les interesan los relatos de “efecto scroll”.

Nota1: La información de las piezas-sprites se sobre-escriben según su orden en las tablas, ello quiere decir que el programador debe prever el orden en la tabla con el fin de crear efectos de sobre posición como capas (fondos, NPC, rivales y sprites principales).

*Nota2: Es tácito que el buffer de líneas de escaneo horizontal debe contener el tamaño de Paleta 8bits + Color 5bit = 15btis para punto de información guiño guiño píxel <=> que no es un píxel RGB VEGA VESA. En RGB VEASA convencional RGB de 24 bits = 8 bits por 3 unidades = 256*256*256 colores mucho mayores que los NG colores.

Es posible asimilar los tiempos en microsegundos de tiempo o ancho de la señal de vídeo en una forma de “Píxeles”, partiendo claro está de la razón de cambio de cada “píxel individual” en mega-hercios (imagen superior).

Nota: No olvidemos que en física el periodo T de una señal es el inverso de la frecuencia y representa esa “longitud temporal”.

En tiempos cada píxel ocupa en NTSC de la NG:

24,167829MHz main clock / 4 = 6,04 MHz pixel-clock

En cuanto el tamaño de cada cuadro de vídeo artificial está compuesto de :

NTSC: 320 puntos verticales x 224 líneas horizontales de puntos

PAL: 320 puntos verticales x 256 líneas horizontales de puntos

=> Sorpresa: En PAL no se pierden las 256 LÍNEAS HORIZONTALES, pero depende del programador aprovecharlas que nunca sucede 😦 Imaginen la cara de los amigos Europeos, pierden líneas de vídeo por culpa de programadores perezosos, y para colmo no pueden disfrutar de los 60Hz mágicos provenientes de cuadros (frames); que simplemente no existen porque no se dibujan 60 muñecos de animación (tal vez muy hasta la SEGA DC). Ni las líneas SDTV 576i asumibles como un nuevo mito que pudiéramos llamar como 288p PAL, ni la animación de 60 cuadros segundo existen, pero aun así prefieren apoyar ciegamente el misticismo del 240p.

El siguiente gráfico complementa la entrada anterior referente a la configuración y señal NG, en donde observaremos lo tiempos en guiño guiño píxeles (15 colores => 256 paletas => R5G5B5), conforman la señal sincronización horizontal, sumando a ella la línea activa.

La siguiente figura muestra el estimado en la composición de cada línea horizontal hacia el monitor CRT o TV CRT. Cada línea esta compuesta de un pulso HSYNC, un espacio posterior, el conjunto de puntos activos hacia el CTR y una pausa previa a la siguiente HSYNC (de la siguiente línea)

Los pixeles son alegorías muy lejanas a la vida real de las señales, y mucho menos es relevante a la TV CRT que ni tiene pixeles.

AHORA TRABAJEMOS CON LOS «NG PIXEL CLOCK»

Algunas computadoras de entretenimiento generan un ancho de 320 puntos verticales como la NG y CPS2, mientras la sega Saturno posee una capacidad de hasta 704 puntos verticales. La resolución de TV CRT y su derivado monitor de árcade la resolución es dada por la suma de espacio y no espacio de puntos RGB, 800TVL = 400 puntos RGB + 400 no color (los electrones golpean contra la rejilla o la malla), los 640 verticales puntos VGA no se corresponden con los 400 puntos RGB de los 800 TVL, y eso lo repasáremos en la entrada de los dilemas de asumir un 240p.

Regresemos al tema: 525 líneas de información de TV NTSC tienen un cambio cada 29,97 veces por segundo como fotografías. ¿Cómo abstraemos la información VBLANK como un número total de Pixeles?: Una opción sería los 640 puntos de las tablas VGA empleadas por los gregarios al idealismo de la emulación por software y cuasi simulación FGPA. En ambos casos el guiño guiño «Pixel-Clock» son a la realidad la velocidad en la que se componen como una línea de información en pantalla cuando les asumimos como pulsos y un pulso transmite un punto completo o que suma el «RGB». En otras palabras, cada pulso representa información discreta de una línea de video.

ENTRELAZADO NTSC 525@29,97FPS :
525 líneas de información cambiando 29,97 veces por segundo =525*29,97=15734.25 Hz = 15,734.25 kHz

vtotalpclk = 525*29,97*Total_pixeles_verticales

vtotalpclk = 525*29,97*800 =12,58 MHz

Nota: El intervalo HBLANK del VGA 640×480@60Hz suma 160 píxeles, lo que daría un total de 800

vtotalpclk11.32 MHz => Total_pixeles_verticales=¿?

Total_pixeles_verticales = vtotalpclk/(525*29,97)=719 pixeles de ancho y que corresponde al ancho de toda la línea = HBLANK + Información de imagen)

Nuevamente, en tiempos cada píxel ocupa en NTSC de la NG:

24,167829MHz main clock / 4 = 6,04 MHz pixel-clock

Verifiquemos con los 6,04 MHz pixel-clock:

Resolución_horizontal_total_linea_horizontal = (24167829/4)/(525*29,97) = 384,00033 pulsos como puntos en la información horizontal

Ahora los pixeles HBlank = 28 Hync + 28 Back_porch + 8 Fronto_porch = 64 pixeles

Gracias a la matemática y no a las verborrea cuasi técnica de los 240profetas tenemos una respuesta coherente con la realidad:

Resolución_horizontal_total_linea_horizontal – HBlank = 384 – 64 = 320 pixeles.

¡IMPORTANTE! Es importante comprender y diferenciar una cosa es «la frecuencia de subportadora de los componentes de croma del video compuesto«, y otra muy diferente, «frecuencia de activación de los pixeles«. Los dos componentes de croma se modulan a frecuencia de subportadora de 4,43 MHz en PAL y de 3,58 MHz en NTSC, y en muchos documentos técnicos se suele incluso hablar de PAL 3,58MHz a los sistema PAL YUV 525@29,97FPS.

Lo que es a la visión de una conspiración de fabricantes omitiendo los dichosos estándares populares, tal pareciera que es deducible desde una simple matemática, por lo que gracias a lo repasado no necesitarán unirse a un foroculto raro de 240p o 15kHz, solo repasar algo de aritmética del colegio.

Pero, ¿Si tenemos 224 líneas cómo se compone un cuadro de vídeo hacia la TV CRT NTSC o monitor de arcade 15kHz?

Lo primero que debemos entender es que el NG no genera 240 líneas completas de video que pudiesen ser asimilados desde la pseudociencia del 240p.

El responsable de enviar líneas de video en el NG es el LSPC2 y desde sus registros se puede asignar un conteo de líneas hacia el NTSC o PAL.

La imagen tiene un atributo ALT vacío; su nombre de archivo es fairuse-neogeo-arquitectura.jpg

ADVERTENCIA MUY IMPORTANTE:

  1. Las siguientes descripciones parte de las resoluciones conocidas como Standar Definition TV o SDTV, en SDTV NTSC 480i y en SDTV PAL 576i. Por tanto no describen el 100% de la imagen desde la base de señal electromagnética conocida como «composite baseband signal» o popularmente conocido como «Video compuesto» NTSC 525@29,97 FPS y PAL 625@25PS, debe quedar claro es base de la señal que entiende toda TV CRT bien sea NTSC o PAL.
    • Asumir NTSC como SDTV es una practica anacrónica y temeraria, pero espero con ella ofrecer un puente (absurdo por cierto) entre los interesados en temas de vídeo a la realidad y que no se sientan conformes con las explicaciones de la seudociencia y misticismo 240p.
  2. Aquello implica que lo mostrado como HBLANK parte de tales resoluciones, anotando que para NTSC 525@29,95FPS solo 9 líneas son Pulsos de sincronización de cada campo de imagen entrelazada: separados entre 3 previos horizontales o igualación + 3 pulsos de sincronización vertical + 3 posteriores horizontales o igualación. Siendo obligatorias las 3 de pulsos de sincronización vertical.
    1. El restante de la información ha de darse como pulso de sincronización horizontal + líneas intencionales a nivel negro (over scan). Observen por favor la imagen inmediatamente inferior.
FRAME

Primera limitación

Las líneas horizontales generadas del NG mostradas como imágenes, limitadas a cuadro de puntos 16×16 y 8×8.

Si quisiéramos generar un campo entrelazado SDTV 480i de 240 líneas tendíamos 240/16 =15 cuadros de alto y 240/8 =30 cuadro de alto. No olvide que los elementos en pantalla son el resultado de «Piezas» y de estas «Sprites» de tamaño fijo contenidos en ROM.

http://www.hardmvs.fr/manuals/NeoGeoProgrammersGuide.pdf

Segunda limitación

Soportar PAL, no porque sea mala idea, sino porque complica algunas resultados empíricos y su poca «coherencia» si afrontamos explicaciones de monitores árcade 15kHz y descripciones SDTV 480i.

Empíricamente (mvstech.txt y wiki.neogeodev.org) se han estimado 264 líneas horizontales por cada de video cuadro generado. Y recordemos que en resolución PAL el NG genera de 256 líneas horizontales de las 288 líneas de un campo entrelazado, aquella diferencia es de 32 líneas horizontales faltantes, corresponde a dos cuadros 16×16.

Tercera limitación

La zona de seguridad recomendada desde el SDK del NG. Según indica aquel documento no todos los TV NTSC podrían soporta las 224 líneas y sugiere una altura de = 208 líneas horizontales. Entonces si quisiéramos completar un campo entrelazado aun nos faltarían 224-208= 16 líneas de alto, un cuadro 16×16.

http://www.hardmvs.fr/manuals/NeoGeoProgrammersGuide.pdf

Las líneas horizontales nos faltan para completar el campo SDTV NTSC480i de 240 líneas entrelazadas desde las 224 líneas horizontales generadas por el NG; 240-224=16 líneas. Sumando el espacio NO dibujado por la zona de seguridad y los faltante hacia el campo NTSC 480i = 16+16 líneas

Ahora tenemos que el espacio no dibujado PAL y NTSC es de 32 líneas horizontales.

Cuarta limitación

La cuarta limitación es empíricamente omitir las líneas horizontales no dibujadas en pantalla como información. Si nos tomáramos el trabajo de medir las líneas horizontales sin realizar un marco teórico, comprender estas pocas ideas, nos será difícil identificar cómo ni el qué de las líneas dibujadas en negro. Sumado al tercer punto nos será difícil entender ni comparar el número de líneas observadas si confundimos los requerimiento de la señal PAL con las de NTSC, y viceversa.

Quinta limitación

La quita limitación es claramente cumplir lo 15kHz, o realmente los 15734 líneas horizontales por segundo del monitor de árcade.

(Imagen apela a un FAIRUSE) JAMMA VIDEO ESTANDAR de máquinas de arcade desde Japón. En señal 15,725 kHz el estándar recomienda como base el NTSC entrelazado (インターレスモード) anotando para este 524 líneas (NTSC方式の基準に準ずること推奨する).  http://superusr.free.fr/arcade/JVS/JVST_VER3.pdf

Ahora exploremos un poco temas líneas activas (scanlines) y líneas HBLANK (Pulsos de sincronización horizontal) en la NG

Si queremos completar las 525 líneas de información de un monitor arcade NTSC entrelazado 15kHz, mediante dos campos de información de 240 líneas horizontales intercaladas, sumando 22,5 líneas de espacio VBLANK entre cada campo. Y cada campo cambiando 30 veces por segundo aproximante (NTSC color 29.97 veces por segundo).

NTSC 525 líneas de información *29,97 Hz= 15734 líneas horizontales_Hz

OPCION 1.- En NTSC sumar las 525 líneas como SDTV 480i (permite generar fetiches anacrónicos desde emulador como VESA CVT/GTF)

+ 208 Líneas horizontales generadas recomendadas por el SDK del NG
+16 Líneas horizontales de la zona de seguridad.
+16 Líneas horizontales con el fin de completar las 240 de cada campo SDTV 480i
+22,5 Líneas horizontales del VBLANK = Sincronización vertical

Total de 262.5 líneas de información que corresponden a la mitad de las líneas NTSC 525/2=265.5 .

Opción 2.- En NTSC sumar las 525 líneas dese NTSC 525@29,97FPS cuasi «estricto«

+ 208 Líneas horizontales generadas recomendadas por el SDK del NG
+ 45,5 líneas over scan (HVBLANK + IRE Blanking LEVEL)
+9 Líneas horizontales (3 pulsos de igualación horizontal + 3 pulso de sincronizaciones
+ 3 pulsos de igualación horizontal

Total de 262.5 líneas de información que corresponden a la mitad de las líneas NTSC 525/2=265.5 .

Regresemos al dilema de las líneas PAL…y las mediciones empíricas continuando con la «retorica matemática»

PAL 625 líneas de información *25 Hz= 15625 líneas horizontales_Hz. Donde 49/2=24.5 líneas de información VBLACK para cada campo entrelazado de 288 líneas.

Opción 3.- En PAL sumar 625 líneas desde SDTV 576i (permite generar imágenes anacrónica desde emulador como VESA CVT/GTF)

+ 256 Líneas horizontales generadas SDK del NG
+0 Líneas horizontales de la zona de seguridad.
+32 Líneas horizontales con el fin de completar las 288 de cada campo SDTV 576i
+24,5 Líneas horizontales del VBLANK = Sincronización vertical

Total de 312.5 líneas la mitad de 625 líneas de información PAL = No es un monitor de árcade NTSC.

Opción 4.- En PAL sumar 625 líneas desde PAL 576@25FPS casi estricto:

+ 256 Líneas horizontales generadas SDK del NG
+ 47,5 Líneas horizontales con el fin de completar las 288 de cada campo SDTV 576i
+ 9 Líneas horizontales (3 pulsos de igualación horizontal + 3 pulso de sincronizaciones + 3 pulsos de igualación horizontal

Total de 312.5 líneas la mitad de 625 líneas de información PAL = No es un monitor de árcade NTSC.

Tanto que ninguna señal de video compuesto NTSC ni PAL son es mismo que el SDTV. Pero lo que si es cierto es que la TV CRT si se debe a:
– NTSC 525@29,97FPS o PAL 625@30FPS conteniendo imagen intercalada a dos campos NTSC 525/2 o PAL 625/2 = 2:1.
– 15 kHz línea horizontal;
– Relación de aspecto 4 veces ancho por 3 alto, o 4:3;
– 3 líneas de pulsos verticales cada campo de imagen entrelazada;
– Respetar una zona de seguridad.

No quisiera darles esta triste noticia, pero, en el OLIMPO NO VIVE NINGÚN 240p, ni para TV CRT NTSC/PAL, ni hacia ningún monitor árcade; nada que pudiese componer 240 líneas progresivas reales, ni tan siquiera completas. Por el momento a esta serie de relatos el 240p guiño guiño es más cercano con la SONY PS1, SEGA Saturn y Sega DC con soporte cercano al SDTV.

¿Colores en EDTV con escaneado progresivo vs. la TV CRT (monitor JAMMA/etc)?

Debemos entender que no solo el PAL y NTSC difieren en el número total de líneas de información y el cambio en la tensión oscilante (alterna) PAL 50Hz y NTSC 60Hz. Difieren en los ESPACIO DE COLOR en NTSC SMPTE C y en PAL EBU. Igualmente los espacios de color pueden ser diferentes al NTSC en cualquier aspecto teórico en YIQ y diferente en PAL en YUV (EBU).


Fuente: ORTHOGONAL SYSTEMS   (A) YUV, (B) YIQ and (C) YCbCR

En un sistema PROGRESIVO EDTV 480p@60Hz desde el YPbPr el total de información de 525 líneas de información cambiando 60 veces por segundo = 525*60 = 31500 Hz = 31,5 kHz. ES importante recordar una cosa son las líneas de información y en su interior encontraremos el tiempo a líneas de sincronización vertical SUMANDO las líneas de información de imagen como tiras de imagen horizontal (líneas de escaneo «scan lines», líneas activas o líneas de imagen.

Para una pantalla de consumidor de píxeles fijos (no CRT) con una relación de aspecto de 4:3, esto se traduce en una resolución activa de 720×480p o 720×576p. Para una relación de aspecto de 16:9, esto se traduce en una resolución activa de 960×480p o 960×576p.” »
Pagina 9.Video Demystified Fifth Edition by Keith Jack

La base de la colorimetría o los colores observados como RGB en EDTV 480p es dada bajo REC709, el cambio en la codificación gamma del modelo del ojo XYZ a los puntos de color RGB en pantalla.

Esa colorimetría base de imagen EDTV (definiciones XYZ a RGB) posee características diferente a las del NTSC 1953 y desde este diferente al NTSC REC601 (sumaremos otros espacios de color intermedio adoptados para los sistemas NTSC no comentados). La colorimetría EDTV es la misma que la VGA VESA, ambas parten de REC709, y en VESA VGA es denominada como sRGB. Los tonos observables desde una pantalla REC709 serán diferentes al NTSC REC601 y desde el misticismo de la emulación nunca serán similares al VGA sRGB.

VESA RGB sRGB es diferente al EDTV REC709. Serán diferentes debido a los exponentes de corrección de gamma diferentes, o realmente la diferencia «exponentes» o «exponencial» de los valores de tensión como valores de intensidad o brillo en la pantalla.

No faltando dilemas, en sistemas YPbPr a señal entrelazada (SDTV 480i) a o vulgarmente «video componentes» la colorimetría es dada en la colorimetría del sistema a transmitir, en este caso puntual en NTSC SMPTE-C.

MORALEJA: En el idealismo de la emulación y FGPA los colores generados son REC709 (HDMI) o su «hijo» sRGB (VGA oDVI) y los colores generados no coinciden con las capacidades de un monitor CRT TV NTSC ni PAL. Es decir es un idealismo o propaganda y en lo que respecta a los colores no se pueden asumir tales colores desde un Software Emulador ni un CUASI SIMULADOR FGPA como similares a una computadora de entretenimiento reales.

Para mas información en Divagaciones del vídeo: Misticismo 240P, PC-ATX hacia TV SCART y algunas ideas de PC-ATX hacia MONITOR ARCADE

Surgirá la pregunta: ¿Existe la resolución de 320 puntos horizontales en la TV CRT NTSC COLOR generados por una NG?

El recorrido de los cationes en una pantalla es «Horizontal» e impactaran la pantalla con una misma información de color R+G+B hasta que no se del cambio, es decir que la lectura de la información debe estar acorde a los tiempos del cambio de frecuencia e línea horizontal = taza de refresco horizontal (de aproximadamente 15kHz en los sistemas NTSC YIQ 525@29,97FPS.

Primera limitación: video compuesto y S-Video, ambos NTSC

Cada línea de video activa, SCANLINE o visible de video posee una longitud de 1/(29.97 FPS * 525 ) = 63,5556191112 microsegundos. Pero, no todo ese tiempos es imagen solo reservarémos aproximadamente 52.6 segundos, por favor observen la imagen inferior.

Cada cresta de señal de color como CROMA es modulada a aproximadamente 3,58 MHz = 26,3157895 microsegundos.

Prinzip QAM demodulation.svg

Fuente de la imagen Wikipedia. Esquema básico de un «Demodulador» de CROMA

Como mago matemático vamos a dividir =>(3800000 Hz_croma)/(29.97*525 Hz-línea_video) =241.511353 veces mayor la frecuencia de croma sobre la frecuencia del cambio de líneas.

¡La respuesta no es simple!. Símil (aclarando no es lo mismo) a la tecnología de muestreo digital (tomas instantáneas de señal como números binarios) cada punto de color capturado por la cámara CRT pasa por el proceso hacia codificación como CROMA hacia el video compuesto, ¡PERO!, la captura es limitada a *aproximadamente 241 posibles puntos RGB que podrían ser transmitidos como crestas (ondulaciones a subportadora) a CROMA como información de «vertical» en cada línea horizontal descendientes (Interlaced pattern raster scan). En palabras simples, otros posibles puntos RGB intermedios NO pueden ser codificados «correctamente» como señal de CROMA mostrándose como puntos RGB aleatorios o varios tonos diferentes, con todo ello nos alejaremos de esas interpretaciones seudocientíficas de la captura NTSC DV 720 (horizontal) × 486 (vertical) como resolución posible en la NTSC TV CRT desde señal NTSC RF.

*Nota aproximado: Es claro es una aproximación y debemos descontar los 10.9 micro segundos de espacio HBLANK o sincronización.

Les invito a visitar: PALETA DE LA NES/FAMICOM PARTE 4: VÍDEO COMPUESTO LA TÉCNICA BÁSICA DE DEMODULACIÓN

Será difícil distinguir que tantos de esos pixeles son duplicados o triplicados como información horizontal hacia la pantalla CRT del televisor debido a la limitaciones del patrón de barrido entrelazado, de líneas horizontales transversales compartiendo los puntos de colorines a fósforo RGB en la «pantalla».

Segunda limitación: La rejilla/malla de sistema TV CRT COLOR

Las LÍNEAS DE TV VERTICAL (TVL) no son estandarizadas. Lo que entenderíamos como información vertical de imagen es tan solo una gran cantidad puntos de fósforo en colorines desde una malla o una rejilla, destinadas a facilitar que los cationes de los tres cañones ingresen al punto de fósforo adecuado R,G o B ubicados VERTICALMENTE.

Máscara de sombras y Rejilla de apertura, Fuente de la imagen Wikipedia.

Lo que corresponde al sistema TV CRT color son espacio de información no información, es decir existen unas perforaciones donde el electrón acelerado choca pero uno que otro encontrará un elemento metálico rejilla o malla, y ambos se suman para conformar las Líneas Verticales de la TV o TVL, limitando la resolución horizontal VERTICAL o los posibles puntos que encontrará el rayo en su recorrido transversal o cuasi horizontal descendente. En la vieja TV CRT no se definen desde NTSC ni de PAL las TVL (no son estandarizadas) y dependía de cada fabricante, del medio de captura, almacenamiento, etc.

File:TVL.pdf

Líneas Verticales en la TV Fuente Imagen Wikipedia.

Repasemos por favor: Una TV de 500 TVL corresponde a 250 puntos RGB ubicados horizontalmente, puntos que pueden ser impactados por el juego de 3 rayos de cationes R, G, B separados. Sumaremos otros 250 espacios que son ocupados por la rejilla o malla por tanto los electrones NO golpean puntos RGB. Sumando estos 250 color +250 no-color = 500 TVL. Esos 250 puntos RGB son claramente menores a los 320 píxeles de ancho del buffer de salida como información de video o frame-buffer.

Serán diferentes e inferiores si la pantalla indica 1000 TVL o 500 puntos RGB activos.

TEOSORDEL SABER RETRO FAIRUSE mascara y rejilla de sombras TV probabilidad de TVL puntos

Sumando a la diferencia entre las TVL y la resolución de la PS1 es importante resaltar que lo observado en una pantalla de un CRT es inherentemente  probabilístico al usar  electrones  = mundo cuántico, por consiguiente dista mucho de ser una ciencia desde una postura matemática absolutista. La imagen Apela a un FAIR USE.

Moraleja sobre los 320 pixeles de ancho

NO quisiera contrariar a esa gran cantidad de magufos y 240profetas de la TV, pero como encontraran en variadas entradas: ¡LOS HUMANOS NO OBSERVAMOS PIXELES!, observamos puntos en colorines activándose mediante escaneado ráster en una pantalla, bien sea analógica o digital, a tal velocidad que seremos incapaces de distinguir la activación de cada punto individualmente, !y aquellos puntos tampoco son pixeles, son simplemente «puntos de colores!. Esos 224 líneas a campos de imagen entrelazada en la NG no son progresivos y para nuestra infortunio en la TV CRT mediante video compuesto o S-video y desde la NG no podemos observar en una TV CRT comercialmente fabricada (millones o billón de ellas) no podemos observar 320 líneas horizontales y difícilmente puede sustentar o ser base para el magufismo 240p.

tesorodelsaberretro ROM Y TILES-BITMAP EXPPLICACIONES

NOTA: Los pixeles como puntos de información tienen su origen en un almacenamiento como  “información” eléctrica apagado o encendido (on-off) registrado en una matriz de memoria RAM o ROM. Tales píxeles no tienen una forma, son un abstracto de información, ¡Simplemente no son cuadrados, rectangulares, circulares ni un largo etcétera! ¡  Mucho menos poseen una relación de aspecto!

PALABRAS FINALES

Tal pareciera que el mito del 240p se fundamenta en vacíos, de la pereza de leer los documentos y de la interpretación arbitraria, tales como puede ser problemas de «comprensión lectora» (aun bajo la gravedad que tales escritos son creados desde los mismos aficionados).

El deseo y la “fe” siega en una “homologación 240p” (como lo llamaría un colega cercano a estos temas) se antepone y contradice contra todo lo descrito, creando “significancias” innecesarias de cosas tan inamovibles como es “un aparato computadora ya construido y dejado de producir”:

  • Un ejemplo claro son líneas de vídeo y escaneo horizontal que parecieran ser saltadas adrede y asumir todo en “pixeles”, en especial en máquinas que no poseen un frame-buffer (espacio de memoria para toda la imagen a representar en pantalla).
  • Otro ejemplo, es no definir qué es píxel para cada máquina computadora, dado que cada una mantiene en su memoria VRAM información diferente y que de peso DIFIEREN completamente de lo que observamos en la PC-ATX con VGA VESA. No se observa un deseo de “separar ni definir el píxel ni respetar el significado estandarizado” solo apelar a “pareceres y conveniencias”.

Deseo resaltar que todas estas máquinas poseen un agujero conceptual, o trampa, y es que si bien conocemos la “señal de vídeo”, la caja mágica parece componer sin problema la máquina de estados requerida para crear las señales de sincronización el vídeo en el CRT, por tanto es fácil saltarse el mecanismo y dejar ese “agujero negro conceptual irrecuperable”. Lo siento pero es una agujero completamente irreconciliable, y que da a pie a toda esa mercadotecnia mística llamada “el 240p”.

¡Respetuosamente!

  • Si Ud. basa su existencia en la creencia de «un modo especial un modo 240p mágico no documentado, ni acordado» = Seudociencia ;
  • Que la TV CRT NTSC-PAL es un escaneado o barrido progresivo pero nadie lo comenta ni los fabricantes ni los consorcios = Comportamiento conspiranoico;
  • Simplemente surge desde el VGA y que se observa como + EDTV + HDTV sin importar si es PAL-NTSC =Anacronismo;
  • Vocifera que el 240p es un estándar que no es NTSC pero que funciona en NTSC, y que NTSC no es un estándar dado que nada cumple el NTSC al 100% = Disonancia cognitiva + demencia senil;
  • Simplemente funciona y «¡PUNTO!»¿Por qué razones debería saber los cómo o los por qué? = Comportamiento supersticioso;
  • Otros dicen que funciona ¿y quién es este «arrimado» para contradecirlos? o ¿Quién soy yo para contradecir? = Sesgo de consenso;
  • Si pasa sus días «Calibrando» televisores bajo software test/Suit magufo/seudocientífico (como brebajes y tónicos homeopáticos, cristales de cuarzo, energías astrales, telepatía con alienígenas, horóscopo, etc.) y además todo tipo de monitores (incluyendo HD/UHD/4k) desde equipos tales como video consolas viejas que nunca han sido diseñados para procesos «metrológicos en ingeniería y ciencia» = Deficiencias cognitivas + ignorancia autoinfligida
  • ¡¡Que es así porque Ud. lo dice!! ¡ir en contra de la SUITE/test+240preservatismo es porque no amas como «YO» los video juegos!!!! = Comportamiento narcisista + Maniqueísmo Psicopático
  • Porque lo dice su amado gurú en sus foro_sectas o sus predicas de fin de semana y les llevará a ir en contra de su fe e irá conta los designios del gurú de turno= Sectarismo.


Lo primero que debe hacer es buscar, por todo lado y en especial normas técnicas, reparación mantenimiento, teoría de imagen, imagen de TV, acuerdos técnicos, mas otro largo etcétera. Nada de rumores, escuché por allí me dijo un amigo, tal personal lo vio, me lo dice un software ofrecido a modo de «test», desde un influencer o un gurú => no existe pero alguien lo ha visto cómo los unicornios, la patasola, el coco, chupa cabras, hadas, nommos, etc).

Y si quiere una revelación (Spoiler-Alert) le ahorraré la tarea – Se lo repito ¡POR MÁS QUE BUSQUE NO LO ENCONTRARÁ! ¡ES UN MITO!, Pero, respetaré su necesidad ulterior de CREENCIAS y su ser como «individuo»...lejos de mis intereses se encuentra deambular en la Web Internet intentando de convencerle de lo contrario, lejos de vociferar insultos ni vulgaridades…¡le respeto a Ud. a sus creencias, y le invitaré abiertamente a evangelizar tales seudociencias!

fairuse referencia en la imagen sistema de codificacion de color y video

La imagen Aplica un FAIR USE no incluye un documento ni referencias adicionales.  Es perspectiva HDTV por tanto la función de transferencia es HDTV, sin embargo, deben anotar las Colorimetrías o bases de color y los coeficientes de LUMA

LAS POCAS REFERENCIAS:

https://disruptiveludens.wordpress.com/2018/07/04/graficos-retro-neo-geo/https://wiki.neogeodev.org/index.php?title=Fix_layerhttps://www.youtube.com/watch?v=bz48mVUQc8I