e_sedes
|
|
« : 25 de Enero de 2006, 01:00:38 am » |
|
¿La fuente de de texto que viene en la rom está en la misma posición en todos los modelos? En la posición 4H de memoria está la dirección de comienzo de esa tabla, no? pero es como con los puertos del VDP, que son siempre los mismos o hai que consultarlo para saberlo? gracias.
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
pitpan
|
|
« Respuesta #1 : 25 de Enero de 2006, 08:46:48 am » |
|
Por las pruebas que he hecho, que han consistido en abrir en el BlueMSX distintas configuraciones y probar, parece que siempre estén en las mismas posiciones: si haces desde BASIC
PRINT HEX$(PEEK(4)+256*PEEK(5)) 1BBF Ok _
Al menos, es el resultado que me ha dado para modelos diversos de MSX, MSX2, MSX2+ y Turbo-R. De todos modos, no te la juegues y hazlo bien: no te cuesta nada. Además, es algo que no te cambiará la velocidad. Sin embargo, un OUT sí que cambia si cada vez tienes que cargar una variable con el puerto en cuestión. Tu verás.
Incluso para C-BIOS la dirección es también 1BBFh.
|
|
|
En línea
|
|
|
|
e_sedes
|
|
« Respuesta #2 : 25 de Enero de 2006, 11:46:36 am » |
|
Gracias. Ya me parecía a mi que sería una de esas cosas "estandar" oficiosas, pero bueno, mejor comprobarlo por si. La verdad es que no cuesta nada, pero la vagancia de ahorrarse dos lineas y tal...
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
jltursan
|
|
« Respuesta #3 : 25 de Enero de 2006, 12:15:27 pm » |
|
Debe de ser MUY oficioso, en el Red Book se da por hecho que por defecto la dirección es &H1BBF. No se me ha ocurrido mirar en todos los equipos, a ver si en alguna familia cambia la dirección.
|
|
|
En línea
|
Doom dee doom dee doom
|
|
|
e_sedes
|
|
« Respuesta #4 : 25 de Enero de 2006, 01:57:46 pm » |
|
Lo acabo de leer tambien en un libraco de esos de Data Becker (de los que se te deshacen en las manos, que encuadernación mas mala...) que tenía por ahí. Pone que la dirección es siempre &h1bbf. Me resulta curioso eso de en la ROM te especifiquen algo que es fijo, lo harían por algo, supongo.
Tambien dice (no lo sabía) que esa dirección está indicada en &hf920 &hf921. Ya lo miré y ya lo pokeé. Y tras un screen 0 te aparece la fuente cambiada. Está bien para hacerlo sin tener que liarse.
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
Darth_Fistro
|
|
« Respuesta #5 : 25 de Enero de 2006, 03:47:47 pm » |
|
Si quieres cambiar el juego de caracteres en cualquier modo de pantalla, copia la VRAM con los caracteres (los 256) a una dirección en RAM, y luego haz: poke &hf91f,3 poke &hf920,parte baja de la dirección poke &hf921,parte alta de la dirección Aunque cambies de modo de pantalla, seguirás teniendo dicho juego de caracteres. Lo que hace es "parchear" el puntero de los caracteres de la ROM a la RAM. Espero que te sirva
|
|
|
En línea
|
MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
|
|
|
e_sedes
|
|
« Respuesta #6 : 25 de Enero de 2006, 05:51:18 pm » |
|
Ya me documenté un poco más. Sé que en F91F está la variable del sistema CGPNT que son 3 bytes. F920 y F921 ya me suponía que apuntaba al juego de car., pero qué es lo de F91F? es curiosidad...
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
WYZ
Visitante
|
|
« Respuesta #7 : 25 de Enero de 2006, 06:00:37 pm » |
|
.... pero es como con los puertos del VDP, que son siempre los mismos o hay que consultarlo para saberlo? gracias.
Los puertos del VDP tampoco son fijos .. vienen especificados tambien en la ROM por defecto en las direcciones precisamente posteriores a las de la direccion de inicio de la tabla de caracteres ( 06h y 07h) = 98h
|
|
|
En línea
|
|
|
|
SapphiRe
Visitante
|
|
« Respuesta #8 : 25 de Enero de 2006, 06:17:03 pm » |
|
Los puertos del VDP tampoco son fijos De hecho existen modelos de MSX que tienen los puertos del VDP en otras direcciones. Son raros, pero existen.
|
|
|
En línea
|
|
|
|
e_sedes
|
|
« Respuesta #9 : 25 de Enero de 2006, 06:29:50 pm » |
|
Los puertos del VDP tampoco son fijos De hecho existen modelos de MSX que tienen los puertos del VDP en otras direcciones. Son raros, pero existen. Pensaba que solo cambiaban en los cartuchos esos de ampliacion a MSX2 que traían un VDP, pero bueno, me refería a que todo el mundo (creo) pasa de consultarlo, no?
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
Darth_Fistro
|
|
« Respuesta #10 : 25 de Enero de 2006, 07:45:39 pm » |
|
Ya me documenté un poco más. Sé que en F91F está la variable del sistema CGPNT que son 3 bytes. F920 y F921 ya me suponía que apuntaba al juego de car., pero qué es lo de F91F? es curiosidad...
Ese 3 indica el número de página donde se aloja el juego de caracteres. En el ejemplo que te puse venía la página 3 (se me olvidó comentártelo). Imagino que por defecto será un 0.
|
|
|
En línea
|
MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
|
|
|
e_sedes
|
|
« Respuesta #11 : 25 de Enero de 2006, 09:02:31 pm » |
|
Ese 3 indica el número de página donde se aloja el juego de caracteres. En el ejemplo que te puse venía la página 3 (se me olvidó comentártelo). Imagino que por defecto será un 0.
OK, gracias. Pero por qué hay que especificarle la página? Eso no va implicito dando la dirección?
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
jltursan
|
|
« Respuesta #12 : 25 de Enero de 2006, 09:25:20 pm » |
|
Es que lo que realmente codifica es el Slot en el que se encuentra, primario o secundario. Por defecto suele valer 0 ya que se localiza en el Slot primario 0. El banco de carácteres puede estar localizado en cualquier otro slot de memoria.
|
|
|
En línea
|
Doom dee doom dee doom
|
|
|
|