|
| | Er zijn 44 gasten en 0 MSX vrienden online
Je bent een anonieme bezoeker.
|
| |
Schrijver
| Las tripas del OPF
| pitpan msx master Berichten: 1379 | Geplaatst: 07 Maart 2005, 14:15   | Esta es una preguntilla para el amigo Gillian.
Recibi hace poco mi SCC+ ya actualizado a 128 KB y ahora estoy haciendo pruebas con mi propio software para crear automaticamente WAVs de megaROMs que carguen en el aparatito en cuestion.
Por supuesto, los juegos con mapper Konami SCC no necesitan modificacion alguna y funcionan perfectamente (por cierto, que consigo cargar megaROMs en menos de 2 minutos por el puerto de cassette).
Pero que hago con los otros tipos de mapeado? Solo he hecho algunas pruebas con juegos de Konami no SCC y mapper de 8 KB, y lo que hago es buscar los siguientes comandos:
LD [6000h],A
LD [8000h],A
LD [A000h],A
Y sustituirlos por
LD [7000h],A
LD [9000h],A
LD [B000h],A
Y, por supuesto, los juegos que he probado funcionan perfectamente. Pero tengo la impresion de que estoy parcheando partes que no deberia, quizas grafico o sonido. Me baso para decir esto en que en algunas de las ROMs el programa hace el cambio mas de 500 veces... Me parece mucho, pero quizas es lo adecuado.
Como me consta que el OPF esta muy bien programado, me gustaria saber como funciona, es decir, que cadenas busca y como las sustituye. Que otros mapeadores podria implementar sin problemas? Supongo que el ASCII 8 KB no tendra mayores dificultades, pero no se como funciona (desconozco las direcciones de cambio de pagina).
Un saludo y gracias. Me ha salido un mensaje un tanto tecnico, espero que la gente no se asuste! Si hay alguien mas con un SCC+ ampliado y que quiera probar WAVs vertiginosos, que me cuente!
| | Guillian msx professional Berichten: 633 | Geplaatst: 07 Maart 2005, 15:18   | Lo que haces para adaptar las ROMs de Konami4 (no SCC) a Konami5 (SCC) es correcto. Aunque te parezca exagerado el numero de veces que se cambia de página, es normal. Date cuenta que hay juegos que cambian a cada interrupcion algunos bancos.
Los mapper ASCII funcionan de manera similar, sólo que usando otro rango de direcciones:
Mode Memory Bank Bank registers
----------------------------------------------------------------------------------------
- 8KB Mode 4000-5FFFh 6000-67FFh
6000-7FFFh 6800-6FFFh
8000-9FFFh 7000-77FFh
A000-BFFFh 7800-7FFFh
- 16KB Mode: 4000-7FFFh 6000-67FFh
8000-BFFFh 7000-77FFh
Pero en el caso de los ASCII la cosa no será tan sencilla como con los Konamis, ya que en éstos últimos siempre se usan las mismas direcciones para cambiar de banco, a pesar de poder usar otras sin problemas dentro de su rango (por ejemplo #6034 en vez de #5000)
Así que en algunos casos te bastará con buscar cadenas del tipo: LD (#6800), A y similares. Pero también te puedes encontrar con ROMs que usan #68FF o cualquier otra válida. Y eso no es todo, como es lógico también se pueden hacer cosas como:
LD HL,#68FF
LD (HL), A
Fijo que no te vas a aburrir en una temporada ^^!
| | pitpan msx master Berichten: 1379 | Geplaatst: 08 Maart 2005, 17:24   | Si, seguro que no me aburro ;-)
Gracias por la informacion, me quedo con la copla. Eso si, para el mapeado de paginas de 16 KB, que haces exactamente? Empotrar en la ROM una rutina que cambie dos paginas a la vez o poner algo asi en la RAM, para que conmute dos paginas consecutivas al mismo tiempo? Lo digo porque no veo ninguna solucion trivial para hacerlo...
| | Guillian msx professional Berichten: 633 | Geplaatst: 08 Maart 2005, 23:09   | Lo que hice para las ROMs de 16K fue añadir hardware extra (con ayuda de Tsujikawa ^^!) para poder cambiar el modo de paginación en los modelos ASCII (estos mappers pueden funcionar en ambos modos). En los modelos SCC esto no es posible, ya que el SCC trabaja siempre con bancos de 8K. Así que la solución es la que tú apuntas: cambiar los LDs por CALLs a tus propias rutinas de mapeo. Algo así como:
LD (#6000), A
cambiarlo por
CALL BANK4
.
.
.
BANK4:
PUSH AF
RLCA
LD (#5000), A
INC A
LD (#7000), A
POP AF
RET
| | usuario_msx2 msx freak Berichten: 150 | Geplaatst: 09 Maart 2005, 12:09   | una pregunta que se sale de contexto
No tengo información sobre el SCC+, habría forma de añadir mas ram para ser usada en el scc+?
saludos | | pitpan msx master Berichten: 1379 | Geplaatst: 09 Maart 2005, 23:00   | El problema es que luego no se podria usar del mismo modo el registro de control. No creo que se pueda hacer "por las buenas". Aunque supongo que haciendo el bestia si que se podria. O usar un SCC+, como hizo aqui Gillian, para ponerle una memoria Flash y usarlo con el OPF (si no recuerdo mal, claro). Un SCC+ con 1 MByte (es decir, 8 Mbits) seria una autentica gozada para los sentidos.
El problema es que todavia no me he puesto con la info tecnica del chip flash, para hacer la version que funcione desde el puerto de cassette. Todo se andara!
| | Guillian msx professional Berichten: 633 | Geplaatst: 10 Maart 2005, 04:39   | En esto no puedo ayudaros ya que no dispongo del "pinout" del SCC-I2312P001 (SCC+ para los colegas). Dependiendo de las señales que de se podría ampliar o no a más memoria. Pero me temo que no es posible pasar de 128KB. Como ya sabréis, dependiendo si el cartucho es del Snatcher o del SD-Snatcher, la RAM se encuentra en los bancos 0-7 o en los 8-15. Pero el banco 0 es el mismo que el #10, y el mismo que el #20 y así sucesivamente. Esto me hace pensar que no puede direccionar más de 128KB a priori. Podría ser que tenga algunos pins de configuración para indicar la RAM con la que tiene que trabajar, y lineas extra para las señales /CAS para direccionarlo. Pero me temo que no es así.
| |
| |
| |
| |