Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
Acmlm's Board - I2 Archive - - Posts by Escherial
Pages: 1 2 3 4 5
User Post
Escherial

Shyguy
Level: 17

Posts: 61/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 09-23-04 09:21 AM, in ASM to enable 3 exits? Link
Let's not forget the possibility of enabling events that aren't directly related to moving on to the next level (i.e. terrain changes on other parts of the map); I think that more than three exits would be useful in such cases.

I'm trying to get a three-exit setup working smoothly (using a little ASM), but I'm having trouble figuring out the address that states which direction to enable upon level completion. If anyone knows the numeric values for Up, Down, Left, and Right, it'd make searching for the address a lot easier. I've tried the obvious 0, 1, 2, 3 for those directions, respectively, but that's not it.

Once I find that address, it should be entirely possible to write up a block that not only executes an arbitrary event upon level completion, but moves the player in the direction that the event makes passable as well.

Once again, if anyone knows the numeric values for Up, Down, Left, and Right, it'd make searching for the address a lot easier (please, Fu? ).
Escherial

Shyguy
Level: 17

Posts: 62/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 09-24-04 09:31 AM, in ASM to enable 3 exits? Link
So, anyone have any ideas on what values correspond to Up, Down, Left, and Right for the directions to enable upon beating a level? If I can figure that out, the little hack I'm throwing together to demonstrate multiple exits will be complete.

This is kind of off-topic, but the MacOS X version of Snes9x has this amazing feature where you can monitor a memory address as the game is running; it'll display the value at that address in the upper-left corner (customizable, of course, for signed/unsigned/hexadecimal display and varying address widths). I'm a little disappointed that it can only show one address at a time, but it's still incredibly useful. I recommend it.
Escherial

Shyguy
Level: 17

Posts: 63/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 09-25-04 12:41 AM, in ASM to enable 3 exits? Link
Thanks, FuSoYa; I really appreciate the help . Er, sorry to pester you more, but what's in the lower nibble of that byte? This emulator can't search for values that are less than a byte in size, unfortunately, so I need to reconstruct the entire byte to look for it. Also, did you mean that the normal exit direction is in the upper half of the upper nibble and the secret is in the lower half or is that vice versa? Er, and is the SNES little or big-endian?

Sorry for all the questions answer what you like, I'm sure I'll find something myself if I spend long enough researching/staring.
Escherial

Shyguy
Level: 17

Posts: 64/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-16-04 05:56 AM, in Found code for gravity and jumping. Link
Use JML for "jump long" (can specify an absolute address, if you like); use RTL to return from a long jump (i.e. at the end of your code).
Escherial

Shyguy
Level: 17

Posts: 65/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-18-04 04:44 AM, in Status Bar Location in Hex? Link
The statusbar layout is located from 0x0EF9 to 0x0F2E. From 0x0EF9 to 0x0E14 is the top half of the status bar; the bottom half is from 0x0F15 to 0x0F2F.

Here's a graphic (courtesy of BMF) that makes this a bit clearer:
Escherial

Shyguy
Level: 17

Posts: 66/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-21-04 08:36 AM, in Solar Soundtrack - unfrozen once again. Link
Just out of curiousity, will the user be able to enter notes manually? Or can you only modify instruments, etc.? I'd be pretty impressed if you mapped the keyboard to notes, as is done with most trackers.

Anyhow, can't wait for the release. Please, release it soon; I'm eager to try this thing out
Escherial

Shyguy
Level: 17

Posts: 67/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-22-04 12:47 AM, in Blocks? Link
Be prepared for the fact that you'll quickly have *way* too many sprites onscreen at once.

If you want to control the amount of time it takes a throw-block to disappear, you might be interested in the following addresses:

7E1547 - First block present countdown timer
7E1546 - Second block countdown timer
7E1545 - Third block, etc.

I'd imagine that if you could just make this constant in the block's update cycle or find where this value is decremented and remove that, you could have everlasting blocks.

Try freezing these in ZSNES; it's fun
Escherial

Shyguy
Level: 17

Posts: 68/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-22-04 01:16 AM, in Sprite-O-Matic 1.0 Link
Out of curiousity, how hard would it be for you to write a windowed version of this tool? It seems extremely useful, but a bit difficult to use with other things if it has to be fullscreen.

