Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Si tienes alguna duda y crees que alguien podría resolverla, ponla aquí. || If you have any doubt about programming, post it here.

Moderador: CEZ

Responder
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por mcleod_ideafix »

Con los esquemáticos del C128 no acabo de verlo claro, ya que el reloj del Z80 no se para en ningún momento, pero hay una señal que llega a BUSRQ del Z80A y a RDY del 6510, y parece que es la que "conmuta" de micro, al parar uno u otro. ¿Es así?

Total, que querría saber si en el C128 es posible usar el 6510 y el Z80 a la vez. Si es posible (que me da a mi que va a ser que no), querría saber si hay algún tipo de conflicto con la memoria (es decir, que sí que puedan funcionar a la vez pero no en el mismo banco de memoria, etc.).

Ah! También querría saber si aparte del C128, existió algún otro micro de estos "híbridos" con dos CPU's completamente diferentes. El Dragon MSX no me vale porque eso no hay quien lo encuentre, y menos aún, esquemáticos.

¡Gracias!
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por na_th_an »

Que yo sepa, el Z80 se empleaba única y exclusivamente para el CP/M. El SO y los programas nativos del mismo eran ejecutados por este micro. La verdad, no sé si será posible emplear los dos al tiempo, pero mucho me temo que no.
Juno
64 bits
64 bits
Mensajes: 939
Registrado: 16 Oct 2007 16:35
Ubicación: Tuestelandia

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por Juno »

Teóricamente no. Si no me equivoco, mientras se utiliza uno se anula el otro.
Avatar de Usuario
Davae
16 bits
16 bits
Mensajes: 285
Registrado: 24 Sep 2005 22:57
Ubicación: Barcelona

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por Davae »

Pues efectivamente, los dos procesadores del C128 son independientes y no pueden trabajar a la vez. Por lo que yo he leído, parece que la inclusión del Z80 en el C128 entró con calzador y dió muchos problemas para adaptarse a la configuración de buses y a la arquitectura del ordenador. Entre otras cosas se tuvo que limitar la velocidad del Z80 a 2Mhz para que funcionase con los relojes del bus y el sistema de envío de datos, y a la hora de realizar ciertas operaciones de I/O (hablando de cuando está en modo CP/M) el ordenador conmutaba al 8502 para que este se encargase de ese proceso. Una vez realizado, volvía a conmutar al modo Z80. Como curiosidad decir también que el Z80 era el procesador Master durante la inicialización del ordenador. Después de algunas inicializaciones y comprobaciones, conmutaba al procesador 8502.

Hace tiempo que leí todo esto en un libro que tengo titulado "C128 Programmers Reference Guide" y con tu pregunta me has hecho rebuscar en él para refrescar la memoria. Como te veo interés en el tema, te copio un capítulo eb el que hablan precisamente de todo esto (seguro que te parece muy interesante, sobretodo el párrafo final en el que hablan sobre las señales a las que hacías referencia y que conmutan entre los dos procesadores):

PROCESSOR SWITCHING
It is important in normal operation for the Z80 and the 8502 to operate as coprocessors,
communicating with each other. Since only one processor may have the bus at any one
time, this is only serial coprocessing, not parallel coprocessing or multiprocessing. This
is important in several ways:
First, the C128 system must power-up with the Z80 as master processor. This is to
prevent the Z80 from accidentally accessing the bus when powering up. Thus, the Z80
is made master on power-up and can do anything it likes to the bus. Also, because the
Z80 can start-up certain C64 applications that would cause the 8502 to crash, the Z80 is
the logical choice as start-up processor. After some initializations, the Z80 starts-up the
8502 in either C128 or C64 mode, depending upon whether a cartridge is present, and
upon the type of cartridge, if one is present. The operating system also allows C64 mode
to be forced on power-up.
Second, processor switching allows the Z80 to access 8502 Kernal routines. For
standardized programs or for any I/O operation not supported in the Z80 BIOS, the Z80
can pass on the task of I/O to the 8502. Since the Z80 sees BIOS ROM where the 8502
sees its pages 0 through F, the Z80 can operate without fear of disrupting any 8502
pointers or the stack in RAM Bank 0. The Z80 ROM BIOS physically overlays that
critical section of RAM Bank 1.
The Z80 can receive a bus grant request from the MMU via/Z80EN, or from the
VIC chip via BA. Since the VIC control line is used for DMAs, the latter request is not
of immediate concern. The /Z80EN action, however, is important, since it is the
mechanism by which the two processors exchange control.
When the/Z80EN line goes high, it triggers a Z80/BUSRQ. The Z80 then relin-
quishes the bus by pulling/BUSACK low. This action drives the 8502 AEC high and
(providing VIC does not request a DMA) also drives the 8502 RDY line high, enabling
the 8502. To switch back, a low on the Z80 /BUSRQ will result in Z80 /BUSACK
going high, tri-stating and halting the 8502.
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por mcleod_ideafix »

Davae escribió:Hace tiempo que leí todo esto en un libro que tengo titulado "C128 Programmers Reference Guide"
Muchísimas gracias! Es precisamente la información que necesitaba! (el libro ese no estará en PDF por ahí verdad? :) ). Me respondo a mi mismo: sí que está!!

¿Alguien sabe si llegó a fabricarse algún micro con estas mismas características, esto es, dos procesadores diferentes?
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
Davae
16 bits
16 bits
Mensajes: 285
Registrado: 24 Sep 2005 22:57
Ubicación: Barcelona

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por Davae »

De nada!!

Anda, fíjate si está ahí puesto con enlaces a sus capítulos y todo! Como avanza esto de internet! :lol:

Respecto a lo de otro ordenador híbrido, lo único que me viene a la cabeza son las últimas aceleradoras que aparecieron para Amiga con un 680x0 + PPC603/604. Si no recuerdo mal, el PPC corría el SO gracias a unas librerías que se habían compilado para este procesador y que hacían de intermediarias o algo así. El 680x0 seguía para mantener la compatibilidad y supongo que haría de árbitro con el resto de Custom Chips. La verdad es que ya no lo recuerdo demasiado bien, tendrías que investigarlo tu si el tema te parece suficientemente interesante.

¿alguna otra opción?
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por mcleod_ideafix »

Bueno, lo que me interesa de todo este asunto es si en "aquellos tiempos" se llegó a fabricar comercialmente algún micro que tuviese más de 1 procesador, y que trabajasen los dos al mismo tiempo en la misma memoria.
Y es porque en un friki-proyecto a medio plazo quiero juntar un Z80 con un Z8000. Ya tengo ambos en casa. A ver qué sale... (¿zeta-ochentitos pequeñitos?)
No hay virginidad que aguante tres martinis.
Imagen
Juno
64 bits
64 bits
Mensajes: 939
Registrado: 16 Oct 2007 16:35
Ubicación: Tuestelandia

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por Juno »

No es exactamente lo mismo, aunque el Sega Teradrive era una Megadrive + PC.
Pero viéndole las tripas parece que estaba todo integrado en una misma placa. :eek:
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por na_th_an »

Hombre, hay muchas recreativas de los 80 con arquitectura multiprocesador. Una de mis preferidas, "Air Buster", emplea tres Z80s. Seguro que en el proyecto MAME tienen documentación más que de sobra sobre ese tipo de arquitecturas. Con procesadores diferentes, 68000+Z80 es lo más extendido (CPS1, la Megadrive, etcétera), si bien en estos casos no se opera sobre la misma memoria.
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por mcleod_ideafix »

¿Y qué hay del MSX Turbo R? Tengo entendido que usa un Z80 y un R800. ¿Funcionan al mismo tiempo? (trataré de encontrar un esquemático de este micro...)
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
utopian
128 bits
128 bits
Mensajes: 1692
Registrado: 15 Sep 2005 07:24
Ubicación: Leganés, Madrid, Spain

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por utopian »

Pues sí, tienen dos micros, pero sólo se puede seleccionar uno a la vez (el R800 si quieres ir a toda leche, o el z80 de toda la vida para compatibilidad hacia atrás).
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: Commodore 128: ¿6510 y Z80 funcionan al mismo tiempo?

Mensaje por mcleod_ideafix »

Muchas gracias :)
No hay virginidad que aguante tres martinis.
Imagen
Responder