SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Avatar de Usuario
masteries
Mensajes: 1833
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 355 veces
Agradecimiento recibido: 1278 veces

Re: SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Mensajepor masteries » 18 Sep 2023 19:20

Último mensaje de la página anterior:

logronoide escribió:¡Hola retrocolegas!

Es un placer presentaros SidecarT, un moderno emulador de cartucho ROM especialmente diseñado para las series Atari ST, STE y Mega, aprovechando el poder del microcontrolador RP2040 incorporado en la Raspberry Pi Pico:

Destacados:

1. Emulación ROM Adaptable: Cambia sin esfuerzo entre ROMs de 64Kbyte y 128Kbyte. Con SidecarT, puedes subir tus archivos binarios favoritos ya sea desde una tarjeta microSD o directamente a través de Wi-Fi.

2. Sincronización Instantánea con el Bus del Cartucho: Más allá de simples ROMs, SidecarT se adapta de inmediato con el bus del cartucho. Se puede intercambiar datos en tiempo real, intensificando la emulación de dispositivos.

3. Emulación de Dispositivos Completa: Con SidecarT, las posibilidades son infinitas. Desde discos duros y disquetes hasta relojes en tiempo real y dispositivos periféricos. Una puerta de entrada para emulación en su máxima expresión.

4. Transparente y Personalizable: Funcionando bajo la licencia de código abierto GNU. Su diseño hardware abierto te invita a modificar, perfeccionar y reinventar. Más que un emulador, considera esto como una plataforma tecnológica de innovación.

5. Impulsado por Raspberry Pi Pico: SidecarT, construido sobre el RP2040 de Raspberry Pi Pico, combina nostalgia con tecnológica actual.

Invito a todos los entusiastas de Atari a unirse, ya sea para pruebas, programación o para compartir sus impresiones. ¡Vamos a co-crear el futuro de SidecarT juntos!

Para una mayor implicación o contribuciones directas, visita https://sidecart.xyz. No dudes en dejar cualquier pregunta aquí; estoy aquí para ayudar.

¡Tu pasión e ideas pueden hacer que SidecarT destaque y brille aún más!
Diego



¡Muy guapo, muy guapo Diego!

Pregunta técnica, pues tengo algo en plan proyecto, que bien podría hacerse realidad...


¿Cuánto tiempo hay desde que se envía una dirección de 16 bits y el cartucho tiene que poner en el bus el dato solicitado?


¿Sabías que el puerto de cartucho es direccionable tanto por la CPU, como por el blitter, como por el DMA de audio?
Por tanto un cartucho RAM, sería chip RAM adicional... para barbaridades épicas

Por supuesto, habría que hacer banking de esos 128 KB; pero eso utilizando las señales
que sirven para distinguir entre byte alto y byte bajo se puede hacer, a modo de consignas
para introducir comandos a través de la dirección "solicitada"
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
logronoide
Mensajes: 9
Registrado: 22 May 2023 17:56
Agradecido : 13 veces
Agradecimiento recibido: 14 veces

Re: SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Mensajepor logronoide » 18 Sep 2023 19:37

Estoy un poco abrumado con el recibimiento, lo que pensaba que sería el segundo batch se llenó en menos de 24 horas y en 48 horas se ha duplicado ya el tamaño del segundo! Mil gracias! -drinks

Voy a intentar responder a las cuestones de @kikems porque me han venido por diferentes sitios y creo que vale la pena explicarlas, y hay cosas muy chulas:

- Las famosas roms de diagnostico: Eso es lo primerísimo que hice y es como testé inicialmente el chisme. Tengo este video para la posteridad: https://www.youtube.com/watch?v=SC36MAYPz-A

- Emulación de llaves: Creo que es factible por lo que he leido de Cubase. Ahora, creo que sería genial que alguno de los superexpertos en ello lo hiciera sobre el hardware de la Sidecart, no yo. De hecho, si alguien quiere le regalo una (cuando tenga, que hoy he agotado los restos el 1er batch) que me escriba por DM.

