Vinetalk

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4 5 ... 9

Author Topic: The Vinesauce ROM Corruptor  (Read 78407 times)

0 Members and 1 Guest are viewing this topic.

Ululator

  • Butt
  • *
  • Posts: 6
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #30 on: May 09, 2013, 06:23:47 PM »

I decided to have some fun and alter the corruptor to save and load corruptions based on a hash of the rom data used instead of the filename. What this means is that whenever you receive a corruptor txt or tinyurl link, you can always be sure the other person was using the exact same rom and thus the corruption will work in the exact same way.



I might have made the window a bit too tall this way. And it is currently not backwards compatible with previously saved tinyurls or txts, but I could make it so if someone has a bunch of them they dont want to lose.

Rikerz, I can put this up on github or whereever if you are ok with it. If you put up the original source as well I can even work on it as a proper fork, so it shows you as the original author and I could send pull requests, get more people in on this. It's fun working on this.

One of the next things I want to work on is making the program register itself as an url handler, so you can post links in the forums or maybe even in chaget that will start the rom with the corruption directly. Another idea I had was forking nestopia so it exits with a failure code if it encounters a cpu jam. That way the corruptor could weed out the corruptions that hang on startup without user input. Third idea I had is putting up an image that uses the bytes of the rom directly as colors, so you get an idea of what you are corrupting. For a maximum crazy difficult idea, I'd like to get nestopia to expose the CPU state, rom and ram memory as a memory map to the corruptor, so you could look at the cpu working its way through the memory and make a heatmap of often accessed ranges and possibly even corrupt it live. Maybe you could even implement netplay through the corruptor this way? Sync controller state as often as you can and the whole ram/cpu state every second or so? The nes has only 2 KB ram, kind of fits in a single UDP packet, so that's not as crazy as it sounds. Man, that kind of netcode could even handle live corruption by the server. What if we could make it peer to peer though, have something decide who's state on which memory range has preference. You could set ranges of memory to be a kind of input for any amount of players. What if everyone in chat gets to corrupt a tile type on the screen, fully live on stream? Not impossible!
Logged

Ululator

  • Butt
  • *
  • Posts: 6
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #31 on: May 10, 2013, 06:18:52 PM »

It might not like spaces in the directory names of the rom's path, if there are any. Try putting your corrupted rom in a directory that doesn't have any spaces. This might be a bug of the corruptor actually, I'll investigate.
Logged

Ululator

  • Butt
  • *
  • Posts: 6
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #32 on: June 04, 2013, 05:48:00 PM »

The hash based saving/loading of corruptions works. Gone are the days of not being sure you have the same file as someone else.
VRC not dealing well with spaces in the rom paths was a bug. I have fixed it on the branch of the program that also has the hash based saving and loading, which you can download here. I'd like to get some feedback on it, whether I didn't break anything and whether loading old saved corruptions works as well as it should or just things you'd like and dislike about it.

If you are curious you can also take a look at the code on github here
Logged

DemEngineerz

  • Chat Mod
  • Fetalisk
  • *****
  • Posts: 326
  • Froakie! ヽ(*・ω・)ノ
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #33 on: June 06, 2013, 01:46:32 PM »

NEW DEVELOPING STORY!

I've just discovered that people who usd multiple partitions will have trouble loading the corrupted ROM into their emulators directly from the Corruptor. Save the corrupted ROM in your C:\ Drive!
« Last Edit: June 06, 2013, 01:49:54 PM by DemEngineerz »
Logged

Rikerz

  • Meister
  • ***
  • Posts: 33
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #34 on: June 12, 2013, 07:23:41 PM »

Version 1.1.0 has been released. It includes the hash-based saving feature, as well as several bug fixes. Many thanks to Ululator for developing this new feature.

I've just discovered that people who usd multiple partitions will have trouble loading the corrupted ROM into their emulators directly from the Corruptor. Save the corrupted ROM in your C:\ Drive!

This bug should be fixed now.
Logged

Xirix

  • Butt
  • *
  • Posts: 7
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #35 on: June 16, 2013, 01:14:00 AM »

What emulators would you recommend using for each system with this? I've only been playing around a little bit, but it seems zSnes really doesn't like to run the rom on several corrupts that snes9x was fine with.

Also I noticed on the Donkey Kong Country video Vinny just slowly increased the starting byte only and had the 'Corrupt every x bytes' set to a high number. If this is set to a low number, will the corruption in the Rom continuously change while playing, rather than having to restart each time?

Also when trying N64 corruptions on Project 64 1.6 I keep getting an error saying "In a permenant loop that cannot be exited" and it has to close, and 1.7 just won't open the rom.
« Last Edit: June 16, 2013, 01:24:47 AM by Xirix »
Logged

Rikerz

  • Meister
  • ***
  • Posts: 33
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #36 on: June 17, 2013, 05:08:53 PM »

What emulators would you recommend using for each system with this?

Any emulator you use must be OK with the ROM being corrupted. Some emulators will not run the ROM if they detect it has been corrupted. This detection is usually done via checksum, and there is usually an option to disable it. I would recommend Nestopia for NES and SNES9X for SNES. I haven't done too much corrupting for other systems so I cannot really offer advice for them.

Also I noticed on the Donkey Kong Country video Vinny just slowly increased the starting byte only and had the 'Corrupt every x bytes' set to a high number. If this is set to a low number, will the corruption in the Rom continuously change while playing, rather than having to restart each time?

No. If you want a different corruption, you need to change the settings and re-corrupt the ROM. The program takes the normal ROM as input, corrupts it, saves the corrupted ROM, and then tells the emulator to start with the corrupted ROM.

