Dudas sobre piBacteria

Moderador: Fundadores

Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

Muchas gracias. Le echaré un vistazo y lo añadiré al emulador. En la placa tecleator hay una plaquita adaptadora a DB9, no sé si te la eché en tu bolsita. Si no, tampoco es muy complicado hacerte una con placa de agujeritos siguiendo los esquemas. Te adjunto pantallazo de las conexiones.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

Huy pues con ese esquema hay que cambiar el código que he hecho.
Ya te lo he actualizado, he quitado el botón 2 ya que con ese esquema no veía donde ponerlo, pero tampoco creo que se use en ningún juego.

Si que me enviaste esa plaquita en el sobre, pero ya hasta se me había olvidao, :D Voy a ver si la monto como el esquema y lo pruebo al 100%, aunque con el programa rom de test me funcionaba bien
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

neuro_999 escribió:Huy pues con ese esquema hay que cambiar el código que he hecho.
Ya te lo he actualizado, he quitado el botón 2 ya que con ese esquema no veía donde ponerlo, pero tampoco creo que se use en ningún juego.

Si que me enviaste esa plaquita en el sobre, pero ya hasta se me había olvidao, :D Voy a ver si la monto como el esquema y lo pruebo al 100%, aunque con el programa rom de test me funcionaba bien
Puedes hacer que el emulador remapee el segundo botón al teclado (tecla espaciadora por ejemplo) o al botón NMI.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

No se si merece la pena, al fin y al cabo no recuerdo ningún juego de spectrum que use los dos botones. Lo puse en un principio porque lo vi en el test de kempston, pero el interface del spectrum 48k creo que solo veía uno.

Lo que si voy a hacerme es una versión especial para el shadow of the unicorn que lleva rom y joystick propio. Siempre tuve debilidad por este juego desde que me lo regalaron, y que nunca me llegue a terminar.

Por cierto, en el in: he visto un fallito que he tenido, que hago un "ldr r0, joy" y debería ser un "ldrb r0, joy", funciona igual, pero es mas correcto.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

neuro_999 escribió:No se si merece la pena, al fin y al cabo no recuerdo ningún juego de spectrum que use los dos botones. Lo puse en un principio porque lo vi en el test de kempston, pero el interface del spectrum 48k creo que solo veía uno.

Lo que si voy a hacerme es una versión especial para el shadow of the unicorn que lleva rom y joystick propio. Siempre tuve debilidad por este juego desde que me lo regalaron, y que nunca me llegue a terminar.

Por cierto, en el in: he visto un fallito que he tenido, que hago un "ldr r0, joy" y debería ser un "ldrb r0, joy", funciona igual, pero es mas correcto.
Si te quieres hacer una versión especial de cualquier juego (ya sea de cartucho o de cinta) tienes que pasar primero el juego de formato .sna a .mem con Ticks:
http://retrolandia.net/foro/showthread. ... 654#pid654

Con la siguiente orden:

Código: Seleccionar todo

ticks -c 1 -o salida.mem entrada.sna
Y en el piBacteria sustituir el incbin "48.rom" por el incbin "archivo.mem". Haz un update primero para que soporte snapshots.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

Ya he visto q has actualizado el fuente. mañana le echo un ojo pa trastear, y ver los cambios.

Graciassss.
Avatar de Usuario
zx81
Demonio tercer orden
Demonio tercer orden
Mensajes: 502
Registrado: 19 Oct 2013, 16:27
Ubicación: Valencia
Has thanked: 15 times
Been thanked: 6 times
Contactar:

Re: Dudas sobre piBacteria

Mensaje por zx81 »

Yo estuve trasteando anoche un ratillo, tampoco tuve mucho tiempo disponible, y usé ticks para convertir un sna que tenía del Amaurote 48k. Por alguna razón, en la B+ iba a todo trapo. Como no tengo teclado, no puedo hacer mucho, pero el Manic Miner que dejó Antonio iba bien de velocidad.

Lo que me interesaría saber es qué hizo Antonio para programar el puerto serie y sacarle mucha más velocidad de los 115200 baudios, que se antojan un poco cortos en cuanto lo que vas a transferir tenga más de 100 KB. Supongo que reprogramar el generador, pero no sé si hace falta algo más.
Today's robots are very primitive, capable of understanding only a few simple instructions such as 'go left', 'go right' and 'build car'.
John Sladek

Emulador de Spectrum JSpeccy.
Emulador de Spectrum Bare-metal para las Raspberry PI ZXBaremulator
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

zx81 escribió:Yo estuve trasteando anoche un ratillo, tampoco tuve mucho tiempo disponible, y usé ticks para convertir un sna que tenía del Amaurote 48k. Por alguna razón, en la B+ iba a todo trapo. Como no tengo teclado, no puedo hacer mucho, pero el Manic Miner que dejó Antonio iba bien de velocidad.

Lo que me interesaría saber es qué hizo Antonio para programar el puerto serie y sacarle mucha más velocidad de los 115200 baudios, que se antojan un poco cortos en cuanto lo que vas a transferir tenga más de 100 KB. Supongo que reprogramar el generador, pero no sé si hace falta algo más.
Es porque tienes la directiva qemu activada. Esta directiva hace el display compatible con un emulador de Raspberry llamado qemu (sólo funciona a 16bpp mientras que en la Raspberry real va a 4bpp), pero además de esto deshabilita la rutina de retardo para que hace que vaya al 100% de velocidad. En resumen: para ejecutar en Rpi real desactiva qemu. También recomiendo desactivar debug y poner a 0 la directiva fast de z80.s.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

He corregido un par de cosillas para dejarlo mas limpio y lo he metido en el ultimo source que dejaste en tu repo. Ya lo he probado a conciencia y funciona perfectamente con mi antiguo mando del Atari 2600. :D
Dejo un vídeo probandolo.



La verdad es que me encanta el baremetal y tu pibacteria me parece lo mas.
A ver si consigo entender como funciona el core que me pierdo un poco, y como convertirlo en un emu de 128, ya que la paginación de memoria y de rom no entiendo como va.
Entiendo que la rom va entre la 0x0000-0x4000 (Pero estan las dos partes juntas, por lo que habra que cargarla en otra parte de memoria y dirigirse con punteros supongo, ya que andar copiando todo el trozo de un lado a otro tardaria bastante supongo.
Respesto al 0x4000-0x8000 no tengo duda ya que va la patalla del banco 5 y entre 0x8000-0xc000 va el banco 2.
Pero lo de andar seleccionando el banco que va entre 0xc000-0xffff ya si que no se como hacer, se que pueden ir cualquier banco del 0-7 en ese tramo de memoria pero ni idea como hacerlo.
Se que hay que escribir al puerto 0x7ffd diciendole la configuracion de los bancos, pero no se como sabe el core donde se encuentran las cosas para paginar la memoria o las roms. Aun estoy muy verde con la emulación de cores. Y mirando el source de tu "Ameba" aun no lo entiendo bien.
Pero así me entretengo. :))

Venga un saludo y gracias.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

neuro_999 escribió:He corregido un par de cosillas para dejarlo mas limpio y lo he metido en el ultimo source que dejaste en tu repo. Ya lo he probado a conciencia y funciona perfectamente con mi antiguo mando del Atari 2600. :D
Dejo un vídeo probandolo.



La verdad es que me encanta el baremetal y tu pibacteria me parece lo mas.
Que bien te lo has montado. Tengo una duda. ¿Cómo cargas cada nueva compilación? Porque como tengas que hacerlo por la SD es un coñazo. Yo tengo un bootloader y lo cargo por el puerto serie. Como tuve un pequeño fallo en la PCB, me equivoqué de pin, por lo que tendrías que cambiar el GPIO15 por el GPIO18 (con un corte y un puente). Te adjunto fotos de cómo lo tengo yo.
neuro_999 escribió: A ver si consigo entender como funciona el core que me pierdo un poco, y como convertirlo en un emu de 128, ya que la paginación de memoria y de rom no entiendo como va.
Entiendo que la rom va entre la 0x0000-0x4000 (Pero estan las dos partes juntas, por lo que habra que cargarla en otra parte de memoria y dirigirse con punteros supongo, ya que andar copiando todo el trozo de un lado a otro tardaria bastante supongo.
Respesto al 0x4000-0x8000 no tengo duda ya que va la patalla del banco 5 y entre 0x8000-0xc000 va el banco 2.
Pero lo de andar seleccionando el banco que va entre 0xc000-0xffff ya si que no se como hacer, se que pueden ir cualquier banco del 0-7 en ese tramo de memoria pero ni idea como hacerlo.
Se que hay que escribir al puerto 0x7ffd diciendole la configuracion de los bancos, pero no se como sabe el core donde se encuentran las cosas para paginar la memoria o las roms. Aun estoy muy verde con la emulación de cores. Y mirando el source de tu "Ameba" aun no lo entiendo bien.
Pero así me entretengo. :))

Venga un saludo y gracias.
Con el core de Ameba te vas a enterar menos. Está todo muy bien explicado aquí:
http://www.worldofspectrum.org/faq/refe ... erence.htm

El cómo paginarlo hay muchas opciones. La más sencilla y flexible es llamar a una rutina de paginación cada vez que hagas una lectura o una escritura de puerto y que en dicha rutina de paginación se comparen los rangos y se vaya a la zona de memoria que corresponda. Tiene la desventaja de que es también la más lenta. En el jbacteria hago un array de arrays, en lugar de mem[dir] hago mem[dir>>14][dir&0x3fff].

Yo de momento voy a instalarme Linux en un VirtualBox para compilar el fork de qemu de Torlus, porque parece ser que tiene implementado el teclado USB. También quiero juntar el proyecto Ticks con el core z80 del piBacteria para depurar bien todos los fallos del z80, probablemente lo haga en github y añadiré una rama con tus cambios.
Responder

Volver a “Emulación”