- Disco duro: Ese era mi proyecto original. De hecho, empecé a migrar el código que usan en Hatari, pero es un jardin de la hostia. Eventualmente lo acabaré consiguiendo, pero no es una cosa de semanas. Serán meses.

- La famosa emulación de PC-Ditto pero super vitaminada: Necesito más info!

- Emulación de Vidi RGB y Vidi 12: Ni idea de lo que me hablas, Hulio. Dame más info.

- Frame Buffer de 24 bits. En su época para las apps de 3D de Lexicor salieron unos frame buffer que tenían salida de video compuesto, renderizabas contra el frame buffer y visualizabas la imagen en 24 bits mediante la salida propia de la tarjeta.
- Puede que sea posible hacer un frame buffer externo de tarjeta gráfica mediante un driver propio NVDI, que ofrezca salida 16c en alta, 256c o 24 bits del desktop del Atari: Estas dos van en combo. Tengo la duda si es posible asignar la dirección de la pantalla de memoria del ST/STE (ffff8201, ffff8203, ffff820d) a las direcciones del cartucho ($FA0000 y $FB0000). Si es así, las posibilidades son A-CO-JO-NAN-TES. Si no es así, podemos en el STE usar el Blitter para mover de las direcciones del cartucho a la RAM. ¿Os imagináis las peazo de demos a full screen que se podrían hacer? De nuevo, si alguien se anima le envío un chisme para que se lo curre.

- Podría actuar como puerto usb y wifi, similar al invento ese que se llamaba netbeeze ( o algo similar ): Sí, esto para mí es lo más low hanging fruit después de la emulación de floppies.

- Creo que había un Romantic Robot ( una especie de action replay para explorar la memoria del Atari, pokear, extraer músicas y gráficos de los juegos , etc... ): Esto me lo han pedido los "guruses" de Atari-forum para ejecutar el Ultimate Ripper. Lo tengo como una de las cosas para la próxima release del firmware, es fácil: https://github.com/diegoparrilla/ataris ... o/issues/6

Voy recopilando información y lo iré metiendo en el backlog como feature requests.

kikems escribió:Apuntado. Es muy interesante el proyecto.
Así de lo que me viene a mente de "inventos" para Atari por el puerto de cartucho son:

- Las famosas roms de diagnostico.
- Emulación de llaves de software como las de Cubase etc..
- Disco duro, sería mucho más lento que las otras soluciones que ya tenemos pero para transportar cómodamente unos archivos de un Atari a otro puede servir.
- La famosa emulación de PC-Ditto pero super vitaminada.
- Emulación de Vidi RGB y Vidi 12.
- Frame Buffer de 24 bits. En su época para las apps de 3D de Lexicor salieron unos frame buffer que tenían salida de video compuesto, renderizabas contra el frame buffer y visualizabas la imagen en 24 bits mediante la salida propia de la tarjeta.
- Puede que sea posible hacer un frame buffer externo de tarjeta gráfica mediante un driver propio NVDI, que ofrezca salida 16c en alta, 256c o 24 bits del desktop del Atari.
- Podría actuar como puerto usb y wifi, similar al invento ese que se llamaba netbeeze ( o algo similar ).
- Creo que había un Romantic Robot ( una especie de action replay para explorar la memoria del Atari, pokear, extraer músicas y gráficos de los juegos , etc... )

No sé así de primeras estas son las funciones que se me ocurre que puedan ser útiles, pero seguro que hay muchas más.

Avatar de Usuario
logronoide
Mensajes: 9
Registrado: 22 May 2023 17:56
Agradecido : 13 veces
Agradecimiento recibido: 14 veces

Re: SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Mensajepor logronoide » 18 Sep 2023 19:52

masteries escribió:¡Muy guapo, muy guapo Diego!

Pregunta técnica, pues tengo algo en plan proyecto, que bien podría hacerse realidad...


¿Cuánto tiempo hay desde que se envía una dirección de 16 bits y el cartucho tiene que poner en el bus el dato solicitado?


¿Sabías que el puerto de cartucho es direccionable tanto por la CPU, como por el blitter, como por el DMA de audio?
Por tanto un cartucho RAM, sería chip RAM adicional... para barbaridades épicas

Por supuesto, habría que hacer banking de esos 128 KB; pero eso utilizando las señales
que sirven para distinguir entre byte alto y byte bajo se puede hacer, a modo de consignas
para introducir comandos a través de la dirección "solicitada"


Gracias, maestro!

Teóricamente son 250ns (500ns de reloj de sistema ~ 2Mhz), pero una vez tienes la dirección de 16 bits consolidada puedes poner ya el dato en el bus de datos y esperar a que se te cierre la ventana de tiempo. Así que la clave es dedicar los 250ns primeros a leer la dirección y los restantes 250ns a poner el dato. Te paso un enlace a una doc que está en progreso de mis primeras pruebas con un analizador lógico: https://github.com/diegoparrilla/ataris ... signals.md la información está muy en crudo, copia y pega las gráficas ascii en una pantalla ancha para verlo.

Lo del direccionamiento no lo tenía claro. Pero sería la leche! Realmente el código en el RP2040 lo que hace es simular una RAM, no una ROM. Y las barbaridades que se podrían hacer serían TREMENDAS!!!!

Los comandos que dices es lo que uso para la configuración en lo que yo llamo el modo híbrido de emulación. Tengo que documentar mucho mucho, pero igual puedes leer algo de código C de esta parte que es donde lo implemento:

https://github.com/diegoparrilla/ataris ... der.c#L529
https://github.com/diegoparrilla/ataris ... tocol.c#L1

Toda la parte de configuración del emulador funciona con esos comandos: https://github.com/diegoparrilla/ataris ... mands.h#L1

Una cosa que me ha sorprendido es lo increiblemente bueno que son las PIOs del RP2040. Son difíciles de programar pero descargan los procesadores de todo. De hecho, los dos procesadores del RP2040 están prácticamente en espera activa.

Mucho que documentar, @masteries.... mucho mucho.

Avatar de Usuario
TorpedoJavi
Mensajes: 165
Registrado: 02 May 2021 22:50
Agradecido : 63 veces
Agradecimiento recibido: 65 veces

Re: SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Mensajepor TorpedoJavi » 21 Sep 2023 00:33

Apuntado, justo hoy me ha llegado un Atari 1040STE para que el 520E no esté solo, hay que darle de comer....

Avatar de Usuario
logronoide
Mensajes: 9
Registrado: 22 May 2023 17:56
Agradecido : 13 veces
Agradecimiento recibido: 14 veces

Re: SidecarT: Emulador de cartucho Atari ST(E) con la magia de Raspberry Pi Pico

Mensajepor logronoide » 25 Sep 2023 09:48

Hola a todos de nuevo!

Muy brevemente, quiero avisar de una modificación crucial (para bien) con respecto al plazo para el Second Batch. Planeo extender el plazo para inscribirse en la lista de espera hasta que el número de inscritos iguale la cantidad de placas ya pedidas de China o hasta que lleguen las placas, lo que será para finales de esta semana, el 25 de septiembre, o a principios de la semana del 2 de octubre.

Además, me gustaría informaros que no habrá una fase de pre-pedido; no es necesaria. Al llegar las placas, la tienda online se abrirá de inmediato y se os enviará un código de descuento a todos. Esto implica que cuanto antes se complete la compra una vez que las placas estén disponibles, más pronto se recibirán.

¡Estoy un poco "acongojado" con la respuesta e interés en SidecarT, que ha triplicado mis estimaciones iniciales! ¡Es todo un viaje, y como el Tío Ben dijo sabiamente, "Un gran poder conlleva una gran responsabilidad"! Muchos me habéis hecho preguntas en privado. Si ya estáis en la lista de espera, habréis recibido un correo electrónico con las Preguntas y Respuestas, pero si no, aquí lo tenéis:

https://mailchi.mp/ab1f98f182ea/importa ... f-sidecart

Stay tunez, Antúnez!
Diego


Volver a “Hardware ST”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado