HispaMSX

Re: [hispamsx] Sobre las dichosas tarjetas de red

2000-09-15 20:05:19


Hola,

 
Respecto a las críticas a JoyNet y RS232 por el hecho de tener que estar
haciendo polling del interfaz: lo mismo va a tener que hacerse en esta
tarjeta de red, y de forma mucho más bestia por el hecho de trabajar a
velocidades mayores. Adelantándome a los que me vais a decir que esta
tarjeta podría ser capaz de generar interrupciones al recibir datos,
simplemente deciros que ni siquiera la placa Z380 (que es mucho más
avanzada) puede hacerlo, obligando al Z80 a estar haciendo polling de la
memoria biport (que lo confirmen Nestor y Daniel). Y en el supuesto de que

 Supongo que te refieres al problema de que se pierdan las interrupciones.
Este problema te puedo decir que pasa incluso en un pentium. Como saben
algunos yo he diseñado una tarjeta de adquisición de datos para PC, la
cual puede generar interrupciones de final de conversion, pudiendo
llegar a las 200 kmps. El resultado es que si vas por interrupciones
pierdes algunas seguro, ya que si hablamos de 200 kmps hablamos de un
periodo de 5 microsegundos, y generar una interrupcion cada tan poco
tiempo es una pasada. Aunque la velocidad de la tarjeta de red de la que
estamos hablando es mucho menor el problema es el mismo, sobre todo si
tenemos en cuenta que el z80 es mucho mas lento. En estos casos lo mejor
es irse al DMA, para lo cual se podria emplear el nuevo expansor de
Padial, o si no dispones de DMA hacer polling continuamente con las
interrupciones desactivadas, con el problema que supones esto.


por la razón que fuera se consiguieran generar interrupciones al
procesador, ¿cómo podría el programador distinguir entre las
interrupciones generadas por el VDP y las generadas por la tarjeta de
red? En un MSX no tenemos 16 líneas de interrupción (IRQ) para distinguir

Tan solo habria que testear cada uno de los dipositivos capaces de generar
interrupciones hasta llegar al que la ha generado. Primero empiezas
haciendo un in a,(#99) y si no esta activado el bit correspondiente saltas
al driver del siguiente dispositivo, el cual tiene que tener a la fuerza
una manera de saber que ha generado una interrupcion.


¿Estoy diciendo con todo esto que no se puede hacer? Pues no. Se puede
hacer. Pero no es ni mucho menos tan fácil como lo poneis en los mensajes
que enviais. Como dije antes, hacer el hardware es la parte fácil. Lo
difícil vendrá a la hora de hacer la capa software. Y ponerse a hablar

  Estoy totalmente de acuerdo. Tan solo hay que pensar en el graphics9000,
que a pesar de ser una maravilla no ha tenido exito, ¿por que?, por falta
de software.




Roberto.



<Anterior en la conversación] Conversación actual [Siguiente en la conversación>