In dedication of XXXSEED Games and the WyrdWad KKK Witch era, we present Jeff "DeuceBag" Nussbaum in his own words:

Why, if I didn't know any better, I'd say Psycho Jeff is involving/attacking innocent families of neo-geo.com fans he wants to watch die AND help murder/kill [painfully]!! And I for one did *Nazi* see that coming! Remember how a defining part of the WyrdWad era (Tom-chan Lipschultz) was equating targets to Hitler/Nazis ? Isn't this rant by Jeff/Deuce a Nazi eugenicist speech ? The "superior" fat, bald, cocky cock-flasher says numerous people AND their offspring need to be exterminated/murdered for being inferior, who represent a "pollution" of the human gene pool... Sure sounds like a Nazi rant, am I wrong XSEED fans/shills ?? Looking at you, DigitalEmelas! I mean, if it looks like a duck and walks like a duck, ya know ?? But what do I know right ? Everybody's ignoring it and other XSEED embarrassments... This vile psycho SOB got a pass for just about anything awful and toxic that he ever said/did (meanwhile my alleged "sins" can NEVER be forgiven according to him/Tom...)! Worse, NIS America keeps on letting him poison the Ys series with his mere disgusting presence and questionable WWWJDIC-assisted translations!

This type of homicidal outburst by the "severely misanthropic, extremely arrogant, self-involved asshole" (100% HIS words!) wasn't the first either: when one of his bosses fired him (shock!), he not only wanted him dead but implied his kids must be as horribly ugly as he is! He didn't think anyone would read his blog, but like omgfloofy says, "Know your translator..." I was also added to his kill-list when I trolled him on Kotaku's KKK Witches article (he wants me to die by an acid bath and/or brain disease, that's right, he blew me a "death kiss")... Another funny anecdote: while there are ambulance-chasers, Bankruptcy Jeff falls under the rare ambulance-crasher category, haha! Imagine being condemned, defamed, lied about by a complete psychotic mess of a manchild after massively cheating you who turns out was deflecting from deep mental problems & his own PR liabilities! This disgusting, unhinged, hypocritical, bigoted bastard showing up from neo-geo.com in my forums/projects to get up on his high horse to smear me as an extraordinary "embarrassment" while he was pulling his pants down to snap photos for neo-geo.com AND even devolving into genocidal outbursts had A LOT of fucking nerve! BURN IN HELL PSYCHO!!!!! FUCKING GUY IS ABSURD!!!

Jeff and Tom are so arrogant/confident (you've seen it!) about their self-serving criminal views on localization partnerships and commercial selling AFTER you've taken THOUSANDS of work hours from fan co-workers on a project created under FAN TERMS (BY FANS, FOR FANS, NOT COMPANIES!), but WHY didn't they disclose such "views" from the very FIRST project ? Why after 5 projects/5 years ?? Didn't your partners have a fucking right to know something THAT serious/important ?? I'll tell you why: Because they would've been BANNED on sight! NOBODY would accept such terms, not me, not GideonZhi, not anyone; everyone would tell you to go fuck yourself and find another chump to work for free for you, so by failing to disclose them they operated under deception, that's a scam! Begging for free work hours from likeminded Falcom fans so you can build up a finished localization portfolio of up to 5 games/scripts, then commercially selling them in secret collusion almost all at once IS A SCAM! THAT'S LITERALLY WHAT THEY DID! 2 cocky/cunty localization scammers in the industry and 1 shitty company that got away with it! I didn't even wanna work on Ys Origin, I was gonna delete my site, but Jeff came to me crying, telling me "Please don't take the Ys series away from me, it's the only thing I'm proud of in my life..." Of course, he was *proud* to take it from *me* helping WyrdWad continue his obsessed sabotage/proxy-harassment/incitement efforts over the years! The psycho is not gonna tell you about that now NOR his 40%/60% royalty split demands which he was adamant on if I proceeded with a payware idea (which he cancelled after the $550 payment and for me being too slow as 2 years elapsed! So, he could still play the hero in the end!), and people see how he talks about me nowadays... He then proceeded to guilt me by telling me about his suicide-attempt and being crippled from a knee injury, walking with a cane, etc... I never did anything but support and help him across 8 years, even finally paying him ($550), in return he cheated me from a 1 in a billion opportunity, and demonized my name ever since to score points/pander, justify these later double-cross actions!!!

Recently in 2024, he cheated me again out of crediting for 1 week of labor on Samurai Shodown RPG, the BmpTileFlip tool I built for him (per his request) to mod an English font in (of course the guy that cheated you on THOUSANDS of work hours on Ys projects would cheat you for 7 days on this one!)! I remember falsely being accused of talking about the leaker in a DM (I just wanted to show him worldwide Ys patch installation logging!), I was NOT, but he pretended I was, said I had an "obsession" with him which was also false (It was his disgusting, reductionist compare/contrast habit where he'd write that he has an obsession with the Ys series, while "that other guy" has an obsession with the Ys leaker, so HE is the real Ys fan!). He was simply preparing me for the double-cross with WyrdWad's team and was gonna cite the leaker as a main reason, so his talking-point/tactic was gonna be to trump-up charges, smear me as spending "2 WHOLE YEARS" on him/the leak issue, etc. (No evidence for his insane psycho lies, he uses the passage of time to smear you, implying you did X Y or Z for "all these years..." as if I live inside a computer! Even this post I wrote, he'll literally subtract 2024 from 2007 when the Felghana leak happened and claim ~17 YEARS SPENT ON THIS, imply 365 days/year, 100,000 hours was spent/planned on writing something negative about him/XSEED, the poor little underdog angels that they are!!!). If I said the leaker's name once again, he'd pretend I said it 1000 times AND spent 100,000 work hours on him (somehow!), always in the direction of hyperbolic/trumped-up charges to an absurd/comical/insane degree because he was looking to break that Ys Origin agreement behind my back despite having taken more work hours and CAT translation software from me! You get the idea!

I guess the master plan worked out nicely ? Real fucking "hero" of the people, huh ?? There were better/sane/rational ways to cancel our Ys Origin agreement but he chose the worst, most vile way when I didn't even wanna work on the project to begin with! It's just that WyrdWad's team presented him with a plan B and he could throw me under the bus, walk away both with the $550 and gain some sort of "hero" status... Truly a vile fucking bastard, dragged me into it only to ruthlessly kick me out of it once he was sure he didn't need me anymore to finish the rest of the project... Of course nobody imagined WyrdWad would get hired by 2 former Squaresoft bosses just as they had gained a Falcom partnership, so because of Jeff's troll games before that, WyrdWad just copied the same double-cross idea/action. Jeff becoming the "secret translator" for WyrdWad's fan team, that idea was ported by WyrdWad for XSEED on ALL our past projects! And I had to be continuously demonized/blacklisted/shunned as "the worst person in the world" to justify it yet even today I don't really know what I did to these psychos to justify something so cruel/unjust/unfair/despicable! I couldn't be forgiven 3 or even 5 years later, they just kept on doing it!!! Who's the real embarrassment now though ?? Look at his neo-geo.com posts! Ys fans know if *I* wrote something like that WyrdWad Tom would list it as the #1 reason why I was unprofessional/embarrassing/a PR nightmare and to be avoided!!! But you know how it goes, all the XSEED allies will never say a word about it! Very few will ever know just how vile Jeff truly is as a human being!

It's one thing to have your [criminal] views, it's another thing to impose them on someone else without consent! If he (or Tom on the Ys Felghana project!) told me from the very first Ys fan project that he becomes the "100% master CEO/owner" of the translated script for potential/possible future commercial sales and I'd just be the uncredited "slave," (that's NOT a "partnership" despite him ONLY calling it that when he announced he "dissolved" it JUST IN TIME for secret sales to XSEED Games!!! AMAZING COINCIDENCE!!) I'd tell him to find someone else you motherfucker! Period. Never mind the sabotage/threat this represents to all other fan partnerships: producers like GideonZhi have to watch their backs from translators plotting secret sales to companies and using XSEED as a precedent to cut out all their partners! What if I had finished not 5, but 15 or 25 Falcom projects with Jeff, and each time he's sneaking into my CAT translation software exporting a finished Falcom script, pocketing 100% credit/100% payment, year after year, and STILL ghosting me like I never existed ??? WHAT THEN ??? At what point do even the most dedicated XSEED shills like Limfinite/DigitalEmelas recognize this as massive worker abuse ?? Tom/Jeff keep on telling the world they did nothing wrong, right ?? And whether 5 or 50 finished projects involving my free fan labor was involved, Jeff was "free" to keep on making these commercial sales without my consent/negiotiation/involvement, right ??? HOW INSANE IS THAT ??? And yet, these are REAL people who stand by this, STILL unrepentant, STILL won't apologize for it, and worse, STILL spreading lies/misinformation about their victim and the situation! If you finally realized these homicidal psychos/pedo-predators didn't think it through and all the possible ramifications/consequences, then you'd be correct! They didn't! Tom-chan just needed that sweet revenge, that's ALL that mattered to that particular DISGUSTING SOB! He could've let XSEED continue with normal contractors, but nope, I had to be targeted in some way AGAIN!!!! I do wonder if in their heads it still feels "good" or not but you'll never get a straight answer from a psycho liar...

So...I finally figured out why all of XSEED/WyrdWad's friends can be credited for just about anything (including Ys Celceta DVD piracy) but I cannot (they have VERY high standards for people of good/moral character/reputation, you see):
While you are NOT credit-worthy, bold/bald/fat homicidal cock-flashers & wyrdwad pedophiles ARE 'acceptable' for being credited on XSEED Games' localizations...

Last Shout - Posted by: Bernie - Sep. 09, 2020, 04:40:16 PM
WTF is up NW?!!!! ;D

Author Topic: PC engine compression schemes  (Read 5140 times)

0 Members and 1 Guest are viewing this topic.

Offline malducci

  • TurboXray
  • Hapless Fledgling
  • *
  • Posts: 27
  • Karma: +7/-0
  • Gender: Male
  • Rich Leverton
    • View Profile
PC engine compression schemes
« on: Apr. 09, 2006, 11:05:18 PM »
NightWolve, is there a common compression scheme used for gfx in PCE CD games? Most CDs I've looked at don't have any gfx compression, but a few do. Gate of thunder is one of them that I'm trying to grahpic hack.

 I figured since about 99.9% of the graphics in Hucards appear to have some sort of graphic compression, that it might be part of an Hudson library and possible used with some CDs title.

« Last Edit: Apr. 09, 2006, 11:05:45 PM by malducci »

Offline NightWolve

  • Administrator
  • Distinguished Shogun
  • *****
  • Posts: 865
  • Karma: +132/-0
  • Gender: Male
    • View Profile
    • Ys Utopia.net
Re: PC engine compression schemes
« Reply #1 on: Apr. 10, 2006, 12:31:21 AM »
I couldn't tell ya. I could tell you that Falcom's text compression was custom work as far as we know. Anyhow, dealing with compression on PCE CD was never my specialty. It was Neill Corlett that uncovered the text decompression, and Dave Shadoff reversed it for me so I could compress the text blocks back into the data track. As such, I didn't have to deal with it. Dave's lurking around in the forum it so happens, so he'd be one of the few left that might be of help. I assume you already have some technical knowhow in programming though, cause honestly, if not, you're barking up the wrong tree with this.


You break my record, now I break you, like I break your friend!

Offline Dave Shadoff

  • Hapless Fledgling
  • *
  • Posts: 32
  • Karma: +20/-0
  • Gender: Male
  • Ys IV Localizer
    • View Profile
Re: PC engine compression schemes
« Reply #2 on: Apr. 10, 2006, 09:00:55 AM »
Honestly, very few titles have graphic compression, but some do.

The graphics can be some pretty weird formats in order to go into VRAM though, such as 1-bit and so on.

There are a few titles with run-length encoding and simple repeat-this-sequence-from-a-trailing-buffer, but they are all a bit different from each other.

But it might help if I knew what you were trying to accomplish.

Offline malducci

  • TurboXray
  • Hapless Fledgling
  • *
  • Posts: 27
  • Karma: +7/-0
  • Gender: Male
  • Rich Leverton
    • View Profile
Re: PC engine compression schemes
« Reply #3 on: Apr. 10, 2006, 10:36:08 AM »
Quote
it might help if I knew what you were trying to accomplish.

 For now I just want to decompress the graphics, alter them, and recompress them. I've figured some games might store certain tiles and sprites as 1-bit, 2-bit, and  3-bit as a one type of compression - depending on the number of colors used. I know byte alignment can be off from one tile set to the next.

 I'm actually using Tmod2 with your PCE tile/sprite plugin ;D 

Anyways reconstructing/analyzing a save state instead of using a debugger - isn't exactly my idea of fun :P  Here's hoping Mednafen team add a debugger 8)


Quote
I assume you already have some technical knowhow in programming though, cause honestly, if not, you're barking up the wrong tree with this.

 I've programmed a few demos for the PCE and SGX hardware in assembly, so I'm at the point were I feel pretty confident - though my experience with compression algorithms is zero.

 I actually had this crazy idea: running a hucard or cd game on a real SGX (in SGX mode) - with added/alter coded for when pausing the game, you could bring up your own (debug) code and use the second VDC to display the content of  memory like a hex editor  ;D

Offline Dave Shadoff

  • Hapless Fledgling
  • *
  • Posts: 32
  • Karma: +20/-0
  • Gender: Male
  • Ys IV Localizer
    • View Profile
Re: PC engine compression schemes
« Reply #4 on: Apr. 11, 2006, 12:34:39 AM »
Is the name of your project's game a secret ?
I could at least tell you if I did any preliminary investigation on it...

Offline NightWolve

  • Administrator
  • Distinguished Shogun
  • *****
  • Posts: 865
  • Karma: +132/-0
  • Gender: Male
    • View Profile
    • Ys Utopia.net
Re: PC engine compression schemes
« Reply #5 on: Apr. 11, 2006, 12:37:21 AM »
That would be Gate of Thunder.


You break my record, now I break you, like I break your friend!

Offline malducci

  • TurboXray
  • Hapless Fledgling
  • *
  • Posts: 27
  • Karma: +7/-0
  • Gender: Male
  • Rich Leverton
    • View Profile
Re: PC engine compression schemes
« Reply #6 on: Apr. 11, 2006, 01:18:33 AM »
Yeah, Gate of Thunder.

Offline NightWolve

  • Administrator
  • Distinguished Shogun
  • *****
  • Posts: 865
  • Karma: +132/-0
  • Gender: Male
    • View Profile
    • Ys Utopia.net
Re: PC engine compression schemes
« Reply #7 on: Apr. 11, 2006, 05:49:41 PM »
I've programmed a few demos for the PCE and SGX hardware in assembly, so I'm at the point were I feel pretty confident - though my experience with compression algorithms is zero.

See, I'm in the same boat really. But here's the kicker, with PC games, what I do is track down the decompression code in the interactive disassembler software that I'm using, copy out all the Intel Assembly for it (That means I gotta find all the functions it calls and track every other one down that they call, recursively, etc.) then paste all of it into an Assembly module for a VC++ project where I reuse it. Once I understand how to interface to it (how it accepts the input buffer, the output buffer, etc.), I can have the rest of my code in C++ and call upon it when needed. This is how I built the NSIS plugins in my Ys I, Ys II patches that extract all the image files from the Falcom data libraries when you run them. The same technique is what I used to decompress the script for ED6. Ys Felghana & Ys VI actually used the standard zlib, and I got the info and code from elsewhere, so I didn't have to use my crude method.

Anyhow, the point is, with the tools I have for Windows, I can harness my strengths, and bypass my weaknesses. I don't have to know how their decompression code works. I just need to a) find all the assembly for it, and b) discern how to interface with the top-level function, that is, discern how its parameters work, etc. The only issue then is if I needed to compress the files back, but I've taken care of that by intercepting the functions that use compressed images/text, etc. post decompression, and just overwriting the decompressed results with my uncompressed replacement files. So I still can workaround that issue in a rather clever fashion if I do say so myself. Yes, I will say so in fact! Quite clever!

Now, with PC-Engine, I don't have this kind of power. I must invoke the power of Dave in order to reverse the decompression algorithm. ;) Plus, there just aren't the tools for the platform to get very far unless your experience is at Dave's or Neill Corlett's level.


You break my record, now I break you, like I break your friend!

Offline malducci

  • TurboXray
  • Hapless Fledgling
  • *
  • Posts: 27
  • Karma: +7/-0
  • Gender: Male
  • Rich Leverton
    • View Profile
Re: PC engine compression schemes
« Reply #8 on: Apr. 11, 2006, 07:07:34 PM »

Quote
but I've taken care of that by intercepting the functions that use compressed images/text, etc. post decompression, and just overwriting the decompressed results with my uncompressed replacement files.

So after you have decompressed the data/image/text, you replace the old compression function and interface a new function that reads from the uncompressed files - using the same calling/handling parameters as the original? That's pretty cool... and clever ;D

Quote
Now, with PC-Engine, I don't have this kind of power. I must invoke the power of Dave in order to reverse the decompression algorithm.  Plus, there just aren't the tools for the platform to get very far unless your experience is at Dave's or Neill Corlett's level.

Yeah, not having the ability to use a debugger for PCE, means a lot more work than normally required and ofcourse tools wouldl have to be made as well.



The way I figure it, I need to do one of the following:


1) Write some test code and figure out where everything is placed in the emu's save state file. Use the CPU' PC located in the file to provided a starting point for disassembling from the save state file.

2) Take random save states - rinse and repeat until everthing lines up and all code/functions have the correct starting/beginning address alignment.

3) Then after straining my eyes for hours/days/weeks crossing my fingers that I actually recognise which code is the decompression code (all because I can't do a triggered save state to get the actual point I looking for originally). 

4) Finish the dynamic dissassembler I have written. I need to added dummy read/write, skip instruction, and follow branch/jump instruction - for stepping through the code.

or

 Try to add a basic debugger for Mednafen since the source is available. But the idea of jumping into someone elses code (even with all the comments you can shake a stick at) and trying to make heads or tails of what is what, gives me a headache just thinking about it. On top of that, it's written in C++ which I've written in, but [inothing at or near a professional level/understanding.


Offline NightWolve

  • Administrator
  • Distinguished Shogun
  • *****
  • Posts: 865
  • Karma: +132/-0
  • Gender: Male
    • View Profile
    • Ys Utopia.net
Re: PC engine compression schemes
« Reply #9 on: Apr. 11, 2006, 11:24:19 PM »

So after you have decompressed the data/image/text, you replace the old compression function and interface a new function that reads from the uncompressed files - using the same calling/handling parameters as the original? That's pretty cool... and clever ;D


Not quite. I let the game code proceed normally, that is, it goes into its library files, finds the original compressed image/data file(s), whatever, it decompresses to some buffer, and then continues along its merry way. The decompression buffer is what I target. My hook is at some safe point where I can both detect the file that I want replaced was just processed, and then overwrite the contents of this decompression buffer with the external files that I edited. So the hook monitors the files being decompressed, and if it finds that one exists externally in a subfolder where I've placed it in, it then reads that into the decompression buffer, then safely returns control back to the program. If done correctly, the game code won't know the difference, and voila!

Now it should make sense. In this way, I never have to rebuild the libraries with recompressed edited replacements nor do I have to learn how to reverse the decompression algorithm. I've been using this for everything. Ys I & II Complete, and for the upcoming Ys Felghana and Ys VI patches. Though for the latter two, I have the zlib DLL so I could recompress, but it is much faster and easier to just leave the image files uncompressed in a subfolder and read them into the decompression buffer at the right point. Works like a charm every time, every game.


You break my record, now I break you, like I break your friend!