Next Page
- The Official 2sf/NDS Music/HN Thread by unknownfile at 11:41 AM EST on February 14, 2007
- Because "Yoshi's Island DS Music hack" was getting a bit off topic, here it is!
The format has yet to be released; in the meantime, go use VGMTrans until I sort this crap out.
FORMAT SPECIFICATION:
Version byte 0x91 (might be subject to change)
Reserved section - SR64-format Desmume uncompressed savestate (dumped by Desmume 2SF)
Code section - zlib-compressed ROM
Reserved section MUST start with either "CODE" or "PATCH" otherwise it is consider invalid.
CODE specifies a savestate (which is immediately followed by an SR64 header, then the Desmume savestate header). PATCH should be only used in mini2sfs. The syntax is:
5 bytes: ASCII "PATCH"
Next byte: 01 (register) or 00 (memory offset)
If byte is 01:
Next byte: Register (r0 is 0, r1 is 1, etc)
Next 4 bytes: signed u32 data
If byte is 00:
Next 4 bytes: signed u32 offset
Next 4 bytes: signed u32 data
Further progress on the format, player, or rips will be posted here.
- 2ND POST by hcs at 12:27 PM EST on February 14, 2007
- Congrats on progress, happy to see the birth of a new format.
Might I suggest ditching the CODE/PATCH labels and just using something binary? Better yet, since CODE always starts with SR64, you could just look for the SR64, otherwise consider whatever is there a patch.
And, if I may give you A WARNING FROM BEYOND THE GRAVE: don't sparsify early, 0s may be more important than they seem...
- by unknownfile at 2:40 PM EST on February 14, 2007
- SR64 section revised. The load order should be thus:
ROM -> savestate -> patches
mini2sf patches in the code section rather than the reserved section will use the same "PATCH" format as seen aboved, only zlib-compressed. The savestate will not require PATCH/CODE stuff.
I'll also start on the tracer tonight, though it will dump uncompressed data to be saved later.
Also, it's a long weekend, so I should also get started on Highly Nitric (going with the Highly * naming convention...)
- by marioman at 2:43 PM EST on February 14, 2007
- Good job UF! How soon can we expect rips to be available for listening?
I can't wait to get Mega Man ZX on 2SF.
- by Jouw at 3:17 PM EST on February 14, 2007
- How will you compress savestates well, though?
Because the Sawaru Made in Wario test you posted was quite big. 23MB for the savestate, 8MB for the zipped savestate.
- by unknownfile at 5:01 PM EST on February 14, 2007
- SR64
EDIT:
I have a small tracer running now. It's very buggy, and I'm not even sure if it works correctly.
Here's the source to the tracer (add this into MMU_read32):
// very buggy tracer for 2sf ripping
writeoffset=adr-0x2000000;
if (writeoffset < 0) {
// data out of bounds, probably bios calls or similar
return T1ReadLong(MMU.MMU_MEM[proc][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[proc][(adr >> 20) & 0xFF]);
} else if (writeoffset>0x2000000) {
// assume this is out of bounds, too
return T1ReadLong(MMU.MMU_MEM[proc][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[proc][(adr >> 20) & 0xFF]);
} else {
u32 crap=T1ReadLong(MMU.MMU_MEM[proc][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[proc][(adr >> 20) & 0xFF]);
fseek(trace,writeoffset,SEEK_SET);
fwrite(&crap,1,sizeof(u32),trace);
return T1ReadLong(MMU.MMU_MEM[proc][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[proc][(adr >> 20) & 0xFF]);
}
marioman: I'm not really sure when the rips will be complete, though I am currently seeking technical help with the project (other rippers, etc).
edited 5:04 PM EST February 14, 2007
- by Jouw at 6:50 PM EST on February 14, 2007
- I can't help with ripping, as I know zero about this stuff, song selects, etc. But I'll be happy to test the player when it's in a usable state.
- by unknownfile at 10:35 PM EST on February 14, 2007
- Todo's:
- improve tracer
- code *really early* public beta HN
- rip a game using the generic sequence player
Also, if anyone has the resources to compile libsnd, please step forward.
- by PokeParadox at 11:36 AM EST on February 15, 2007
- Certainly interesting stuff. Lot's to do still but I can't wait for this new format :)
- by unknownfile at 11:51 AM EST on February 15, 2007
- Tomorrow's a day off from school. The Grade 9 students are having Take-Your-Kid-To-Work Day, whereas us Grade 10's have Go-To-The-Scarborough-Town-Center-And-Gossip-Because-You're-Retarded day. I will be having my personal version of the day, called Get-Your-Ass-To-Work-On-Programming-Highly-Nitric Day.
I'm going to need to get started on learning the Winamp API, or I can always rip off some data from 64th Note.
Because Desmume is GPL-licensed, I'll need to release the plugin and emulator code under the GPL license, otherwise a group of geeks will need to sue me because I violated their non-existant license.
Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
Search this thread
Show all threads
Reply to this thread:
HCS Forum Index
Halley's Comet Software
forum source