Hola Juan Antonio,
Lo primero de todo agradacerte tu opinión. Creo que dos cabezas peinsan
más que una.
No voy a volver a explicarte todo lo que he dicho, pues creo que mi
opinión ha quedado bastante clara.
Si un programa (Y mucho MAS UN EMULADOR) altera ALGO, lo
minimo que ha de hacer cuando termine es restaurarlo.
Si sólo se tratase de un emulador, estaría totalmente de acuerdo
contigo, pero me temo que no es el caso. A mi juicio, el soft del MegaSCSI
al que nos referimos no es un emulador (aunque siempre hablemos de emular un
disco), sino un programa que 'ejecuta' y gestiona imágenes de disco (al
igual que el HDDEMU, el GET/PUT/START, o cualquier otro) Si realmente se
tratase de emuladores, comprobarían diversos puertos y direcciones de
memoria que trabajan como tales relaccionados con la unidad de disco, pero
creo que eso está muy lejos de su objetivo.
Reconozco que el PPI-C no es muy importante leerlo y
restaurarlo, pero para un emulador SI que lo es.
Pero hay programas que no son emuladores (si es que crees que los que he
enumerado antes lo son) que debido a su naturaleza necesitan leer el
teclado, y lo hacen con rutinas de la BIOS, o copias de las mismas, que en
teoría son las que todos deberíamos usar para asegurarnos al 100% del
correcto funcionamiento. Y sin embargo, dichas rutinas no restauran el
antiguo valor del PPI-C.
Inicio:
LD A,8 (Falta ajustar los bits altos)
OUT ($AA),A
...
Bucle:
IN A,($A9)
AND $01
JR NZ,Bucle
Creo que TODOS estaremos de acuerdo que esta es la forma
correcta de esperar a que se pulse la barra del teclado.
Yo no estoy de acuerdo, ya que basándome de nuevo en la BIOS (y en la
información de la que dispongo), lo correcto sería desactivar las
interrupciones. Si no lo haces así, estas diciendo que tu eres el único con
derecho a leer el teclado.
Bueno, no conozco a Manuel Pazos, pero he visto y he
oido hablar mucho de él y lo admiro por todo lo que ha hecho
en MSX, pero creo que en vez de hacer un Patch para todos los
programas que no funcionan con el MegaSCSI, es mejor que haga
un Patch para el propio MegaSCSI. Así arreglamos este BUG.
Si hubiese una gran cantidad de programas que no funcionan, de nuevo
estaría totalmente de acuerdo contigo, pero creo que hasta la fecha (que yo
sepa) este problema sólo se ha producido con un programa en concreto, que a
su vez no funciona con diverso software. Creo que lo lógico es hacer un
patch para ese programa y no 6 o 7 patchs para el resto.
Espero que esta contestación nadie se la tome como un intento de crear
polémica ni nada por el estilo. Y en el caso de que Juan Antonio quiera
seguir intercambiando opiniones conmigo, te agradecería que me escribieses
en privado.
Y aún a riesgo de parecer pesado, y a petición popular (no soy yo el
único interesado), agradecería a Z-0 (o quien sea) que diese en esta lista
el número de registro del SBB para poder comprobar un dato en concreto.
Saludos,
Manuel