Basic Questions and Answers Thread

3221 posts in this topic

Posted

Lately there have been many new threads for very simple and basic questions that tend to be answered with a small amount of posts and then fall into oblivion. This thread is for those sort of questions that are believed to be very simple and not thread worthy, and also a way to keep those kinds of questions available with the answers in one thread in case someone is experiencing the same problem, and could easily look it up. Remember to check this thread or the forum for an answer before posting.

2

Share this post


Link to post
Share on other sites

Posted (edited)

I tried to put this code, (from a Sonic 1 ROM, below,) into my Sonic 2 hack, and it spat out an error about StartOfROM being $C.

SRAMSupport:	dc.l $5241E020		; change to $5241E020 to create	SRAM

dc.l $200000 ; SRAM start

dc.l $20FFFF ; SRAM end

How should I get this to work?

I know I'm going about this the wrong way.

:D

Edited by fantasticfish
0

Share this post


Link to post
Share on other sites

Posted (edited)

; ---------------------------------------------------------------------------

; Subroutine to perform a NEW move!!!!!!!!

; ---------------------------------------------------------------------------

Sonic_WEIRD:

btst #6,(Ctrl_1_Press).w

beq.w Sonic_WEIRD_End ; If not, branch

move.w #$3C,d0 ; set sound

jsr (PlaySound).l ; play sound

cmpi.w #1,(Ring_count).w ; does Sonic have at least 1 rings?

bcs.s Sonic_WEIRD_End ; if not, branch

subq.w #1,(Ring_count).w ; Subtract 1 rings.

ori.b #1,(Update_HUD_rings).w ; Update the HUD.

move.w #$1500,d0 ; set the speed to d0

Sonic_WEIRD_ChkDirection:

btst #0,$22(a0) ; is sonic facing left?

beq.s Sonic_WEIRD_MovePlayer ; if yes, branch

neg.w d0 ; if not, negate d0 (for jumping to the right)

Sonic_WEIRD_MovePlayer:

move.w d0,$10(a0) ; Move Sonic...

Sonic_WEIRD_End:

rts ; return

; End of function Sonic_WEIRD

This code does everything--except for moving Sonic!

Does anyone have any idea exactly why this code, inserted into Sonic 2, with the proper

Obj01_MdNormal
call does not work and how to fix it?

I think the code was meant for in-air movement, but don't know how to fix it.

Edited by fantasticfish
0

Share this post


Link to post
Share on other sites

Posted

Don't call to this from Obj01_MdNormal, try md_jump or md_air.

If that doesn't work, there might be something else wrong with the code.

0

Share this post


Link to post
Share on other sites

Posted

I was just wondering if anyone could help me code the eggman monitor so it hurts sonic, I did try using the spike code but all it does is play the dieing sound

Can any one help me please??

0

Share this post


Link to post
Share on other sites

Posted

You need to show us the code before we can make any logical assumptions to what you did wrong. We don't know everything Liam, a lot of us here do know quite a bit though.

0

Share this post


Link to post
Share on other sites

Posted

I tried to put this code, (from a Sonic 1 ROM, below,) into my Sonic 2 hack, and it spat out an error about StartOfROM being $C.

SRAMSupport: dc.l $5241E020 ; change to $5241E020 to create SRAM

dc.l $200000 ; SRAM start

dc.l $20FFFF ; SRAM end

How should I get this to work?

I know I'm going about this the wrong way.

blink.gif

You most likely chose hex values that aren't empty. you should open up you hex editor and check, as using hex values that are already used cause games to go haywire. At least that's what I've learned form my in's and out's with ASM.

0

Share this post


Link to post
Share on other sites

Posted

Don't call to this from Obj01_MdNormal, try md_jump or md_air.

If that doesn't work, there might be something else wrong with the code.

No, you don't understand; I mean I want it to happen when you're on the ground.

Sorry, about any unclearness.

0

Share this post


Link to post
Share on other sites

Posted

I tried to put this code, (from a Sonic 1 ROM, below,) into my Sonic 2 hack, and it spat out an error about StartOfROM being $C.

SRAMSupport: dc.l $5241E020 ; change to $5241E020 to create SRAM

dc.l $200000 ; SRAM start

dc.l $20FFFF ; SRAM end

How should I get this to work?

I know I'm going about this the wrong way.

blink.gif

You most likely chose hex values that aren't empty. you should open up you hex editor and check, as using hex values that are already used cause games to go haywire. At least that's what I've learned form my in's and out's with ASM.

Sorry, I don't understand you. Could you clarify?

0

Share this post


Link to post
Share on other sites

Posted

I was just wondering if anyone could help me code the eggman monitor so it hurts sonic, I did try using the spike code but all it does is play the dieing sound

Can any one help me please??

Check this out. Here is a simple guide on how to add this function.

0

Share this post


Link to post
Share on other sites

