Core PC/XT BETA

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Core PC/XT BETA

Mensaje por Uto » 29 Dic 2016, 12:42

Hark0 escribió:Que alguien cargue algún emulador de Spectrum por dios.... XD
Lastima que ZEsarUX no compile para DOS, sino se podría meter un emulador de ZX-Uno en el ZX-Uno.

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

Re: RE: Re: Core PC/XT BETA

Mensaje por spark2k06 » 29 Dic 2016, 12:45

Uto escribió:
Hark0 escribió:Que alguien cargue algún emulador de Spectrum por dios.... XD
Lastima que ZEsarUX no compile para DOS, sino se podría meter un emulador de ZX-Uno en el ZX-Uno.
Si puede correr DOS, quizá pueda Linux... Y a partir de ahí el ZXUno dentro del ZXUno xD

Enviado desde mi Thor mediante Tapatalk

Avatar de Usuario
DistWave
Mensajes: 183
Registrado: 14 Oct 2015, 19:24
Ubicación: Zaragoza

Re: Core PC/XT BETA

Mensaje por DistWave » 29 Dic 2016, 12:49

Quest escribió:Las cosas que funcionan van bastante bien, la verdad. La salida de audio tiene algo de ruido... no se muy bien a qué puede ser debido... ocurre también al leer de la SD, etc.
Es algo que he notado con el volumen alto, pero tampoco me ha parecido excesivo. Además, cualquier PC emite esos ruidos por el Speaker si lo conectas por ejemplo a la entrada de una Sound Blaster... así que aunque sea molesto, forma parte del sistema original :mrgreen:
Quest escribió:Las incompatibilidades que veo, principalmente parecen ser por la implementación incompleta de los modos gráficos. Lástima que dispongamos sólo de 512K de SRAM. Quizá cambiándola por la de 2Mb...
El tema de la memoria es bastante complicado, de hecho es sin duda lo que más tiempo me ha llevado modelar hasta llegar al estado actual: utilizar la SRAM para la memoria RAM y la BRAM para la memoria de vídeo.
Si sustituimos la SRAM por una de 2 MB, sería relativamente fácil ajustar el core para que la utilizase como memoria RAM, dando lugar a 640KB de convencional, 256KB de superior, 64 KB de alta y 1088 KB de extendida. Lo mismo si utilizamos una plaquita de expansión de SRAM con otros 512KB, para tener 1 MB en total repartidos con el mismo esquema pero con sólo 64 KB de extendida. O si nos ponemos generosos, utilizar chips de 2 MB de SRAM tanto en el ZX-UNO como en la expansión para tener 4 MB y mucha memoria extendida.
En los tres casos ganaríamos 128 KB de memoria convencional y además liberaríamos casi 64KB al cargar el DOS en memoria alta, que nos permitiría hacer funcionar parte del software que ahora mismo no funciona por falta de memoria RAM. La memoria extendida dudo que nos aporte algo, porque el software que la utiliza suele funcionar en modo protegido y el Next186 no lo tiene. Por tanto, entre
- Poner una expansión de 512k (1MB)
- Desoldar el chip de 512k y poner uno de 2 MB caro (2 MB)
- Desoldar el chip de 512k y poner uno de 2 MB caro, mas una expansión de 2 MB cara (4 MB)
me quedaría con la primera, porque nos aporta lo más importante y es la más barata y sencilla de instalar.

El problema viene con la memoria de vídeo, que es la que limita realmente la compatibilidad y no veo forma de aumentarla. En el core original se utiliza una memoria DDR de 32 bits a 133 Mhz o una SDRAM de 16 bits a 144 MHz (Papilio), que tienen ancho de banda suficiente para acceder la CPU y la lógica de la parte gráfica mediante contienda. Nosotros en cambio tenemos una memoria de 8 bits funcionando a 50 MHz que está haciendo de cuello de botella a la CPU, porque es un ancho de banda 5 o 6 veces inferior al del core original. Aunque añadiésemos una expansión para tener un bus de memoria de 16 bits, no creo que salgan las cuentas... de todas formas cuando estén listas las expansiones de memoria seguiré investigando esa vía.
Quest escribió:Por cierto, una preguntilla... no hay modo posible de meter los modos CGA? Al menos para poder correr gran parte del soft español... y bueno, windows 3.0 aunque sea en modo CGA (aun teniendo modo CGA, haría falta parchear algo? en mi HP200LX con 80186 va directamente)
Habría que implementar el modo CGA, sus paletas, etc tanto en el hardware como en la BIOS. El mayor problema es que tenemos la FPGA a tope, pero seguramente se podría eliminar algo de lógica (por ejemplo el modo 640x480x16 está implementado, pero como puedes ver en el Visual Player no hay memoria de video suficiente para que sea usable)
spark2k06 escribió:
Uto escribió:
Hark0 escribió:Que alguien cargue algún emulador de Spectrum por dios.... XD
Lastima que ZEsarUX no compile para DOS, sino se podría meter un emulador de ZX-Uno en el ZX-Uno.
Si puede correr DOS, quizá pueda Linux... Y a partir de ahí el ZXUno dentro del ZXUno xD
Como se os va la pinza :rofl!:
Probé el emulador de Pedro Gimeno pero como era de esperar, no funciona. Utiliza un modo de video (o texto con tweaks) que no está soportado.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Core PC/XT BETA

Mensaje por Quest » 29 Dic 2016, 13:13

Gracias por las explicaciones, Distwave.

De acuerdo con lo de la SRAM. Vamos a ver qué pasa con la expansión de yombo. No obstante algunos tenemos pensado ponernos la de 2Mb en placa sustituyendo la de 512K (al menos para trastear un poco) en breve. Si quieres, avisa.

Respecto a la velocidad, supongo que esos 50Mhz son los máximos que se pueden conseguir en todo el diseño... en teoría la SRAM del ZX-Uno puede funcionar a 100Mhz, no?
Distwave escribió:Habría que implementar el modo CGA, sus paletas, etc tanto en el hardware como en la BIOS. El mayor problema es que tenemos la FPGA a tope, pero seguramente se podría eliminar algo de lógica (por ejemplo el modo 640x480x16 está implementado, pero como puedes ver en el Visual Player no hay memoria de video suficiente para que sea usable)
Entiendo... pues también podría haber otra opción... tener varias versiones del core, dependiendo de qué modos gráficos queramos usar. Uno para CGA (o CGA + EGA), otro para MCGA, etc (no se los que se podrían tener, sólo es un ejemplo).

Si es por quitar, para mi gusto el sonido Tandy es prescindible. En todo caso también se podría intentar meter como prueba, el soporte CMS Game Blaster (la implementación del SAA1099, aunque no está perfecta, la tienes en el core de Sam Coupé).

Puerto serie o paralelo, también podría ser interesante para trastear :mrgreen: (y qué tal un DAC tipo Covox interno? :D) vale vale, que se me va un poco ;)

Mil gracias por este core :chocala!: Brutal.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
DistWave
Mensajes: 183
Registrado: 14 Oct 2015, 19:24
Ubicación: Zaragoza

Re: Core PC/XT BETA

Mensaje por DistWave » 29 Dic 2016, 13:38

Quest escribió:Respecto a la velocidad, supongo que esos 50Mhz son los máximos que se pueden conseguir en todo el diseño... en teoría la SRAM del ZX-Uno puede funcionar a 100Mhz, no?
La verdad es que no lo tengo claro. En el papillio el bus va a 80 MHz, así que no es problema del diseño original. Es posible que mis modificaciones hayan afectado a la estabilidad del core y el límite ahora sea inferior. Tengo que probar a sintetizar para el prototipo V3, que lleva una memoria SRAM más lenta, a ver si el límite sigue en los 50 Mhz o se reduce.
Quest escribió:Si es por quitar, para mi gusto el sonido Tandy es prescindible. En todo caso también se podría intentar meter como prueba, el soporte CMS Game Blaster (la implementación del SAA1099, aunque no está perfecta, la tienes en el core de Sam Coupé).
Ya intenté meterle los dos SAA1099 para tener una CMS, pero no entra ni siquiera uno. Puse el sonido Tandy porque es realmente diminuto (y es lo malo, aunque lo quitemos no vamos a ganar recursos)

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Core PC/XT BETA

Mensaje por antoniovillena » 29 Dic 2016, 14:13

Una pregunta, ¿Sería muy complicado hacerlo PAL?

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Core PC/XT BETA

Mensaje por mcleod_ideafix » 29 Dic 2016, 16:00

antoniovillena escribió:Una pregunta, ¿Sería muy complicado hacerlo PAL?
Para que funcione por video compuesto / RGB tendrías que hacer lo contrario a un scandoubler, es decir: un módulo que grabaría dos líneas continuas en memoria, las mezclaría y la linea r esultante la reproduciría a la mitad de la frecuencia horizontal de refresco. Con eso obtendrías una velocidad de refresco medio compatible con NTSC.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Core PC/XT BETA

Mensaje por antoniovillena » 29 Dic 2016, 16:54

mcleod_ideafix escribió:
antoniovillena escribió:Una pregunta, ¿Sería muy complicado hacerlo PAL?
Para que funcione por video compuesto / RGB tendrías que hacer lo contrario a un scandoubler, es decir: un módulo que grabaría dos líneas continuas en memoria, las mezclaría y la linea r esultante la reproduciría a la mitad de la frecuencia horizontal de refresco. Con eso obtendrías una velocidad de refresco medio compatible con NTSC.
Me refería a resolución nativa. Los modos gráficos que hay actualmente son EGA 320x200x16 y MCGA 320x200x256 que ambos caben en PAL (no sé si en NTSC). El problema va a estar en el modo texto, que si queremos que sea medio legible con 200 líneas de resolución vertical no nos bastarán (a 25 filas sale a 8 pixel por carácter de alto). Tal vez con 12 pixeles y un mapa de caracteres escalado a mano con mas de 1bpp sea posible algo decente, incluso a costa de perder funcionalidades como la de redefinir caracteres.

Lo de mezclar líneas no me convence porque se pierde información.

Avatar de Usuario
DistWave
Mensajes: 183
Registrado: 14 Oct 2015, 19:24
Ubicación: Zaragoza

Re: Core PC/XT BETA

Mensaje por DistWave » 29 Dic 2016, 17:01

La verdad es que no he mirado como de complicado sería. Lo que si he visto es que la resolución que saca el core (independientemente del modo gráfico 320x200 o texto en que se encuentre) mi monitor Samsung la identifica como 720x400@70Hz

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Core PC/XT BETA

Mensaje por antoniovillena » 29 Dic 2016, 17:16

Ya, pero eso se sale de los 312 máximos que permite PAL sin entrelazado. Según entiendo si de las 625 líneas de PAL, 576 son activas, esto nos daría un máximo hipotético de 288 líneas. Al menos si queremos que esas líneas se vean en todas las TVs.
DistWave escribió:La verdad es que no he mirado como de complicado sería. Lo que si he visto es que la resolución que saca el core (independientemente del modo gráfico 320x200 o texto en que se encuentre) mi monitor Samsung la identifica como 720x400@70Hz

Responder