Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,554,488
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-07-24 08:58 AM
Guest: Register | Login

Main - Posts by infidelity

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

infidelity
Posted on 06-10-13 04:28 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154080


Fuzz Ball
Level: 66

Posts: 363/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Just wanted to announce that I successfully got Capcom's 6C80 sound engine working within The Legend of Zelda. Tool about 8 days to accomplish. At some point ill upload a proof of concept video, and my notes on exactly what I did. :-)

infidelity

infidelity
Posted on 06-13-13 04:12 PM, in You're hack on a DSL/PSP flash cart Link | Quote | ID: 154096


Fuzz Ball
Level: 66

Posts: 364/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Xbox360 and PS3 use a multiplatform emulator called RetroArch. Its the best for thosr consoles.

I still prefer the latest emus for the original xbox as my emuhaven.

infidelity
Posted on 06-14-13 09:51 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154109


Fuzz Ball
Level: 66

Posts: 365/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
And, here, we, go.

The following is a wordpad format of everything i did, in order to get the sound engine to work. I'll paste it in here as well, for those who can't download it, which i doubt will happen, but i'll paste just to be safe. The actual .rtf file does justice, since it shows all my highlighted documentations.

Capcom 6C80 Sound Engine Within The Legend of Zelda - infidelity
http://acmlm.kafuka.org/uploader/get.php?id=4440

And here is the proof of concept. Basicly what i'm doing is shifting through various savestates within FCEUX, demonstrating the loading of different songs within the sound engine. I based my work off of the Megaman 4 sound engine, so thats the songs you are hearing from.

Capcom 6C80 Sound Engine Within The Legend of Zelda - infidelity



Capcom 6C80 Sound Engine Within The Legend of Zelda - infidelity

6-1-13 through 6-9-13
infidelity

The Legend of Zelda Using Capcom's 6C80 Sound Engine

My goal was to make this sound engine use 3 byte opcodes, instead of using 2 byte opcodes for specific registers. The original 8 registers that use indirect jmp's within the zero registers, i kept them within the zero register section for The Legend of Zelda. Using Megaman 4 as my template for the 6C80 sound engine, i moved registers $C0-$C7 to $68-$6F within The Legend of Zelda.

I spent about half a week doing major reshifting of the 6C80 within Megaman 4, to get it prepped for 3 byte opcodes.

Megaman 4 uses a section within $700-$77F ram. I can not use that area in my hack, since that is where the overworld/dungeon visited section is located within The Legend of Zelda. So what i did, was i stored that $700-$77F ram area, within Player 2's SRAM location within The Legend of Zelda. I was going to be doing this anyway, meaning, i was going to make my hack a one player game. In order for me to do more creative things, i need more ram, and sram is the way to go for me.

As of 6-8-13, 10:15pm, the 6C80 sound engine from Megaman 4 was inserted into an unmodified rom of The Legend of Zelda. For the title screen, a value of 80 *title song* is loaded into $600. The 6C80 in Megaman 4, uses values in the range of 01-47 & F0. So instead of 80, i loaded up 05 (Diveman) and jsr'd to $8003 of the sound engine. IT PLAYS!

Currently i cant do any more testing, since after either song id 13 or 14, the sound engine performs a bankswap to reach all of the sfx, and various other songs, thus crashing the rom, since the bankswap is for MMC3, and the unmodified rom is an MMC1, and my hack is currently at MMC5.

So i'm going to include my notes on what i looked for, and what i did, pretty much showing my work on how i pulled this off.

Alot of changes were made, JSR's, JMP's, Branches, Pointers, you name it!

PART 0 - LOCATE DESIRED ZERO REGISTERS WITHIN THE LEGEND OF ZELDA
------------------------------------------------------------------------------------------
$68
$69
$6A
$6B
$6C
$6D
$6E
$6F
END

