(shouting)

ASM: Request, help and general discussion

Anthrax 2 Multiply Themodynamics
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: ASM: Request, help and general discussion

Post by limepie20 »

That didn't seem to work for me. Although, that is probably because what ever I'm supposed to do with the .dsc and the .dbk files I'm not doing right (because I don't know exactly what to do with them).
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 15 years ago
Pronouns: he/him/his
Location: Sweden

Re: ASM: Request, help and general discussion

Post by yoshicookiezeus »

Oh derp. It's the .db file that is the important one... Here, have an updated download.
Attachments
BTSD stuff.zip
Now without lack of vital files! (hopefully)
(70.22 KiB) Downloaded 113 times
User avatar
Cheeseofdoom
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by Cheeseofdoom »

yoshicookiezeus wrote:Oh derp. It's the .db file that is the important one... Here, have an updated download.
The other two are used for Lunar Magic.
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: ASM: Request, help and general discussion

Post by limepie20 »

Oh okay, it worked now. Thanks for the help.
flareblade26
Posts: 0
Joined: 13 years ago
Location: Michigan

Re: ASM: Request, help and general discussion

Post by flareblade26 »

yoshicookiezeus wrote:No, since $60 is not a power of 2. You'll need to use one of the values I posted. (although I could easily set the thing up to run on a timer instead, so that you could use any delay between blocks)
that would be fantastic, since 7f is too slow for me and 3f is too fast. or something like that.
Image

Incase anyone couldnt tell, I wanna be co- A2MT gfx guy.
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 15 years ago
Pronouns: he/him/his
Location: Sweden

Re: ASM: Request, help and general discussion

Post by yoshicookiezeus »

Okay then. Replace this:

Code: Select all

         LDA $14                           ;\ if not yet time to spawn new block,
         AND #$0F                          ; |
         BNE Return                        ;/ return
with this:

Code: Select all

         DEC $7C                           ;\ if not yet time to spawn new block,
         BPL Return                        ;/ return
         LDA #$5F                          ;\ reset timer
         STA $7C                           ;/
You may or may not have to replace $7C with another freeRAM address; I don't know what is and isn't used by the various ASM hacks installed to the base ROM.
User avatar
Chdata
Posts: 11
Joined: 14 years ago
Location: Computer Chair

Re: ASM: Request, help and general discussion

Post by Chdata »

Code: Select all

!TileLimit = $0DA1		;
!AntiCheatRAM = $60		;Freeram for anti cheat
!FreeRAMLevelASM = $010B	;Levelnum.ips
!Freeranmnm = $15E8		;Set this to the level number you sort of want Mario to disable contact with sprites. (If non zero, disable death)
!YourDeadFlag = $7C		;This is set to #$01 if you die
!NewNumber = $010D		;Extra overworld level ram (Message box trigger)
!16BitSaveFileLevelnum = $010F	;This will be the same as $010B, except that it'll have the current save file added to it. It'll be stored to $010F-$0110
!YouHiTheBoxFlag = $62		;Will be non zero when you hit a message box
!SLOTSUSED = $06FE		;dsx.asm stuff
!Flaggot = $0AF5		;TAR BLOCKS
!FreeLRdis = $87		;If non-zero, disable LR scrolling
iirc Chibikko changed some stuff in the patch so I don't know what's anything with the patch anymore, but these are some of the freerams used in the patch.
Image
Trouble with a capital COW.

<math>\tan{A}\sin{N}</math>
User avatar
Lv27MarkerMMan
Posts: 7
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by Lv27MarkerMMan »

I have a level that consists of a lot of the yellow flip blocks(aka turn blocks). I would like to add a displayable counter to the screen that displays the number of blocks that the player has broken and use the value to change where the player goes when they go through the door. I have found a lead on how to get access to where I would place the counter, but what I really need to know first is how to get the counter to count.

Below is advice that was offered to me, but I'm not quite sure how to apply it.

