Ya está finalizado el esquema del Omnibus.
Lleva incorporado un AmpliBus, en realidad podría llamarse AmpliBus multipuerto, pero además lleva una fuente de alimentación de hasta 1,5A para alimentar todo lo que se conecte a él. También dará alimentación al Oric, pero no a través de su regulador porque el Oric ya tiene el suyo propio.
Omnibus.
- Silicebit
- Mensajes: 1569
- Registrado: 16 May 2011 21:13
- Ubicación: La buhardilla del silicio.
- Agradecido : 124 veces
- Agradecimiento recibido: 282 veces
- Contactar:
Re: Omnibus.
Eso va a ser un problema. Erebus tiene una ROM, y pone la línea /ROMDIS a nivel bajo para deshabilitar la ROM interna del Oric y poner así la suya. Pero la controladora Microdisc también hace lo mismo, así que al haber dos ROMs a la vez, hay contención de bus, y el 6502 se volverá loco. En definitiva, el Oric no arrancará.
Dbug, en el foro Defence Force, sugirió el poder habilitar y deshabilitar cada puerto por separado, para así evitar ese tipo de problemas. Al momento vino a mi cabeza el Multi-Pak interface de Tandy para los ordenadores CoCo. Es factible hacerlo, pero el Omnibus pasaría de tener 4 integrados, incluyendo el regulador, a tener como mínimo 21, que seguro serán algunos más según como lo queramos hacer.
La idea sería poder aislar cada puerto por separado mediante buffers triestado, controlados mediante algún pulsador o conmutador, o mediante un registro mapeado en una posición de memoria de la zona I/O. O también ambas cosas como en el Multi-Pak interface.
¿Cómo lo veis? ¿Qué os gustaría más?
Dbug, en el foro Defence Force, sugirió el poder habilitar y deshabilitar cada puerto por separado, para así evitar ese tipo de problemas. Al momento vino a mi cabeza el Multi-Pak interface de Tandy para los ordenadores CoCo. Es factible hacerlo, pero el Omnibus pasaría de tener 4 integrados, incluyendo el regulador, a tener como mínimo 21, que seguro serán algunos más según como lo queramos hacer.
La idea sería poder aislar cada puerto por separado mediante buffers triestado, controlados mediante algún pulsador o conmutador, o mediante un registro mapeado en una posición de memoria de la zona I/O. O también ambas cosas como en el Multi-Pak interface.
¿Cómo lo veis? ¿Qué os gustaría más?
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different.
YouTube


- Chema
- Mensajes: 2483
- Registrado: 21 Jun 2012 20:13
- Ubicación: Gijón
- Agradecido : 2554 veces
- Agradecimiento recibido: 773 veces
- Contactar:
Re: Omnibus.
Si se complica la tarjeta va a acabar siendo más cara y más grande, lo que va a resultar un poco incómodo. Entiendo lo necesario que es poder pinchar la controladora y el erebus a la vez, pero como no pongas un interruptor que mecánicamente conmute entre los dos conectores o algo así XD no sé cómo lo vas a hacer de manera sencilla.
Ya verás como un día aparezca un dandanatORIC!
Ya verás como un día aparezca un dandanatORIC!
- Silicebit
- Mensajes: 1569
- Registrado: 16 May 2011 21:13
- Ubicación: La buhardilla del silicio.
- Agradecido : 124 veces
- Agradecimiento recibido: 282 veces
- Contactar:
Re: Omnibus.
El tamaño de la placa es ya grande de por sí, no olvidemos que va a tener 5 puertos numerados del 0 al 4. Así que unos cuantos integrados más no la harán mucho más grande (la controladora Microdisc tiene 21 integrados, 2 de ellos grandes).
Aunque utilice un conmutador mecánico, que suelen ser muy propensos a fallos por falsos contactos, los 21 integrados no te los quita nadie si se desea aislar totalmente el bus. No es demasiado complicado, el diseño ya lo tengo en la cabeza, pero lo complicado (tampoco tanto), va a ser lo siguiente.
Tengo pensado que cuando se encienda el Omnibus, todos los puertos menos el 0 estén deshabilitados, de esta forma, por ejemplo, podremos tener conectado el Erebus en el puerto 0 y la controladora en cualquier otro puerto. Al encender el Omnibus el Oric arrancaría directamente con el Erebus activado y sin ser molestado por la controladora.
Y ahora llega cuando la matan... Para cambiar a la Microdisc, deberemos deshabilitar el puerto 0 del Erebus, y habilitar el puerto donde esté conectada la controladora, hasta ahí sin problemas pero... ¿Qué pasa si deshabilitamos el puerto del Erebus cuando el Oric está accediendo a su ROM? En cuanto deshabilitemos el puerto 0, la ROM del Erebus desaparecerá (aún no hemos habilitado la controladora), y se habilitará de forma automática la ROM interna del Oric, no pasaría nada si las dos ROMs fueran iguales, pero si son diferentes, el 6502 podría ejecutar datos erroneos o que no se esperan, según la rutina que se esté ejecutando en ese momento, y el Oric podría quedarse colgado.
Para evitar eso, la habilitación y deshabilitación de los puertos debería hacerse cuando no se esté direccionando la ROM, es fácil de hacer simplemente descodificando las direcciones A14 y A15.
El Oric dispondría así de un Omnibus con capacidad de "Hot Swapping", que muy pocos tienen (los CoCo con el Multi-Pak). Pero es que con muy poquito más, hasta podría tener también capacidad de "Hot Plugging". ¡¡La ostia ya!!
Aunque utilice un conmutador mecánico, que suelen ser muy propensos a fallos por falsos contactos, los 21 integrados no te los quita nadie si se desea aislar totalmente el bus. No es demasiado complicado, el diseño ya lo tengo en la cabeza, pero lo complicado (tampoco tanto), va a ser lo siguiente.
Tengo pensado que cuando se encienda el Omnibus, todos los puertos menos el 0 estén deshabilitados, de esta forma, por ejemplo, podremos tener conectado el Erebus en el puerto 0 y la controladora en cualquier otro puerto. Al encender el Omnibus el Oric arrancaría directamente con el Erebus activado y sin ser molestado por la controladora.
Y ahora llega cuando la matan... Para cambiar a la Microdisc, deberemos deshabilitar el puerto 0 del Erebus, y habilitar el puerto donde esté conectada la controladora, hasta ahí sin problemas pero... ¿Qué pasa si deshabilitamos el puerto del Erebus cuando el Oric está accediendo a su ROM? En cuanto deshabilitemos el puerto 0, la ROM del Erebus desaparecerá (aún no hemos habilitado la controladora), y se habilitará de forma automática la ROM interna del Oric, no pasaría nada si las dos ROMs fueran iguales, pero si son diferentes, el 6502 podría ejecutar datos erroneos o que no se esperan, según la rutina que se esté ejecutando en ese momento, y el Oric podría quedarse colgado.
Para evitar eso, la habilitación y deshabilitación de los puertos debería hacerse cuando no se esté direccionando la ROM, es fácil de hacer simplemente descodificando las direcciones A14 y A15.
El Oric dispondría así de un Omnibus con capacidad de "Hot Swapping", que muy pocos tienen (los CoCo con el Multi-Pak). Pero es que con muy poquito más, hasta podría tener también capacidad de "Hot Plugging". ¡¡La ostia ya!!

