Core PC/XT CGA/Tandy

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 27 Nov 2021, 13:10

phpBB [media]


He modificado la versión portada por @DistWave, eliminando cualquier resto de los modos EGA/MCGA que disponía, para integrar el proyecto Graphics Gremlin que llevó a cabo TubeTime y poder así disfrutar de una gran variedad de juegos CGA, muchos de ellos exclusivos de esta tarjeta gráfica.

Aunque todavía tiene fallos con ciertos juegos, que habrá que ir viendo si se trata de falta de funcionalidad o fallo en la BIOS o bien se trata del core, publico una primera versión para que podáis ir disfrutándola:

Imagen

Imagen

Imagen

También he modificado la frecuencia de la CPU para aproximarla a las de un PCXT original a 4.77Mhz, por lo que juegos como Solomon's Key son jugables, aunque funcionan un poco más rápido que un PCXT original. Y es que las características del Next186 y su cache de memoria seguramente jueguen un papel importante, y a priori no es sencillo de eliminar:

Imagen

Por supuesto, como llevo haciendo ya a varios cores, he añadido la funcionalidad de simulación de monitor monocromático en verde, ambar y blanco y negro, se cambia con la tecla Bloq Despl. Precisamente con CGA es interesante por su paleta de colores, algunos juegos ganan mucho visualizándolos en monocromo:

Imagen

Imagen

Imagen

Imagen

Para la paleta de 4 colores no hay problema con el DAC del ZXUno, sin embargo, no es así si se visualizan modos donde haya 16 colores:

Imagen

Imagen

La versión RGB666 del ZXUnCore no tiene este pequeño problema :) :

Imagen

El core actualmente tiene los siguientes problemas conocidos, a los que habrá que ir investigando cuál es el problema y dónde aplicar la solución, en el core o en la BIOS:
  • Algunos juegos presentan glitches gráficos. Ejemplo: Army Moves
  • PAKU PAKU no se muestra correctamente en el modo especial de 160x100.
  • No a todos los monitores le gusta la señal generada por el módulo de la Graphics Gremlin. Ejemplo: FLATRON M1917A
Para más información técnica, podéis ver el siguiente post que he creado en forofpga.
Adjuntos
PCXT_CGA_Tandy.zip
(659.91 KiB) Descargado 213 veces
Última edición por spark2k06 el 02 Feb 2022, 08:31, editado 19 veces en total.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 29 Nov 2021, 07:02

[BIOS] Actualización (binarios del primer post actualizados):
  • Se ha corregido el fallo de no mostrar correctamente la fuente de caracteres en modo gráfico
  • Se ha añadido el sonido BEEP del caracter BEL (0x7)
Antes se veía así:

Imagen

Tras la corrección:

Imagen
Última edición por spark2k06 el 01 Dic 2021, 16:21, editado 1 vez en total.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 01 Dic 2021, 16:20

[CORE] Fix en la cache de instrucciones (binarios del primer post actualizados):

  • FLUSH sobre la cache de instrucciones en MOVs de memoria
Ahora funciona juegos como AlleyCat (la version de 61Kb que modifica el propio código):

Imagen

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 04 Dic 2021, 11:18

ZXUno PCXT CGA (Beta 0.1)
  • Primera versión Beta.
  • Versión de 2MB de SRAM con direccionamiento de 1MB.
Binarios actualizados en el primer post.

phpBB [media]


TODO
  • Depuración de software y juegos para la mejora continua de la BIOS y el core.
  • Soporte de memoria EMS para el megabyte disponible en la version de 2MB.
  • Eliminación completa de la cache utilizada por el Next186.
  • Eliminación de restos de acceso al soporte antiguo de VGA del Next186.
  • Si cabe, integración del modulo JTOPL2 de @jotego para dar soporte a Adlib cuando esté disponible.
  • Integración del módulo de video compuesto del proyecto Graphics Gremlin de @schlae.
  • Revisar por qué la señal de VGA generada por el módulo de la Graphics Gremlin no funciona en algunos monitores. Ejemplo: FLATRON M1917A
  • Mejora y corrección continua de otros fallos.

