100_6193

Después de unos días tocandome los coj.. estee, dedicándome a asuntos personales, tocaba una nueva chapuza. Hace unos días me pasaron una supernintendo para doparla con el SuperCIC. Para los que no lo conozcáis, es una maravilla de mod para éstas consolas: Region Free + 50/60Hz + Sin interruptores… Un sueño hecho realidad. Con presionar el botón reset cambia de región, e incluso tiene un modo automático, adiós a los interruptores.

¿Más información? Bueno, como supongo que sabéis, la mayoría de las consolas clásicas llevaban algún tipo de protección regional, de forma que un cartucho Japonés o Americano no podía funcionar en una consola Española, ni viceversa. En concreto, la supernintendo usaba unos chips que funcionaban a modo de «llave»-«cerradura», llamados chips «CIC». Si la llave del cartucho no encajaba con la cerradura de la consola, pues ésta no encendía. Los adaptadores de juegos de importación y similares hacían funcionar los cartuchos de normalmente usando un cartucho de la misma región, puenteando las «llaves» (algo así como tomar la llave prestada de un cartucho, mientras se juega a otro), pero no siempre funcionaba. Algunos cartuchos con el chip SA-1 (el Mario RPG por ejemplo) buscaban también el CIC de la consola, y si no coincidía se negaban a funcionar.

El superCIC es un sustituto de código abierto para esos chips (no os olvidéis de dar las gracias a «ikari_01», el creador del proyecto), implementa la lógica de los CICs llave y cerradura, haciendo que la consola sea multisistema «de verdad».No solo eso, además, puede poner la consola a 50 o 60Hz, algo muy importante para algunos juegos con protección regional basada en software (muchos de square y nintendo). Por no hablar de que ahora los juegos irán mucho más fluidos (un 13% más rápido si mal no recuerdo). Los mods clásicos de supernintendo implican añadir interruptores para hacer ese cambio, pero con este chip se puede hacer con el mismo botón de reset. Es decir, dejando apretado el reset un par de segundos la consola cambia de región. Personalmente me parece un avance, odio perforar las carcasas de mis consolas y los interruptores «estandar» suelen ser horribles. Con esto se queda la consola con un acabado totalmente profesional.

Al lio

Para instalar el SuperCIC vamos anecesitar los siguientes elementos:

  • Pic 16F630
  • Código para el superCIC (descargar aquí : supercic_rgb_led )
  • Programador de pics
  • 2 resistencias de 220 Ohms (ojo, 220, no 220Ks)
  • 1 resistencia de 10Ks
  • Un led bicolor (también funciona un led rgb, pero estos son maś cómodos)
  • Destornillador gamebit o similar
  • Cable de hilo de cobre fino, soldador, estaño, paciencia y saliva

Entre todos los materiales, creo que suman 1,50€ como mucho. El destornillador gamebit se puede conseguir en ebay, aunque con un boli bic y un mechero se puede hacer un adaptador rápidamente. En mi caso, me pasaron la consola ya abierta, así que no tuve que preocuparme por quitar los tornillos de la carcasa. En cuanto al programador de pics, si tenéis un ordenador con puerto serie o paralelo, hay multitud de tutoriales sobre cómo construirse uno por 2-3€. Podéis buscar en google «jdm pic programmer» y saldrán multitud de tutoriales. Aquí un ejemplo que me ha parecido bastante interesante:

http://electronics4everyone.blogspot.com.es/2008/03/how-to-build-your-own-pic-programmer.html

En mi caso prefería un USB, ya que trabajo con un portátil. Lo malo es que esos son un poco más caros (rondando los 30€ uno «profesional»), y hacérselo a base de piezas tampoco sale tan barato (rondando los 7-8€). Después de varios problemas al final me compré este en ebay (por 14€ paso de soldar y romperme la cabeza):

http://www.ebay.es/itm/121101044340?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Una vez tenemos el SuperCIC programado, pasamos a la parte más aburrida, soldarlo a la placa para reemplazar en CIC original. Para eso, tenemos dos opciones, o desoldamos unas cuantas patillas del original, o lo removemos directamente. Puestos a hacerlo bien, yo aconsejo remover el viejo, pero sólo si tenéis suficiente maña con el soldador. Os dejo un par de fotos del proceso:

Snes1
Foto panorámica de la placa de supernintendo. A la izquierda está el chip CIC que vamos a remover. A la derecha están los PPUs, levantaremos las patillas marcadas en rojo para realizar el mod de 50/60Hz.
snes2
Foto con el CIC removido, en rojo está la numeración de los pins que se usarán con el nuevo chip. No hagáis estas cosas cuando estéis de los nervios, es muy fácil romper los hilos de cobre.

En este caso estamos haciendo dos mods en uno, reemplazar el CIC y poder seleccionar el modo 50/60Hz. Para el segundo mod, es necesario levantar las patillas 30 y 24 de los PPUs (ver la foto). Si se ponen a 5v o a GND le indican a la consola si están en modo PAL 50Hz o NTSC 60Hz. Para desoldar las patillas os aconsejo usar una aguja o un alfiler, podéis meterlo fácilmente debajo del chip o entre las patillas, para hacer palanca y moverlo mientras se aplica calor con el soldador. MUCHO OJO, son muy frágiles y es fácil romperlas si no se tiene cuidado.

Echándole un ojo al código del superCIC, nos encontramos con el siguiente pinout:

snes3

Entre corchetes tenéis los números de los pines del cic original al que hay que soldar. Si le echáis un ojo al documento original, veréis que el superCIC tiene varios modos de configuración. El pin 4 puesto sirve para activar el modo «automático» de región, cuando se hace eso, el CIC pondrá la consola a 50Hz durante 9 segundos, para pasar luego a 60Hz. Esto es útil para los juegos pal con protección de región, éstos juegos necesitan iniciar en 50Hz antes de cambiar de región. En mi caso lo dejé activado, a 5 voltios.

También es interesante comentar que el superCIC soporta dos tipos de leds de colores, los RGB y los led «bicolor». Para seleccionar entre uno y otro se usa el pin «7», poniéndolo a tierra se selecciona el modo de «led bicolor» (mi caso).

Por último, si habéis quitado el CIC original tendréis que añadir una resistencia de 10K entre el pin 8 del cic y tierra. Os pongo algunas fotos del proceso:

100_6162
Resistencia de 10K puesta. No os aconsejo ponerla ahí, luego me costó poner la chapa protectora de la consola.
100_6163
Y aquí el lío de cables con el superCIC ya soldado. Podéis usar celo o cinta aislante para los pones de 50/60Hz, es fácil que se muevan y hagan contacto con algún otro pin o cable.

Lo siguiente es soldar el nuevo led bicolor. Para eso, tenéis que quitar el rojo original de la consola, desoldándolo o cortando las patillas. El led bicolor tiene 3 patillas, la central va a GND tierra, y las otras dos a los pines 5 y 6 del superCIC. Las patillas roja y verde del led necesitan también una resistencia, he usado dos de 220ohms.

snes4

100_6174
Led reemplazado. No es obligatorio, pero queda más pro 🙂
100_6164
Montaje a medio cerrar, fijaos de dejar hueco para los cables que van a los leds, y que sean suficientemente largos

Y por fin vamos a la parte molona, las pruebas :). Hice pruebas con varios juegos, todos funcionaron perfectamente aunque os pongo los más representativos: Tetris attack PAL y Chrono trigger JAP:

100_6165
Tetris attack iniciado a 50Hz. Son odiosas esas barras negras horizontales. Un detalle, la «línea» negra del centro sale por culpa de los 50Hz, a 60Hz la cámara apenas lo capta.
100_6166
Cambio a 60Hz en medio del juego, ahora a pantalla completa da gusto 🙂

 

100_6168
Mensajes de protección regional. Si os pasa esto solo hay que inicar en modo 50Hz y luego cambiar a 60Hz en medio del juego.
100_6171
El Chrono Trigger dándolo todo a 60Hz. Anda que no mola la intro 🙂

Y hasta aquí la chapuza de hoy. No es especialmente difícil de realizar, aunque entre cortar, pelar y soldar cables se me fue casi una hora. Existen proyectos similares para otras consolas, Megadrive y Saturn por ejemplo. Cuando pueda me pondré con ellas también, de momento estaré entretenido algunos juegos a 60Hz.

Por Marcos

29 comentarios en «Dopando una supernintendo con el SuperCIC (Diario de un chapuzas)»
  1. Gran articulo para los que nos gusta cacharrear.

    Por cierto, ¿me recomendarías quitar el mod de las 2 palancas (60/50hz y región) y hacer este mod? Creo que si algún día otra super me liaré con ello pero mientras, y para evitar romper algo ahora que ya está todo hecho, la mia quedará tal cual.

    1. Si ya la tienes con las palancas lo instalaría solo para tener el CIC multiregión y pasar de adaptadores. Dejaría las palancas, el agujero ya está hecho así que te da igual, y con no usar los pines del led y modo de región es suficiente. Para la nueva que pilles instálaselo, lo recomiendo 100%.

  2. Hola.

    Quiero intentar hacer este mod y ya tengo el programador y el pic.

    Imagino que para ti es sencillo, pero yo es la primera vez que me pongo con algo de usar estos programadores. Cuando llegue al tema de soldar espero no tener problemas.

    Bien, mas o menos he puesto los drivers y tengo el software del programador.

    Primera pregunta: Cuando descargas el zip supercic_rgb_led, dentro te encuentras lo siguiente:
    supercic-key.asm
    supercic-key.hex
    supercic-lock.asm
    supercic-lock.hex

    Entiendo que lo que hay que programar son los hex, pero cual de ellos? Me decantaría por el «key», pero es más intuición que conocimiento.

    Saludos.

  3. Y aprovecho que por fin he logrado hacer funcionar el programador de marras.

    Cuando cargo el supercic-key.hex, al ir a programarlo me dice algo asi como:

    the oscal value should be in the form of a retlw instruction [34xx]
    Currently [3Fxx]
    Do you want this changed? Yes, No, Cancel

    Y me quedo con cara de…. WTF!

    Gracias.

    1. Hola Ronin, ¿qué programa estás usando para grabar? Supongo que es el del k150, ese mensaje me sale a mi también, te lo explico lo mejor que pueda:

      – Los pics que estás usando llevan un oscilador interno (un reloj) que viene calibrado de fábrica. El valor de calibración está dentro de la memoria del pic, y tienes que leerlo e insertarlo en el «hex» antes de grabarlo. El error que te sale es porque no lo has hecho, símplemente te está avisando de que no está listo para grabar porque te falta el valor de calibrado (oscal). Mucho ojo, no lo grabes sin haberlo leído antes. Si lo haces lo perderás para siempre, es único por cada pic.

      – El programa que usas para grabar lo sabe hacer automáticamente, tienes que apretar un par de botones. Supongo que es el programador k150, abajo en el centro hay un grupo de 6 botones, aprietas en «CALIB» (porque vamos a «calibrar» el código»)
      – Te dirá un mensaje parecido al anterior:
      «the oscal value should be in the form of a retlw instruction [34xx]
      Currently [3Fxx]
      Do you want this changed? Yes, No, Cancel»
      Aprietas en «YES»
      – Te saldrá una ventana llamada «OSCAL» donde puedes escribir un par de valores. Dejas lo que ponga y le das al boton «READ», para que lo lea del pic que tienes conectado. Si todo ha salido bien los valores que había por defecto cambiarán a los leidos del pic. En ese momento le das a aceptar a todas las ventanas, y ya estarás preparado para grabar el pic.

      Lo tienes que hacer una vez por cada pic que vayas a grabar, por lo que comentaba antes. Mucha suerte, avisa si tienes cualquier problema :).

  4. Pues si, tengo el k150 que recomendabas en el post.

    Y para mi «desgracia», ya he grabado el pic diciendole que no, diciendole que si, el hex del lock y el hex del key, así que me imagino que ese pic lo he destrozado.

    Pero que no cunda el pánico, que compré 5 pics de golpe, así que ese lo tiraré a la basura y pillaré otro de la bolsa.

    Hago un repaso:

    1.- Conecto el k150 con el pic y selecciono el tipo de pic que tengo.
    2.- Cargo el hex, supercic-lock.hex, con el software que viene para el k150
    3.- En el grupo de iconos de abajo del centro, le doy a calib y sigo tus instrucciones:
    – El programa que usas para grabar lo sabe hacer automáticamente, tienes que apretar un par de botones. Supongo que es el programador k150, abajo en el centro hay un grupo de 6 botones, aprietas en “CALIB” (porque vamos a “calibrar” el código”)
    – Te dirá un mensaje parecido al anterior:
    “the oscal value should be in the form of a retlw instruction [34xx]
    Currently [3Fxx]
    Do you want this changed? Yes, No, Cancel”
    Aprietas en “YES”
    – Te saldrá una ventana llamada “OSCAL” donde puedes escribir un par de valores. Dejas lo que ponga y le das al boton “READ”, para que lo lea del pic que tienes conectado. Si todo ha salido bien los valores que había por defecto cambiarán a los leidos del pic. En ese momento le das a aceptar a todas las ventanas, y ya estarás preparado para grabar el pic.

    4.- Me dice que si quiero grabar en el HEX los valores leidos. Le digo que si.

    5.- En el grupo de iconos del centro, le doy a «program» y a esperar a que acabe.

    Es correcto? Si es así pongo otro pic y le doy caña.

    Muchísimas gracias.

    Saludos.

    1. Sí, con eso debería de bastar. Las siguientes pantallas te preguntan si lo quieres insertar en el código (obviamente, sí), y si quieres grabar el programa. Lo estoy diciendo de memoria, revísalo por si acaso pero creo que no había nada importante. Si quieres asegurarte antes de grabar, apunta en un papel los valores de «calibración» y «bandgap» leídos, así no los pierdes si se borran.

      El pic que has borrado tampoco está perdido, puedes usar los valores de otro pic, no es lo apropiado pero es mejor que nada. Lo único que ocurre es que no será lo más óptimo posible, y quizás se cuelgue en algún momento ya que el timming es importante en el supercic. Podrías usarlo para un mod tipo «switchless» de megadrive u otra consola, en esos mods el timming no es importante ya que solo detectan si un botón está apretado o no.

      Suerte!

      1. Pues venga, voy a grabarlo a ver si hay suerte.

        Y como tengo por ahí una MD que le hice el mod con las palancas de esta página y no me acabo de funcionar del todo bien, miraré si has hecho el mod «switchless» para MD y lo intento hacer.

        El tema es que me ha dado por hacer todos los mods que tenía pendientes, y ahora estoy con el RGB de la N64 y con este de la SNES y hasta que no los acabe no me meto con otro.

        Ya te daré más la brasa 😉

        Gracias!!!

        1. Mucha suerte con el mod, el switchless de la MD 1 lo tienes en este blog y en breve (cuando saque un rato) subiré el de la Megadrive 2. Hay varias revisiones de placas así que es probable que cambie un poco si no tenemos la misma megadrive, pero es fácil de adaptar. Aparte le he añadido un extra al de MD2, usar el oscilador NTSC original o el PAL a elección, para que el mod sea 100% real. Realmente la única diferencia es que ganas un pelín más de velocidad y que se ve en colores cuando usas el cable AV básico.

          Qué mod de RGB estabas pensando hacer para N64, ¿el de una N64 PAL
          o JAP? Estaba haciendo el mod RGB «difícil» de la N64 PAL, cuando acabe y si funciona bien subiré el tutorial. Te aviso por si acaso te sirve, para que no vayas a ciegas, aunque puede que aun tarde unas semanas en acabarlo.

          1. De momento ya he empezado a soldar cables después de levantar los pines y ponerme a llorar por la vista que he perdido con la edad :'(

            Es complicado lo de los pines, pero ya tengo el cic original quitado y todas las patas levantadas.

            A ver si hoy le doy un poco más de caña y avanzo.

            Lo de la N64, es una JAP que me he pillado en RetroBarcelona, de las primeras que salieron, de hecho tiene un serial que se supone que fue una de las que se usaron de exposición o en las primeras ferias. Le haré el mod del RGB con un amplificador a la salida para tener más brillo. Estoy a la espera de que me llegue el amplificador que he decidido comprarlo por 16€ y no liarme más de la cuenta.

            Ya informaré.

            Saludos.

          2. Éxito a medias :'(

            La consola parece que funciona, porque he metido el Super Mario All Stars y nada más encenderla, me dice que el juego no pertenece a la región. Mantengo pulsado el reset y sigue la pantalla de bloqueo, pero si hago un reset normal, funciona a 50HZ y arranca. Una vez arrancado, hago otro reset largo y se pone a 60Hz y pantalla completa, con lo cual la cosa parece que va bien.

            Primer tema, pongo el Super Mario World a 60Hz, y cuando mario le da con la cabeza a los altavoces esos que te salen mensaje con un fondo negro, no se ven, y de tanto en tanto la pantalla da como «chispazos». Supongo que el juego está programado para los 50Hz y por eso pasa eso, tengo que meter en el Everdrive juego y probar varios (luego comento lo del everdrive)

            Segundo tema y más importante.

            Arranco la consola de 0, y el led NO SE ENCIENDE, ni verde ni ostias. Con lo cual, no se bien el modo que estoy. Si le doy un toque largo, cambia a rojo y si le doy otro toque, ya no se a que cambia, porque se apaga de nuevo.

            Preguntas varias. El código supercic que tienes puesto aquí, puede ser que sea antiguo o que haya sacado alguno nuevo?

            Tienes idea de que puede estar pasando? Ahora me he traído el tester al trabajo y la desmontaré y probaré continuidades a ver que pasa y si puedo hago unas fotos de como está todo.

            Saludos.

          3. Pongo unas fotos de como he soldado todo, y al desmontar de nuevo, he visto que uno de los cables del led estaba partido. Como uso los hilos de un cable UTP de red, son bastante rígidos y a veces parten.

            El hilo roto se ve en la última foto. A ver si esta tarde puedo hacer más pruebas en casa y ver si funciona como debe.

            http://i64.tinypic.com/1zvesk8.jpg
            http://i65.tinypic.com/ioeoes.jpg
            http://i66.tinypic.com/169qn86.jpg
            http://i67.tinypic.com/n4v30p.jpg
            http://i68.tinypic.com/2055jyu.jpg

            Saludos.

          4. El mario world no es el mejor para probar, recuerdo que el PAL tenía fallos gráficos a 60Hz, prueba algún otro. Muchos de los juegos de nintendo estaban adaptados a 50Hz, jugarlos a 60Hz es mala idea por eso. Juegos PAL como mario kart, starfox, etc… muchos de esos usaban chips con timmings específicos para 50Hz así que mejor prueba otro. Recuerdo que varios de capcom como street fighter o similares de lucha iban perfectos a 60Hz. En general, la protección regional la ponían por eso, si te encuentras la pantalla de «No es de la misma región» es porque hay algún glitch al jugarlo a 60Hz.

            El código que puse aquí que yo sepa es el último, lo sigo usando cada vez que alguien me pide el mod así que te aseguro que funciona. Lo que dices que a veces se enciende o no se enciende el led suena a una mala soldadura, debes de tener un cortocircuito en algún sitio. Si no te fías de haber grabado bien el PIC mándame un correo por el formulario de la web con tus datos y ya te mando yo uno programado.

            El que se apague la consola es MUY mala señal, por mucho que esté mal grabado el pic no se tiene que apagar la consola. Es decir, a las malas le llegaría un «0» o tierra a la PPU pero aun así funcionaría, y al led solo le debe llegar corriente del PIC. Si se apaga es que hay un corto en algún sitio, ¿no se quema el fusible?

            Lo dicho, si te es más cómodo mándame un correo con el formulario de la web y hablamos por mails.

          5. Perdona, el anterior comentario se había quedado en moderación y no lo he visto hasta ahora. ¿Pudiste solucionarlo? Si puedes repasa las soldaduras que van a la placa, los hilos se ven un poco separados/flojos, lo demás parece estar en orden. Yo suelo usar cable 30awg, en ebay tienes rollos de 10 metros por 1€ o menos y no va mal para estas cosas.

  5. Marcos, te respondo con un comentario nuevo, que no me deja responder al tuyo.

    Ya lo tengo funcionando, solo con soldar el cable ese que se había partido del LED, ya funciona todo.

    No tengo muy claro lo del modo automático, porque pasan los segundos y la consola no hace nada, o al menos que yo vea, pero vaya, que lo hago yo a mano lo de arrancar a 50 o 60 y luego cambiar, así que para mi, ya me sirve.

    Muchas gracias por tu ayuda.

    Ahora a por el RGB de la N64 y después a por el switchless de la MegaDrive!!!

    Saludos.

    1. Y amplio con más cosas que se me ha olvidado.

      Cable del que me propones, ya he hecho un pedido en aliexpress, que el de cable UTP no va mal, pero es demasiado rígido.

      Lo de que la consola no encedía, resulta que era por el conector de los cartuchos, el que hay en la consola. Originalmente tenía unos pines hundidos, y compre a un tio de EOL un conector de esos de recambio, pero tiene oxido y mierda para alicatar 3 cuartos de baño y parece ser que no funciona bien.

      Como en esa consola voy a usar el everdrive chino, no necesito los conectores esos que tengo tocados, que son los de las esquinas, los que se usaban para el chip fx y demás, así que le he vuelto a poner el conector original, y ahora funciona.

      Saludos.

  6. Hola lo he hecho desde cero como indicas y el caso es que los juegos japoneses y pal funcionan , el marioworld parpadea como dijiste.
    Pero al pulsar el boton reset no resetea eso es normal?

    1. A mi al pulsar el reset con un solo toque si me resetea. En el everdrive me vuele al menu del everdrive y en los juegos originales, me reincia el juego.

      Saludos.

  7. No hubiera venido nada mal un esquemita o al menos una breve reseña con los conectores de la placa de los que sacar 5v y GND. Ni siquiera has comentado donde los has conectado tú particularmente…

  8. Las imágenes 2,3 y 4 indican exactamente en donde he soldado. En concreto la 4 muestra la numeración de pines del supercic, y su correspondencia con el zócalo del CIC original y las ppus. No he mostrado VCC, pero lo puedes sacar del pin 81 de la ppu1 por ejemplo.

    Saludos

  9. Hola!

    Hoy me he puesto con el tutorial y he seguido los pasos del tutorial pero la consola no saca imagen (Saca una especie de cuadrados de colores, el sonido si funciona) y si presiono reset parece cambiar de modo correctamente.

    He comprobado de nuevo los puntos de soldadura y en principio veo todo bien.

    ¿Podeis intuir que puede estar ocurriendo?

    https://ibb.co/k3d9GQF

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *