GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:26 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
    in reply to
    • Luna R

    @lunarood would you like to make a contract?

    In conversation about 3 months ago from digipres.club permalink

    Attachments


    1. https://digipres.club/system/media_attachments/files/114/032/058/736/393/224/original/6abd14ef90f0f371.png
    • Haelwenn /элвэн/ :triskell: likes this.
    • Embed this notice
      Luna R (lunarood@mastodon.gamedev.place)'s status on Thursday, 20-Feb-2025 03:58:27 JST Luna R Luna R
      in reply to

      @foone Wait a second... How did you get your hands on the very thing I'm working on right now?

      Leave my entropy alone! It's there for a reason, ok!? 😤

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:28 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      it "decompressed" to the compressed input, but with 3 bytes missing from the beginning and an extra "G" at the end.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:28 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      if you decompress a file and it gets smaller, you fucked up.

      (or it has really high entropy and your compression algorithm has a big header)

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:29 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      alright, I ported over enough of the decompression algorithm for it to run for the first time!

      Did it work? NO OF COURSE NOT! but running is at least PROGRESS

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:30 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      okay it was recompiled/reassembled: some globals are in different locations.

      but it's 100% the same code.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:31 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I finally went and confirmed something I assumed:

      The compression routines from Bible Builder and Captain Bible are identical. like, I'm not even sure they were even recompiled identical.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:32 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I should build an x86 usb device. It's stupid because I literally am on an x86 machine, but SOMEONE didn't think 16bit backwards compatibility was important. Philistines!

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:33 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      My everything hurts, I'm starving and can't eat, my brain is fogged, and I have a lot of stuff to do today that's important.

      Clearly it's time to write my own x86 emulator, again

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:34 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I'm gonna have two of these Memory objects for DS and ES, and since I haven't implemented it I'm gonna PRAY the fact that those two segments are partially overlapping doesn't matter

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:34 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      if it does end up mattering, I'm gonna cry a lot, then implement OVERLAPPING MEMORY RANGE EMULATION

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:35 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      but this'll make it way easier to port the decompiled decompression routine without having to understand how it works.

      which I don't

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:36 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      so basically I removed type safety from python, kinda.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:37 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      okay I wrote a module to let me define some memory and then define multiple variables of different types in it, and it's all backed by the same set of bytes and you can read and write from any of them and they'll all work.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:38 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I haven't even completed this script enough for it to run, and already I'm thinking about completely rewriting it. The way I structured it is proving to be too hard to implement the last bits into.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:38 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I might even switch to my terrible "implement bochcpu-lib emulation from python to just emulate the original code" idea to avoid having to actually finish this

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:39 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      anything to avoid having to reverse decompression

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:40 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I caught myself thinking "at this rate, maybe I should just write an x86 machine code to python transpiler" and that's really too much

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:40 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      my brain is constantly coming up with weirder and worse solutions to this "reverse the decompression" problem because I HATE REVERSING DECOMPRESSION and it leads me to constantly try to think of ways to make it easier by not doing it

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:41 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      if I instead tell it bp_parameter is a word, it just stops decompiling an iVar7 variable at all, and uses bp_parameter itself

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:42 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      what the fuck does unaff_00000015 mean, ghidra?

      an unaffected... 15 constant?

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:42 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      it was caused because this function takes a parameter in BP. You're not supposed to do that, but you can. There's no x86 cops.

      but ghidra for some reason thought it was a undefined, which is a 1-byte type. BP is a 16-bit register. So instead of just using the parameter directly, it decompiled the code as doing this:

      iVar7 = CONCAT11(unaff_00000015, bp_parameter)

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:43 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      okay I have rewritten 90% of the decompression routine I don't understand in python. I just need to do the recursive function, but this is giving me a migraine. So hopefully I can do the remaining 10% later

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:44 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      trying to get back to compression hacking and I can't find the source. there's some files named "decomp" in my hack folder for this game, but they're all assembly, because of my hack with using the game to extract its own files.

      I finally find it: crying.py
      I should have guessed!

      In conversation about 3 months ago permalink

      Attachments


    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:44 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      AHHH HOW DO I SUPPORT HAVING AN ARRAY THAT'S ALSO SOME LOCAL VARIABLES IN PYTHON WITHOUT DRIVING MYSELF MAD?

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:45 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      32kb ought to be enough for anyone!

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:46 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      oh goody the recursive function is using tagged pointers.
      15 bit pointers...

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:47 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      you of course can't really do this in C

      but you can in x86 assembly: pop your own return address into a temp register, then do the cleanup for your parent function, then return. now you return to what your parent function was called from!

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:48 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      OH GOD I THINK IT USES A DOUBLERETURN

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:48 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      double return is a secret feature never included in C, where you can do "returnreturn;" and it returns from your parent function

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:49 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I don't mean to alarm anyone, but I just realized the decompression algorithm doesn't return. ever.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:50 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      WHAT DO YOU MEAN PART OF THE DECOMPRESSION ALGORITHM IS RECURSIVE

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:50 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      ghidra is asking me philosophical computer science questions, like "can you have two distinct variables with the same data type and stored in the same location?"

      either that or it's just completely confused disassembling this function

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:51 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      oh hey, multi-return! that's not something you can do in C! (I mean, at least not elegantly

      someone wrote some assembly.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:52 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      yeah the DAT format is similar enough that my bible builder tools can open it

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:52 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      but the way I cheated at compression isn't gonna work here, not without redoing all that work.

      UGH I hate compression algorithms

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:53 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      1 Corinthians 15:4-6 is really the Hookshot of Captain Bible

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:54 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      I restored an earlier save (for cheat-finding reasons) continued playing, then realized I had to backtrack because I forgot to pick up the Proverbs 22:15 so now I can't get through this door

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:55 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      this, btw, is the only game I know of where your boss prays with your character before you go on the mission.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:55 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      also I think this game is technically a metroidvania? it's just one where the keys you pick up are bible verses

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:56 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      hopefully that won't happen this time.

      but on an unrelated note I've already figured out where the game stores your X/Y position on the map, it's at 1E06:0 for X, and 1E06:2 for Y

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:57 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      oh yeah, the thing that nerdsniped me last time: the fact you can only see the map by hitting a button.

      With my form of ADHD, that's a pain... so I go "hey why don't I just hack it so I can see my position while I'm walking around the overworld?" and I get bogged down in that until I run out of fixation

      In conversation about 3 months ago permalink

      Attachments


      1. https://digipres.club/system/media_attachments/files/114/016/829/083/859/342/original/1ccd73cb163f5201.png
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:58 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      it looks to use a very similar DAT format to Bible Builder, including .ART chunks. I've not looked into the details of the formats yet though, so they may be different.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:58 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️
      in reply to

      Bible Builder was 1992, Captain Bible was 1994.

      In conversation about 3 months ago permalink
    • Embed this notice
      Foone🏳️‍⚧️ (foone@digipres.club)'s status on Thursday, 20-Feb-2025 03:58:59 JST Foone🏳️‍⚧️ Foone🏳️‍⚧️

      Separate thread (from Bible Builder) for hacking on Captain Bible in Dome of Darkness

      In conversation about 3 months ago permalink

      Attachments


      1. https://digipres.club/system/media_attachments/files/114/016/763/569/412/598/original/5a89624f917951e7.png

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.