PART 1 - LOCATE ALL ZERO REGISTERS
ORIGINAL MM4 REGISTERS $C0-$C7 WILL NOT HAVE ADDED OPCODES.
$C8-$E3 "WILL" HAVE ADDED OPCODES
---------------------------------------------------------------------------------------
Address Original New
$3C018 ;85C2 ;856A
$3C01C ;06C2 ;066A
$3C01E ;26C1 ;2669
$3C023 ;A5C2 ;A56A
$3C025 ;65C4 ;656C
$3C027 ;85C2 ;856A
$3C029 ;A5C1 ;A569
$3C02D ;85C1 ;8569
$3C037 ;85C1 ;8569
$3C03A ;85C2 ;856A
$3C03C ;B1C1 ;B169
$3C040 ;B1C1 ;B169
$3C042 ;85C2 ;856A
$3C045 ;85C1 ;8569
$3C047 ;6CC100 ;6C6900
$3C04A ;84C1 ;8469
$3C052 ;85C2 ;856A
$3C054 ;B1C1 ;B169
$3C05A ;85C2 ;856A
$3C05C ;A907 8D0080 (mmc3 register)
$3C061 ;A91D 8D0180 (mmc3 register)
$3C066 ;B1C1 ;B169
$3C069 ;A907 8D0080 (mmc3 register)
$3C06E ;A91F 8D0180 (mmc3 register)
$3C076 ;65C2 ;656A
$3C078 ;85C2 ;856A
$3C07C ;A5C0 ;A568
$3C081 ;A5D0 ;$3C081 = ADA862
$3C083 ;05D1 ;$3C084 = 0DA962
$3C08B ;A5CA ;$3C08D = ADA262
$3C08D ;65C8 ;$3C090 = 6DA062
$3C08F ;85C8 ;$3C093 = 8DA062
$3C091 ;A5C9 ;$3C096 = ADA162
$3C095 ;85C7 ;856F
$3C097 ;A5CF ;$3C09D = ADA762
$3C09C ;46CF ;$3C0A3 = 4EA762
$3C0A1 ;A5CF ;$3C0A8 = ADA762
$3C0A4 ;85CF ;$3C0AD = 8DA762
$3C0A9 ;A5C0 ;A568
$3C0BA ;85CF ;$3C0C4 = 8DA762
$3C0BC ;46C0 ;4668
$3C0BE ;06C0 ;0668
$3C0C0 ;A5CC ;$3C0CB = ADA462
$3C0C8 ;84C1 ;8469
$3C0CD ;26C1 ;2669
$3C0D3 ;65C0 ;6568
$3C0D5 ;85C0 ;8568
$3C0D7 ;A5C1 ;A569
$3C0D9 ;65CD ;$3C0E5 = 6DA562
$3C0DD ;A5CC ;$3C0EA = ADA462
$3C0E1 ;85CC ;$3C0EF = 8DA462
$3C0E5 ;85CD ;$3C0F4 = 8DA562
$3C104 ;84C4 ;846C
$3C106 ;05C4 ;056C
$3C10E ;E6C0 ;E668
$3C113 ;C6C0 ;C668
$3C13F ;85C4 ;856C
$3C143 ;C5CE ;$3C153 = CDA662
$3C147 ;85CE ;$3C158 = 8DA662
$3C14B ;A5D6 ;$3C15D = ADAE62
$3C14F ;A5C4 ;A56C
$3C153 ;84D7 ;$3C166 = 8CAF62
$3C155 ;84D6 ;$3C169 = 8CAE62
$3C157 ;06C4 ;066C
$3C159 ;66D6 ;$3C16E = 6EAE62
$3C15D ;86D7 ;$3C173 = 8EAF62
$3C15F ;E6C1 ;E669
$3C161 ;A5C1 ;A569
$3C163 ;85D0 ;$3C17A = 8DA862
$3C167 ;E6C2 ;E66A
$3C169 ;A5C2 ;A56A
$3C16B ;85D1 ;$3C183 = 8DA962
$3C16E ;85D2 ;$3C187 = 8DAA62
$3C170 ;85D3 ;$3C18A = 8DAB62
$3C172 ;85D4 ;$3C18D = 8DAC62
$3C174 ;85D5 ;$3C190 = 8DAD62
$3C181 ;86C9 ;$3C19E = 8EA162
$3C185 ;86CA ;$3C1A3 = 8EA262
$3C187 ;85C8 ;$3C1A6 = 8DA062
$3C189 ;85CB ;$3C1A9 = 8DA362
$3C18B ;85CC ;$3C1AC = 8DA462
$3C18D ;85CD ;$3C1AF = 8DA562
$3C199 ;E6C1 ;E669
$3C19D ;E6C2 ;E66A
$3C19F ;A4C1 ;A469
$3C1A1 ;A5C2 ;A56A
$3C1A9 ;E6C1 ;E669
$3C1AD ;E6C2 ;E66A
$3C1AF ;A4C1 ;A469
$3C1B1 ;A5C2 ;A56A
$3C1BE ;84C3 ;846B

AT THIS POINT, $3C1C2, 202380 IS HERE, THEN FOLLOWING IT IS A 2 BYTE (10 BYTES IN LENGTH) POINTER TABLE.
SO I NEED TO CALCULATE HOW MANY EXTRA BYTES I NEED TO ADD TO CHANGE THE 2 BYTE OPCODES TO 3 BYTE OPCODES. SO FROM $3C010 - $3C1D4 (1C5 BTYES) I NEED TO ADD..

36 (24 BYTES) WORTH OF EXTRA OPCODE

