Hola,
Construir una tarjeta de red para MSX no tiene ningún secreto.
Nadie dice que lo tenga.
Simplemente, se hace y punto.
Hay muchas maneras, cada una con sus pros y contras.
Lo jodido del tema, y es de lo que no pareceis daros cuenta, es escribir
la capa software para la tarjeta y los protocolos que va a utilizar.
Esto es cierto para el caso que planteas, de la tarjeta de red de PC.
Por eso, los protocolos que tenemos pensados son mucho mas simples y menos
ambiciosos.
Esto
ya será difícil en el caso de que se usen protocolos standard, por lo que
ya no se me ocurre ni pensar en la viabilidad del proyecto en el caso de
diseñar protocolos propios.
Pero es que no vamos a implementar un superprotocolo por capas.
Simplemente mandar bytes por ahi y por alla. Como si haces un IN y un OUT
en ensamblador al acceder al VDP.
No queremos nada mas.
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,
Nadie critica al RS232 ni al joynet. Simplemente decimos que esto es
diferente.
El joynet tiene lo bueno de que es lo mas simple y barato, pero tiene muchas
limitaciones.
El 232 es eso, un 232 y punto. Nadie lo critica.
A la tarjeta "esta" no hay que hacerle polling.
Hay muchas formas de acceder:
a)-Por interrupciones (Que si se pueden diferenciar de las del VDP y otros
perifericos. Basta mirar la arquitectura del Z80 y del MSX.
Por ejemplo, un Turbo R diferencia varios tipos de INTs internas: La
principal del VDP, las secundarias del VDP, las del MIDI, etc... El sistema
es IDENTIFICAR el periferico que causo la interrupcion. Ello varia con cada
periferico. En caso de que un periferico desconocido provoque una INT, el
MSX no lo confunde con el VDP ni nada )
b)-Cada INT del VDP se lee el buffer del puerto de comunicaciones.
c)-En medio del bucle principal, se van leyendo los posibles bytes
acumulador.
De cualquier forma, esto depende de la aplicacion (juego, terminal, etc) que
use la red.
red? En un MSX no tenemos 16 líneas de interrupción (IRQ) para distinguir
entre un dispositivo u otro, como tienen los usuarios de PC.
Hay muchas otras formas. El MSX ya lo hace desde hace muchos años. Y no esta
limitado a 16 dispositivos,
puede detectar los que le pongas.
Incluso el Z80 tiene una caracteristica no usada en el MSX, que es que en el
modo IM2 de interrupciones, el dispositivo
que provoca la INT, deposita 8 bits en el bus de datos, identificandose.
Otro modo, el IM0, el dispositivo escribe un comando maquina en el bus de
datos (se supone que es un RST a una de 8 posibles
direcciones)
Pero el MSX no usa esas caracteristicas del Z80, porque es mas sencillo
detectar el periferico causante de la interrupcion (preguntando entre todos
los posibles).
Habría que
desactivar las interrupciones del VDP para poder usar la tarjeta, con todo
lo que ello supone, así que olvidaos de poder usarla para juegos.
Tranquilo, que no nos pillamos los dedos.
Por supuesto que se podra utilizar para juegos.
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.
En este caso es al reves. Lo unico complicado es el hardware.
Lo demás son 4 lineas en ensamblador.
Y ponerse a hablar
sobre la capa software sin tener terminada la parte hardware es
arriesgarse demasiado.
Bueno, pero es que nos han preguntado acerca de la tarjeta de red, que como
iba, y todo eso.
O es que debiamos ignorar la pregunta de ese MSXero ??
Hasta entonces, no habiamos dicho casi nada.
Si necesitais mi ayuda para lo que sea podeis contar conmigo e intentaré
ayudaros en lo que me sea posible
Desde luego, si en el futuro nos metemos con cosas de TCP IP, tendras que
asesorarnos, pues no sabemos mas que cuatro obviedades.
Por el momento, para intercambiar simples series de bytes, es sencillo.
Vamos poco a poco, que es mas seguro.
Venga, y que esto no es nada tan serio. Es solo un "experimento". No
pretendemos hacer un
standar de red para MSX, ni mucho menos.
Si nos funciona, pues vale, y si no, pues no pasa nada, y nos hemos
entretenido un rato.
Creo que ya hemos hablado bastante de la dichosa tarjeta. Que tal si nos
esperamos a ver que tal resulta,
si explota o no, y si sirve para algo, y luego hablamos otro rato ?
Hasta Luego.
Daniel Zorita.