Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,523,516
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-03-24 02:27 PM
Guest: Register | Login

Main - Posts by MathOnNapkins

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

MathOnNapkins
Posted on 07-25-07 10:21 PM, in 'offset change' in mode 2 SNES!?! Link | Quote | ID: 57930


Super Koopa
Level: 62

Posts: 173/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
I'd also recommend reading Anomie's Register Doc and looking up "Mode 2". The official manual is usually more confusing to read, and I use it as a backup source.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-26-07 12:58 PM, in also just a note re: staff forums Link | Quote | ID: 58292


Super Koopa
Level: 62

Posts: 174/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Well, if no-one cares...

If everyone cared, and nobody cried, if everyone loved, and nobody lied
If everyone shared, and swallowed their pride, then we'd see the day.... when nobody died ... singing A----men--I. I'm alive (I'm alive)

Based on the wisdom of Nickelback, if nobody cared then everyone dead!

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-26-07 01:01 PM, in Warning About Funpic.org Link | Quote | ID: 58293


Super Koopa
Level: 62

Posts: 175/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Posted by Zem
I linked to funpic.org and now there are meteors destroying new york city


I don't care about this primitive culture anyway, why should this concern me. I'm moving to Japan to get an asian girlfriend and watch anime and eat ramen all day. I hope funpic.org destroys all of you and your cheeseburgers.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-27-07 12:28 PM, in Thread to discuss opinions on Xkeeper. Link | Quote | ID: 58819


Super Koopa
Level: 62

Posts: 176/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGH

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-27-07 10:11 PM, in Thread to discuss opinions on Xkeeper. Link | Quote | ID: 58935


Super Koopa
Level: 62

Posts: 177/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Hrm.... some quick points

1. Server admin and Xk don't get along -> Xk leaves or gets the boot

déja vu?

2. Someone hacks the board and Xk gets blamed -> Xk attempts to prove it wasn't him.

déja vu...

3. Someone says they are leaving in ensuing drama (sonicandfails)

deja vu! ack!

As far as I can tell, there is no real REAL (board threatening) problem with the board. A board can exist with looser rules and less enforcement. This is just a bitchfest, and I think it would just make it easier if everyone shut the fuck up for a few weeks and then if there still is a real problem deal with it.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-29-07 10:52 AM, in regarding that bullshit earlier today II Link | Quote | ID: 59340


Super Koopa
Level: 62

Posts: 179/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Posted by Grey Mario
I'm out of here, the last bit of intelligence flew out when WhyDee walked in.


Allow me to laugh at this irony for several minutes.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 07-31-07 01:04 AM, in Homebrew game in the works...?? Link | Quote | ID: 59632


Super Koopa
Level: 62

Posts: 181/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Cutscenes are not really video in SNES games. They're scripted sequences involving sprites and backgrounds where the player has no control. You could also use windowing to do that whole "widescreen" look. i.e. have two black rectangles at the top and bottom of the screen.

The text thing would probably require a VWF (variable width font) to look nice, though. Look at a game like Demon's Crest. It sorely needs a VWF b/c the letters are huuuuuuuuuuge.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-02-07 06:48 PM, in SNES Programming Guide Link | Quote | ID: 59720


Super Koopa
Level: 62

Posts: 183/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Posted by smkdan
The SNES does have multiply / divide built in, just not as instructions. Look at $4202 in anomie's regs.txt. It's all explained in that area.

If you're working with multiplying / dividing numbers in powers of two, bitshifts are the ideal choice. If you want to multiply by say, a fixed amount of 5, however, software is still viable. If you have a number you want to multiply at $0123...


REP #$20
LDA $0123
ASL A ; x2
ASL A ; x4
CLC
ADC $0123 ; x5


You'd weigh up the speed of using the hardware multiply / divide against the software alternative. If you're using variable multiplier / divisors you'd always use the hardware option I guess.



Who needs memory addresses when you have a stack?

PHA
ASL A
ASL A
CLC
ADC $01, S
STA $01, S
PLA


In one case I saved a couple cycles and negated the need for a memory address and an indexing register by using stack relative operations such as above

As for multiplication and division, I suppose if you have the space in the rom it's probably faster to use a lookup table. For some operations it might take up a bank or two, though.



____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-02-07 11:05 PM, in Homebrew game in the works...?? Link | Quote | ID: 59775


Super Koopa
Level: 62

Posts: 184/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
The games in question are 32 megaBITs in size, which is equivalent to 4 megabytes, only 1/4 of the available address space. Carts really can't be bigger than 6 megabytes. Though, I think with the right memory mapper on a cartridge, you could have a rom with a lot more than 16 megabytes anyway.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-03-07 12:40 AM, in The NEW General Project Screenshot / Video Thread EX Omega Supreme++ Link | Quote | ID: 59790


Super Koopa
Level: 62

Posts: 185/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
http://www.veoh.com/videos/v901594bWq9bbdH

Small showcase of ASM hacks I've done recently. If you can identify each and every one of them you can have a cookie .

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-03-07 09:29 PM, in Zelda: Journey of a Day Link | Quote | ID: 59864


Super Koopa
Level: 62

Posts: 186/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
That's a really nice title screen. I'm not a huge expert on Zelda II, but the ones that I "think" I can tell look different are "Zelda's Castle," "Sand Palace," "Inside Sand Palace," and the "Forest Palace." No offense, but the other screens were kind of bland in that I was expecting something that looks markedly different from the original game. I think you modified the energy and magic meters too though. And maybe added the sword power to the top of the screen? I don't remember seeing that unless the game was paused.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-04-07 01:21 AM, in Solar Soundtrack discussion/suggestion/whatever thread Link | Quote | ID: 59890


Super Koopa
Level: 62

Posts: 187/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
If I was going to make an editor of this sort, I think I'd find it cumbersome to stick a SPC player in it. Can't you just output them to an SPC format that say, winamp could play. That's how I'd do it anyway. Less coding and less redundancy in programs I own.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-05-07 01:49 AM, in The NEW General Project Screenshot / Video Thread EX Omega Supreme++ Link | Quote | ID: 59972


Super Koopa
Level: 62

Posts: 188/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
The item stuff is kind of a placeholder for later item work. Being able to switch items without bringing up the menu is something I've always wanted to do though. The thing I spent most of the time on in that video was the flashing magic bar. And it doesn't just flash, it moves in waves in an upward direction. That required me to switch my HDMA table for it every frame. So it's a showcase of improving the gradient MP par (that was static) to one that has a bit of oomph to it. It doesn't look as good in the video, I'll send you the .asm file for all this if you want. It's really nice to look at .

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-07-07 07:37 PM, in HDMA? (rev. 2 of 08-07-07 07:43 PM) Link | Quote | ID: 60719


Super Koopa
Level: 62

Posts: 189/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days

register 43x0 from Anomie's register doc

ttt = Transfer Mode.
000 => 1 register write once (1 byte: p )
001 => 2 registers write once (2 bytes: p, p+1 )
010 => 1 register write twice (2 bytes: p, p )
011 => 2 registers write twice each (4 bytes: p, p, p+1, p+1)
100 => 4 registers write once (4 bytes: p, p+1, p+2, p+3)
101 => 2 registers write twice alternate (4 bytes: p, p+1, p, p+1)
110 => 1 register write twice (2 bytes: p, p )
111 => 2 registers write twice each (4 bytes: p, p, p+1, p+1)


The problem here is that you are trying to write a byte for each step of the first transfer on channel 0 and trying to write two bytes every step of the second transfer

You need to do

LDA #$02
STA $4310

That *should* fix it. Let me know how it goes

edit: by the way, I do a transfer similar to this and i only use one HDMA channel. I use transfer mode 011 (3) which writes to $2121 twice then $2122 twice. So it effectively writes the color address twice then writes the whole color using only one table. Yes it's wasteful to write that address twice, but on the other hand, it is also wasteful to have the master cycle overhead of using 2 hdma transfers rather than 1, ne?

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-07-07 08:02 PM, in Handling the DS file system in VB6. Link | Quote | ID: 60729


Super Koopa
Level: 62

Posts: 190/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
http://www.bottledlight.com/ds/index.php/Main/FileFormats

ndstool.exe also will unpack the filesystem as well as reassmble it. One might start by looking at what it does. The source is probably available too.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-08-07 07:01 AM, in Yet another SNES ASM problem... (rev. 2 of 08-08-07 07:01 AM) Link | Quote | ID: 60935


Super Koopa
Level: 62

Posts: 191/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
It may be related to the notion of "OAM reset". Also there may be some difficulties arising from the manner in which you are writing to the low table and then to the high table

Instead of doing this all from ROM, I'd suggest setting up a buffer in WRAM to store all your OAM data. reserve $220 (544) bytes. Then when you want to blit your OAM data, just write to $2102/3 to reset the address to zero. Then blit all $220 bytes using a DMA transfer. That's what most games do and they usually do it each and every frame.

edit: also, make for damn sure you are in Vblank when these writes occur.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-08-07 01:30 PM, in TLOZ Themed Hack Link | Quote | ID: 60999


Super Koopa
Level: 62

Posts: 192/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Interesting concept but I think using the same perspective as A Link to the Past looks really confusing in a side scroller. Hopefully it will turn out all right

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-08-07 09:47 PM, in Can I have some preset HDMA tables? Link | Quote | ID: 61135


Super Koopa
Level: 62

Posts: 193/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Sine just means it looks like a nice smooth wave (rather than a jagged wave). You want animation to look smooth, not stilted.

And I guess you figured out that HDMA effects aren't automatically awesome unless you put some work into them.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-09-07 10:37 PM, in Yet another SNES ASM problem... Link | Quote | ID: 61479


Super Koopa
Level: 62

Posts: 205/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
the LSB of byte 4 IS the nametable select bit. You're using qwertie's doc again. I strongly suggest you download Anomie's register doc, it's a lot more recent and has stuff that Qwertie's doc doesn't, including details on when specific registers can be written (during Vblank, Hblank, forceblank, etc.)

____________________
Zelda Hacking Forum
hobbies: delectatio morosa

MathOnNapkins
Posted on 08-13-07 06:18 PM, in damn damn damn (rev. 2 of 08-13-07 06:19 PM) Link | Quote | ID: 62174


Super Koopa
Level: 62

Posts: 216/842
EXP: 1936611
Next: 48075

Since: 02-19-07
From: durff

Last post: 4495 days
Last view: 4018 days
Can you keep all your questions in one thread? And this time (and the last thread) you haven't really given us much to go on. I'm more than happy to help out once in a while, like when your HDMA settings were off, but I don't think you should expect people to jump up every time you have a problem with your code.

There's plenty of creative ways to solve your own problems when it comes to assembly language, you just have to think of them. E.g. if you're using Geiger's Debugger or the BSNES debugger, you can manipulate a lot of things, including changing code while the ROM is loaded. Memory, VRAM, ARAM. You can change all those things to perform various tests. (Though you can't edit OAM or CGRAM directly).

THAT SAID

I figured out your problem in seconds using GSD. Your OAM table in WRAM is at $7E0001 to $7E0220 (inclusive)

The problem is you were writing the large toggle bit (32x32) to $7E0221 which is outside of your table! I simply edited the memory at $7E0201 to 0x02 and it worked just fine.

edit: though I will say that this is the first time I downloaded the rom and it is pretty good progress for just by yourself.

____________________
Zelda Hacking Forum
hobbies: delectatio morosa
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


Main - Posts by MathOnNapkins

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

Page rendered in 0.275 seconds. (334KB of memory used)
MySQL - queries: 141, rows: 173/173, time: 0.263 seconds.