SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

BBC, Dragon, Sam Coupé, Oric ...
Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor Quest » 04 Ago 2015, 17:16

Pues acabo de probar los ultimísimos cambios y efectivamente por el momento no he notado cuelgues, es posible que tuviera que ver algo con los registros que comentas.

El Manic efectivamente ya no se cuelga aunque como dices presenta algunos problemas de parpadeos y demás.

De hecho ya funciona también otro jueguecillo en Basic (Link! un conecta-4) que no lo hacía antes de la implementación de los registros.

Hay otro que acabo de convertir a cinta, el Tetris, que tampoco funciona, ni con los últimos cambios. Se queda congelado al empezar. En el Sam real, con la misma carga si que funciona.

He subido ambos al SVN, para cualquier prueba que haga falta.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor mcleod_ideafix » 04 Ago 2015, 17:52

Quest escribió:Hay otro que acabo de convertir a cinta, el Tetris, que tampoco funciona, ni con los últimos cambios. Se queda congelado al empezar. En el Sam real, con la misma carga si que funciona.

Lo acabo de probar y a mi me funciona. La última línea de abajo con un texto está corrupta, imagino que por los registros estos dichosos, pero me sale la pantalla principal con la cara de la mujer, y puedo jugar sin problemas.

Ah! No lo dije pero las teclas de función del SAM están mapeadas a las correspondientes del teclado numérico. La tecla EDIT, por ponerla en algún sitio, la he puesto en la tecla Windows derecha. La tecla INV no sé si la he puesto en algún sitio o directamente la he descartado :P
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor Quest » 05 Ago 2015, 17:50

Siguiendo con el método artesanal de conversión (trabajito de chinos :mrgreen: ), he subido al repositorio algunos juegos más y un par de demos bastante espectaculares, Slow Motion y Slow Motion 2, las demos más recientes publicadas para SAM Coupé (2014 y 2015 respectivamente) que se pueden ver en Pouet. Viéndolas cualquiera diría que no esta viendo unas demos de la primera época del ST o del Amiga. :D

Prácticamente todo funciona, salvo algunos problemas gráficos en la demo Slow Motion 2, que hacia el final de la misma, en el efecto twisted (el prisma que se retuerce) la textura degradado de las paredes sale a trozos con cuadros negros, cuando debería ser todo un degradado gris claro. Además tanto en ese efecto como en los créditos del final, como usan un modo entrelazado para conseguir hi-res, parece como si los campos estuvieran invertidos y hace un efecto raro. Por si acaso lo he cargado varias veces y en 2 pantallas distintas, tanto por rgb como compuesto.

mcleod_ideafix escribió:Lo acabo de probar y a mi me funciona. La última línea de abajo con un texto está corrupta, imagino que por los registros estos dichosos, pero me sale la pantalla principal con la cara de la mujer, y puedo jugar sin problemas.


Cierto, lo he probado de nuevo y funciona... creo que me armé un lio con los cores y la vez anterior debí probarlo con la versión anterior. :oops:

-- Actualizado 05 Ago 2015, 18:40 --

EDITO: Por cierto, he probado por curiosidad a hacer un SAVE, pero no emite sonido. Imagino que no está rutada lo que sería la salida "MIC" a la salida de audio del ZX-UNO.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor mcleod_ideafix » 06 Ago 2015, 10:38

Quest escribió:EDITO: Por cierto, he probado por curiosidad a hacer un SAVE, pero no emite sonido. Imagino que no está rutada lo que sería la salida "MIC" a la salida de audio del ZX-UNO.

No, no lo está. Lo estaba antes, pero la he cambiado por EAR.
Cuando haya un mixer volverán a su ser.

Por cierto, estoy leyendo el datasheet del SAA1099 y no me aclaro con lo siguiente: dado un valor para la octava, de 0 a 7, y un valor para la frecuencia, de 0 a 255, ¿Qué frecuencia en hercios tendrá la señal resultante? En los datasheets que he consultado sólo vienen los números para obtener ciertos tonos de la escala cromática, pero la fórmula de donde vienen esos valores no la veo.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor Quest » 06 Ago 2015, 11:40

mcleod_ideafix escribió:Por cierto, estoy leyendo el datasheet del SAA1099 y no me aclaro con lo siguiente: dado un valor para la octava, de 0 a 7, y un valor para la frecuencia, de 0 a 255, ¿Qué frecuencia en hercios tendrá la señal resultante? En los datasheets que he consultado sólo vienen los números para obtener ciertos tonos de la escala cromática, pero la fórmula de donde vienen esos valores no la veo.


Bueno, no estoy muy puesto en el tema, pero imagino que lo que comentas de ciertos tonos de la escala cromática te refieres a notas tal como las conocemos (Do, Re mi.. o en notación inglesa C, D, E...), dado que cada nota es en realidad sonido a una frecuencia fija concreta, supongo que se puede sacar una relación entre los valores. Aquí por ejemplo tienes una equivalencia http://www.phy.mtu.edu/~suits/notefreqs.html ,Tomemos por ejemplo A4 ("La" en la octava 4) que son 440Hz (se suele tomar como referencia), según la tabla que aparece en documentación que tiene por ahi Velesoft (http://velesoft.speccy.cz/samcoupe/saa1099/saa1099-doc2-en.zip) vemos en la pag.3 que A3 (aqui lo llama A3 pero en realidad sería A4, a veces la notación de octavas cambia según los estándares musicales que se tomen como referencia) coresponde efectivamente a 440Hz y le asigna el número de tono decimal "227". Asumo que En cada octava se repiten siempre los mismos valores de tono para cada tono y semitono conocido (dado que se repite 33 para C). También veo que el primer tono mayor que aparece en cada octaba es B mayor al que le da valor 5. Por supuesto, en cada octava, la frecuencia de cada tono se duplica con cada octava que subimos. Los valores de entre medio de los conocidos, no consigo, al igual que tu comentas, sacar una relación matemática. Y no parece que estén documentados esos valores intermedios...

EDITO: Bueno, en realidad no se por qué comento todo eso, ya lo sabes de sobra, y ahora que lo releo no ayuda a resolver nada.

Pero quizá te ayude en algo este código fuente de la emulación del SAA1099: http://zx-evo-fpga.googlecode.com/hg/pe ... aa1099.cpp

Por supuesto imagino que ya tienes más que mascada toda la documentación de los links inferiores de la page de Velesoft, pero porsiaca: http://velesoft.speccy.cz/saa1099-cz.htm

---

En otro orden de cosas, he subido al fin al repositorio la demo SCDIT, (Sam Can Do It Too!) que lo merecía totalmente, una grande del 2014. Hasta el momento es la que más problemas presenta con el core actual. Eso sí, me ha costado sudar un poco de tinta :) porque el disco donde viene no tiene archivos de código, la lectura se hace por sectores, así que tocó calcular, volcar a archivos, dividirlos, hacer el cargador, en fin.. que ya está y funciona :D Tarda casi 11 minutos de carga en turbo, pero merece la pena.

Los problemas encontrados con el core actual en esta demo son:

Efecto 1: El fuego inferior, que quema la hoja no sale.
Efecto 2: El efecto de los bobs solo se ve en la parte inferior de la pantalla, y con parpadeos y saltos raros.
Efecto 6: Truecolor images. Funciona, pero antes de pasar la segunda capa a cada imagen, la imagen tiembla hacia la izquierda varias veces. Luego se estabiliza y se ve bien.
Efecto 10: Justo después de los greets, deberían salir plasmas multicolor ondeantes del final, cuando se va formando "THE END", pero solo salen muy muy lentamente unas lineas horizontales, de 2 o 3 colores, sin moverse. Si esperas mucho rato (como unos 5 minutos o más) se va formando "THE END" entre medio de las lineas horizontales estáticas.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor mcleod_ideafix » 06 Ago 2015, 12:15

Quest escribió:Por supuesto imagino que ya tienes más que mascada toda la documentación de los links inferiores de la page de Velesoft, pero porsiaca: http://velesoft.speccy.cz/saa1099-cz.htm

Si, y no he encontrado nada de esto. Da igual, ya me han resuelto la duda en la página de Facebook del SAM Coupé Users Group. La fórmula es:
(15625 * 2^octava)/(511-freq)

De aquí ya puedo deducir el divisor total que hay que aplicar a la frecuencia maestra de 8MHz, y que es:
1/(2^(9-octava) * (511-freq) )

Lo que significa en la práctica que la frecuencia maestra es pasada por un divisor de frecuencias controlado por el valor de la octava, y el resultado pasa a su vez a un contador que cuenta hasta (511-freq)/2. cambiando un biestable de valor cada vez que se llega a ese valor.

El polinomio generador del ruido ya lo miré en el código fuente de la librería de emulación del SAA1099 que has mencionado.

-- Actualizado 06 Ago 2015, 11:17 --

Quest escribió:En otro orden de cosas, he subido al fin al repositorio la demo SCDIT, (Sam Can Do It Too!) que lo merecía totalmente, una grande del 2014. Hasta el momento es la que más problemas presenta con el core actual. Eso sí, me ha costado sudar un poco de tinta :) porque el disco donde viene no tiene archivos de código, la lectura se hace por sectores, así que tocó calcular, volcar a archivos, dividirlos, hacer el cargador, en fin.. que ya está y funciona :D Tarda casi 11 minutos de carga en turbo, pero merece la pena.

Es muy pronto para que una demo de ese calibre funcione siquiera decentemente en el core. Hay errores de timings por todas partes, eso sin contar que probablemente el propio core TV80 no sea exacto en los timings del procesador. Pero está bien tenerla a mano porque me servirá como prueba de fuego, al estilo de lo que la Shock Megademo supuso cuando probaba el core del Spectrum. Muchas gracias!!!
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor mcleod_ideafix » 08 Ago 2015, 03:41

Mientras tanto, he convertido a cinta el Manic Miner completo, con sus tres cavernas, y he añadido de mi cosecha un pequeño trainer, que te permite elegir si quieres vidas infinitas o invulnerabilidad :D . Está en la sección "Juegos" del recién creado repositorio de software para probar el core del SAM Coupé :)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor Quest » 08 Ago 2015, 12:32

Genial :) completo y con vidas infinitas ya da un poco menos de rabia jugar a él :lol:
Tendría que haber especificado que el que subí era demo. Ya corregiré los nombres de archivo en esos casos.

Yo acabo de subir un par de conversiones más.

Por un lado, el emulador de PAC-MAN arcade de Simon Owen, PACEmu. Qué enrevesada hace la carga de disco este señor :mrgreen: con lo fácil que hubiera sido cargar los archivos sin más :-ss bueno, la cuestión es que ya está hecho en tzx. Va fino fino :D

Por otro lado, a modo de curiosidad, porque de momento sin tener unidades de disco, servirá sólo para trastearlo un poco sin mucho más, he subido el Pro DOS v2, un SO compatible con CP/M 2.2 de la mano de Chris Pile. El cual, por cierto, ejecutado en el ZX-UNO, detecta unas falsas unidades de RAM externa (de la B: a la E:), supongo que porque de algo que aún está por implementar en el core hace pensar al OS que tiene una expansión de RAM externa (asumo que de 4Mb) .

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor mcleod_ideafix » 08 Ago 2015, 14:01

Quest escribió:Genial :) completo y con vidas infinitas ya da un poco menos de rabia jugar a él :lol:
Tendría que haber especificado que el que subí era demo. Ya corregiré los nombres de archivo en esos casos.

Y en el core TEST3 ya he corregido los errores de timing con la interrupción de linea y los valores de HPEN y LPEN. Ahora se ve mejor. Sigue haciendo unos extraños cuando pasa de pantalla o se mata una vida, pero el efecto "split screen" que usa para poner una paleta diferente a la parte de marcadores de la parte inferior de la pantalla ya lo hace bien.

Imagen

El TEST3 ya está disponible

