Karoshi MSX Community
06 de Julio de 2021, 04:48:28 am *
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] 2
  Imprimir  
Autor Tema: Organización de un mapper  (Leído 6984 veces)
0 Usuarios y 1 Visitante están viendo este tema.
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« : 17 de Agosto de 2007, 04:23:10 pm »

A ver, que esto me tiene loco...

Todos tenemos claro como funciona un mapper; según el tipo de este tendremos páginas de 8K o 16K (el número de páginas dependerá del tamaño del megarom) que podremos intercambiar libremente en determinadas áreas de memoria simplemente pokeando el número de la página que queremos en una dirección determinada al uso dentro de cada una de esas áreas. Eso es a nivel lógico y todo parece sencillo; pero bien, lo que no tengo tan claro es como se organiza la ROM físicamente y me refiero a como están dispuestas esas páginas en el mismisimo archivo ROM. Ya se que con herramientas como el asMSX podría despreocuparme de ello; pero me gustaría conocer el intringulis del asunto.
Lo primero que se me ocurre es que por ejemplo, en un Konami 4 (no SCC) irá primero el rango "básico" $4000-$BFFF y luego concatenadas sin más las páginas del megarom, la 0, la 1, etc. ¿alquien tiene idea?.

Y para Nerlaska : ¿El MH que tipo de mapper usaba?
En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #1 : 18 de Agosto de 2007, 08:32:46 am »

Pues yo usaba el Konami5 (el de SCC) y sencillamente era...

Un MEGAROM KONAMI5 es una CABECERA DE 16 Bytes + una serie de páginas de 8Kb dispuestas una detrás de otra
PAGE 0 hasta PAGE 255 ... páginas de 8 Kb, ok? Una detrás de otra.

COMO ORGANIZO EL MAPEADO EN LA MEMORIA PRINCIPAL, VAMOS LO QUE VE EL Z80:

PAGE 0: 0x4000
PAGE 1: 0x6000
PAGE 2: 0x8000
Yo utilizaba estas 24Kb para el motor principal (VDP, PSG, Compresión, PT3, etc.) y para el motor genérico del juego (gestión de actores, mapa, etc.)

PAGE 3: 0xA000 (Miscellánea)
Estas ultimas 8Kb las usaba para paginar el resto de cosas (gráficos, textos, scripts de actores, etc.)

El trabajar así me permitia trabajar de una manera bastante cómoda. Disponia de todo lo que necesitaba siempre que no me ocupara más de 8Kb. Sinceramente nada me ha llegado a ocupar más de 8Kb la verdad.
Podia "subir" cualquier gráfico o música o código a dicha página y luego usarlo desde el motor.

Como gestionaba todo esto desde SDCC? .. bueno .. me toco sufrir un poco Smiley .. acaba contruyendo una herramienta en la que creaba unos archivos TXT en plan lista de recursos que queria incluir en mi MEGAROM (gráficos, música, etc.) a estos recursos les asocio unas etiquetas. Estos recursos también podia ser código C compilado. La cuestión .. eso me generaba el MEGAROM y un .H de C donde tenia para cada etiqueta su posición exacta en el MEGAROM (page y address). El como incluia también  código compilado en este plan .. otro martirio Smiley .. porque tocada desensamblar y buscar los CALL que no llamaban al motor genérico para tenerlos localizados y poder cambiarlos a la PAGE 0xA000 a la hora de meterlos en el MEGAROM (esto era otra herramienta que me toco crear para automatizar).

Sinceramente el único problema que llegué a tener fué el de que los grupos de funciones que están dentro de la misma PAGE no supere el total de 8Kb. Hubo momentos que me toco hacer movidas y tal .. bueno .. basicamente optimizar el tamaño para poder tener ciertas funciones operando en la misma PAGINA. Por lo demás .. el funcionamiento era muy cómodo.

Espero que esto te haya servido J.L.
En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #2 : 18 de Agosto de 2007, 11:41:11 am »

¡Muchas gracias!, ya lo creo que me sirve Wink

En principio lo que ya tenía pensado es exactamente el modelo que utilizaste, las tres primeras páginas para código y la última para el intercambio de datos. En mi caso únicamente serán gráficos comprimidos con un direccionamiento idéntico al que comentas, página + dirección dentro de la misma, esto no debería ser nigún problema, el problema lo voy a tener al tratar de encajar todo el código y datos (son muchos y por comodidad me interesa tenerlos siempre visibles) en los primeros 24KB, es pronto todavía para asegurarlo; pero voy a ir muy justo. Algunas librerias del SDCC me son imprescindibles si no quiero multiplicar por dos mi curro Sad y las jodias se llevan un buen puñado de KBs por la cara.

Con la información que me has comentado voy a tratar de hacer un megarom simulado de 128KB concatenando una ROM de 24KB y luego 13 bloques de 8KB a pelo. En los 24KB de código voy a intercambiar las páginas y usar su contenido a ver si funciona todo como es debido.

En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #3 : 19 de Agosto de 2007, 01:29:50 pm »

J.L. al menos yo en el MH pase de usar nada del SDCC, de las librerias me refiero.
Utilice mis propias rutinas de multiplicación y división. Porque? ... una porque dejar que el SDCC se linke y coloque donde el quiera no me gusta y no me servia y la otra porque lo que tu dices .. nunca llegas a controlar el tamaño del código .. pero ya te digo .. para mi lo más importante es poder controlar DONDE ubicarlo.

Con 24Kb de código .. caben una barbaridad de cosas .. pero cierto es que sufri los martirios para poder meter lo que hay metido en el MH Smiley
No se que juego será el que tienes entre manos pero ... sea como sea .. animo! Smiley

Yo en estos momentos me estaba planteando hacer un proyecto desde cero .. gráficos y música incluidos .. por lo menos para participar en la Dev con algo .. pero ya veremos .. son demasiadas cosas .. el viejo es mi ídolo!!! Smiley
En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #4 : 23 de Agosto de 2007, 03:51:57 pm »

En este caso salvo completa desesperacion mantendré el núcleo de impresión, que como ya he dicho me ahorro un buen trabajillo. Por cierto, el megarom ya está chutando fino, ¡gracias otra vez! Wink
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #5 : 23 de Agosto de 2007, 09:37:45 pm »

Yo en estos momentos me estaba planteando hacer un proyecto desde cero .. gráficos y música incluidos .. por lo menos para participar en la Dev con algo .. pero ya veremos .. son demasiadas cosas

De eso de que "ya veremos" nada de nada, eh? (nerlaska -> Cheesy :whip: <- viejo_archivero)

Con la información que me has comentado voy a tratar de hacer un megarom simulado de 128KB concatenando una ROM de 24KB y luego 13 bloques de 8KB a pelo. En los 24KB de código voy a intercambiar las páginas y usar su contenido a ver si funciona todo como es debido.

Pero, ¿se puede saber que te traes entre manos, malandrin? :guitar:
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #6 : 24 de Agosto de 2007, 09:50:10 am »

Citar
Pero, ¿se puede saber que te traes entre manos, malandrin?

Pues todavía no se que va a salir, hay demasiados factores nuevos; pero bueno, poco a poco algo se va viendo... Smiley
En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #7 : 24 de Agosto de 2007, 09:50:36 am »

Pues si Viejo .. ya veremos .. para mi es una gran puñeta .. pero es que no tengo tiempo de hacerlo todo .. al menos ya este año no Sad
Y mira que me joroba no poder entregar juego a la Dev .. en fin .. Rezo porque obre un milagro! Smiley
En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #8 : 24 de Agosto de 2007, 11:37:21 am »

Bueno, a lo mejor con algo pequeñajo ya vale Wink. Creo que nos estamos acostumbrando todos demasiado a los megaroms... Grin
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #9 : 24 de Agosto de 2007, 01:19:38 pm »

Pues nada, nerlaska, que no pasa nada hombre. Eso sí, mantendré los dedos cruzados para ver si se obra el milagro.  Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
doraemonppc
Karoshi Maniac
****
Mensajes: 358



WWW
« Respuesta #10 : 24 de Agosto de 2007, 02:00:59 pm »

Creo que nos estamos acostumbrando todos demasiado a los megaroms... Grin

Yo digamos que ahun no me acostumbre.
Que haya heroes como vosotros en el 2007 que sigan programando estas perlitas para MSX le hacen saltar las lagrimas a mas de uno.
Personalmente que sean megaroms o no es lo de menos, serà que no nos seguimos pegando vicios a muchos 8k!
Venga, animo campeones que yo os tengo puesta una velita  Grin
En línea

- El ensamblador con sangre entra-
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #11 : 26 de Agosto de 2007, 06:18:44 am »

Bueno.. cierto socio ha despertado de su letargo .. igual podremos participar con alguna cosa en la Dev!!! Power up!
En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #12 : 27 de Agosto de 2007, 11:46:03 pm »

¡Ugh!, ya tengo cifras y no son buenas, 35KB el código completo  Cry. Tengo que buscar la manera de reducirlo a 24K como sea, para empezar, la inicialización de globales es monstruosa, habrá que buscar otro sistema.
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #13 : 28 de Agosto de 2007, 12:58:44 am »

¿¿35 KB de código??. ¿No es eso demasiado, jl? Shocked Shocked Shocked
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #14 : 28 de Agosto de 2007, 07:45:39 am »

Que bien te lo vas a pasar J.L .. jejejeje ... no veas lo que sufrí en su día con el MonsterHunter Smiley
Por cierto Viejo .. seguro que hay juego para la Dev .. we are work in progress!!! SIIIIIIIII!!! No será un super megarom pero bueno .. al menos presentaremos algo.
En línea

MSX4EVER2GETHER
www.nerlaska.com
Páginas: [1] 2
  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!