SuperPadLand escribió:Hola, una duda que ya no recuerdo, en N64 sin adaptador es imposible modificar la carcasa para enchufar directamente cartuchos de otra región y que funcionen no? Y esos adaptadores se pueden conseguir baratos o ya ni existen? Me suena ver en aliexpress conversores de NES a Famicom y viceversa por dos duros, pero no me suena ver de otras consolas.
9-Volt escribió:Hola chicos, a ver si alguien puede confirmarme esto, estuve leyendo algo al respecto però no me quedó claro..
Ahora tengo la N64 conectada a smart tv con un adaptador bitfunx hdmi barato, los gráficos son los que son pero con el summercart puedo jugar cualquier juego NTSC, romhacks etc
Estaba mirando de mejorar imagen con un retroscaler 2x de ali pero vi algunos comentarios acerca de q no es capaz de mostrar los juegos NTSC en una N64 pal?? Alguien tiene esta configuración y podría confirmarlo
EMaDeLoC escribió:@soukai La única limitación conocida son 240/256MB de espacio de cartucho (no tengo claro cual es el definitivo, pero mínimo seguro 240MB). Y eso sin mappers o aprovechando la salida de datos en serie del puerto de cartuchos que se usa normalmente para guardar partidas u otras cosas (creo que un modem la usa) para hacer cambios de bancos y usar memoria infinita.
Creo que por ancho de banda daría de sobras para video con menos compresión. Pero quizá habría que reprogramar el descodificador usado en el juego, que creo que es una mezcla entre CPU y RCP, y eso es más complicado.
radorn escribió:Existen otros "flashcarts" que ofrezcan mas de 64MB de espacio ROM? Hay alguno de 128, por ejemplo? O es el 64drive V2 el único?
radorn escribió:En cualquier caso, tampoco estamos limitados a esos 240MiB del 64drive, porque técnicamente se podría programar el software de N64 para acceder al sistema de ficheros FAT32 de la tarjeta directamente, y así tener gigas y gigas disponibles si fuera necesario.
EMaDeLoC escribió:radorn escribió:En cualquier caso, tampoco estamos limitados a esos 240MiB del 64drive, porque técnicamente se podría programar el software de N64 para acceder al sistema de ficheros FAT32 de la tarjeta directamente, y así tener gigas y gigas disponibles si fuera necesario.
Mmm... No sé si eso entraría en conflicto con el TLB que gestiona las direcciones virtuales de la consola y las traduce a direcciones físicas.
soukai escribió:Estaba pensando si es técnicamente posible modificar la rom del resident evil 2 para meterle videos, audios e imágenes sin comprimir
Señor Ventura escribió:La verdadera pregunta es si podría contener escenarios animados como los de GC. Eso sería digno de ver en una N64.
radorn escribió:@EMaDeLoC @Falkiño Gracias por confirmar.EMaDeLoC escribió:radorn escribió:En cualquier caso, tampoco estamos limitados a esos 240MiB del 64drive, porque técnicamente se podría programar el software de N64 para acceder al sistema de ficheros FAT32 de la tarjeta directamente, y así tener gigas y gigas disponibles si fuera necesario.
Mmm... No sé si eso entraría en conflicto con el TLB que gestiona las direcciones virtuales de la consola y las traduce a direcciones físicas.
Te confirmo que al menos en el 64drive la N64 puede acceder directamente a la SD, el USB y WiFi. El acceso a la SD es necesario como mínimo para que el menú pueda mostrar los contenidos de la SD en pantalla, El cartucho tiene una ROM de arranque en flash interna, que accede al FAT32 de la SD, busca el binario del menú y lo carga. Luego, cuando se carga una ROM, el programa menú recopila los sectores de la SD donde se encuentra almacenada la ROM y se los pasa al FPGA para que copie la ROM a la RAM interna por DMA. Imagino que los otros cartuchos lo harán de forma similar. Todo eso del TLB y las direcciones virtuales no influyen en el acceso a la SD porque no se accede mediante direcciones de memoria, si no como block I/O. accedes bloque a bloque (sectores) y los copias donde los necesites. No hay que mapear los gigas y gigas de la tarjeta a direcciones de memoria.
Si la N64 no pudiese acceder a la SD toda esa programación tendría que ejecutarse en el FPGA del cartucho, lo que implicaría implementar una CPU, añadir RAM extra para ejecutar el programa, establecer un protocolo cliente-servidor para que la N64 mostrase en pantalla los resultados de la lectura de la SD generados por esa CPU interna del cartucho.
se podría programar el software de N64 para acceder al sistema de ficheros FAT32 de la tarjeta directamente
RiGaL escribió:Falkiño escribió:Aunque me gustaría que la Analogue 3D tuviera una herramienta similar de serie y así no depender de esto, he pillado el N64 Dumper de AliExpress esta mañana, ya os contaré cuando me llegue. Teóricamente dumpea las ROMs y es capaz de dumpear y de sobreescribir saves, lo cual está bien para dejar las partidas a buen recaudo.
Un saludo!
Casualmente el mío llegó esta semana, pero es el mismo que recomendaron en el hilo de Analogue y no trae carcasa, es la placa a pelo. Lo probé con los cartuchos con pila y estos son los archivos que extrae:
CarTest.txt
ROM.FLA
ROM.N64
ROMF.RAM
ROMF.Z64
Entiendo que los .Z64 y .N64 son dos tipos de rom y .FLA y .RAM son los archivos de salvado. ¿.RAM sería el que habría que sobrescribir en el cartucho en el caso de que le cambies la pila? Ya contarás si haces pruebas.
Dentro del CarTest.txt un apartado que no me coincide con el vídeo que sale del tuyo en aliexpress es el CIC, me sale en todos Failed 6105 (o el nº que corresponda) y en el vídeo NTSC 6105, no sé si por ser todos los míos PAL.
Y cuál se necesita para restaurar un save en cartucho original.
radorn escribió:Esa interfaz no se cierra porque haya una ROM en memoria. No se cierra en el 64drive y dudo que la situación sea muy diferente con los otros cartuchos.
radorn escribió:No te líes con rangos de memoria, TLBs y todo eso. No tienen nada que ver con esto.
radorn escribió:Ahora un poco de especulación. El sistema que acabo de describir es un acceso mediante bloques a la tarjeta, y solo ofrece un pequeño buffer en esa interfaz, por lo que los datos tendrían que copiarse a la RDRAM mediante el PI para poder usarse efectivamente. Una vez en RDRAM, la N64 también podría copiarlos a espacio ROM de vuelta dado que es RW, pero esto no es muy eficiente por la relativa lentitud del PI.
No obstante, hay otra posibilidad, aunque no puedo confirmar que sea posible dado que no se lo suficiente sobre el DMA interno entre SD RAM dentro del cartucho. Se que cuando el menú carga una ROM desde la SD, no usa la inferfaz de los 16MiB porque eso implicaría usar la consola para copiar de SD a RDRAM y luego de RDRAM a ROM-RAM ambas veces a través del PI... y eso sería lentísimo y no permitiría cargar ROMs grandes en segundos como de hecho hace. Así que el menú lee la SD a través de la interfaz, y luego indica al FPGA qué bloques copiar de la SD a RAM en modo DMA sin pasar por la N64. Quizá este acceso DMA se pueda usar también para copiar de SD a RAM en cualquier momento. Si fuera así, podría escribirse un programa que use un segmento del rango PI como cache intermedia donde cargar cosas extra desde la SD sin intermediación de la consola.
¿Juegos multidisco de PS1 con cientos de megas de video que serían dificiles aún con los 256MiB del PI (o los 240 que permite el 64drive? ¿Fondos prerenderizados para alta resolución? Con esto serían posibles.
EMaDeLoC escribió:radorn escribió:
No te líes con rangos de memoria, TLBs y todo eso. No tienen nada que ver con esto.
Sí tiene que ver. Si no se crea una interfaz y se quiere que la consola tenga un acceso directo a la SD, solo dispone de los 256MB de direcciones de memoria del cartucho. Usar más direcciones crea conflictos con el TLB y los rangos de memoria reservados. Aparte de algo de hardware para traducir esas direcciones de memoria en sectores de la SD. Y aún así el espacio al que puede acceder, si no hubiese conflictos, no podría superar los 4GB.
Espero haber aclarado los matices concretos entre acceder directamente y el usar una interfaz.
radorn escribió:Pero qué beneficio tendría tener "acceso directo" mediante direcciones de memoria a una tarjeta SD, si total la SD ya es de por si un dispositivo que funciona por bloques? No acabo de entender tu empeño en esta via. Estarías emulando memoria de acceso aleatorio desde el substrato de una tarjeta SD. No me parece práctico.
radorn escribió:@EMaDeLoC Bueno, parece que interpretas que "acceso directo" a la SD significa necesariamente mapearlo como memoria y consideras que el acceso por bloques no es directo, pero si lo piensas, así se accede a todo disco habido y por haber en un ordenador convencional: funcionan mediante acceso por bloques, y acceder a ellos así no es "indirecto". De hecho, para acceder a disco mediante un mapa de memoria, se necesitaría una interfaz de traducción de protocolo mediante hardware, lo cual me parece mucho mas indirecto que crear una interfaz de acceso por bloques a un dispositivo que funciona nativamente por bloques (LBAs)
Fuiste tu el que se empeñó en esta via del acceso como memoria y de ahí viene preocuparse por TLBs y todo eso. Pero es que no tiene sentido hacerlo así. Es un desperdicio del mapa de memoria, un aumento de la complejidad del hardware, y tampoco ganarías nada de rendimiento. Esa interfaz que tu pareces considerar "indirecta" es la solución optima para acceder a una tarjeta SD o cualquier otro almancenamiento por bloques LBA (Logical BLOCK Address), que además facilita el uso de grandes tamaños.
radorn escribió:Estoy de acuerdo donde dices que llenarlos de contenido es otra cantar, pero ya de puestos a soñar, a mi me gustaría un motor de juego que aceptase añadir contenidos como puedan ser niveles nuevos simplemente copiando unos pocos ficheros en una carpeta en vez de parchear ROMs y tener otra ROM mas aparte solo por uno o dos niveles nuevos. También está el tema de un sistema de guardados mas generoso y flexible. Muy superior a lo que permiten EEPROMs, S-RAMs, o FlashRAMs en cartucho o el escuálido Controller Pak, y andar lidiando con el engorro de administrarlos con herramientas especializadas y copias de respaldo y todo eso, cuando podrías simplemente tener una carpeta dedicada en la tarjeta SD.
radorn escribió:Si nos ponemos así, la CPU tampoco accede directamente a la RAM, si no que realmente solo accede a la cache y hay todo un sistema de manejo de memoria que accede a la RAM en nombre de la CPU....
radorn escribió:Si acceder mediante una interfaz de bloques a un disco con una interfaz por bloques (como lo son todos) no es "directo", menos aún lo es poner en medio un substistema que mapee un disco de bloques a un mapa de memoria.
radorn escribió:Cuando hablé de acceso directo a la SD me refería a que hay una interfaz implementada en hardware para acceder por bloques a la SD igual que en un PC cualquiera, y que no hay una capa del hardware que interprete el sistema de ficheros de la SD y lo traduzca a otro protocolo para que la N64 lo vea. El driver de FAT32 corre en la N64 en todos los cartuchos de los que estoy al tanto. Por tanto es la N64 quien maneja "directamente" ese almacén de datos. No hay un servidor de ficheros corriendo en el FPGA que administre peticiones provenientes de la N64.
La CPU no accede a las celdas de memoria de la SD mediante acceso a memoria, vale, pero accede a los registros de control de esa interfaz y es el program que corre sobre la CPU el que controla ese acceso e interpreta los resultados devueltos. Yo creo que a eso le podemos llamar "directo", por mucho que no sea el mismo concepto de "directo" que separa la el almacenamiento primario del secundario, por ejemplo.