Posted

I was just wondering if anyone could help me code the eggman monitor so it hurts sonic, I did try using the spike code but all it does is play the dieing sound

Can any one help me please??

Just tell it to jump to Obj01_Hurt. That's it.

0

Share this post


Link to post
Share on other sites

Posted (edited)

{NEW QUESTION}

I was thinking about music editing, noticed Qjimbo's porter tool, and it was extremely helpful--until I noticed all the ill effects on my hack, which used a disassembly. Does anyone know of an equivalent tool that works on the disassembly files?

Edited by fantasticfish
0

Share this post


Link to post
Share on other sites

Posted

What porter tool.

Also, questions don't need a {NEW QUESTION}, it's stupid. You don't see that on Ret- oh wait.

It's bro- oh wait, it's slowly coming back.

0

Share this post


Link to post
Share on other sites

Posted

; ---------------------------------------------------------------------------

; Subroutine to perform a NEW move!!!!!!!!

; ---------------------------------------------------------------------------

Sonic_WEIRD:

btst #6,(Ctrl_1_Press).w

beq.w Sonic_WEIRD_End ; If not, branch

move.w #$3C,d0 ; set sound

jsr (PlaySound).l ; play sound

cmpi.w #1,(Ring_count).w ; does Sonic have at least 1 rings?

bcs.s Sonic_WEIRD_End ; if not, branch

subq.w #1,(Ring_count).w ; Subtract 1 rings.

ori.b #1,(Update_HUD_rings).w ; Update the HUD.

move.w #$1500,d0 ; set the speed to d0

Sonic_WEIRD_ChkDirection:

btst #0,$22(a0) ; is sonic facing left?

beq.s Sonic_WEIRD_MovePlayer ; if yes, branch

neg.w d0 ; if not, negate d0 (for jumping to the right)

Sonic_WEIRD_MovePlayer:

move.w d0,$10(a0) ; Move Sonic...

Sonic_WEIRD_End:

rts ; return

; End of function Sonic_WEIRD

This code does everything--except for moving Sonic!

Does anyone have any idea exactly why this code, inserted into Sonic 2, with the proper

Obj01_MdNormal
call does not work and how to fix it?

I think the code was meant for in-air movement, but don't know how to fix it.

Change $10 to $14, 10 is used in air, $14 is used on the floor.

0

Share this post


Link to post
Share on other sites

Posted

; ---------------------------------------------------------------------------

; Subroutine to perform a NEW move!!!!!!!!

; ---------------------------------------------------------------------------

Sonic_WEIRD:

btst #6,(Ctrl_1_Press).w

beq.w Sonic_WEIRD_End ; If not, branch

move.w #$3C,d0 ; set sound

jsr (PlaySound).l ; play sound

cmpi.w #1,(Ring_count).w ; does Sonic have at least 1 rings?

bcs.s Sonic_WEIRD_End ; if not, branch

subq.w #1,(Ring_count).w ; Subtract 1 rings.

ori.b #1,(Update_HUD_rings).w ; Update the HUD.

move.w #$1500,d0 ; set the speed to d0

Sonic_WEIRD_ChkDirection:

btst #0,$22(a0) ; is sonic facing left?

beq.s Sonic_WEIRD_MovePlayer ; if yes, branch

neg.w d0 ; if not, negate d0 (for jumping to the right)

Sonic_WEIRD_MovePlayer:

move.w d0,$10(a0) ; Move Sonic...

Sonic_WEIRD_End:

rts ; return

; End of function Sonic_WEIRD

This code does everything--except for moving Sonic!

Does anyone have any idea exactly why this code, inserted into Sonic 2, with the proper

Obj01_MdNormal
call does not work and how to fix it?

I think the code was meant for in-air movement, but don't know how to fix it.

Change $10 to $14, 10 is used in air, $14 is used on the floor.

Thanks a lot! It worked perfectly!

0

Share this post


Link to post
Share on other sites

Posted

; ---------------------------------------------------------------------------

; Subroutine to perform a NEW move!!!!!!!!

; ---------------------------------------------------------------------------

Sonic_WEIRD:

btst #6,(Ctrl_1_Press).w

beq.w Sonic_WEIRD_End ; If not, branch

move.w #$3C,d0 ; set sound

jsr (PlaySound).l ; play sound

cmpi.w #1,(Ring_count).w ; does Sonic have at least 1 rings?

bcs.s Sonic_WEIRD_End ; if not, branch

subq.w #1,(Ring_count).w ; Subtract 1 rings.

ori.b #1,(Update_HUD_rings).w ; Update the HUD.

move.w #$1500,d0 ; set the speed to d0

Sonic_WEIRD_ChkDirection:

btst #0,$22(a0) ; is sonic facing left?

beq.s Sonic_WEIRD_MovePlayer ; if yes, branch

neg.w d0 ; if not, negate d0 (for jumping to the right)

Sonic_WEIRD_MovePlayer:

move.w d0,$10(a0) ; Move Sonic...

Sonic_WEIRD_End:

rts ; return

; End of function Sonic_WEIRD

This code does everything--except for moving Sonic!

Does anyone have any idea exactly why this code, inserted into Sonic 2, with the proper

Obj01_MdNormal
call does not work and how to fix it?

I think the code was meant for in-air movement, but don't know how to fix it.

Change $10 to $14, 10 is used in air, $14 is used on the floor.

Thanks a lot! It worked perfectly!

No problem. :)

0

Share this post


Link to post
Share on other sites

Posted

Ok, I fixed the level select, but for Labyrinth Zone (The missing act from scrap brain act 3 and add final zone to scrap brain). Maybe I read the guide wrong, but I want to add sbz act 3 to labyrinth zone and add final zone to scrap brain zone so you can play through the last act of sbz. I think I made it confusing enough. Idk if this would help

Green Hill Zone 1

2

3

Marble Zone 1

2

3

Spring Yard Zone 1

2

3

Labyrinth Zone 1

2

3

4 (SBZ act 3)

Star Light Zone 1

2

3

Scrap Brain Zone 1

2

3 (true 3rd act, Final Zone)

Special Stage

Sound Test.

Do I just use ese or do asm (Thats what I did first trying to fix the level select)

0

Share this post


Link to post
Share on other sites

Posted (edited)

You will need to edit the level select text, the level select pointers and the level order. I guess these 3 functions are all included in ESE, or at least 2 of them.

Edited by Selbi
0

Share this post


Link to post
Share on other sites

Posted

You will need to edit the level select text, the level select pointers and the level order. I guess these 3 functions are all included in ESE, or at least 2 of them.

The level order and pointers I can arrange. Then all that I have to is edit a few title cards, level text and the order. Thankyou

0

Share this post


Link to post
Share on other sites

Posted

At some points the camera in GHZ 3 changes the boundary bottom. How can I edit that?

0

Share this post


Link to post
Share on other sites

Posted (edited)

I've messed with some palette code to make player two have an underwater palette, but if you get to SBZ act 3 as player two, the game crashes and I don't know how to fix it.... Here is my code:

Level_LoadPal:

		move.w	#$1E,($FFFFFE14).w

		move	#$2300,sr

		moveq	#3,d0

Multi:

		cmpi.b   #1,($FFFFFFFE).w; is character flag on?

		bne.s	 Mulit1  &#59; if not, branch

		moveq   #$14,d0

		jsr		 PalLoad2		 &#59; load new palette

		bra	loadpal_con

Mulit1:

		bsr.w	PalLoad2; load Sonic's pallet line



loadpal_con:



Multi2:

		cmpi.b	#1,($FFFFFE10).w; is level LZ?	

		bne.s	 Level_GetBgm  &#59; if not, branch

		bra	under

under:

		cmpi.b   #1,($FFFFFFFE).w; is character flag on?

		bne.s	Mulit2; if not, branch

		moveq   #$15,d0

		bra	loadpal2_con

Mulit2:



		moveq	#$F,d0&#59; pallet number	$0F (LZ)

loadpal2_con:



Multi3:

		cmpi.b	#3,($FFFFFE11).w; is act number 3?

		bne.s	Level_WaterPal; if not, branch

		bra	under2

under2:

		cmpi.b   #1,($FFFFFFFE).w; is character flag on?

		bne.s	 Mulit3  &#59; if not, branch

		moveq   #$16,d0

		bra	loadpal3_con

Mulit3:

		moveq	#$10,d0&#59; pallet number	$10 (SBZ3)



loadpal3_con:

I honestly don't see how this is a bad code.

EDIT: Never mind, Fixed. A line in the Palette Pointers.asm was commented :o

Edited by Zero
0

Share this post


Link to post
Share on other sites

Posted

I don't understand this.

"To pad the ROM, open it in a hex editor, and

insert a number of bytes at the end of the file. This number must be

equal to or greater than the number of bytes that the data is expected

to grow. The total size of level/tile data will stay around the area of

524,288 bytes (512K). Adding 131,072 bytes (128K) to the end might leave

enough room, although a larger number would be safer".

Info from sonED, where would I add the bytes to the very end or before the end of the rom? Do I have to add 512K with 128K. I find it very confusing.

0

Share this post


Link to post
Share on other sites

Posted (edited)

EDIT: Nevermind, I got it to work.

Edited by Sephiroth
0

Share this post


Link to post
Share on other sites

Posted (edited)

Edit: I got it to work. Never Mind.

Edited by Rydia3667
0

Share this post


Link to post
Share on other sites

Posted

I've used a tile editor but that's stupid in my opinion, is there any other way of changing the color of the tiles and palettes?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now