Karoshi MSX Community
05 de Julio de 2021, 01:00:38 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: caracteres de texto de la ROM  (Leído 7791 veces)
0 Usuarios y 1 Visitante están viendo este tema.
e_sedes
Karoshi Maniac
****
Mensajes: 442



Email
« : 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
Karoshi Forum's Guru
*******
Mensajes: 1812


« 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
Karoshi Maniac
****
Mensajes: 442



Email
« 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
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« 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
Karoshi Maniac
****
Mensajes: 442



Email
« 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
Karoshi Hero
*****
Mensajes: 507


Email
« 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  Smiley
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
e_sedes
Karoshi Maniac
****
Mensajes: 442



Email
« 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 Cheesy.. 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 Cheesy

De hecho existen modelos de MSX que tienen los puertos del VDP en otras direcciones. Son raros, pero existen.
En línea
e_sedes
Karoshi Maniac
****
Mensajes: 442



Email
« Respuesta #9 : 25 de Enero de 2006, 06:29:50 pm »

Los puertos del VDP tampoco son fijos Cheesy

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
Karoshi Hero
*****
Mensajes: 507


Email
« 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
Karoshi Maniac
****
Mensajes: 442



Email
« 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? Huh
En línea

sempre fun un valente corredor
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« 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
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!