Sobre lo que comentas del ProDOS: no, no hay nada implementado. Los puertos 128 y 129 dan $FF, lo esperado cuando no hay expansión de memoria, y el bit 7 de HMPR está a 0 para indicar que no hay expansión de memoria. No sé qué puede estar pasando.
EDITO: ya sé qué pasa: el bit 7 de HMPR se usa para habilitar la memoria externa. En un SAM Coupé, al habilitar ese bit se deshabilita la memoria interna para cualquier dirección a partir de 8000h. Yo no hago esa deshabilitación, y por tanto el ProDOS siempre "ve" memoria (ve la interna) aunque se habilite el susodicho bit 7. Y está arreglado :)

-- Actualizado 08 Ago 2015, 16:56 --

Con el core TEST3, tenemos:

Efecto 1: El fuego inferior, que quema la hoja no sale. SIGUE SIN SALIR.
Efecto 2: El efecto de los bobs solo se ve en la parte inferior de la pantalla, y con parpadeos y saltos raros. SIGUE PASANDO.
Efecto 6: Truecolor images. Funciona, pero antes de pasar la segunda capa a cada imagen, la imagen tiembla hacia la izquierda varias veces. Luego se estabiliza y se ve bien. ARREGLADO. SE VE PERFECTO.
Efecto 10: Justo después de los greets, deberían salir plasmas multicolor ondeantes del final, cuando se va formando "THE END", pero solo salen muy muy lentamente unas lineas horizontales, de 2 o 3 colores, sin moverse. Si esperas mucho rato (como unos 5 minutos o más) se va formando "THE END" entre medio de las lineas horizontales estáticas.[/quote]. ARREGLADO. SE VE PERFECTO.

Tengo la sospecha que el extraño que hace Manic Miner cuando cambia de pantalla o cuando te matan, y lo que ocurre en el efecto 2 vienen del mismo problema. Quest, ¿qué me puedes decir, que no venga en el manual técnico del SAM Coupé, sobre cómo se usan los registos HMPR, LMPR y VMPR?

EDITO: qué soso se me hace ahora ver el arranque del ZX-Uno con el core de Spectrum, con la cantidad de colores en alta resolución que tiene el SAM Coupé :P
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: SAM Coupé en ZX-Uno (¿alguien dijo SAM-Uno?)

Mensajepor Quest » 08 Ago 2015, 19:39

Genial, ya lo he probado y se arregla lo que comentas :D incluidas las lineas de basura inferiores del tetris. Sobre todo el final de SCDIT ahora es perfecto.

Respecto a los registros xMPR, sólo se lo que ya está publicado por internet, así que de poca ayuda te puedo ser, puesto que ya lo conocerás todo
(http://womoteam.de/SAM/Contents/Ram_Rom/ram_rom.html)
(https://github.com/simonowen/simcoupe/b ... ReadMe.txt)
etc..

Por si sirve para hacer debug en el ZX-uno, he pasado el fantástico TurboMON de Simon Owen a cinta (que entre otras cosas permite monitorizar los registros xMPR), le he hecho un cargador en plan rápido que te deja elegir en qué página de la RAM quieres cargarlo (para compatibilizarlo con el programa que vayas a cargar y monitorizar después). Hay 4 segundos para pulsar la tecla antes de que el TZX cargue el siguiente bloque.

Ya está en el repositorio en la carpeta "Utils" del SamCoupe

El manual de uso, que es bastante bueno y explicativo:

http://simonowen.com/sam/turbomon/TurboMON.pdf

EDITO: Es curioso que el turboMon al cargarlo en el SimCoupé aparece el color de fondo del título, barra inferior y barra de selección en azul marino y los títulos de los registros, pila, etc, en verde, mientras que en el ZX-UNO sale al revés :?: verde y azul respectivamente...

EDITO 2: Tampoco consigo que funcione en el TM la tecla "Control" correctamente, porque no hace caso a Control+Q por ejemplo (que es para salir del programa) a no ser que lo intente varias veces, invirtiendo el orden (Q+Control) aleatoriamente


Volver a “Otros microordenadores”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados