Core PC/XT BETA

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

Re: Core PC/XT BETA

Mensaje por Uto » 31 Dic 2016, 00:02

Echando un ojo a alternativas de cutemouse, he encontrado esta version que ocupa casi 3K menos.

Además, eso me ha recordado mis tiempos de estrujar la memoria convencional, y me he acordado de keybsp.com, un driver de teclado que va al grano, solo para teclado español. Este me ha costado más encontrarlo, hasta el punto que lo he tenido que sacar de un disquete, pero el ahorro es de casi 5K.

Para cambiar ambos y ganar esas casi 8K más, simplemente copiar KEYBSP.COM y CTM-ES.EXE en el raiz de la tarjeta, y reemplazar en el AUTOEXEC.BAT las lineas que llaman a "CTMOUSE" y "KEYB SP..." por "CTM-ES" y "KEYBSP". De paso podéis quitar la del DOSKEY - cuya utilidad en un DOS que se usa para entrar directamente a un juego es poca - y así ganar casi otros 4K.

A lo tonto son casi 13K, que aunque no me han servido para que arranque el Eye of the Beholder quien sabe si para otros que les faltara poco pueda servir.
Última edición por Uto el 03 Ene 2017, 18:42, editado 2 veces en total.

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

Re: Core PC/XT BETA

Mensaje por Uto » 31 Dic 2016, 00:30

Por otro lado me sugieren una cosa que no se si es posible para este core: como en MCGA faltan 8 filas abajo por aquello de que falta memoria. ¿Podría hacerse que pulsando una tecla esas filas pasaran de ser las 8 ultimas a las 8 primeras? O incluso cuatro posturas: 8 ultimas, 8 primeras y "una de cada 25", o 4 arriba y 4 abajo.

Entiendo que el cambio, de poder hacerse no implicaría que inmediatamente se viera la parte correspondiente, porque eso dependerá de si el juego repinta la pantalla, pero podría servir para evitar algún problemilla de algún juego ¿no?. Por ejemplo sospecho que en el Monkey Island cuando se llene el inventario los objetos de la ultima fila no se van a ver.

Edito: ¿y no se puede hacer algo para que cada x milisegundos la RAM de la FPGA mapee en un sitio diferente? Ahora está fija en A000 para MCGA, si en vez de comernos los pixeles de abajo nos comieramos los de arriba, sería mapearla en AA00 si no me equivoco. ¿No se puede hacer algo para que ese mapeo cambie cada x milisegundos de modo que los juegos que repintan la pantalla continuamente pinten todas las zonas?

La verdad es que es un rollo muy teórico que estamos teniendo en un chat, lo mismo poner algo así en una FPGA no es viable, e incluso puede que sea una tonteria :-D

Edito otra vez: he visto que ayer hicimos mal la cuenta y no sin 8 filas sino 12,5 si tenemos exactamente 60k, pero creo que en el fondo la idea es la misma, si es posible.
Última edición por Uto el 31 Dic 2016, 09:39, editado 1 vez en total.

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

Re: Core PC/XT BETA

Mensaje por Uto » 31 Dic 2016, 01:03

Y otra cosa, que supongo que será una barbaridad también O:-)

¿Por qué no se puede implementar un chip de RAM dentro de la FPGA? No se, uno de 4K que se mapee cuando se accede a esa VRAM que falta, aunque hubiera que quitar el soporte EGA.

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 » 31 Dic 2016, 02:19

Uto escribió:Y otra cosa, que supongo que será una barbaridad también O:-)

¿Por qué no se puede implementar un chip de RAM dentro de la FPGA? No se, uno de 4K que se mapee cuando se accede a esa VRAM que falta, aunque hubiera que quitar el soporte EGA.
Para implementar memoria RAM en la FPGA se necesita la propia memoria BRAM que integra la FPGA, y parece ser que ya se está usando entera. La otra forma de implementar memoria es con los flip-flops de los slices, pero parece ser que ya se están usando practicamente todos cuando Distwave dice que el core cabe justito.

Así que la única forma de añadir memoria es externamente.
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 » 31 Dic 2016, 12:58

Como bien dice mcleod_ideafix, con la configuración actual toda la memoria ram que puede sintetizar la FPGA está ocupada. Estoy dándole vueltas para intentar optimizar al máximo, pero creo que no queda margen.

Sobre lo de mover el direccionamiento del framebuffer, no se puede hacer lo que comentas. Piensa que es una memoria de doble puerto que se lee para dibujar la pantalla, si mueves la dirección de inicio o de final, al dibujar la pantalla también se va a mover y la imagen va a desplazarse verticalmente.

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

Re: Core PC/XT BETA

Mensaje por spark2k06 » 31 Dic 2016, 13:04

Como ya se ha comentado, sería posible una versión con CGA quitando EGA y MCGA?

Enviado desde mi Thor mediante Tapatalk

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

Re: Core PC/XT BETA

Mensaje por Uto » 31 Dic 2016, 13:53

DistWave escribió:Como bien dice mcleod_ideafix, con la configuración actual toda la memoria ram que puede sintetizar la FPGA está ocupada. Estoy dándole vueltas para intentar optimizar al máximo, pero creo que no queda margen.

Sobre lo de mover el direccionamiento del framebuffer, no se puede hacer lo que comentas. Piensa que es una memoria de doble puerto que se lee para dibujar la pantalla, si mueves la dirección de inicio o de final, al dibujar la pantalla también se va a mover y la imagen va a desplazarse verticalmente.
Hmmm.. entiendo. Pero sí se podría hacer que con una tecla cambiara a voluntad del usuario ¿no? Aún no me he encontrado con el caso pero es posible que haya algún juego en el que perder las lineas de abajo sea un problema y perder las de arriba no lo sería tanto.

Tampoco es que sea algo muy crítico, claro, es solo una idea :-)

rcmolina
Mensajes: 109
Registrado: 22 Nov 2015, 16:41

Re: Core PC/XT BETA

Mensaje por rcmolina » 31 Dic 2016, 13:58

Este emulador de ZX puede funcionar ¿?

http://jafma.net/software/nutria/

They were three the versions of NUTRIA developed from 1991 to 1994. The second one (NUTRIA-2) was able to work with colours by using the 320x200 MCGA mode (256 colors) of a conventional VGA card, but did not emulate the ZX border. The third version (NUTRIA-3, see figure below) removed the fixed-on-screen control menu, substituting it by a full graphical interface written in C that hid while emulating, thus solving the border problem. This one substituted the integrated disassembler by an instrumentation of the emulator to gather statistical information from the execution of machine instructions of the Z80. Still a fourth version was developed in 2002, derived from the third one and recovering the disassembler and some monitoring options that were absent in previous versions; NUTRIA-4 was intended for improving the emulation by debugging the internals of the algorithms, thus it is not considered to be an application for the public.

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

Re: Core PC/XT BETA

Mensaje por Quest » 31 Dic 2016, 17:35

DistWave escribió: 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.
En realidad no debería haber apenas diferencia. Tanto v3 como v4 (la roja) llevan SRAMs de 12ns, mientas que la v4.1 final lleva de 10ns. Sólo la v2 lleva una memoria significativamente más lenta (45ns).
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Core PC/XT BETA

Mensaje por jepalza » 31 Dic 2016, 18:43

Quest escribió:
Voy a ir creando subforo PC-XT y te muevo el hilo....

Acordaros del pobre SHARP. Sé que es una mierda de sistema, pero funciona. Hacerle un hueco entre los cores --> viewtopic.php?f=21&t=805#p12069


En cuanto a este core, ya logré yo algo parecido (viewtopic.php?f=25&t=769&p=11386#p11386) pero lo dejé aparcado, por lo de tener que editar la SD a nivel binario con un editor hexadecimal, me pareció un rollo para explicar a la gente. Lo mas que logré fue cargar el freedos. Me ayudó su autor original, que me dio pistas de lo que había que hacer. Pero lo dejé en el tintero, hasta solucionar lo de crear un disco virtual.
Le prometí a su autor, que si lo lograba y publicaba, se lo comunicaba, para que lo pusiera en su web. A lo mejor puedes hacerlo tú, DistWave, decirle al autor que lo has portado.

Responder