injektor2xex

Proyectos realizados por los Retronianos, también links a proyectos externos y sitios relacionados con Modding y DIY... A crear si ha dicho...
Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

injektor2xex

Mensaje por xt5 » Jue May 18, 2017 2:20 am

Hace tiempo había realizado unos programas de extracción de ejecutables desde cintas Atari y también creación de cintas desde el PC, no tenia a mano los códigos fuentes, pero gracias a Suppawer recuperé algunos.

En alguna oportunidad revisé las cintas generadas por Injektor para ver de que se trataba, y asumí erróneamente que usaban modulación PWM como los múltiples sistemas de Europa del Este, nunca le di mas vueltas.

Pero ahora, después de muchísimo tiempo, le di una segunda vuelta al asunto, y me pareció extraño ver que el cargador intentaba poner la velocidad de lectura en 4k, pero constantes, lo que daba indicios que no era PWM, así que revisé los audios y me di cuenta que la modificación es interesante ya que no funciona como los otros sistemas turbo, si no que usa manchester encoding.

Me permito especular que el circuito Injektor entonces tiene una compuerta xor para grabar, y para decodificar implementa una suerte de PLL ;)

Dejo aquí una versión de mi injektor2xex escrito en Python, que también de-modula FSK, lo que permite añadir mas sistemas de carga a su base de datos a futuro.

Lo único que hay que tener en consideración es que hay filtrar el DC de las cintas, ya que mi metido de codificación se basa en el cero crossing, para esto un filtro que mate todo abajo de 200Hz es suficiente.

Código: Seleccionar todo

sox entrada.wav salida.wav equalizer 80 6q -90.0 equalizer 120 1q -40 equalizer 160 1q 0
Con el utilitario SOX y ese comando es suficiente para el filtro, también lo probé con Audacity y todo bien.

Probé muchos juegos, algunos no funcionan, pero es todo cosa de insistir con el filtro, de todas maneras se agradecen los reportes.
Adjuntos
injektor2xex_1.tar.gz
(3.12 KiB) Descargado 31 veces

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 7:49 am

bajo que versión de python esta? 2,7 o superior, segundo. instale sox para windorsss, y me sale los siguiente. sox no se noce como un comando interno. al parecer solo funcionaria en linux y no windorsss.

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 8:50 am

bueno trabajando en python 27. lo primero fue pasar ocupando el sox, el alien ambush que ya lo tenia en wav, filtrandolo con lo que pusiste mas arriba, luego con el nuevo wav lo pase a la carpeta de python v2.7, y ocupe el siguiente comando encontrado en un post antiguo. python injektor2xex.py alieninj.wav ambush.wav y salio lo siguiente.

Traceback (most recent call last):
file "injektor2xex.py", line 97, in (module)
main()
file "injektor2xex.py", line 69, in main
system=system_select({'must_have_fsk':fsk_block, 'must_have_manchester': manchester_blocks})

etc...

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 10:56 am

Enviame porfa ese alien ambush para revisarlo

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 11:07 am

acá va adjunto
alieninj.rar
alien ambush wav normal
(6.07 MiB) Descargado 28 veces

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 1:21 pm

dogdark, como creaste ese audio?

Tu audio definitivamente no es Injektor, esta en FSK común y corriente de Atari, y es raro porque no tiene cargador alguno, si no que empieza desde el primer bloque.

Aquí puedes ver las frecuencias predominantes y vex que son 5327 y 3995.
fsk.png
fsk.png (44.37 KiB) Visto 1256 veces
De todas maneras te dejo otro programa llamado fsk2xex_simple que puede sacar el xex desde allí, sus parámetros son:
wav de entrada
xex de salida
bloque donde comienza el juego, partiendo desde cero
cuantos bytes se salta de un bloque para la extracción partiendo de cero

en este caso los últimos dos parámetros son 0 y 3

Código: Seleccionar todo

$ python fsk2xex_simple.py alieninj.wav alieninj.xex 0 3
fsk2xex simple extractor 0.1
720de9eeafa14c7742f9dfeffa126d4d 132 True
2a900f7d0fb0320c15568df958bdd4af 132 True
61fe92bff38562395b8d2be83e06c481 132 True
dafcf641e248f39ba98c7522cc112d29 132 True
5ef7d44ab0b21dc66df57ba959257a9f 132 True
e239badc6a0f38be1b73b07ac00ffcb1 132 True
2b11b57644d7f7527ec57229eb41d8a7 132 True
6189c2fb5e7749f83065202d2a76dedf 132 True
99f7ffcd9a6315674eb96009a649f7a3 132 True
ff2fa293b2cb93807eb64420717b844b 132 True
8629c11384b6875684134bf8c94d589a 132 True
ff0094bd0e358db6506613be1a6061c3 132 True
b77a16e807996fe6127c77712b04c4b4 132 True
19ef196f89cc495088c1c46b5799fcd3 132 True
c8f48b3eae885d6c7be2209f84103f4e 132 True
17b72deab41988e75403ff4aa9e79710 132 True
3761ca1bf8ed24e21f605c4244988ce0 132 True
990cce7090b0fd5cf32d77cb8bdde66c 132 True
d639fc9f7f6101102a50c415768a072d 132 True
2bbfaff99b3d93d59b58e66a7ba27a88 132 True
12d450a45857bcb55afe1f0dc5b3a1b8 132 True
6ff85543a8939dfc2014dde43febf5d1 132 True
12ce3a6a947fb776998082b632064ebc 132 True
1ed1678bd96d569aff9c178e7d46401b 132 True
f7a3ab3ad95abebba4768d87ca2dcaa3 132 True
0bb599ca2fbaf3357d38766a2b609681 132 True
bceaa3276911ddc1fc549db3f3fd73b3 132 True
a3048822e37ae74aa0dd429a3b84db63 132 True
e5270c6a5310386346ca6d146ee5a86d 132 True
d778c67faee9fe3ea05c0d5459f8afc7 132 True
c47a263715895724bfdc7249ad962544 132 True
a17d4d163dcee9e20fe4b4a2451019e0 132 True
3f95e1ddd8bb8a81171b217ef218f779 132 True
510c463386c8dd85bd442fe65e955f27 128 False
segment: 3000-30fb
segment: 30fc-31f7
segment: 31f8-32f3
segment: 32f4-33ef
segment: 33f0-34eb
segment: 34ec-35e7
segment: 35e8-36e3
segment: 36e4-37df
segment: 37e0-38db
segment: 38dc-39d7
segment: 39d8-3ad3
segment: 3ad4-3bcf
segment: 3bd0-3ccb
segment: 3ccc-3dc7
segment: 3dc8-3ec3
segment: 3ec4-3fbf
segment: 3fc0-3ffb
segment: 02e0-02e1
Saving executable alieninj.xex
La versión anterior era solo compatible con Python2.7, la corregí y ahora funciona en Python3 también.
Adjuntos
injektor2xex_2.tar.gz
(3.26 KiB) Descargado 28 veces

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 1:38 pm

Lo que hice, tome un audio normal, lo limpie con sox y el nombre que le di fue alieninj.wav después lo copie a la carpeta de python27, y lo trate de pasar con injektor2xex, y ahí, no me genera nada,solo error. Error mio no haber explicado, el audio que subí es normal. Pensé que querías ese.

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 1:51 pm

Ahora te entendí!

Lo que pasa es que este programa, solo extrae un xex de una cinta ya grabada en Injektor, reconoce los de Cain y los de Coelsa, la inversa de un xex a Injektor aun no la desarrollo, pero se ve fácil, lo complicado es hacer las pruebas.

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 1:53 pm

AAAAAAHHHHGGGGG, pense que era para crear wav injektor. :roll:, bueno no era mala idea, por eso no funkaba la cosa. Gracias de todas maneras.

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 1:56 pm

si quieres enviame un xex que quieras convertir, y lo lo convierto "a mano" para probar las formas de onda.

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Jue May 18, 2017 1:59 pm

uno cortito, el que uso para todas las pruebas.
alien_ambush.rar
alien ambush xex
(3.12 KiB) Descargado 28 veces

Avatar de Usuario
Suppawer
Mensajes: 87
Registrado: Vie Abr 26, 2013 10:02 pm

Re: injektor2xex

Mensaje por Suppawer » Jue May 18, 2017 5:10 pm

xt5, siempre quedo gratamente soprendido con tus programas.

Tengo algunos WAVs en Injektor:
Módulos 1,2 y 3 de Ciencias Naturales 4 Básico
Módulos 1,2,3,4 y 5 del Sistema Respiratorio

xt5, ¿servirá tu programa para estos WAVs?

https://drive.google.com/open?id=0Bx5cu ... FlXY1lDZm8

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 8:20 pm

dogdark escribió:uno cortito, el que uso para todas las pruebas.
Trataré de generarlo, en todo caso ya anda ese juego en Injektor pro ahí.

Suppawer, acabo de agregar soporte para ese sistema, todos funcionaron bien, el "resp1.wav", tuve que corregir un detalle con el Audacity, pero el programa te dice la posición donde está el problema y es visible a primera vista en el editor.

Adjunto la nueva versión.
respiratorio.png
respiratorio.png (20.87 KiB) Visto 1307 veces
Adjuntos
injektor2xex_3.tar.gz
(3.11 KiB) Descargado 43 veces

Avatar de Usuario
Suppawer
Mensajes: 87
Registrado: Vie Abr 26, 2013 10:02 pm

Re: injektor2xex

Mensaje por Suppawer » Jue May 18, 2017 9:37 pm

Te pasaste xt5!
Hermano atariano, ¿podrías subir los 8 binarios obtenidos? Estoy experimentando ciertos inconvenientes en el Pc que estoy usando.

Posibilidad futura de una versión independiente (py2exe)?

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Jue May 18, 2017 10:18 pm

Aquí están los xexs.

Nunca he usado py2exe, me imagino que es fácil convertirlo, usa solo librerías standard.
Adjuntos
prisma.tar.gz
(56.93 KiB) Descargado 54 veces

Avatar de Usuario
SpaceInvader
Mensajes: 201
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: injektor2xex

Mensaje por SpaceInvader » Jue May 18, 2017 11:43 pm

Muy interesante este post.
Probé los archivos de python, y no me funciona nada de nada. Pero bueno, esto es casi normal al tratar con python. Probé las tres versiones. Espero que me funcionen pronto.

Extraer ejecutables de audios injektor también es notable, nunca se había hecho. Aprovecho de pedirte que extraigas los ejecutables del casete azul de Coelsa:

https://mega.nz/#!PMUUWQbR!pUjjRg1I2OOv ... IkCXBIOTl4
https://mega.nz/#!qM0XDR7b!e622Vg7gQ4TC ... 2yX94VT5vY

¿Se podrá? ¡Nunca se ha hecho!

Hacer un generador archivos de audio injektor, en una casetera Atari, es algo que ya se hizo hace años. Pero, hacer un software que genere un archivo de audio injektor en un PC, es algo que, hasta donde yo sé, nadie ha hecho... Sería extraordinario hacerlo.

Excelente trabajo, saludos.

Avatar de Usuario
xt5
Mensajes: 361
Registrado: Vie Feb 08, 2013 1:56 pm
Contactar:

Re: injektor2xex

Mensaje por xt5 » Vie May 19, 2017 1:07 pm

SpaceInvader escribió: Extraer ejecutables de audios injektor también es notable, nunca se había hecho. Aprovecho de pedirte que extraigas los ejecutables del casete azul de Coelsa:
Los revisé, son mas complicados que un cassete normal, no traen dentro un ejecutable como tal, si no que van cargando trozos directo en ubicaciones especificas.

Primero remplazan la zona del OS con RAM y copian el OS sobre esta, luego carga un bloque sobre el espacio de definición de caracteres (0xCC00) y sobre el OS, para finalmente saltar al self-test (0x5000)

Aislar ese ejecutable es mas complicado, estaba viendo la posibilidad de crear un CAS, pero para Injektor se ve complicado en Altirra, voy a ver las opciones, pero ya la próxima semana que ahora estoy saturado con trabajo.
SpaceInvader escribió: Hacer un generador archivos de audio injektor, en una casetera Atari, es algo que ya se hizo hace años. Pero, hacer un software que genere un archivo de audio injektor en un PC, es algo que, hasta donde yo sé, nadie ha hecho... Sería extraordinario hacerlo.
De hecho es mucho mas fácil crearlos que extraerlos, lo veré luego :D

Avatar de Usuario
dogdark
Mensajes: 557
Registrado: Lun Mar 04, 2013 1:36 pm
Contactar:

Re: injektor2xex

Mensaje por dogdark » Vie May 19, 2017 4:11 pm

consulta, me referire al copiador turbo wav que el que realizaste antes, ese esta hecho en wav Stereo? porque me parece que esta en mono, la casetera trabaja en estero, tengo esa duda.

Avatar de Usuario
Suppawer
Mensajes: 87
Registrado: Vie Abr 26, 2013 10:02 pm

Re: injektor2xex

Mensaje por Suppawer » Dom May 21, 2017 9:50 pm

xt5, tengo problemas para ejecutar el injektor2xex. Tengo error en la línea 3 de injektor2xex.py: "from systems import systems". Nos falta el archivo "systems" con los "sistemas".

Acerca del otro programa, el fsk2xex_simple, podrías explicar el "cuantos bytes se salta de un bloque para la extracción partiendo de cero"?. Se podría adaptar para cualquier wav normal con nhp, cain, etc?
Última edición por Suppawer el Jue Jun 08, 2017 4:18 pm, editado 2 veces en total.

Avatar de Usuario
SpaceInvader
Mensajes: 201
Registrado: Jue Jul 17, 2014 4:01 pm
Contactar:

Re: injektor2xex

Mensaje por SpaceInvader » Lun May 22, 2017 1:47 am

Suppawer escribió: Tengo error en la línea 3 de injektor2xex.py: "from systems import systems"
Me pasa lo mismo, con Python 2.7

Responder