Diario de montaje del superupgrade XDD

Avatar de Usuario
wilco2009
Mensajes: 1858
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 97 veces
Agradecimiento recibido: 164 veces

Re: Diario de montaje del superupgrade XDD

Mensajepor wilco2009 » 29 Jul 2014 12:10

Último mensaje de la página anterior:

En espera de empezar a probar con el firmware de antoniovillena, he hecho algunas pruebas de forma manual y he comprobado que es necesaria la incorporación de un reset.

¿Cual era el problema?.
Imaginaos que estáis utilizando la ROM del +3. Dicha ROM tiene cuatro páginas (0..3). El sistema siempre arranca con la página 0 y va cambiando según sus necesidades. Si en cualquier momento pulsamos el botón de reset y no está seleccionada la página 0, el sistema no arrancará correctamente.

Por otro lado, existe la posibilidad de que en uno de los bloques de 64Kb, hayamos cargado 4 juegos de 16kb. En este caso no nos interesa que el reset nos cambie de página ya que después del reset.

Peor es el caso de las ROMs que solo utilizan dos páginas (ROMs de 32Kb), ya que no vale dejar la página tal y como está, porque después del reset se ejecutaría la 0 o la 1 aleatoriamente, pero tampoco nos vale inicializar la página a 0, ya que si tenemos el sistema en los segundos 16Kb el reset nos cambiaría a lo que tuvieramos en los primeros 16Kb.

Tenemos entonces un dilema en el funcionamiento ya que el reset es imprescindible para que funcione correctamente la ROM del +3, pero no nos interesa para las ROMs de 16Kb.

Sin hacer ningún cambio en el sistema, es decir funcionando con jumpers, nos deberemos limitar a 8 ROMs en total desaprovechando el espacio en caso de querer utilizar ROMs de 32Kb o de 16Kb. Además, en el caso de las ROMs de más de una página, el reset no funcionará en todas las ocasiones, ya que no tengo implementada la función de reset en una de las GAL, debiendo quitar tensión para que el sistema reinicie correctamente.

Si añadimos el firmware de antonio, existe la solución de implementar un reset que nos devuelva siempre al firmware (es decir, bloque 0, página 0), y desde este seleccionemos el sistema de arranque. Esto daría una situación totalmente controlada y funcional, ya sean las ROMs de 16, 32 o 64Kb.

Resumiendo, la placa original hay que modificarla sí o sí para añadir un reset a una de las GAL, pero con jumpers nos deberemos limitar a solo 8 ROMs sean estas del tamaño que sean.

Con el add-on que estoy probando hay que modificar la placa también para permitir que se arranque siempre el firmware después de un reset, pero a cambio podremos utilizar cada una de las páginas de manera independiente, de manera que se utilizaría un bloque entero de 64Kb para las ROMs que lo precisen (como las del +3), pero en ese mismo bloque podríamos meter dos ROMs de 32Kb, o 4 de 16Kb, pudiendo de esa forma aprovechar al máximo el espacio disponible.

Próximamente documentaré los cambios que hay que realizar en la placa.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
wilco2009
Mensajes: 1858
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 97 veces
Agradecimiento recibido: 164 veces

Re: Diario de montaje del superupgrade XDD

Mensajepor wilco2009 » 07 Ago 2014 21:30

Bueno.
Hasta que tengamos la BIOS más molona de antoniovillena, acabo de terminar una BIOS de prueba.
La BIOS ocupa el primer hueco de 16Kb, por lo que nos quedará espacio para 31 huecos de 16Kb adicionales que podemos llenar con las ROMs que queramos.
Dicha BIOS simplemente muestra un menú que arranca la ROM que seleccionemos.
Tecleando la tecla correspondiente nos muestra en la línea de abajo la ROM que hemos seleccionado y el hueco de 16Kb que ocupa en el chip. Si estamos de acuerdo con la selección confirmaremos con "Enter".

Imagen

Como no soy un experto en ensamblador del Z80 y dicha BIOS hay que hacerla integramente en ensamblador y sin usar para nada las rutinas estándar de la ROM (ya que no las tenemos disponibles), únicamente he hecho este menú de selección, dejando para la BIOS que tiene pendiente Antonio la programación de la grabación de la Flash (si es que conseguimos que funcione).

Como dije en su momento, para que funcione la BIOS es necesario hacer el add-on, ya que con la placa tal y como se diseñó en un principio, la ROM activa se selecciona con jumpers.

Os dejo un vídeo, de bastante mala calidad =) , para que os hagáis una idea.

http://youtu.be/frbwo5RIC2k
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.


Volver a “Desarrollos y Proyectos RW”

¿Quién está conectado?

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