Search found 1589 matches

by Sik
Thu Nov 01, 2012 10:01 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

The main issue with GBA is not being able to detect the save RAM type at launch. You can use heuristics of running code to guess, most of the time, but then you can't know things like save state format and size until after the code has run for a while. I doubt that'd be reliable at all, though. The...
by Sik
Wed Oct 31, 2012 10:05 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

I'm surprised nobody has mentioned yet that IPS has several variants that are incompatible with each other, and not always possible to distinguish other than for producing erroneous output. This just makes things even worse and even more of a reason to drop that format =P In fact, indexed BMP might ...
by Sik
Wed Oct 31, 2012 1:05 am
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

Splitting the files isn't nearly enough. It's the mapping info you need. What kind of mapping chips are in there? (74LS chips? MMC-1?) How are the pins wired up? (mirroring? VRC-4 pinout?) With iNES, the mapper #s are arbitrary enough (sometimes one mapper describes 2+ board types; sometimes the sa...
by Sik
Tue Oct 30, 2012 9:41 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

His point stands though, you're hardcoding the data into the emulators and whenever a new ROM comes out (could be homebrew or just a new dump, for all we know - there are still rare revisions of games out there that didn't get dumped) you need to update the emulator. Besides we're talking about keep...
by Sik
Tue Oct 30, 2012 7:39 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

Well, regarding iNES, I think the problem is that with NES games you can't do away with headers because there are multiple ROMs in the cartridge (two, more specifically) and then you have a myriad of mappers and no header in the ROM at all to retrieve them. A header providing all this information is...
by Sik
Tue Oct 30, 2012 5:36 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

3) ZIP files are hard to handle when it comes to romhacking: if the ZIP contains several versions of the same code, you may choose the wrong ROM inside it when you open it from time to time. It's pretty more secure to unzip the required ROM and keep it as the "master source code". Most em...
by Sik
Mon Oct 29, 2012 11:24 pm
Forum: SNESdev
Topic: bsnes and headers
Replies: 94
Views: 49765

Re: bsnes and headers

One use I can see for supporting ZIP files would be what I did with Project MD, which was distribute both the binary and the source code in the same ZIP. These are the side effects of such a move: If you just want to play the game in an emulator, make the emulator open the ZIP. If you want to mess w...
by Sik
Mon Oct 29, 2012 11:08 pm
Forum: NESdev
Topic: Game design Sins
Replies: 68
Views: 13125

Re: Game design Sins

Looking for a list of Adventure games that violate the proper rules of game design? Just look for the Sierra logo. I'm not really a Adventure games geek. I played only few commercial ones(and bunch of freeware). You mean Siera is pretty bad? Thanks, I'll remember about it :wink: Sierra games are kn...
by Sik
Fri Oct 26, 2012 3:59 pm
Forum: NESdev
Topic: Game design Sins
Replies: 68
Views: 13125

Re: Game design Sins

Map Start to pause and Select to the third action... (the opposite of what After Burner does) A good example of this would be Power Blade, where A is jump, B is normal attack and Select is bomb. This should count as a "sin" too. Select and Start buttons are hard to reach during action. Th...
by Sik
Thu Oct 25, 2012 5:06 pm
Forum: NESdev
Topic: Game design Sins
Replies: 68
Views: 13125

Re: Game design Sins

A better example [of Select as pause] would be After Burner (which has Start mapped to the afterburner =P) How else should a game map buttons to three actions without having to be ported to the Genesis? Map Start to pause and Select to the third action... (the opposite of what After Burner does) A ...
by Sik
Thu Oct 25, 2012 5:38 am
Forum: NESdev
Topic: Game design Sins
Replies: 68
Views: 13125

Re: Game design Sins

...I just realized I misread the post I quoted *headdesk* For some stupid reason I thought it was about games that used Select to pause instead of Start (which is just as bad anyway).
by Sik
Wed Oct 24, 2012 8:43 pm
Forum: NESdev
Topic: Game design Sins
Replies: 68
Views: 13125

Re: Game design Sins

Using select to enter the start menu, with start being used to select a gameplay menu. I can't think of any examples off the top of my head The Legend of Zelda. The menu brought by the Start button kind of acted as pause though (gameplay effectively stopped while in it), so that didn't matter much....
by Sik
Sun Oct 21, 2012 2:10 pm
Forum: Homebrew Projects
Topic: Releasing Under Creative Commons?
Replies: 18
Views: 8289

Re: Releasing Under Creative Commons?

I don't like GPL license because it certainly targeted for lawyers rather than normal people. It is really difficult to read, it is huge, and I don't want to force anyone to anything, especially to release under the exact same license (the viral part). Latter is the reason why I don't like CC SA ei...
by Sik
Wed Oct 17, 2012 10:30 am
Forum: NESdev
Topic: STA indirect indexed double-increments PPU address?
Replies: 26
Views: 9751

Re: STA indirect indexed double-increments PPU address?

I just remembered this quirk of the 6502. More specifically: When an NMI occurs, the processor jumps to Kernal code, which jumps to ($0318), which points to the following routine: DD09 LSR $40 ; clear N flag BPL $DD0A ; Note: $DD0A contains RTI. Operational diagram of BPL $DD0A: # data address R/W d...
by Sik
Tue Oct 16, 2012 2:09 pm
Forum: NESdev
Topic: STA indirect indexed double-increments PPU address?
Replies: 26
Views: 9751

Re: STA indirect indexed double-increments PPU address?

STA (xx),Y adds a dummy read. 1 PC R fetch opcode, increment PC 2 PC R fetch pointer address, increment PC 3 pointer R fetch effective address low 4 pointer+1 R fetch effective address high, add Y to low byte of effective address 5 address+Y* R read from effective address, fix high byte of effectiv...