$3C1DA ;85CE ;$3C1FE = 8DA662
$3C1DC ;85D0 ;$3C201 = 8DA862
$3C1DE ;85D1 ;$3C204 = 8DA962
$3C1E0 ;85D7 ;$3C207 = 8DAF62
$3C1E2 ;85D8 ;$3C20A = 8DB062
$3C1E4 ;A5CF ;$3C20D = ADA762
$3C1EA ;85CF ;$3C214 = 8DA762
$3C1F1 ;85CF ;$3C21C = 8DA762
$3C201 ;A5CF ;$3C22D = ADA762
$3C206 ;46CF ;$3C233 = 4EA762
$3C21E ;85CF ;$3C24C = 8DA762
$3C22E ;A5C0 ;A568
$3C232 ;85C0 ;8568
$3C236 ;A5C0 ;A568
$3C23A ;85C0 ;8568
$3C23D ;06C3 ;066B
$3C242 ;66C3 ;666B
$3C244 ;A5C0 ;A568
$3C248 ;85C0 ;8568
$3C24A ;A4C3 ;A46B
$3C24C ;84CC ;$3C27B = 8CA462
$3C252 ;C4CD ;$3C282 = CCA562
$3C257 ;84CD ;$3C288 = 8CA562
$3C25D ;E5C3 ;E56B
$3C25F ;85D8 ;$3C291 = 8DB062
$3C262 ;A5D3 ;$3C295 = ADAB62
$3C266 ;C6D3 ;$3C29A = CEAB62
$3C268 ;C6D5 ;$3C29D = CEAD62
$3C26E ;85C4 ;856C
$3C273 ;84CE ;$3C2A9 = 8CA662
$3C275 ;A5D7 ;$3C2AC = ADAF62
$3C283 ;46C4 ;466C
$3C28D ;06D6 ;$3C2C5 = 0EAE62
$3C290 ;C5D6 ;$3C2C9 = CDAE62
$3C295 ;66D6 ;$3C2CF = 6EAE62
$3C297 ;E6D6 ;$3C2D2 = EEAE62
$3C2A0 ;85D0 ;$3C2DC = 8DA862
$3C2A2 ;86D1 ;$3C2DF = 8EA962
$3C2A9 ;85D6 ;$3C2E7 = 8DAE62
$3C2AE ;65D0 ;$3C2ED = 6DA862
$3C2B0 ;85D0 ;$3C2F0 = 8DA862
$3C2B4 ;E6D1 ;$3C2F5 = EEA962
$3C2B6 ;46C4 ;466C
$3C2BD ;85D4 ;$3C2FF = 8DAC62
$3C2BF ;46C4 ;466C
$3C2C6 ;85D2 ;$3C309 = 8DAA62
$3C2CB ;85D3 ;$3C30F = 8DAB62
$3C2CD ;85C1 ;8569
$3C2CF ;A5D4 ;$3C314 = ADAC62
$3C2D1 ;85C4 ;856C
$3C2D6 ;A4C1 ;A469
$3C2D9 ;84D5 ;$3C31F = 8CAD62
$3C2DB ;E6C0 ;E668
$3C2E1 ;45CF ;$3C328 = 4DA762
$3C2E5 ;85CF ;$3C32D = 8DA762
$3C2EB ;85CF ;$3C334 = 8DA762
$3C2F6 ;A5C0 ;A568
$3C2FE ;A5D3 ;$3C348 = ADAB62
$3C306 ;A5D5 ;$3C351 = ADAD62
$3C31C ;85C4 ;856C
$3C328 ;85C3 ;856B
$3C32A ;A5C4 ;A56C
$3C332 ;E6C4 ;E66C

AT THIS POINT, $3C336, 202380 IS HERE, THEN FOLLOWING IT IS A 2 BYTE (0A BYTES IN LENGTH) POINTER TABLE.
SO I NEED TO CALCULATE HOW MANY EXTRA BYTES I NEED TO ADD TO CHANGE THE 2 BYTE OPCODES TO 3 BYTE OPCODES. SO FROM $3C1D5 - $3C342 (16E BTYES) I NEED TO ADD..

40 (28 BYTES) WORTH OF EXTRA OPCODE

$3C387 ;85C3 ;856B
$3C391 ;65D2 ;$3C3DD = 6DAA62
$3C396 ;A4D0 ;$3C3E3 = ACA862
$3C398 ;A5D1 ;$3C3E6 = ADA962
$3C39A ;E6D0 ;$3C3E9 = EEA862
$3C39E ;E6D1 ;$3C3EE = EEA962
$3C3C3 ;E5C7 ;E56F
$3C3D3 ;E5C7 ;E56F
$3C406 ;85C3 ;856B
$3C410 ;A5C3 ;A56B
$3C414 ;65C3 ;656B
$3C42A ;84C4 ;846C
$3C42F ;85C1 ;8569
$3C434 ;A5C1 ;A569
$3C453 ;A5CF ;$3C4A4 = ADA762
$3C457 ;84C3 ;846B
$3C462 ;A4C3 ;A46B
$3C469 ;85C3 ;856B
$3C476 ;84C3 ;846B
$3C482 ;65C3 ;656B
$3C485 ;65CB ;$3C4D7 = 6DA362
$3C495 ;85C4 ;856C
$3C49A ;05C4 ;056C
$3C4AB ;85C4 ;856C
$3C4B0 ;85C3 ;856B
$3C4B2 ;A5C4 ;A56C

AT THIS POINT, $3C4B4, 202380 IS HERE, THEN FOLLOWING IT IS A 2 BYTE (32 BYTES IN LENGTH) POINTER TABLE.
SO I NEED TO CALCULATE HOW MANY EXTRA BYTES I NEED TO ADD TO CHANGE THE 2 BYTE OPCODES TO 3 BYTE OPCODES. SO FROM $3C343 - $3C4E8 (1A6 BTYES) I NEED TO ADD..

7 (07 BYTES) WORTH OF EXTRA OPCODE

$3C503 ;85C8 ;$3C556 = 8DA062
$3C508 ;A4C3 ;A46B
$3C50A ;85CA ;$3C55E = 8DA262
$3C50C ;84C9 ;$3C561 = 8CA162
$3C50F ;A5C3 ;A56B
$3C51A ;05C3 ;056B
$3C520 ;A5C3 ;A56B
$3C522 ;85CB ;$3C578 = 8DA362
$3C525 ;A5C3 ;A56B
$3C539 ;85C2 ;856A
$3C53D ;65C2 ;656A
$3C540 ;A5C4 ;A56C
$3C54E ;A5C3 ;A56B
$3C568 ;85C3 ;856B
$3C570 ;A5C3 ;A56B
$3C58A ;05C3 ;056B
$3C59A ;A5CF ;$3C5F1 = ADA762
$3C5D2 ;A5D3 ;$3C62A = ADAB62
$3C5D4 ;85C1 ;8569
$3C5D9 ;85C4 ;856C
$3C5DE ;A4C1 ;A469
$3C5F4 ;85C3 ;856B
$3C5F6 ;E6C3 ;E66B
$3C601 ;C5C3 ;C56B
$3C624 ;A5C3 ;A56B
$3C629 ;84C3 ;846B
$3C635 ;A5C3 ;A56B
$3C63A ;06C3 ;066B
$3C63C ;A4C3 ;A46B
$3C641 ;85C3 ;856B
$3C649 ;A5C3 ;A56B
$3C650 ;B1C5 ;B16D
$3C66E ;A5C3 ;A56B
$3C677 ;05C3 ;056B
$3C67F ;E6C3 ;E66B
$3C681 ;A5C3 ;A56B
$3C697 ;85C3 ;856B
$3C69B ;26C3 ;266B
$3C69E ;26C3 ;266B
$3C6A1 ;26C3 ;266B
$3C6A7 ;85C5 ;856D
$3C6A9 ;A5C3 ;A56B
$3C6AE ;85C6 ;856E
$3C6B1 ;A5C3 ;A56B
$3C6B7 ;A5C3 ;A56B
$3C6C2 ;05C3 ;056B
$3C6CD ;85C4 ;856C

AT THIS POINT, $3C6D4, 202380 IS HERE, THEN FOLLOWING IT IS A 2 BYTE (0A BYTES IN LENGTH) POINTER TABLE.
SO I NEED TO CALCULATE HOW MANY EXTRA BYTES I NEED TO ADD TO CHANGE THE 2 BYTE OPCODES TO 3 BYTE OPCODES. SO FROM $3C4E9 - $3C6E0 (1F8 BTYES) I NEED TO ADD..

6 (06 BYTES) WORTH OF EXTRA OPCODE