Avatar de Usuario
Higgy
Mensajes: 63
Registrado: 30 Dic 2016, 23:57
Ubicación: Oxfordshire, England
Contactar:

Re: Core PC/XT CGA/Tandy

Mensaje por Higgy » 09 Dic 2021, 23:01

Thanks for creating this Core.
Hopefully I will be able to try during Christmas. I need to set my ZX Uno up again after a failed attempt to set it up just for arcade Cores.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 20 Dic 2021, 08:05

Pronto EMS disponible para la versión de 2Mb de SRAM del ZXUno y ZXUnCore, gracias al administrador LTEMM de Lo-Tech, modificado para soportar 1Mb de memoria con 64 páginas. También tendremos mucha memoria convencional disponible haciendo uso de memoria alta :D


Imagen
Última edición por spark2k06 el 27 Dic 2021, 12:09, editado 1 vez en total.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 24 Dic 2021, 19:25

Beta 0.2
  • Soporte de memoria EMS para el megabyte disponible en las versiones de 2MB.
  • Corrección de algunos fallos
  • Refactorización y limpieza de ficheros del proyecto
Binarios actualizados en el primer post.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 29 Dic 2021, 17:48

Nueva actualización con una corrección de la imagen en modo texto y algo que siempre he querido tener desde las primeras versiones en VGA, la posibilidad de utilizar tarjetas SD de hasta 4GB, de manera que no se tenga que recurrir a SDHC ( > 4GB ) para un núcleo que realmente no lo requiere, desaprovechándose mucho espacio:

Beta 0.3
  • Corrección del fallo de la primera línea fantasma visible en modo texto.
  • Compatibilidad con tarjetas de memoria SD estandar, menores de 4GB.
Binarios actualizados en el primer post.

Imagen


La compatibilidad con tarjetas menores de 4GB también la he trasladado a la versión VGA de ZXUnCore, binarios disponibles aquí.

Los cambios realmente son sobre la BIOS y los muestro a continuación. Se podrían trasladar al resto de ports de este core sin problema, basta con actualizarlos con estos cambios:

https://github.com/spark2k06/ZXUno4ALL/ ... 380a67c6c8

Las tarjetas de menos de 4GBs cargarán sin problema, aunque de momento es posible que este tipo de tarjetas no se reconozca correctamente su tamaño, sólo es a nivel informativo. He dejado un comentario con todos los detalles en el código de la BIOS para corregir este tema más adelante, porque hay que hacer un juego de operaciones a nivel de bits y aritméticas de 32 bits a partir del CSD de la tarjeta. No me apetecía de momento dedicar mucho tiempo a este asunto cuando solo es informativo, y con varias tarjetas funciona correctamente, como la que muestro en el ejemplo.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 10 Ene 2022, 06:59

Beta 0.4 ya disponible en mi repositorio de GitHub, tanto fuentes como binarios actualizados.
  • Muchas correcciones, a nivel de timer, pc speaker, cpu, etc... gracias al fork de VGA para Mist de gyurco
  • Soporte Adlib gracias al módulo de OPL2 desarrollado por jotego (jtopl2)
  • Velocidad de procesador seleccionable con CTRL + ALT + Keypad (+ o -): 4.77Mhz (Inicial), 9.54Mhz y 19,08Mhz, con base del bus y funcionamiento de la cache a 4.77MHz
  • El cambio de salida de color monocromático a color ahora se realiza con CTRL + ALT + Bloq Despl, en lugar de sólo Bloq Despl
Primer post de este hilo actualizado.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Core PC/XT CGA/Tandy

Mensaje por spark2k06 » 15 Ene 2022, 15:18

Beta 0.5
  • Corrección de timings de instanciado del modulo de JTOPL2
  • Corrección de timings de instanciado del modulo de teclado, ya se vuelven a detectar todos los teclados.
  • Mismo comportamiento que un 8086/80186 con PUSH SP, correcta identificación del modelo de CPU por parte de los programas.
Primer post de este hilo actualizado.

Responder