xt5 escribió:en particular este programa funciona solo con los NHP de prisma (que son los que Suppawer me paso), seria bueno que parche nos contora mas acerca de cuantas versiones existen y diferencias de cada una.
Hola xt5, un comentario antes de entrar en terreno.
Estoy muerto de la risa de como ha generado revuelo todo este cuento de la lectura de cassettes. Si lo piensas bien, es tecnología obsoleta y están haciendo un esfuerzo increible por rescatar la memoria.
Así que por ese lado los felicito, a los que se han picado, no lo tomen tan en serio que el valor que tiene esto es por la historia y el amor al arte.
Que gusto que lo que están haciendo acá sea la misma motivación que me llevó a mi a construirlo originalmente, más un desafío.
Bueno, entrando en terreno, Yo conté a lo menos 6 versiones del NHP donde la mayoría se diferenciaba por el tamaño del bloque.
Te sugiero que le pongas al xex2nhp un contador de bytes para determinar cuánto mide, si está en C, puedes cargar el juego completo en un buffer y puedes luego determinar cuanto mide.
La segunda diferencia es la frecuencia de grabación. De nuevo, si estás en C, puedes leer y medir la frecuencia, sobre todo si leiste los datos originalmente como sonido.
De estos últimos vas a encontrar 3 frecuencias diferentes. Los con grabación a velocidad normal, los turbo y los Injektor, obviamente los tres deben ser leídos de manera diferente, sin embargo puedes dejar el factor como variable en la medición para reproducirlo.
El factor común entre todos es que empieza el bloque con el Número de bloque y al final un checksum bastante simple, para garantizar que cada bloque viniera completo.
Me parece que el checksum en algunas versiones puede haber estado al principio. El loader tiene la diferencia. No te recomiendo desensamblar y que el xex2nhp trate de comprender con pseudo inteligencia artificial que debe hacer porque ahí si que se te puede complicar n el cuento. Algunos NHP venían con compresión de datos mediante el crunch y otros directamente encriptados con un xor #$ff (xor = exclusive or) para los que conozcan otros assembler que no sea 6502.
Esto te obligaría a hacer xex2nhp por versión lo que encuentro que es muy engorroso, y el tiempo no le sobra a nadie.
Espero que estos tips sirvan para lo que están haciendo y no se pongan tan vicerales oh, si es solo un juego, además veo que el cuento ha ido agarrando vuelo como bola de nieve.
Sigo riendo y que disfruten