$3C6E3 ;B1C5 ;B16D
$3C6E6 ;A5C4 ;A56C
$3C6F8 ;B1C5 ;B16D
$3C6FD ;A5C4 ;A56C
$3C707 ;D1C5 ;D16D
$3C70D ;B1C5 ;B16D
$3C71B ;B1C5 ;B16D
$3C720 ;A5C4 ;A56C
$3C734 ;A5CF ;$3C78D = ADA762
$3C73B ;A5CD ;$3C795 = ADA562
$3C73D ;A4CC ;$3C798 = ACA462
$3C754 ;85C4 ;856C
$3C759 ;85C1 ;8569
$3C75E ;A5C1 ;A569
$3C779 ;85C3 ;856B
$3C77D ;B1C5 ;B16D
$3C783 ;85C4 ;856C
$3C794 ;85C1 ;8569
$3C799 ;A5C1 ;A569
$3C7A1 ;C5C3 ;C56B
$3C7A5 ;85C3 ;856B
$3C7A9 ;85C4 ;856C
$3C7AF ;E5C3 ;E56B
$3C7B1 ;24C4 ;246C
$3C7CA ;B1C5 ;B16D
$3C7CE ;85C4 ;856C
$3C7DF ;85C1 ;8569
$3C7E4 ;A5C1 ;A569
$3C7E7 ;66C2 ;666A
$3C7EA ;66C2 ;666A
$3C7ED ;66C2 ;666A
$3C7F0 ;66C2 ;666A
$3C7F3 ;05C2 ;056A
$3C7FD ;A5C2 ;A56A
$3C802 ;85C2 ;856A
$3C80E ;E5C2 ;E56A
$3C810 ;85C2 ;856A
$3C815 ;84C1 ;8469
$3C817 ;E5C1 ;E569
$3C81F ;85C2 ;856A
$3C828 ;A5D6 ;$3C884 = ADAE62
$3C82C ;A5D8 ;$3C889 = ADB062
$3C830 ;85C4 ;856C
$3C832 ;84C1 ;8469
$3C834 ;A5C2 ;A56A
$3C83C ;65C2 ;656A
$3C83E ;85C2 ;856A
$3C842 ;65C1 ;6569
$3C84F ;11C5 ;116D
$3C851 ;85C2 ;856A
$3C855 ;85C1 ;8569
$3C862 ;85C1 ;8569
$3C866 ;65C1 ;6569
$3C86E ;85C1 ;8569
$3C877 ;46C1 ;4669
$3C879 ;66C2 ;666A
$3C88B ;65C2 ;656A
$3C88D ;85C2 ;856A
$3C890 ;65C1 ;6569
$3C892 ;85C1 ;8569
$3C896 ;A5C2 ;A56A
$3C89F ;A5C1 ;A569
$3C90C ;B1C5 ;B16D

AT THIS POINT, $3C924, 60 IS HERE, THEN FOLLOWING IT ARE ALL THE POINTER TABLES/SFX/MUSIC/ETC.

SO I NEED TO CALCULATE HOW MANY EXTRA BYTES I NEED TO ADD TO CHANGE THE 2 BYTE OPCODES TO 3 BYTE OPCODES. SO FROM $3C6E1 - $3C924 (244 BTYES) I NEED TO ADD..

5 (05 BYTES) WORTH OF EXTRA OPCODE
END

