Search found 150 matches

by anomie
Fri Jul 08, 2005 4:47 am
Forum: ZSNES Talk
Topic: Layers and Backgrounds
Replies: 18
Views: 5434

and probably the better way would be to make an option that lets you lock palette color 0 to whatever the user wants. HDMA would no longer have any effect as writes to the backdrop color would be ignored. Color math or pseudo-hires could still screw it up. set the color to 255, 0, 255. It's a hot p...
by anomie
Tue Jul 05, 2005 1:25 am
Forum: Development
Topic: SPC700 timers
Replies: 39
Views: 23860

Fascinating. Are you going to go through and test all of the opcodes individually and document this behavior? I could give you a hand with a few of them if you like. Except for MOV and MOVW, everything that writes memory is a read-modify-write operation. Hm, the best way I can think of emulating th...
by anomie
Mon Jul 04, 2005 4:47 am
Forum: Development
Topic: SPC700 timers
Replies: 39
Views: 23860

Re: SPC700 timers

would anyone mind taking a quick look and see if I got it right, or if there are any glaring mistakes? Only one glaring mistake, and that's actually something TRAC and I discovered recently. The TnOUT registers are not reset on write. However, most of the memory-targeting MOV instructions actually ...
by anomie
Sun Jul 03, 2005 8:53 pm
Forum: Development
Topic: SPC700
Replies: 41
Views: 41238

My setup allows a very short edit-run cycle. I can type SPC-700 assembly in a window then press F4 to have it run on hardware immediately, with the ability to print bytes from the running code to a log window on the PC. Very nice. As for other stuff to check... I can email you what information i ha...
by anomie
Sat Jul 02, 2005 11:35 pm
Forum: Development
Topic: SPC700
Replies: 41
Views: 41238

Would you mind explaining what's with the black magic when y >= x * 2? Y>=X*2 is the same as result quotient >= 0x200. Anything 0x00-0xff can fit easily in the 8-bit output register, while 0x100-0x1ff fits in 8-bit output register plus the V flag. Once you hit 0x200, it starts overflowing and bad t...
by anomie
Sat Jul 02, 2005 4:43 am
Forum: Development
Topic: SPC700
Replies: 41
Views: 41238

TRAC, Thanks for the info on DAA and DAS. This is what i come up with. That's what I came up with too, BTW. Of interest might be the DIV raw data and the algorithm I came up with. At some point I came up with an algorithm that seems to give correct results for A, Y, and the V flag: uint32 yva, x, i...
by anomie
Tue Jun 28, 2005 2:49 am
Forum: Development
Topic: Mode 7 formula?
Replies: 0
Views: 2487

Mode 7 formula?

Ok, here's my best guess at a bit-accurate Mode 7 formula. Please verify if you can. First, M7HOFS and M7VOFS ($210d and $210e) are 13 bits signed, as are M7CX and M7CY ($211f and $2120). The matrix parameters are all 16 bits signed. #define CLIP(a) (((a)&0x3ff)|(((a)&0xf000)?-0x400:0)) X[0,...
by anomie
Mon Jun 27, 2005 3:18 am
Forum: Development
Topic: SPC700
Replies: 41
Views: 41238

I suspect a hardware interrupt does exist but is not connected or maybe we haven't figured out how it works. There could be all kinds of possibilities that could be explored. It could be connected to one of the timers. I haven't seen a game that enables interrupts. Well, i haven't seen any sign of ...
by anomie
Sat Jun 25, 2005 5:48 pm
Forum: Development
Topic: SPC700
Replies: 41
Views: 41238

Hrm, DAS is interesting in some of those 'impossible' corner cases. B flag is set by BRK, and POP PSW or RET1 can set or clear it just as they can any other flag. Presumably it would also be set by an IRQ or NMI, were either of those to exist. The BRK vector is the same as TCALL 0, $FFDE. It pushes ...
by anomie
Sun Jun 19, 2005 3:47 pm
Forum: Development
Topic: Theme Park revisited
Replies: 3
Views: 3963

Lord Nightmare wrote:anomie: US. Patent 5,327,158
Has to do with mode 7 calculations and stuff...
It scares the hell out of me...
Even if the patent has detailed enough technical details, the interesting corner cases are still probably different...
by anomie
Sun Jun 19, 2005 3:38 am
Forum: Development
Topic: Theme Park revisited
Replies: 3
Views: 3963

Theme Park revisited

A little while back, someone pointed out to me that Theme Park still wasn't quire right. So i look, and sure enough the alignment isn't quote right between BG1 and the other BGs and OBJ. Recall that Theme Park writes $ff then $03 to $2110, then writes $00 to $210d exactly once and yet expects BG1HOF...
by anomie
Tue Jun 14, 2005 7:43 pm
Forum: Development
Topic: Latch timing
Replies: 192
Views: 126820

