grantbreaksthings/sgb_corrupter

Possibility of schematics?

Closed this issue · 6 comments

Hey Grant!

Awesome work with this first! I am wondering if you have any schematics around for this project, I bet there are some people out there who would love to rebuild a hardware corruptor for themselves! (Maybe even build up on it and add extra features)

Would be nice of you to share any schematics in this Repo.

Greetings, Danny

Unfortunately I did not make any schematics when I was designing it, and I don't think I'd be able to recreate them from memory. The theory of operation is pretty simple (forcing various bus lines to read logic low to induce corruptions), but that won't be enough for anyone to recreate the corrupter unless they already have some electronics knowledge.

I am designing another corrupter right now for a different system, and I do plan on creating more detailed documentation and schematics for this one. My goal is to make something simple and easy to understand so anyone will be able to replicate it and play with it at home.

Of course, if you have any other questions, I'd be happy to answer them.

Ah, awesome!
Which system if I may ask?
Have you considered the possibility of a somewhat "multi system corruptor"?
(As in designing it as a modular system in mind with the capability to swap out different corruption modules.)

Obviously providing a one for all corruptor is out of the question, but something like this would leave ways to implement those at some point. (or someone else could.)

Rough skeleton would consist of a main controller board which has a common set of instructions for corruption functionality around, which communicates with the inserted console module that then basically translates the general corruption instructions to the specific system.

I'm not an electrical engineer myself, just have some basic knowledge, but I'm a software developer by trade and would be happy to help out with any code implementation. (Arduino C, tiny bit of Asm...)

Guess I'll let you think about my idea for your corruptor and would be happy to hear any feedback and/or objections on why this might not be ideal.

Sent from my Fairphone FP2 using FastHub

I'm building one for the SNES. I actually did think about building some kind of corrupter that you could just migrate between systems, but the problem with that is actually getting the corrupter to interface with the systems. The most reliable way to do it is to open the console up and directly solder wires to the exposed traces and test points on the circuit board. Some systems have expansion ports that allow you to access things like the CPU and GPU busses, but they're radically different for each system and (in the case of the Gameboy) sometimes don't exist at all.

I suppose it would be possible to produce a corrupter "core" and then just solder it into the system, I'll see if I can design this corrupter board with that in mind. I know that I can greatly simplify the workings of my previous corrupter, and I'd like to design a proper PCB to solder to the system and an API to run all the software. Vinny might grow tired of using the corrupters on stream, but I think a lot of people could have fun building a corrupter and inducing their own glitches at home.

Also. Super jealous of your Fairphone. 👍

Hey!

[...] actually getting the corrupter to interface with the systems. The most reliable way to do it is to open the console up and directly solder wires to the exposed traces and test points on the circuit board.

Yea, but with the expansion modules that should be possible, I guess.

I suppose it would be possible to produce a corrupter "core" and then just solder it into the system,

A main core for the common functionality, which contains an API with common corruptor functions which get translated to the specific console by the individual expansion modules would be the best bet, as I said in my post too.

I'd like to design a proper PCB to solder to the system

Definitely! A proper designed PCB is making things more clean and organized and I guess allows for better alteration in the hardware. I think designing it with SMD components would benefit the overall size and bulkyness of the product. For overall prototyping it's fine to use through-hole components. :D
Once everything is designed and working you could ask around in several communities for interest in bare PCBs and if enough people want it then ordering professional etched boards from a company offering that. (Not really feasible for small quantities, would be too expensive.)

Vinny might grow tired of using the corrupters on stream, but I think a lot of people could have fun building a corrupter and inducing their own glitches at home.

I don't know actually. He certainly likes his corruptions! Plus the community behind him as well. Providing him a great hardware tool to play with, that also offers some customization is probably very interesting to him!

Also. Super jealous of your Fairphone. 👍

Haha! Thanks! Nice phone, actually working on some external hardware modules to plug into the extension port on the back of the phone.

I'm starting to really like the idea of the PCB. I've gotten my own PCB printed through OSHPark before, I think it would be a pretty good idea to get one for this. It also has the benefit of the ability to quickly manufacture cores.

The thing I'll need the most help with is the API. I'm thinking the best way to do it is to create a Bus object with n number of Bus lines. Then if you wanted to, for example, pull GPU bus line 6 low to induce a corruption, you could just use something like GPU.ln6.digitalWrite(low). What do you think?

I've created a new repo for the upcoming corrupter, which I'm calling the CorruptCore. The first revision of the schematic is done.
I still value your input, but please post any thoughts on the new repo. I'm closing this issue.
https://github.com/granthaack/corruptcore