![]() |
| Register | Login | |||||
|
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
|
| | |||
| Acmlm's Board - I3 Archive - - Posts by BMF54123 |
| 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 |
| User | Post | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Quit spamming up DD's topic!
DD: Lookin' great so far (especially that title screen ). Sorry I never got back to you on that Game Over logo...things came up, it was put on the back burner, and promptly forgotten. ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Originally posted by Kailieann He's talking about the feature in the palette editor that blends between two colors. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Layer 3 GFX are loaded once, when you start the game, and never touched again. You might be able to hack the ExGFX loading routine to replace those tiles instead of Layer 1/2, based on a list of "special" level numbers or something, but Lunar Magic would have issues with this, of course... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Originally posted by BioOriginally posted by spel werdz rite Actually, the best way would be to use a very simple LevelASM and custom block combo. The block would simply write a value to a RAM address when Mario stands on it, and the LevelASM code would constantly check that address and either set or clear the slippery flag accordingly. Something like this: BLOCK LDA #$01 STA $addr ; set "slippery block" flag RTS LEVELASM LDA $addr ; load "slippery block" flag BEQ end ; if zero (not standing on slippery block), skip routine STA $86 ; set the real "slippery level" flag STZ $addr ; clear the "slippery block" flag, in case Mario is no longer standing on one : end RTL Unfortunately, custom block code is not run if Mario is standing on the edge of a block (the default block behavior takes over in this case). I don't know if this would be a problem when running across a platform made of multiple slippery blocks... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| *dusts off "The Explanation"*
Me and Acmlm go waaaaay back, back to the old Zophar's Domain and Bastardly Productions boards, then to his ezboard, his wwwthreads board, and finally his first AcmlmBoard. I didn't actually post here for the longest time, until my usual hangouts started dying at an alarming rate...you could say I was "forced" into becoming active here.
Hmm. I wonder if the old wwwthreads board still exists in some form on the OverClocked server? I remember lots of in-depth discussions about SMB2, which in turn led to the creation of the SMB2 Discombobulator... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(restricted)| (restricted) |
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Originally posted by Metal Man88 Generally, you want to run MemTest86 overnight, as some errors only appear after a certain number of passes (usually after the hardware's been stressed enough). If there are no errors the next morning, it's safe to assume the problem lies elsewhere.
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Well, personally, I stay far, far away from those anti-virus/security suites that constantly run in the background (Symantec, Norton, McAfee, etc.). They don't exactly have a stellar reputation. They suck up resources like mad, compromise stability, and generally have few advantages over a typical once-daily spyware/virus scan and freeware firewall (ZoneAlarm). Judging from that log, it looks like you have several different suites from different companies running at the same time, which is really unnecessary. Try disabling/uninstalling all of that crap, and see if it makes a difference.
|
Also, teach your daughter good surfing/downloading habits, if you haven't already, and install lololol (or another non-IE browser). A large number of virus and spyware infections could be entirely avoided if people were more careful about what they download and where they go online. I don't run any kind of security/virus suite, and I've only had one infection over the past decade (and it didn't even originate on my computer, but rather my parents'--it spread through the network ).
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
*boots to ROM Hacking* |
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Originally posted by HyperHacker ...d'oh!
Note to self: do NOT write ASM code when lacking sleep.
Originally posted by KailieannProbably just a limitation of the language jonwil used (Delphi!@#$%). Or, more likely, a limitation of jonwil himself... ![]()
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
I found this while digging through my archive of the useful memory locations thread on the old OverClocked board: a disassembly of the routine the game uses to spawn a sprite (ex: the one that drops from the item box). Sprite hacking is the "final frontier" of SMW hacking, yet we hardly understand much more about them than we did two years ago (well, aside from mikeyk, but he never did reveal much of his data). I'm hoping that resurrecting this data will rekindle interest in the subject. |
- LDX #$0B Empty slot loop (locate an empty sprite slot; this will become X) - LDA $14C8,X - BEQ (start of code) - DEX - BPL (empty slot loop) NOTE: I'm still working out exactly what should go here if an empty slot isn't found. You have to have 12 sprites on the screen before this happens, which is pretty rare, but still must be taken into consideration. The item box code just erases the last sprite loaded, but not before checking a couple of unidentified RAM addresses, and making sure the sprite isn't being held by Mario...
If the sprite you're trying to spawn isn't vital to gameplay, then you could simply exit the routine here (the Yoshi berries do this). Start of code (set up the sprite) - LDA #$08 (sprite "active" status) - STA $14C8,X - LDA (sprite number) - STA $9E,X - LDA (X-location (low)) - STA $E4,X - LDA (X-location (high)) - STA $14E0,X - LDA (Y-location (low)) - STA $D8,X - LDA (Y-location (high)) - STA $14D4,X - JSL $07F7D2 (SNES) $07F7D2 - JSL $07F722 (SNES) $07F722 (clear various sprite tables - LARGELY UNDOCUMENTED) - STZ $164A,X - STZ $1632,X - STZ $C2,X - STZ $151C,X - STZ $1528,X - STZ $1534,X - STZ $157C,X - STZ $1588,X - STZ $15C4,X - STZ $1602,X - STZ $1540,X - STZ $154C,X - STZ $1558,X - STZ $1564,X - STZ $1FE2,X - STZ $1626,X - STZ $1570,X - STZ $B6,X - STZ $14F8,X - STZ $AA,X - STZ $14EC,X - STZ $15DC,X - STZ $15D0,X - STZ $163E,X - STZ $1656,X - STZ $1662,X - STZ $166E,X - STZ $167A,X - STZ $1686,X - STZ $187B,X - STZ $160E,X - STZ $1594,X - STZ $1504,X - STZ $1FD6,X - LDA #$01 - STA $15A0 - RTL $07F7D6 - JSL $07F78B (SNES) $07F78B - PHY - PHX - LDA $9E,X (sprite number) - TAX - LDA $07F3FE,X - AND #$0F - PLX - STA $15F6,X - JSL $07F7A0 (SNES) $07F7A0 - PHY - PHX - TXY - LDX $9E,Y (sprite number) - LDA $07F26C,X - STA $1656,Y - LDA $07F335,X - STA $1662,Y - LDA $07F3FE,X - STA $166E,Y - LDA $07F4C7,X - STA $167A,Y - LDA $07F590,X - STA $1686,Y - LDA $07F659,X - STA $190F,Y - PLX - PLY - RTL $07F79E - PLY - RTL $07F7DA - RTL NOTE: this is where you store various parameters for the sprite (speed, style, behavior, etc.) in the tables cleared @ $07F722. Kenny3900 identified some of the tables, but many are still undocumented. I'll post his info here later. [EDIT] Reorganized the list of parameter tables. Indicated ones that are either identified or automatically set by the above routine in bold, and indicated gaps where parameter tables *might* exist in blue. Everything not in bold needs to be identified. All tables are 12 bytes in size, one byte per sprite: $9E (sprite number) $AA $B6 $C2 $CE-$D7 $D8 (Y-location (low)) $E4 (X-location (low)) $14D4 (Y-location (high)) $14E0 (X-location (high)) $14EC $14F8 $1504 $1510-$151B $151C $1528 $1534 $1540 $154C $1558 $1564 $1570 $157C $1588 $1594 $15A0 (#$01 written here after tables cleared) $15AC-$15C3 $15C4 $15D0 $15DC $15E8-$15F5 $15F6 $1602 $160E $161A-$1625 $1626 $1632 $163E $164A $1656 $1662 $166E $167A $1686 $1687-$187A $187B $1FD6 $1FE2 (edited by BMF54123 on 11-24-05 03:35 AM) (edited by BMF54123 on 11-25-05 06:16 AM) (edited by BMF54123 on 11-25-05 06:24 AM)
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Indeed.
|
Why not show us some screenshots from the rest of the game? That tiny little sprite is hardly worthy of a new thread... ![]()
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Don't know, don't care, and it would seem I'm in the minority so far. I've just never seen the importance of such things... |
![]()
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Well, if it's made for the XBOX, I don't see why not. Unless the system records the serial numbers of each component, and fails to run if they don't match (which would be REALLY stupid)... |
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Originally posted by MathOnNapkinsYeah, all this code does is load a sprite's parameters into memory; the actual sprite code takes care of the OAM and whatnot later (this is the stuff we need to dissect if we want to make custom sprites). Originally posted by SukasaThat would be great! I'm assuming it JSLs to $07F7D2 as well? If so, it means sprite generation has essentially been cracked wide open. ![]()
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Honestly, I'd probably be a lot healthier. I spend way too much time in front of this stupid box. |
I've witnessed many permanent messageboard closures over the years. It definitely sucks at first, and leaves you feeling a little lost, but sooner or later you find new friends (or better yet, find your old ones again!) and move elsewhere. Generally, the closer I am to a group of people, the easier it is to deal with a messageboard closure, because I know we'll all just find another place to hang out (usually IRC ).
You can destroy our home, but you'll never destroy our family... ![]() (restricted) |
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Originally posted by Aurxix Originally posted by BMF54123 I GUESS I NEED TO SPEAK A LITTLE LOUDER, HUH? ![]()
BMF54123 |
Since: 11-18-05 From: MOOGLES Last post: 5908 days Last view: 5908 days
|
Usually, when copying files from an old HD, I disconnect the CD-ROM(s) and connect the HD as secondary master. This ensures that any partitions on the old drive don't interfere with partitions on the existing drives, and also gives the fastest transfer rate (since the CD-ROM won't be bogging down the whole channel). |
| |||||||||||||||||||||||||||||||
| 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 |
| Acmlm's Board - I3 Archive - - Posts by BMF54123 |