TRAC wrote:Yeah, my bad. :oops: I've been going at this code too long, there is no MOV (X),(Y).
No problem. With the state of SPC700 documentation, i wouldn't have been surprised if there were such a mode misnamed as something else.
by anomie
Sun Jun 12, 2005 7:20 pm
Forum: Development
Topic: Latch timing
Replies: 192
Views: 126820

anomie, (re: SPC700) you mentioned that ADDW/SUBW set H flag on high byte; is Z flag set on high byte only also, or on the full result? Also, is Z flag set on the high byte only or the full result for INCW/DECW? Full result for both. Regarding registers FD-FF (timer counters) being reset on 'write'...
by anomie
Fri Apr 29, 2005 1:31 am
Forum: Development
Topic: pseudo hires stuff
Replies: 14
Views: 11330

Writing $2134 should be fine, the reg is read-only. It' should have about the same effect as reading say $2133. Pseudo-hires is definately not emulated correctly in currently-released versions of snes9x, and probably not in zsnes. Currently released snes9x tries to play games with the color math reg...
by anomie
Tue Apr 26, 2005 3:51 am
Forum: ZSNES Talk
Topic: 1 frame records 1 keypress, is it accurate enough ?
Replies: 4
Views: 1868

"does the SNES only read from the controller ports once per frame, or does it do it more often?". The SNES could theoretically read from the controllers at frequencies other than once per frame, although in practice most normal games will be using the auto joypad read feature and will the...
by anomie
Sat Apr 23, 2005 1:56 pm
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

Then I stand corrected. Wow, that seems like a bad idea, though. Since a C struct is just a solid block of memory, nothing has to be done when accessing it. And if you create a POD struct, it'll still be that way. Same for a POD class. OTOH, in C++ you can add constructors and member functions and ...
by anomie
Tue Apr 19, 2005 3:09 am
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

Nach wrote:test.c:5: error: `for' loop initial declaration used outside C99 mode
Try "gcc -std=c99" to force C99 rather than C89 (really gnu89). Or #define _ISOC99_SOURCE should work.
by anomie
Tue Apr 19, 2005 1:55 am
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

Nach wrote:I know C99 forbids "for (size_t i = 0; i < x; i++){}"
Does it? I can't find anything that claims that construct is forbidden.
by anomie
Mon Apr 18, 2005 10:31 pm
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

I guess it'd be pretty easy to verify the 8/16 master cycle delay that we have currently now that we can measure in 2 CC1 clock cycle intervals. Remember though that we have to write $4203/6, then delay, then read $4214-7, so we can't really test every 2 CC1 Cycles in this case... Oh, and we can't ...
by anomie
Mon Apr 18, 2005 10:16 pm
Forum: Development
Topic: Raw Audio
Replies: 3
Views: 3326

As far as how you need to steal it. I think being that it should be RAW sound data, you just need to know the format the data is in(frequency, sample rate etc..) to play it back. If you really have RAW SNES sound data, that'd be stereo 16-bit linear at 32000Hz. But i wouldn't be terribly surprised ...
by anomie
Mon Apr 18, 2005 1:57 am
Forum: Bug Reports/Feature Requests
Topic: Request: Sequential IPS Patching
Replies: 19
Views: 11227

I'd like to add one thing: I think it should search the zip/jma file for patches after checking the directories so outside files will take precedence and override the 'default' patching within the archive. I have snes9x looking in 3 places: same location as the ROM, inside the ZIP, and finally in t...
by anomie
Sun Apr 17, 2005 8:54 pm
Forum: Bug Reports/Feature Requests
Topic: Request: Sequential IPS Patching
Replies: 19
Views: 11227

Here's a suggestion: Pick the first option that a file exists for: 1. If .ips exists, use that and do no other patches. This is preferred for a single patch. 2. If .ips0 exists, then look for .ips1, .ips2, ..., .ips10, .ips11, and so on up to .ips4294967295 or so and stop when the next number in the...
by anomie
Sun Apr 17, 2005 1:20 am
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

Early MAME code was written back in 1997, so back then it wasn't really considered. It's not like fixed point is something new though... Over the past 2-3 years nearly every major core system in MAME(CPU interface, timing, memory system, input system, sound system) has been rewritten(all by the sam...
by anomie
Sat Apr 16, 2005 4:04 pm
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

Linux really needs to take care of that 'everything has to be compiled' thing already :/ What, you write your C++ code on Windos and you don't have to compile it before running it? ;) Oops, sorry. That could be extremely difficult. At least, if cores are written as differently as they are now. Like...
by anomie
Sat Apr 16, 2005 2:31 am
Forum: Development
Topic: Synchronizing multiple clocks of varying frequencies
Replies: 51
Views: 27552

void update(); //called once for every PPU tick I'd rather (or additionally) want a function to run cycles up to an internal counter. So I could do something like APU.SyncTo(CPU.Cycles())... The main drawback is that linux doesn't support DLLs (or does it?), so all of our classes would have to be s...