Omnibus.

Avatar de Usuario
Silicebit
Mensajes: 1549
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 114 veces
Agradecimiento recibido: 266 veces
Contactar:

Omnibus.

Mensajepor Silicebit » 18 Jun 2020 10:49

Ya está finalizado el esquema del Omnibus.

OmniBus.jpg
Omnibus.
OmniBus.jpg (127.48 KiB) Visto 603 veces

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.
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. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

dancresp
Mensajes: 5641
Registrado: 13 Nov 2010 02:08
Agradecido : 323 veces
Agradecimiento recibido: 452 veces

Re: Omnibus.

Mensajepor dancresp » 18 Jun 2020 12:25

Mola, ¿no?

Así podemos tener la controladora y el cargador de TAP a la vez.
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
Silicebit
Mensajes: 1549
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 114 veces
Agradecimiento recibido: 266 veces
Contactar:

Re: Omnibus.

Mensajepor Silicebit » 19 Jun 2020 19:30

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?
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. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
Chema
Mensajes: 2432
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 2382 veces
Agradecimiento recibido: 729 veces
Contactar:

Re: Omnibus.

Mensajepor Chema » 19 Jun 2020 20:13

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!

Avatar de Usuario
Silicebit
Mensajes: 1549
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 114 veces
Agradecimiento recibido: 266 veces
Contactar:

Re: Omnibus.

Mensajepor Silicebit » 19 Jun 2020 21:36

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!! -shock
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. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
Silicebit
Mensajes: 1549
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 114 veces
Agradecimiento recibido: 266 veces
Contactar:

Re: Omnibus.

Mensajepor Silicebit » 19 Jun 2020 21:56

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. -507
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. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
Kyp
Mensajes: 506
Registrado: 03 Oct 2013 17:13
Agradecido : 34 veces
Agradecimiento recibido: 141 veces

Re: Omnibus.

Mensajepor Kyp » 19 Jun 2020 22:22

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.

Avatar de Usuario
Nandove
Mensajes: 1238
Registrado: 10 Ene 2011 12:16
Agradecido : 372 veces
Agradecimiento recibido: 222 veces

Re: Omnibus.

Mensajepor Nandove » 20 Jun 2020 08:32

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 :)

jltursan
Mensajes: 3034
Registrado: 20 Sep 2011 13:59
Agradecido : 255 veces
Agradecimiento recibido: 754 veces

Re: Omnibus.

Mensajepor jltursan » 20 Jun 2020 10:12

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 -thumbup -thumbup

Avatar de Usuario
Taburoto
Mensajes: 1390
Registrado: 15 Mar 2011 00:40
Agradecido : 24 veces
Agradecimiento recibido: 163 veces

Re: Omnibus.

Mensajepor Taburoto » 20 Jun 2020 10:50

Para que sirve el Omnibus?

Avatar de Usuario
Silicebit
Mensajes: 1549
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 114 veces
Agradecimiento recibido: 266 veces
Contactar:

Re: Omnibus.

Mensajepor Silicebit » 27 Jun 2020 22:43

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. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube


Volver a “Hardware ORIC”

¿Quién está conectado?

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