(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-15-24 02:38 PM
Acmlm's Board - I3 Archive - - Posts by MathOnNapkins
Pages: 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
User Post
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-04-06 09:13 AM, in Why hack Mario? Link
Well whatever, his online name is pretty irrelevant to the topic at hand, don't you think?

Personally I would like to try my hand at hacking a game like Demon's Crest or Megaman X. Both games have a lot of potential for improvements via ASM hacks and new maps/levels.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-07-06 07:48 AM, in Question about an SPC instruction Link
Well for the time being I'll just change it from #$F0 to #$30 in the binary and load it up on my SNES to see (hear) if it does anything notably different. It could be a complete mistake for all I know. But I agree, some testing and extended documenation are in order.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-07-06 07:53 AM, in Nintendo Announces DS Lite and other goodies! Link
Wow... I thought you were generalizing when you said MadCatz earlier. (i.e. MadCatz as a substitute word for third party). I didn't even know MadCatz was in business back then, as I never saw that model at EB or any other gamestore for that matter.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-07-06 08:03 AM, in WHY DOES EVERYTHING BAD HAPPEN TO ME?! (warning, vulgar) Link
You can shave a "unibrow", you know, to look normal. I have a small patch of hair between my brows that I shave periodically and the ladies really notice, trust me.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-07-06 08:44 AM, in Kinsey Scale Link
I guess I must be some sort of macho guy for being the only one to pick 00 so far...
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-10-06 06:34 AM, in N-SPC and BRR sample frequency Link
Since I've been trying to work on the N-SPC lately, I thought I'd give it a go. Here's some commented code from the Zelda 3 version of N-SPC:


...
; quite note: the value at $0220-$0221 + X is the word value you are referring two, but
; with the bytes reversed.
; I'm not quite sure what addresses $14-$17 do yet but they are important in this bit
; of code.
09B9: C4 14 MOV $14,A
09BB: CE POP X
09BC: F5 20 02 MOV A,$0220+X
09BF: EB 15 MOV Y,$15
09C1: CF MUL YA ; YA = ($15 * $0220+X)
09C2: DA 16 MOVW $16,YA
09C4: F5 20 02 MOV A,$0220+X
09C7: EB 14 MOV Y,$14
09C9: CF MUL YA ; YA = ($14 * $0220+X)
09CA: 6D PUSH Y ; Save Y for later.
09CB: F5 21 02 MOV A,$0221+X
09CE: EB 14 MOV Y,$14
09D0: CF MUL YA ; YA = ($14 * $0221+X)
09D1: 7A 16 ADDW YA,$16
09D3: DA 16 MOVW $16,YA ; $16 += YA
09D5: F5 21 02 MOV A,$0221+X
09D8: EB 15 MOV Y,$15
09DA: CF MUL YA ; YA = ($15 * $0221+X)
09DB: FD MOV Y,A ; Y = A
09DC: AE POP A ; A = the old Y above.
09DD: 7A 16 ADDW YA,$16
09DF: DA 16 MOVW $16,YA ; $16 += YA
09E1: 7D MOV A,X ; A = X
09E2: 9F XCN A
09E3: 5C LSR A
09E4: 08 02 OR A,#$02 ; 0,2,4,6, ... -> 0x02, 0x12, 0x22, 0x32, ...
09E6: FD MOV Y,A
; hint hint, we're going to write to Pitch Low and
; Pitch High on the DSP for whatever voice this happens to be.
09E7: E4 16 MOV A,$16

09E9: 3F EF 09 CALL $09EF

09EC: FC INC Y
09ED: E4 17 MOV A,$17

09EF: 2D PUSH A
09F0: E4 47 MOV A,$47
09F2: 24 1A AND A,$1A ; Probably a check to see if this voice is enabled.
09F4: AE POP A

09F5: D0 06 BNE $09FD ; If it's not enabled then we end the call.

WriteToDsp(A,Y):

; A = value to write
; Y = address of the DSP register to write to.

09F7: CC F2 00 MOV $00F2,Y
09FA: C5 F3 00 MOV $00F3,A
09FD: 6F RET


So.... that may or may not be helpful depending on what you have figured out yourself. But once you know what value is loaded into the Pitch Registers, the SpcToDo.txt file I have describes the following formula to find the new frequency:



With f as the frequency of the reproduced sound, f0 ( f sub zero )
as the frequency of the original sound (sound at the time of
recording), and p as the value expressed by the upper level
fourteen bits of P(H) and P(L), the following formula is formed :

P
f = f0 * ----
12
2




So it would appear that the data at $0220-1+X is fairly static, but I don't know what determines $14-7 but the formula is spelled out in the SPC code pretty clearly.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-10-06 07:02 AM, in Ok, how about clean room disassembly of Lunar Magic? Link
^ Yes.

I still say that a disassembly of the executable would be going overboard. I mean jeez Freedos, I see you complaining about the lack of interest in making a new SMW editor, but if you're so interested you should take the initiative and get the ball rolling by actually working on it. Doesn't mean you'd have to finish it but projects need to start somewhere.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-10-06 08:47 AM, in Zelda 3 Title Link
The Legend of Zelda: Incoherent Plot Summaries

ok that was just a bit of teasing... how about

LoZ: Eye of the Cataclysm

(as oppposed to Cataclysm's Eve, as mentioned in LTTP)
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-10-06 09:07 AM, in Zelda 3 Title Link
Tanks. I kind of like the 'holy crap assplosion spel' one. It would make me smile to see a Title screen with that on it.

Though, from the plot summary I still can't figure out why Link has to go into the future. Oh well, prepare to be SURPRISED.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-10-06 09:14 AM, in Zelda 3 Title Link
OH SNAP
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-11-06 01:11 AM, in Ok, how about clean room disassembly of Lunar Magic? Link
(it can't dereference indirect jumps that pull a pointer out of RAM yet)

This is something that has plagued me for a long time. I don't see how it could ever be achieved accurately unless you were logging it via an emulator. That doesn't even take into account things like PEA and RTS x 2, which can be used like JSR and RTS. I've also seen Jump Tables that occur directly after a JSL instruction. i.e. the JSL does not return directly to the next piece of code.

Example:

LDA $55 ; This would be the index of the routine to use.

JSL tableloader
; tableloader would use the value of A as an index to set up a JML
; to the routines in example_table (which immediately follows the JSL in the binary!)

example_table:

dw routine1
dw routine2
dw routine3
dw routine4

I've also seen jump tables that were "interlaced." In particular I had three different subroutines pulling pointers from one block of data. It was laid out like this:

example2_table:

; routinex_y means that x is the routine retrieving the pointer, and y is the designation
; of which pointer it is relative to routine x.

dw routine1_1, routine2_1, routine3_1
dw routine1_2, routine2_2, routine3_2
dw routine1_3, routine2_3, routine3_3

So given the flexbility of the 65816 to execute code I'd really like to hear more about how you plan to map out these types of behaviors. (indirect jumps, stack manipulation, and interlacing)
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-11-06 03:03 AM, in Mario Bros. Lost levels? Link
Isn't that one of the Famicom Disk System Roms? You'll need to make sure the emulator works with disk images, and to load it properly.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-11-06 07:04 AM, in What is the fastest you've ever driven? Link
Originally posted by Koitenshin +
160mph heading up to st louis with government plates on the car and a naval officer in the vehicle.


TAKE ME WITH YOU!

My fastest ever was like 105 mph on a hilly road, trying to get some air. We got some air.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-11-06 08:59 AM, in N-SPC and BRR sample frequency Link
I've attached what I have documented so far of the engine. Due to my own bungling, and a bug* in Byuu's spc disassembler, the code in it is not fully accurate. Though, I have tried to revamp it as much as possible.

*3 byte branch destinations are always off by one byte. I have been correcting these manually as I go. e.g. 0C05: 6E 54 02 produces DBNZ $54,$0C09, but $0C09 should be $0C0A. This is probably the result of some generalized code he wrote to handle branches.

As for my own bungling, all branches were initially $0800 bytes lower than necessary. I remedied this somewhat with regular expressions and find/replace but some areas have not been fixed yet.

Blackhole: I'll look into your problem soon. I know what you mean by command, it's in the track data, I just haven't looked at that one yet.

edit: attachment didn't seem to work. trying to upload to webspace.


(edited by MathOnNapkins on 02-11-06 08:00 AM)
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-11-06 01:10 PM, in N-SPC and BRR sample frequency Link
Um.... it appears to me that the byte argument for the "Pan" command go as follows on the bit level:

abuccccc

a = sign bit for volume left
b = sign bit for volume right
u = unused
ccccc = 5 bit value used to determine how much volume goes to either speaker.

From testing, it appears that 0A is actually the centered pan setting, and that 14 would probably be all the way to the right. I base this off the observation that volume right is #$1400 minus the calculated Left Volume.

The sign bits are also what is likely throwing off your examples in your earlier post, blackhole89 +. Docuementation says giving a negative amount reverses the phase. Though I don't know exactly what the hell that means, it sounds like it's a source of the problem.


(edited by MathOnNapkins on 02-11-06 12:19 PM)
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-12-06 03:58 AM, in hyrule magic doesnt want to save for me Link
What version of Windows are you using? (Or even worse, are you using Wine or Virtual PC?)

The only thing that can cause this message is trying to use an invalid file handle. In other words, if the operating system tries to access your rom file and cannot do so properly. Perhaps whatever form of Windows you are trying to use is not compatible with the API calls used. Or perhaps you do not have administrator privledges on your account on the computer(s) you are using. The only other thing I can think of is maybe the file is Read Only or hidden, and hence cannot be opened for Write access.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-13-06 09:03 AM, in Noob at SPC HEX stuff Link
Take it from me, trying to edit SPC files when you have no flipping clue what you're doing won't get you very far. I tried a few times, and only recently have I actually tried to take a real hard look at how the SPC/DSP works.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-15-06 06:05 AM, in Ok, how about clean room disassembly of Lunar Magic? Link
So if these things are illegal, then why is stuff like Snowbro's disassembly of Metroid hosted to the public by metroid database? Should they be notified of a potential legal issue? I myself have a full disassembly of Zelda 3, but I'm not quite sure if I should distribute it freely.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-15-06 06:48 AM, in Star Ocean's sound engine. Link
Uh... the so-out.spc file doesn't sound noticeably different from so-01.spc in the dump I have from 1999. (Zophar's) Am I missing something?

Bleh, either way - I don't find the music of Star Ocean to be terribly good, but if it's really that advanced a sound engine then it's worth looking into. Is it the same as the one in Tales of Phantasia? I've heard that's also pretty good, but I can't remember if the same developer put both SO and ToP out.

I'd also like to see how this compares to the sound engines put forth by Rare in DKC 1,2,3. They also seem to be pretty good, at least in terms of what I hear from playback.

Lastly, this should be moved to advanced rom hacking probably. It seems to be the new playground for SPC talk.
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6295 days
Last view: 6295 days
Posted on 02-15-06 07:11 AM, in If you could change your name... Link
I'd probably change it to something more WASPy sounding so I could then run for president. Something that doesn't exceed 8 letters between the first and last name preferably.
Pages: 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
Acmlm's Board - I3 Archive - - Posts by MathOnNapkins


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.034 seconds; used 451.57 kB (max 581.48 kB)