El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different.
YouTube


- Silicebit
- Mensajes: 1569
- Registrado: 16 May 2011 21:13
- Ubicación: La buhardilla del silicio.
- Agradecido : 124 veces
- Agradecimiento recibido: 282 veces
- Contactar:
Re: Omnibus.
Chema escribió:... Ya verás como un día aparezca un dandanatORIC!
Pues a partir de ahora deberá ser diseñado pensando en un bus compartido.

El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different.
YouTube


- Nandove
- Mensajes: 1275
- Registrado: 10 Ene 2011 12:16
- Agradecido : 396 veces
- Agradecimiento recibido: 240 veces
Re: Omnibus.
Hola, lo mismo digo una barbaridad.... pero podrías mirar los planos de la telestrat, el tenía dos entradas de cartucho(roms) y convivían tan ricamente... lo mismo está ahí la solución 

-
- Mensajes: 3278
- Registrado: 20 Sep 2011 13:59
- Agradecido : 312 veces
- Agradecimiento recibido: 862 veces
Re: Omnibus.
El Oric dispondría así de un Omnibus con capacidad de "Hot Swapping", que muy pocos tienen (los CoCo con el Multi-Pak). Pero es que con muy poquito más, hasta podría tener también capacidad de "Hot Plugging". ¡¡La ostia ya!!
Me has convencido


- Silicebit
- Mensajes: 1569
- Registrado: 16 May 2011 21:13
- Ubicación: La buhardilla del silicio.
- Agradecido : 124 veces
- Agradecimiento recibido: 282 veces
- Contactar:
Re: Omnibus.
Kyp escribió:Seguramente se pueden sustituir todos esos integrados por una CPLD. Si me explicas que es lo que tiene que hacer puedo escribir el código.
Con toda seguridad que sí, pero no creo que valga la pena, es un puñado no demasiado grande de integrados, y la gran mayoría de ellos son buffers triestado que no son caros. Casi seguro que la CPLD cuesta más que todos ellos juntos. Además, prefiero integrados sueltos que así puedo colocarlos en diferentes puntos del circuito impreso, de esa forma puedo simplificar el trazado de pistas. Gracias por tu ofrecimiento Kyp. Lo que sí sería la leche es si se pudiera programar una CPLD con el código de la ULA del oric, y mediante un adaptador enchufarla en el zócalo de la ULA original, al final de esta página creo que hay unos ficheros en Verilog de la ULA. http://oric.signal11.org.uk/html/ula-dieshot.htm
Nandove escribió:Hola, lo mismo digo una barbaridad.... pero podrías mirar los planos de la telestrat, el tenía dos entradas de cartucho(roms) y convivían tan ricamente... lo mismo está ahí la solución
En el Telestrat, el manejo de los dos puertos para cartuchos lo realiza una de las tres ULAs que tiene, de la que no se sabe absolutamente nada. Además, los puertos para cartuchos tienen unas señales de control diferentes a las del puerto de expansión.
Taburoto escribió:Para que sirve el Omnibus?
Para hacer cosas muy guapas. Imagina que tienes un interface programable para joystick, que se conecta en el puerto de expansión, una controladora Microdisc y un OrLink, que también se conectan al puerto de expansión. Ahora quieres cargar el programa de control del OrLink desde la Microdisc, usar el OrLink para conectarte vía WiFi a tu PC que hace de servidor de ficheros, descargarte un juego y, como no, usar tu interface de joystick para jugar.
Tal y como está la cosa ahora mismo eso sería una tarea imposible. Con el Omnibus puedes tener las tres cosas conectadas a la vez y usarlas a la vez.
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different.
YouTube


¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado