Yes, that block of code just reads a little-endian long from a0 to d7.
Out of curiosity, what game is this and what is the context?
Out of curiosity, what game is this and what is the context?
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: ReBirFh on March 24, 2011, 09:15:00 PMIf a game has compressed and uncompressed graphics and instead of findind a way to decompress, I just repoint it to a location with uncompressed graphics in the same order, what will happen?
Quote from: Gemini on March 24, 2011, 09:30:07 PMIf the game isn't smart enough to detect literal data, it will simply crash and die shortly after.Only in extreme cases — the least that could happen is bad data where the good data should be but nowhere else, with some data corruption being the median case due to the decompressor running longer finding that magic terminator. This all depends on the format of the compressed data and the algorithm used by the decompressor.
Quote from: Ryusui on March 24, 2011, 09:47:59 PMYou'll need to hack the game to read the straight data - "break the compression's kneecaps", as Gideon Zhi once put it. It's not that hard; at worst, you'll have to replace the compression routine with a straight copy into the same RAM address.The only problem with this method is that it'll break all decompression, not just the one you want to have happen. The only way is to locate where the particular data you want is decompressed and change the particular routine call to a copy.
/***********************Directories***************************/
#dir art
#dir art/palettes
#dir art/nemesis
#dir art/kosinski
#dir art/uncompressed
#dir mappings
#dir mappings/16x16
#dir mappings/128x128
...
/***********************Palettes***************************/
#split 0x001E5A,0x001E7A,art/palettes/Title Water.bin
#split 0x001E7A,0x001E9A,art/palettes/EHZ ARZ Water.bin
#split 0x001E9A,0x001F1A,art/palettes/Hill Top Lava.bin
#split 0x001F1A,0x001F2A,art/palettes/Wood Conveyor.bin
#split 0x001F2A,0x001F36,art/palettes/MTZ Cycle 1.bin
#split 0x001F36,0x001F42,art/palettes/MTZ Cycle 2.bin
#split 0x001F42,0x001F56,art/palettes/MTZ Cycle 3.bin
#split 0x001F56,0x001F66,art/palettes/HPZ Water Cycle.bin
#split 0x001F66,0x001F76,art/palettes/HPZ Underwater Cycle.bin
#split 0x001F76,0x001F86,art/palettes/OOZ Oil.bin
#split 0x001F86,0x001F8E,art/palettes/MCZ Lantern.bin
splitrom.exe ROM.bin split_list.txt
(windows) copy /b file1+file2+file3 bigfile
(unix) cat file1 file2 file3 > big
For padding with zeroes, if your assembler can import raw binaries (a directive like incbin or binclude), you should be able to use it...Page created in 0.081 seconds with 16 queries.