Also when trying N64 corruptions on Project 64 1.6 I keep getting an error saying "In a permenant loop that cannot be exited" and it has to close, and 1.7 just won't open the rom.

The more complicated the system is, the more likely you are to encounter issues like this. There is an N64 corruption guide posted here which may help you.
Logged

Xirix

  • Butt
  • *
  • Posts: 7
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #37 on: June 18, 2013, 03:12:43 AM »

Thanks for the info, I'll definitely check out that N64 guide. Any idea if Playstation games can be corrupted? I'm going to have a look myself sometime.

One more question though, since you need to rewrite the rom and restart the emulator per corruption, is there a way to save your game at all? Whether through in-game saving or save states? Say I wanted to corrupt Final Fantasy 6, which is a long game.. would I be doomed to just playing the first part of it?
Logged

ThirdScenario

  • Shyguy
  • *
  • Posts: 538
  • Sir and Doctor, Consistent and Forever In Context
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #38 on: June 18, 2013, 03:41:10 AM »

One more question though, since you need to rewrite the rom and restart the emulator per corruption, is there a way to save your game at all? Whether through in-game saving or save states? Say I wanted to corrupt Final Fantasy 6, which is a long game.. would I be doomed to just playing the first part of it?

No. The corrupter always saves the output as whatever's under "Save Corrupted ROM To:" (either creating it if that doesn't exist, or overwriting it if it does). This because typically one changes the settings, corrupts, plays it a bit, changes the settings some more, corrupts, etc.; that way, you don't suddenly find yourself with a dozen corrupted ROMs that are mostly similar and'll most likely get deleted.

All you'd have to do is corrupt the ROM, then go to wherever it gets saved and rename it (e.g."FF6corrupt.smc"). The next time you corrupt something, it'll save as whatever it says under "Save Corrupted ROM To:", but FF6corrupt.smc will stay the same.
« Last Edit: June 18, 2013, 03:43:06 AM by ThirdScenario »
Logged

[color]Thanks for displaying these good, healthy, explanatory and as well as easy tips on your topic.[/color] elliptical bikes

Xirix

  • Butt
  • *
  • Posts: 7
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #39 on: June 20, 2013, 02:59:50 PM »

No I know i saves and overwrites the rom per corruption. What I was asking is will save-states in the emulator, or hard-saving (with save files) will work despite the rom changing each time?
Logged

Rikerz

  • Meister
  • ***
  • Posts: 33
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #40 on: June 20, 2013, 04:23:23 PM »

No I know i saves and overwrites the rom per corruption. What I was asking is will save-states in the emulator, or hard-saving (with save files) will work despite the rom changing each time?

Save states will always work. Saving and loading within the game itself may break due to corruption.

Save states store the state of the CPU registers and RAM. Therefore, you could play an uncorrupted ROM up to a certain point and make a save state. This save state will have the uncorrupted data in the CPU registers and RAM. If you then corrupt the ROM, you can still load this save state. Immediately after you load the state, it will be as if the ROM was not corrupted, as the CPU registers and RAM contain data from the uncorrupted ROM. However, as soon as the CPU starts clocking, it may start to load data from the corrupted ROM into the CPU registers or the RAM. You can also make a save state of a corrupted ROM and then load it into a differently corrupted ROM. Obviously, loading a save state from what is essentially a different ROM could cause a CPU jam.
Logged

aperson

  • Meister
  • ***
  • Posts: 36
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #41 on: July 06, 2013, 11:58:40 AM »

Would it be possible to change the where the save/load/run buttons are? I have a 1366x768 monitor that cannot display the entire window and even if I moved the window up, windows refused to display the bottom toolbar. When I put it in portrait mode everything appeared fine.
Landscape:
http://i.imgur.com/l5JSRvh.png
http://i.imgur.com/4zI6KC2.png

Portrait:
http://i.imgur.com/1QW5lEB.png
Edit: I fixed it myself: https://anonfiles.com/file/b1eb6b74b599e89ceebac0be68e413a7
« Last Edit: July 06, 2013, 12:39:46 PM by aperson »
Logged

Rikerz

  • Meister
  • ***
  • Posts: 33
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #42 on: July 08, 2013, 09:36:40 PM »

Would it be possible to change the where the save/load/run buttons are? I have a 1366x768 monitor that cannot display the entire window and even if I moved the window up, windows refused to display the bottom toolbar. When I put it in portrait mode everything appeared fine.
Landscape:
http://i.imgur.com/l5JSRvh.png
http://i.imgur.com/4zI6KC2.png

Portrait:
http://i.imgur.com/1QW5lEB.png
Edit: I fixed it myself: https://anonfiles.com/file/b1eb6b74b599e89ceebac0be68e413a7


What exactly did you change? It seems like an easy fix that I should incorporate.
Logged

aperson

  • Meister
  • ***
  • Posts: 36
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #43 on: July 09, 2013, 07:17:00 PM »


What exactly did you change? It seems like an easy fix that I should incorporate.

Quite literally all I did was extend the window to the right and move all of the buttons normally at the bottom into the new empty space.
Before:

After:
« Last Edit: July 09, 2013, 08:55:39 PM by aperson »
Logged

IncomingNumbers5643

  • Funguy
  • **
  • Posts: 381
  • Personal Text!
    • View Profile
Re: The Vinesauce ROM Corruptor
« Reply #44 on: July 09, 2013, 08:34:42 PM »

if we have people messing around with the ui would it be possible to make a smaller "purist" corrupter with the text and color replacement fields gone? I like my screen real estate and I never use those features.
Logged
Pages: 1 2 [3] 4 5 ... 9