@Cheeseofdoom or anyone who can help
Cheeseofdoom wrote:This is easy enough on the asm end for someone that has a bit more time than me right now.

1. If player is spin jumping, check their powerup status; if not small branch to shatter routine.
2. Increase empty ram. The "target block" on SMWC uses $0B44.
3. Run the shatter routine (JSL $028663,) and presumably erase the block (I wouldn't think the shatter routine would cover this.) I'm not sure if you have to do anything else here.

Now the hard(er) part:

4. Draw the tiles based on the ram you increased.

This is the part I'm not sure of, there's a patch that displays the on/off status in the status bar on SMWC if whoever is attempting this needs a reference.

Of course, none of this is needed for most the people that are experienced with asm here, but I figured I might as well help out anyone else that may want to try, and perhaps learn something from whoever does it.
Is this programming done in the asm of the level itself or the asm of a custom block?
Don't be afraid to check out my Youtube channel.
I am making let's plays now!
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

There's two ways to do it.

You could overwrite tiles in the status bar/HUD. This is easier, but it limits you to the two rows used by Layer 3 up at the top, and has to be run every frame. Learn More

The other way is to upload tiles directly to Layer 3. This is a bit more complicated, but it lets you put the counter anywhere on the screen, and only has to be run when you want to change it. This explains it technically, but I can give you more info from something I did (which is mostly borrowed code from one of YCZ's ASMT sprites.

[edit] Wait, maybe I misinterpreted your post. Are you a non-ASMer who's just looking for someone to make a block? If you want I think I can do that for you, I'm not sure what type of knowledge you have of ASM.
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: ASM: Request, help and general discussion

Post by limepie20 »

You mean Lv27?
Yeah that's a request. He doesn't have the asm knowledge required to do stuff like that.
User avatar
Lv27MarkerMMan
Posts: 7
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by Lv27MarkerMMan »

@VideoGuy Caps are for emphasis I am a non-ASMer with some C++ knowledge

What I meant was that what I need first is for the counter itself to be made. All your advice refers to the DISPLAY of the counter. I will need a way to display the value to test if it works right, but I don't have a way to record the value I want to record in the counter yet. If I don't have a value I will have nothing to display. The value should increase by 1 every time a yellow turn block is broken in a specific room.

This may clarify what I am requesting.
The VALUE(records the number of blocks broken) should INCREMENT(increase the number by one) when the TRIGGER(when the right kind of block breaks) occurs and the DISPLAY(The part the player sees) should show the current value. What I really need first are to make the value, increment, and trigger parts work. Then I need the display to use the value to display the number.

Can a custom block act JUST like the regular yellow turn blocks, except that they would increase empty ram that I can use when they break? If so, I would like to request it.

However, if there is a better method than using a custom block to record and increment the value then I'd be open to that too.
Don't be afraid to check out my Youtube channel.
I am making let's plays now!
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: ASM: Request, help and general discussion

Post by Diortem »

Wouldn't your custom block code be something like the following (verbatim copy, just by searching through all.log for 'turn block'. It might need some polishing...):

Code: Select all

CODE_00EE67:        A6 19         LDA RAM_MarioPowerUp ; check not being small
CODE_00EE69:        F0 18         BEQ CODE_FAIL                  
CODE_00EE6B:        AE 0D 14      LDA.W RAM_IsSpinJump ; check  spin jump
CODE_00EE6E:        F0 13         BEQ CODE_FAIL         
CODE_CUSTOM:        increment counter here
CODE_CUSTOM2:       22 63 86 02   JSL.L ShatterBlock   ;
CODE_FAIL:          60            RTS
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 15 years ago
Pronouns: he/him/his
Location: Sweden

Re: ASM: Request, help and general discussion

Post by yoshicookiezeus »

The problem would be handling what happens when the player hits the turn block from below. The spinning turn block turning back to the normal one is handled by a block bounce sprite, so you'd need a custom one to make sure the block reverts to your custom block correctly.
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

How much do they have to act like normal turn blocks? The lazy solution would be to make a custom block that doesn't do the spinning part and runs the code only when hit from the top.

I suppose the other lazy solution would be to hijack the block shatter routine and give it some custom code for just that one level, although that would require messing with the base rom and I don't know if that's allowed/encouraged.
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
User avatar
ProfessorDemetri
Posts: 0
Joined: 14 years ago
Location: BC, Canada

Re: ASM: Request, help and general discussion

Post by ProfessorDemetri »

If you want to experiment with the baserom, do it.
Doesn't mean it messes up the master copy of it, if you're doing it on your own.
Experiment, by all means.
Image
Image
If you need help with anything, contact me on my skype: Demekun
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: ASM: Request, help and general discussion

Post by limepie20 »

If you find a solution that works, you can give it to me or Chibikko (doesn't matter which because in the end, it will go to Chibikko) and he'll (try to) incorporate it into the patch comp.
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

Okay, I'll play around with that a bit. I can't imagine any conflicts, but you never know with this sort of thing.
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

Lv27 - Take a look at this video. Does that look like what you wanted?
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
User avatar
Lv27MarkerMMan
Posts: 7
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by Lv27MarkerMMan »

@VideoGuy
YES YES YES! THAT is EXACTLY what I need!

How do I do it? *I'll check the video description after posting this if the info is there*


Now all I need is an exit (preferably a door, but I'm not that picky on this detail)that can change where it takes you based on the value in the counter (in my case to 4 different subexits that lead to different places in the same room). It has been suggested that I use a custom block for this. I have no idea how to mess with exit things, but I would like to be able to adjust the value part.
Don't be afraid to check out my Youtube channel.
I am making let's plays now!
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

It should just be a simple patch to put on your ROM (and the eventual baserom), as well as a bit of LevelASM. I'll start working on that door, then I'll send you a file with instructions when it's ready.
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
User avatar
Schnurmanator
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by Schnurmanator »

This is a simple request, I just don't know how to use ASM at all :S

I need a code that makes any collected parrot coins in my level not count towards the coin counter. So the parrot coins don't act as actual coins but still have the capability of all being collected in the level.

It would be nice if someone could write the code because I have no idea how ASM works.
Image
VideoGuy
Posts: 0
Joined: 14 years ago

Re: ASM: Request, help and general discussion

Post by VideoGuy »

Hate to say this, but that would probably require a modification to the code for the Parrot Coin itself. Which could technically be done, but it would be a bit difficult.
Accepting any and all ASM requests for A2MT. Just send me a PM.
Note: If I accepted your ASM request and you never heard back from me, please let me know. I feel like I've forgotten a few of them.
Also the creator of the new A2MT CMS. PM me if you have any questions.
Youtube Channel
limepie20
Posts: 0
Joined: 14 years ago
Location: Doesn't Matter

Re: ASM: Request, help and general discussion

Post by limepie20 »

If that's the case, it probably won't happen because we are using custom parrot coins which use objectool and we'd need replicas of the same 10 parrot coin blocks and all the code to be inserted into five new objectool slots.

Sorry, man. I'm sure you can find a way around it.
User avatar
AUS
Toni#4796
Posts: 483
Joined: 14 years ago
First name: Toni
Pronouns: they/them/their
Location: アース

Re: ASM: Request, help and general discussion

Post by AUS »

If you tell me what you need it for, I can probably think of a way around that.
Not with code, but you know, on paper.
Image
"oh no my best friend was replaced by a evil demon shadow monster"
"argh i am the evil shadow monster demon shadow"
Vip is pronounced "Beep"
nostalgic realtime nitroid let's play playlist
User avatar
Diortem
Posts: 0
Joined: 13 years ago

Re: ASM: Request, help and general discussion

Post by Diortem »

Schnurmanator: If I run the 2.17 base rom I don't see any coin increments when the new Parrot coins are collected. So if you insert the new coins yourself instead of the original SMW Dragon Coins it should be fine.
Locked