PART 2 - LOCATE ALL $700 - $77F REGISTERS
-----------------------------------------------------
$3C178 ;990007
$3C191 ;9D2807
$3C1A6 ;9D5407
$3C1B6 ;9D5007
$3C1F8 ;9D5407
$3C1FB ;9D5007
$3C20D ;BD5407
$3C210 ;1D5007
$3C217 ;9D7C07
$3C2EE ;BC0007
$3C30B ;DE1007
$3C310 ;BD0407
$3C349 ;9D1007
$3C34C ;BD0407
$3C353 ;9D0407
$3C359 ;BD0407
$3C35E ;9D0407
$3C361 ;BD1807
$3C36B ;9D1C07
$3C380 ;9D7C07
$3C3A7 ;BD2807
$3C3AA ;1D2C07
$3C3AF ;BD3807
$3C3B4 ;BC0007
$3C3BF ;BD4007
$3C3C5 ;9D4007
$3C3CF ;BD3807
$3C3D5 ;9D3807
$3C3F3 ;BD3007
$3C408 ;BD3007
$3C40D ;9D3007
$3C417 ;7D3807
$3C41A ;9D3807
$3C42C ;BD3C07
$3C43A ;9D4007
$3C440 ;BD3007
$3C445 ;BD1807
$3C45F ;997C07
$3C478 ;BD3007
$3C488 ;7D3407
$3C48E ;BD3007
$3C49C ;9D3007
$3C4A3 ;9D4007
$3C4F3 ;1D3007
$3C4FA ;5D3007
$3C4FD ;9D3007
$3C511 ;9D3C07
$3C515 ;BD3007
$3C51C ;9D3007
$3C527 ;9D3407
$3C546 ;B94407
$3C550 ;994407
$3C557 ;B94407
$3C55F ;994407
$3C56D ;9D2807
$3C572 ;9D2C07
$3C579 ;7D2807
$3C57C ;9D2807
$3C581 ;FE2C07
$3C585 ;BD3007
$3C58C ;9D3007
$3C594 ;9D2807
$3C597 ;9D2C07
$3C5A2 ;BC2807
$3C5A5 ;BD2C07
$3C5A8 ;FE2807
$3C5AD ;FE2C07
$3C5B3 ;BD0407
$3C5BA ;9D0407
$3C5C2 ;BD0407
$3C5C7 ;9D0407
$3C5D6 ;BD0C07
$3C5E1 ;FE0407
$3C5E4 ;FE0407
$3C5E8 ;9D1007
$3C5FC ;BD1C07
$3C605 ;BD3007
$3C60C ;BD1807
$3C619 ;9D1807
$3C61C ;BD0407
$3C621 ;9D0407
$3C626 ;BC1C07
$3C62D ;BD0407
$3C632 ;9D0407
$3C637 ;9D1C07
$3C646 ;9D2407
$3C64B ;9D2007
$3C654 ;BD0407
$3C65E ;9D0807
$3C661 ;BD0407
$3C666 ;9D0407
$3C672 ;BD0C07
$3C67B ;9D0C07
$3C683 ;DD0007
$3C688 ;9D0007
$3C68C ;BD0407
$3C691 ;9D0407
$3C6B3 ;9D1407
$3C6B9 ;9D1807
$3C6BD ;BD0C07
$3C6C6 ;9D0C07
$3C6CA ;BD1007
$3C6CF ;BD0407
$3C72A ;FE0407
$3C72D ;9D1007
$3C756 ;BD4007
$3C762 ;BD1007
$3C76B ;DD1007
$3C770 ;BD1007
$3C785 ;BC0807
$3C788 ;BD0407
$3C7AB ;BD0C07
$3C7B5 ;BD0C07
$3C7C3 ;B97C07
$3C7D0 ;BC0807
$3C7D3 ;BD0407
$3C7F7 ;BD0407
$3C7FF ;7D2007
$3C805 ;7D2407
$3C80B ;BD2007
$3C812 ;BD2407
$3C81C ;BD2007
$3C821 ;BC2407
$3C882 ;BD1407
$3C8A1 ;D97C07
$3C8A6 ;997C07
$3C8B0 ;BD0407
$3C8B7 ;BD1807
$3C8C9 ;7D2007
$3C8CC ;9D2007
$3C8D0 ;7D2407
$3C8D3 ;9D2407
$3C8D6 ;BD1C07
$3C8DC ;BD2007
$3C8E2 ;BD2407
$3C8F9 ;9D2007
$3C8FF ;9D2407
$3C902 ;BD0407
$3C907 ;9D0407
$3C913 ;7D0807
$3C916 ;9D0807
$3C91B ;BD0407
$3C921 ;9D0407
END

PART 3 - ORGANIZE MASSIVE POINTER TABLES FROM $3C925 TO END OF BANK
-----------------------------------------------------------------------------------------------
With all of the extra opcodes, it comes to a final total size, of 5E ADDITIONAL BYTES to be installed before all of the massive tables that comes after $3C925.

So what that means, is that all of the following address i jot down, need to be increased by 5E bytes, to get the new correct location to load whatever the address needs to load.

LOCATE ALL TABLES THAT ARE LOGGED HIGHER THAN ##89 & ##8A

$3C3FA ;B91589 ;NEW B97389 ;DONE
$3C401 ;B91C89 ;NEW B97A89 ;DONE
$3C47E ;B92389 ;NEW B98189 ;DONE
$3C63E ;B95989 ;NEW B9B789 ;DONE
$3C643 ;B95A89 ;NEW B9B889 ;DONE
$3C6E9 ;793389 ;NEW 799189 ;DONE
$3C700 ;F93389 ;NEW F99189 ;DONE
$3C723 ;F93389 ;NEW F99189 ;DONE
$3C85D ;D95389 ;NEW D9B189 ;DONE
$3C8DF ;F95989 ;NEW F9B789 ;DONE
$3C8E7 ;F95A89 ;NEW F9B889 ;DONE
$3C8F6 ;B95989 ;NEW B9B789 ;DONE
$3C8FC ;B95A89 ;NEW B9B889 ;DONE
$3C11D ;CD408A ;NEW CD9E8A ;DONE
$3C123 ;ED408A ;NEW ED9E8A ;DONE
$3C12A ;BC448A ;NEW BCA28A ;DONE
$3C12E ;1D438A ;NEW 1DA18A ;DONE
$3C133 ;BD438A ;NEW BDA18A ;DONE
$3C6A4 ;6D428A ;NEW 6DA08A ;DONE
$3C6AB ;6D418A ;NEW 6D9F8A ;DONE
END

6-9-13
infidelity

infidelity
Posted on 06-15-13 06:56 PM, in Hacking health Link | Quote | ID: 154116


Fuzz Ball
Level: 66

Posts: 366/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Links health is somewhere in the $600 area within ram. If you start a new player, look for either 22FF or 23FF, I forget.

infidelity
Posted on 06-18-13 02:05 AM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154135


Fuzz Ball
Level: 66

Posts: 367/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
The original outworld and dungeons will be redone, im already working on a new song.

infidelity
Posted on 06-25-13 10:38 PM, in Megaman 4 Music Question Link | Quote | ID: 154180


Fuzz Ball
Level: 66

Posts: 368/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
You will need to look up Matrixz doc on the 6C80 to understand. Some notes will have commands before them, and that can range from a vast list of options.

Regarding music, each song begins with 9 bytes. The first byte being 00, meaning a song. The next two bytes are the high/low address for square 1. The next two bytes are the higj/low address of square 2. The next 2 bytes are the high/low address for Triangle. The next two bytes are the high/low address for noise.

Immediatly following that, is usualy Square 1. Itll start off eith various commands, likr setting the octave, setting the pitch, setting the tempo, etc. I forget the lowest starting note, I want to say its 21, and the highest is FF. 20,40,60,80,A0,C0,E0, represent pauses until the next command/note is to take place.

Again, grab his doc, I gotta go, good luck.

infidelity
Posted on 07-06-13 03:45 PM, in Mega Man: Into Darkness Link | Quote | ID: 154245


Fuzz Ball
Level: 66

Posts: 369/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
I really like the synopsis! I also really like the shadowy facial expression on the title screen! The level layoyts you displayed look very cool! Looking forward to seeing this prohect progress further! :-)

Also, what rom is this based off of?

infidelity
Posted on 07-08-13 07:33 PM, in Zelda PPU Link | Quote | ID: 154261


Fuzz Ball
Level: 66

Posts: 370/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
You cant use tlp for zelda 1, because the gfx within the rom are compressed. Thats why it looks like shit.

Idk if yy-chr or tile molester have a decompression feature in them, so you can properly see the gfx?

If not, you'll have to find a decompression tool for Zelda 1.

Once you decompress the gfx, and are able to view them, you are not going to find pretty looking complete enemies. Some reuse the same tiles you see, and are then mirrored/flipped.

Good luck.

infidelity
Posted on 07-09-13 12:28 PM, in Zelda PPU Link | Quote | ID: 154272


Fuzz Ball
Level: 66

Posts: 371/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Thank you everyone for pointing out my mistake. I always thought it was compressed. I never bothered to shify the pixels within the editor. I may go back to other .nes roms I once looked at, but thought were compressed. *slaps head* Thanks again!

infidelity
Posted on 07-09-13 04:11 PM, in Zelda - The Legend of Link (v3-12-20) Released (rev. 3 of 07-09-13 05:48 PM) Link | Quote | ID: 154274


Fuzz Ball
Level: 66

Posts: 372/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
This is my first attempt uploading a video from my phone to youtube. Im sorry I cant embed the video into my post.

The video is just showing my newly updated title screen song. The zelda fanfare I stiill need to rewrite, so its not included yet.

The tune you hear in this video, is originaly what I wanted to do, but couldnt with the zelda sound engine.

http://www.youtube.com/watch?v=eInIfMTG964&feature=youtube_gdata_player

infidelity
Posted on 07-09-13 05:48 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154276


Fuzz Ball
Level: 66

Posts: 373/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Should be fixed

infidelity
Posted on 07-10-13 07:58 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154287


Fuzz Ball
Level: 66

Posts: 374/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Its from Ocarina of Time. Its the Song of Time, but the version is from when you open the Temple of Light if I remember correctly.

infidelity
Posted on 07-15-13 10:02 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 154316


Fuzz Ball
Level: 66

Posts: 375/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
No no not that far, lol.

Its still in the same phase (gameplay) wise. Right now im redoing the entire soundtrack to the game, and Thanatos-Zero is designing the sprites.

I still need to finish the Lens of Truth, and touch up the asm for The Lantern.

Then its all about proper placement for enemies, weapons, shops, levels, secrets, etc.

infidelity
Posted on 07-15-13 10:14 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* Link | Quote | ID: 154317


Fuzz Ball
Level: 66

Posts: 376/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
I am curious as to where these glitches are taking place within these games. can you be specific for me, and tell me what is going on? Like when and where?

infidelity
Posted on 07-16-13 06:11 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* Link | Quote | ID: 154322


Fuzz Ball
Level: 66

Posts: 377/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Im no expert in 6502, but I think I figured out the issue, with Megaman 2 only, so far.

All my patches worked on nestopia, nintendulator, fceuxd. Zelda needs an update for nestopia though.

Anyways, these patches were created in the mindframe for emulators, not real hardware, since at the time all I had was an emulator.

Tetris Zero was my first experience with a real hardware issue. This person was willing to send me my own retropak, so I could get my hack working on real hardware.

Anyways, all my patches will have to be edited, because ALL my patches do not work on real hardware.

Megaman 2, I figured out how to make it appear correctly.

My reset vector lacked the proper chr setup for the mmc3, so all the chr banks were 00. I added the proper writes/setups to $8000-$8001.

Im new to 'real hardware' and I learned that alot of registers need to be setup in that region first.

As for Megaman 2, I do not know what the distortion is at bootup, so thats still present. I tested my new patch on my retropak, and on my nes, megaman 2 plays. I played through woodmans stage, and everything was fine.

Ill try to upload a patch in this post later today, I have to do everything via cellphone.

Ill let you if I have any updates to my other patches.

-infidelity

infidelity
Posted on 07-16-13 10:10 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* (rev. 3 of 07-16-13 10:30 PM) Link | Quote | ID: 154327


Fuzz Ball
Level: 66

Posts: 378/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Supplied 2 links....

Anonfiles
https://anonfiles.com/file/a803202f249d40d60a6e07276f124321

Acmlm's Uploader
http://acmlm.kafuka.org/uploader/get.php?id=4452

Great news, ive updated all my patches, and all of them work on an actual NES!

The .zip file includes the desired .ips file for each game, plus my original notes with updated additions to the notes.

So these are the following games that are now running the MMC3 mapper, on all emulators and on the NES.

Castlevania
Contra
Duck Tales
Legend of Zelda
Megaman
Megaman 2

I tested all of these games on my RetroPak for my NES. I hope this works for people with actual cartridge boards, I dont have anything like that.

Enjoy!

-infidelity

infidelity
Posted on 07-17-13 05:20 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* Link | Quote | ID: 154334


Fuzz Ball
Level: 66

Posts: 379/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
You are very welcome! Im glad its working properly! I have no issue with you posting/hosting my patches, the more exposure for them, the better! :-)

Making mapper conversions is tricky sometimes. Thanks to you, I now know what I was lacking in my patches, and it was mmc3's chr data ports in $8001, I never had them setup. Thats why the nes was showing garbage, cause the nes waant able to read the proper chr setup.

The other part thats tricky, is locating free space in the hard wired bank, to have a proper bankswap routine, and various other mmc3 functions to make the game work.

Some games I was fortunate to find free space, but games like Castlevania & Duck Tales, I had to overwrite areas where I believe are unused code in the game.

I may try this again with other unrom or mmc1 games. :-)

Again, im glad they work!

-infidelity

infidelity
Posted on 07-18-13 10:53 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* Link | Quote | ID: 154346


Fuzz Ball
Level: 66

Posts: 380/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
I honestly dont know why thats happening. I havent experienced that with my retropak. Idk if this would happen on a non multicart? Im sorry that issue is still present. :-(

infidelity
Posted on 07-19-13 09:52 PM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* (rev. 3 of 07-19-13 10:37 PM) Link | Quote | ID: 154355


Fuzz Ball
Level: 66

Posts: 381/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Damn it!

I do appreciate you taking the time to make the vids.

Regarding Contra, I got no clue, probably another area within the rom loading up the old unrom chr routines, and I dont have the proper mmc3 routine there?

But with Castlevania, Duck Tales, & Megaman, it clearly looks to be a mirroring issue. The horizontal/vertical switches arent being recognized. Thought I had this all figured out....

Ill see what I can figure out/come up with.

Edit - Hmm, disch's notes (for unrom) just talks about $8000-$FFFF, and it doesnt specify how chr is handled, or mirroring. So idk what im going to do regarding at least the mirroring. Either tonight or tomorrow I can tinker around to figure this out.

infidelity
Posted on 07-21-13 03:02 AM, in My Conversions To MMC3. Patches/Documents *UPDATED v9.1 12-3-13* (rev. 2 of 07-21-13 02:52 PM) Link | Quote | ID: 154371


Fuzz Ball
Level: 66

Posts: 382/968
EXP: 2370143
Next: 91708

Since: 05-24-07

Last post: 969 days
Last view: 825 days
http://acmlm.kafuka.org/uploader/get.php?id=4453

I think I fixed the problem, please let ne know. And also, Metroid has been added to my mmc3 conversion list. Im currently working on Ninja Gaiden.

-infidelity

P.S. I accidently left in a custom asm feature for Contra, back in my version 1 & 2 patches, it has been removed in version 3. All ill say what it is, is that its a control mod, heh.
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


Main - Posts by infidelity

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 3.846 seconds. (346KB of memory used)
MySQL - queries: 132, rows: 164/164, time: 3.830 seconds.