Buenas a todos!!
He descargado el nuevo paquete de roms del +3e de Garry Lancaster y he visto que habían diferentes ficheros dependiendo principalmente del dispositivo que se utilice, como IDE Simple 8 bits... Divide... ZXCF... ZXMMC... etc
El caso es que me estaba preguntando cómo se le dice al Spectrum en la Rom que dispositivo tenemos... Es decir, cuál es el código, dónde se encuentra y que valores debe tener para que el Spectrum sepa que tenemos por ejemplo un ZXMMC y no un DIVIDE...
¿Alguien lo sabe? ¿O alguien ha comparado los ficheros de uno y otro?
Diferencias entre las ROMs del +3e v. 1.43
Moderador: Sir Cilve Sinclair
- Hynreck
- rst 0
- Mensajes: 47
- Registrado: Jue Sep 16, 2010 11:26 pm
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Diferencias entre las ROMs del +3e v. 1.43
El Spectrum no sabe que dispositivo vas a usar. Eres tú el que sabe cual has conectado y en función de eso grabas la ROM con uno u otro archivo
Realmente lo que cambia son los puertos que se usan para comunicarse con el dispositivo y las rutinas para leer/escribir en él. Supongo que la ROM estará hecha de forma que la mayor parte del código es común y solo cambia la parte que accede al hardware a más 'bajo nivel', como los drivers en los sistemas operativos modernos.
Realmente lo que cambia son los puertos que se usan para comunicarse con el dispositivo y las rutinas para leer/escribir en él. Supongo que la ROM estará hecha de forma que la mayor parte del código es común y solo cambia la parte que accede al hardware a más 'bajo nivel', como los drivers en los sistemas operativos modernos.
- Hynreck
- rst 0
- Mensajes: 47
- Registrado: Jue Sep 16, 2010 11:26 pm
Re: Diferencias entre las ROMs del +3e v. 1.43
Eso es lo que me gustaría saber... Qué parte del código abre y cierra esos puertos y que valores diferencian unos de otros...Kyp escribió:El Spectrum no sabe que dispositivo vas a usar. Eres tú el que sabe cual has conectado y en función de eso grabas la ROM con uno u otro archivo
Realmente lo que cambia son los puertos que se usan para comunicarse con el dispositivo y las rutinas para leer/escribir en él. Supongo que la ROM estará hecha de forma que la mayor parte del código es común y solo cambia la parte que accede al hardware a más 'bajo nivel', como los drivers en los sistemas operativos modernos.
Y también si es posible llamar a esas rutinas desde el BASIC y cómo...
Enviado desde mi VIE-L09 mediante Tapatalk
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Diferencias entre las ROMs del +3e v. 1.43
Aquí tienes información sobre el DivIDE:
http://velesoft.speccy.cz/zx/divide/divide-memory.htm
Del DivMMC/ZXMMC, estos son los puertos del interfaz SPI (el registro de control es el mismo que con el divide):
$1F o $E7: escritura, bits 0 y 1, chip select de cada tarjeta SD.
$3F o $EB: lectura/escritura de datos. No tengo muy claro como se determina el tiempo que hay que esperar para que se envíen/reciban los datos.
Tampoco estoy seguro de si el primer nº es para el divmmc y el segundo del zxmmc o al revés.
Del IDE simple no tengo información. Con un esquema sería fácil de averiguar, supongo.
No se mucho de como funciona el esxdos, no hay documentación pública, por lo que he leído en otros foros, desde ensamblador, estando mapeada la ROM, se hace un RST, 8 creo, dejando un comando y parámetros detrás, como funciona la rutina de impresión de texto. Desde el Basic directamente no se si se podrá, con alguna rutina intermediaria en código máquina quizás, porque todo está en la ROM alternativa y si la activas desaparece la del BASIC.
http://velesoft.speccy.cz/zx/divide/divide-memory.htm
Del DivMMC/ZXMMC, estos son los puertos del interfaz SPI (el registro de control es el mismo que con el divide):
$1F o $E7: escritura, bits 0 y 1, chip select de cada tarjeta SD.
$3F o $EB: lectura/escritura de datos. No tengo muy claro como se determina el tiempo que hay que esperar para que se envíen/reciban los datos.
Tampoco estoy seguro de si el primer nº es para el divmmc y el segundo del zxmmc o al revés.
Del IDE simple no tengo información. Con un esquema sería fácil de averiguar, supongo.
No se mucho de como funciona el esxdos, no hay documentación pública, por lo que he leído en otros foros, desde ensamblador, estando mapeada la ROM, se hace un RST, 8 creo, dejando un comando y parámetros detrás, como funciona la rutina de impresión de texto. Desde el Basic directamente no se si se podrá, con alguna rutina intermediaria en código máquina quizás, porque todo está en la ROM alternativa y si la activas desaparece la del BASIC.
- Hynreck
- rst 0
- Mensajes: 47
- Registrado: Jue Sep 16, 2010 11:26 pm
Re: Diferencias entre las ROMs del +3e v. 1.43
Gracias Kyp, le echaré un ojo a ver si así saco algo en claro. Creo que quiero meterme en algo que se escapa a mis conocimientos, pero de todo se aprende... Voy a ver si me aclaro
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Diferencias entre las ROMs del +3e v. 1.43
Es un tema que me interesa aunque no tengo mucho tiempo para investigar. Empecé a escribir una ROM para el DivIDE y llegué a leer sectores y empezar a interpretar el sistema FAT pero lo tengo parado. Hay varios hilos en el foro del ZX-Uno con más información sobre el esxdos y una alternativa compatible mejor documentada que se llama UnoDos: https://zx.itch.io/unodos3
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 19 invitados