Also, a list of named sprites in addition to manually entering the number would be nice . Great work on this; I'm glad to see that someone finally summoned up adequate time to write this much-anticipated tool.


(edited by Escherial on 10-21-04 04:16 PM)
Escherial

Shyguy
Level: 17

Posts: 69/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-29-04 07:26 AM, in SURPRISE! Super Mario Odyssey Demo v0.2! Link
EDIT: ok, my browser had cached the second page for some odd reason and was showing it to me as the third, making most of this post totally worthless.

Anyhow, on to the part about the training mode time trial..I've managed to get 1:03, but I can't get anything lower; anyone managed to break that?


(edited by Escherial on 10-28-04 10:29 PM)
Escherial

Shyguy
Level: 17

Posts: 70/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-29-04 10:54 AM, in SURPRISE! Super Mario Odyssey Demo v0.2! Link
Hum, I got both of those as, but I'm still just shy of 1:00 . In terms of techniques, it saves time to hold the last block you grab of the wall of blocks rather than pick up a new one in the pile below the spring. Also, if you hurt yourself instead of coining the enemies, it's slightly easier to make it through the hole in the ceiling. Plus, there's the spin jump off the goomba slide to get over the plant. Hope these weren't too obvious...

Just out of curiousity, what's the reward for clearing it in under a minute? If you feel that I should find out for myself, that's fine, too

Just wanted to know if it's worth the spent time, heh, as I have several other deadlines that are getting pretty threatening.
Escherial

Shyguy
Level: 17

Posts: 71/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 11-06-04 12:18 AM, in Different way of selecting game file 1, 2, and 3? Link
Well, 7E010A is the address of the currently selected save game file (00 = first file, 01 = second file, 02 = third file). What you're going to have to do is figure out where the "load game data" code is located and jump to that after setting the file from which you want to load. In other words, its tracer time . The actual setting is of the game file is trivial, as I'm sure you know, but finding that subroutine and making sure calling it doesn't totally screw you over might be difficult.

Also, if someone could find the "save game data" sub, it'd be pretty easy to implement copying the current file to another file in-game . I've tried it out with freezing the value and then beating a ghost house. Pretty nifty, if you ask me...

EDIT: Sorry, it appears that I have a real talent for killing threads. Let's hope this one comes back to life eventually


(edited by Escherial on 11-05-04 11:35 PM)
Escherial

Shyguy
Level: 17

Posts: 72/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 11-10-04 12:20 AM, in Goal Star System Link
This may have been suggested earlier, but here goes...

Why not just hijack that portion of the status bar with your own counting value rather than using the goal tape stars? You could always use completed exits as "stars" and just show it there, if you like. Nice thing about those is you can't get two for beating a level twice and they're saved when you save the game.

As far as using your special value for restricting access, it'd be trivial to write up a custom block that'd prevent you from progressing if your "star count" was less than a desired amount.
Escherial

Shyguy
Level: 17

Posts: 73/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 11-15-04 03:18 AM, in Are sensitive (custom) blocks possible, like these in Super Metroid? Link
Blocks don't "move", per se; now, it would be cool if we had some way to get into the level memory and change blocks anywhere, as opposed to only being able to change the currently activated block.

This is a bit of a tall order, but if anyone knows the position of the tile data in RAM and the width of each block entry as well as a way to figure out the position in that data of the current block, that'd be great . With that, Vortex's suggestion would be possible.
Escherial

Shyguy
Level: 17

Posts: 74/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 11-15-04 07:46 AM, in Are sensitive (custom) blocks possible, like these in Super Metroid? Link
Ok, just to clear things up, this is the way that custom blocks work at present:

1) A sprite (Mario or otherwise) collides with the custom block
2) FuSoYa's code is executed, which looks up an address in the custom block data for the game to jump to upon the event.
3) The custom ASM for that block is executed (note that this custom ASM only has direct access to its Map16 value and is able to set its Map16 value upon exiting the routine).
4) Control returns to the game as normal.

As you can see, the custom block code is not executing while the game code is executing; in fact, the game stalls while the custom block code is running. This precludes having some sort of loop in the custom block code which stalls until something should happen. (Turn blocks are handled by the game's update loop code, which has the liberty of allowing events to happen after an amount of time has elapsed.)

I don't think using a key sprite will work, as I doubt it triggers a collision event.

Also, Vortex, to make another block change, you have to know where it's located in the tile data (which is what I said previous to your post); I still think it's the best way to do this, but, once again, we need to know how to access the tile data for the level.
Escherial

Shyguy
Level: 17

Posts: 75/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 11-23-04 08:12 AM, in Self Removing Blocks [Issue] Link
I suggest that you cannibalize the code for the "Change to next Map16" block (by jonwill, I believe) and just insert your code before the REP #$20 near the end (where the block code actually starts -- check the offset in block inserter). Also, replace the "LDA $0003, CLC, ADC #$0001" with "LDA #$0025" to simply change to block 25 rather than changing to the next block in the Map16. Make sure to preserve the reloc offsets (just the locations of jumps in the code) when you create your new block.

Hope that helps and good luck; if you have trouble with that, I can post up the contents of that block along with comments directing where to put what.
Escherial

Shyguy
Level: 17

Posts: 76/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 03-05-05 05:47 AM, in What's "65816 ASM" Link
For the curious, the "c" in the 65c816 processor's name comes from the fact that it's an evolution of the 65c02 processor, which has the "c" because it was originally developed for the Apple IIc (finally, the "c" in that stands for "compact" -- "compact" in comparison to its precursor, the IIe). In that spirit, it's called "65c816" or "65816" (because the 6502 and 65c02 were very similar), but I've never heard of placing the "c" anywhere else.

Also, assembly is special as a language type because it generally maintains a one-to-one relationship with machine code, i.e. one instruction in assembly translates to one instruction in machine code (of course, there are exceptions -- pseudo-instructions, for instance, are a big one). Assembly is really only used nowadays when 1) a programmer is looking for complete control of the system, and 2) the original higher-level source is unavailable (that's us). Just for the record, compiled code nowadays is generally faster than any human-written assembly code (mostly due to pipelining and hazards); the only possible speed gain would be if you understood some wrinkle of the hardware that a good optimizing compiler didn't catch or your compiler was retarded (MSVC++ 6.0, anyone?)

There, I'm finished beating this particular dead horse...
Escherial

Shyguy
Level: 17

Posts: 77/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 03-08-05 09:35 PM, in Custom block request (Yeah, I know...) Link
If you set $7E0100 to #$0B, it triggers a screen fade exit (i.e. without the fanfare) -- I also remember there being a block for this, but coding one from scratch would be extremely trivial.

In fact,
Fadeout Exit

Note that this will not complete the level, only exit from it. If you can't find the original, enjoy
Escherial

Shyguy
Level: 17

Posts: 78/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 03-11-05 01:39 AM, in Custom block info request Link
The address that you want is $7E14AF -- set it to 0 for off, 1 for on.
Escherial

Shyguy
Level: 17

Posts: 79/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 03-11-05 11:45 AM, in Where can Download Tile Counter 0.5? Link
Huh, can't use angelfire? Why's that?

In any case,
Tile Counter v0.5

Enjoy; note that it won't be up for long (I clean out the temp directory every week or so).


(edited by Escherial on 03-11-05 02:45 AM)
Escherial

Shyguy
Level: 17

Posts: 80/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 03-16-05 12:44 AM, in Solar Soundtrack - screenshot, general information etc. thread. Link
If your code's in C/C++, I'd be happy to take a look at it, if you like. I'm a computer sciences student with some experience in the Win32 API, so if there's anything going wrong, I bet I could help you track it down

Naturally, I understand if you're reluctant to release the source to a third party -- in that case, you could just send me your message handler/window setup code and I could peruse that (I'm guessing all the proprietary code is elsewhere).

In any case, best wishes with this project; the progress looks great and I eagerly anticipate a release. Kudos to you for developing what looks like a very user-friendly and streamlined interface
Pages: 1 2 3 4 5
Acmlm's Board - I2 Archive - - Posts by Escherial


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.010 seconds.