Mapa de la ROM
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Mapa de la ROM
Hola. Necesitaría saber como conseguir el mapa de memoria de la ROM. Para ser preciso, necesito saber en que dirección de memoria se encuentran los caracteres.
Gracias
Gracias
Re: Mapa de la ROM
Hola
En http://www.amstrad-esp.com/publicacione ... /index.php tienes algún libro con el desensamblado de la ROM, quizá ahí esté la información que necesitas... (el primero, por ejemplo)
En http://www.amstrad-esp.com/publicacione ... /index.php tienes algún libro con el desensamblado de la ROM, quizá ahí esté la información que necesitas... (el primero, por ejemplo)
Re: Mapa de la ROM
Pues mira que he pasado veces por ahí, y no di con ese libro.
Gracias
Gracias
Mapa memoria
Alguien me podría mostrar un esquema con el mapa de memoria y las direcciones mas importantes. En concreto necesito saber donde esta localizada la tabla de caracteres.
Gracias
Gracias
Re: Mapa memoria
No venia en el libro que te dijeron?
Aquí tienes otra opción:
http://www.cantrell.org.uk/david/tech/cpc/cpc-firmware/
Te aconsejo el PDF porque la web tiene la peor combinación de colores que una mente insana puede imaginar
Aquí tienes otra opción:
http://www.cantrell.org.uk/david/tech/cpc/cpc-firmware/
Te aconsejo el PDF porque la web tiene la peor combinación de colores que una mente insana puede imaginar
Salu2,
Arta
Arta
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: Mapa memoria
Pero hombre, haber continuado en el mismo hilo...
Tu exactamente que quieres, las posiciones de memoria que asignan a cada tecla cruda un caracter (mapa de teclado) que es lo que Artaburu te ha puesto, o en que parte de la ROM del firmware estan las definiciones graficas de los caracteres? (Las fuentes tipograficas en bitmap, vamos....)
Tu exactamente que quieres, las posiciones de memoria que asignan a cada tecla cruda un caracter (mapa de teclado) que es lo que Artaburu te ha puesto, o en que parte de la ROM del firmware estan las definiciones graficas de los caracteres? (Las fuentes tipograficas en bitmap, vamos....)
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Re: Mapa memoria
Yo entendí que quiere las definiciones gráficas de caracteres, con objeto de conseguir una ROM customizada, seguramente
Si de verdad lo piensas le puedo sugerir a David un cambio de colores aunque yo ya me he acostumbrado a verla asíla web tiene la peor combinación de colores que una mente insana puede imaginar
Re: Mapa memoria
KaosOverride tiene razón.Pero hombre, haber continuado en el mismo hilo...
He unido ambos hilos porque tratan sobre el mismo tema. Es tontería abrir un nuevo hilo cuando se puede usar el original. ¿Verdad?
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: Mapa de la ROM
Para dar la segunda posible respuesta he usado un editor hexadecimal sobre el fichero ROM del firmware del 6128.
Despues del espacio (todo ceros) el siguiente caracter es el 33, la admiracion "!", que es la secuencia de matriz grafica 18 18 18 18 18 00 18 00 en hexadecimal, lo encuentro y justo veo que antes hay 8 bytes ceros. Dando por hecho que es el espacio y que los siguientes 8 bytes definen la "#" que es el caracter 34. Todo cuadra aparentemente asi pues dentro del firmware del CPC, los bitmaps empiezan en el offset &3900 del ROM del firmware.
En principio el 464 y el 664 coinciden en el mismo offset aun siendo distinto fichero el firmware.
ahora puedes extraer como bloque crudo de 8 pixeles de ancho y 2 colores y sacar la tira de caracteres, o modificar el fichero ROM para que el CPC muestre una tipografia distinta al encender en un emulador (O tostar en una ROM fisica para hacerlo en un CPC real).
Despues del espacio (todo ceros) el siguiente caracter es el 33, la admiracion "!", que es la secuencia de matriz grafica 18 18 18 18 18 00 18 00 en hexadecimal, lo encuentro y justo veo que antes hay 8 bytes ceros. Dando por hecho que es el espacio y que los siguientes 8 bytes definen la "#" que es el caracter 34. Todo cuadra aparentemente asi pues dentro del firmware del CPC, los bitmaps empiezan en el offset &3900 del ROM del firmware.
En principio el 464 y el 664 coinciden en el mismo offset aun siendo distinto fichero el firmware.
ahora puedes extraer como bloque crudo de 8 pixeles de ancho y 2 colores y sacar la tira de caracteres, o modificar el fichero ROM para que el CPC muestre una tipografia distinta al encender en un emulador (O tostar en una ROM fisica para hacerlo en un CPC real).
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Re: Mapa de la ROM
Ok, eso es exactamente lo que estaba buscando. Es para custodiar el mapa de caracteres.
Gracias.
Gracias.
Re: Mapa de la ROM
Bueno, pues estoy probando cambiar el juego de caracteres por otro con letras un poco más gruesas, y la verdad no se que es lo que hago mal.
Aqui os dejo el codigo, a ver si me echáis una mano.
CREACAR LD HL,&B34C
LD DE,JUECAR
LD C,&A0
JUE1 LD A,(HL)
AND A
RRA
OR (HL)
LD (DE),A
INC HL
INC DE
DEC C
LD A,C
CP 0
JR NZ,JUE1
JUECAR DB &A0
RET
Gracias
Aqui os dejo el codigo, a ver si me echáis una mano.
CREACAR LD HL,&B34C
LD DE,JUECAR
LD C,&A0
JUE1 LD A,(HL)
AND A
RRA
OR (HL)
LD (DE),A
INC HL
INC DE
DEC C
LD A,C
CP 0
JR NZ,JUE1
JUECAR DB &A0
RET
Gracias
Re: Mapa de la ROM
En realidad, no se qué quieres conseguir pero tienes un problema con el final de tu código. Si pones antes del RET el JUECAR db &a0, te cargas el RET y cuando JR NZ no salte a JUE1 te explota el CPCBueno, pues estoy probando cambiar el juego de caracteres por otro con letras un poco más gruesas, y la verdad no se que es lo que hago mal.
Aqui os dejo el codigo, a ver si me echáis una mano.
CREACAR LD HL,&B34C
LD DE,JUECAR
LD C,&A0
JUE1 LD A,(HL)
AND A
RRA
OR (HL)
LD (DE),A
INC HL
INC DE
DEC C
LD A,C
CP 0
JR NZ,JUE1
JUECAR DB &A0
RET
Gracias
Salu2,
Arta
Arta
Re: Mapa de la ROM
Bueno, la verdades que esta rutina están conversión de otra para spectrum. Lo que intenta hacer es coger el juego de caracteres y copiarlo en memoria con unos trazos más gruesos. En el zx funciona perfectamente pero en el cpc ya veremos.
Y eso del RET el final, pues que no me había dado ni cuenta...
Voy a probar a ver si funciona esto y ya os cuento.
Saludos
Y eso del RET el final, pues que no me había dado ni cuenta...
Voy a probar a ver si funciona esto y ya os cuento.
Saludos
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: Mapa de la ROM
A ver si entiendo que quieres hacer.
Copias los caracteres del 32 (offset que te di) desde la ROM baja (la que se mapea desde &0000 hasta &3ffff) a una posicion x de RAM pero la retocas al vuelo, ok....
Aprecio que el origen de datos los cojes de RAM pero ya te dijimos que estan en la ROM baja, has de llamar a la ROM antes de leer los datos. Y al ser en ROM tampoco puedes dejarlos en el mismo sitio...
Pero despues? O bien intentas un symbol after 32, que no recuerdo si lo deja hacer tan bajo, y plantas directamente los datos ahi, o parcheas todas las rutinas del firmware para que cojan los datos de la nueva posicion. Para eso, si no me equivoco, has de reescribir el codigo con los retoquea, en RAM y luego modificar los jumpblock para que apunten a las nuevas rutinas. Tarea dura...
Sin CPCs ni emus a mano, me falta confirmarte si deja hacer un symbol after 32 y mirandote en la guia firmware la tabla de posiciones de memoria de las variables de sistema donde cae la region se caracteres definidos y plantar ahi los datos modificados que generan tus rutinas. Asi seria mas asequible y sin parchear nada...
Animo y espero te salga como esperas.
EDIT: Me he bajado el CPCdroid y funciona el symbol after 32... He podido hacer la prueba a 500km de casa xD
Copias los caracteres del 32 (offset que te di) desde la ROM baja (la que se mapea desde &0000 hasta &3ffff) a una posicion x de RAM pero la retocas al vuelo, ok....
Aprecio que el origen de datos los cojes de RAM pero ya te dijimos que estan en la ROM baja, has de llamar a la ROM antes de leer los datos. Y al ser en ROM tampoco puedes dejarlos en el mismo sitio...
Pero despues? O bien intentas un symbol after 32, que no recuerdo si lo deja hacer tan bajo, y plantas directamente los datos ahi, o parcheas todas las rutinas del firmware para que cojan los datos de la nueva posicion. Para eso, si no me equivoco, has de reescribir el codigo con los retoquea, en RAM y luego modificar los jumpblock para que apunten a las nuevas rutinas. Tarea dura...
Sin CPCs ni emus a mano, me falta confirmarte si deja hacer un symbol after 32 y mirandote en la guia firmware la tabla de posiciones de memoria de las variables de sistema donde cae la region se caracteres definidos y plantar ahi los datos modificados que generan tus rutinas. Asi seria mas asequible y sin parchear nada...
Animo y espero te salga como esperas.
EDIT: Me he bajado el CPCdroid y funciona el symbol after 32... He podido hacer la prueba a 500km de casa xD
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |