Search found 44 matches

by evilant
Tue Dec 14, 2004 8:16 pm
Forum: Development
Topic: Frame length
Replies: 15
Views: 10523

PAL mode has more scanlines?! I thought it just reduced the vertical blanking period to compensate for the increased resolution... e.g. 256x224 has 38 offscreen lines, and 256x239 has 23... If it did that, PAL wouldn't be slower than NTSC... since VBlank would be much shorter. There's some good inf...
by evilant
Sun Dec 12, 2004 11:30 pm
Forum: Development
Topic: Shouldn't instruction pointer wrap around in a 64K bank?
Replies: 23
Views: 14521

Ok, i'm dumb. (a,X) uses the PBR, not bank 0 like (a). So (a,X) will wrap within the PB bank, and address loads will similarly wrap within the bank. [Edit: my comment was incorrect--what anomie wrote is correct.] I should really have said "program reads and bank 0 reads" wrap within their...
by evilant
Sat Dec 11, 2004 5:07 am
Forum: Development
Topic: guesstimated Instruction Operation table for SPC700
Replies: 0
Views: 2318

guesstimated Instruction Operation table for SPC700

You know table 6-7 in the W65C816S datasheet? The one with a description of what the CPU is doing in each cycle of each instruction? In order to get to the point of cycle-accurate emulation, we'll eventually need a similar table for the SPC700. I couldn't find a datasheet or anything, so I've been t...
by evilant
Sat Dec 11, 2004 2:35 am
Forum: Development
Topic: VBlank and PPU registers
Replies: 2
Views: 5304

Blocking off $2100-$213f seemed the most logical to me, but that causes hundreds of graphical errors. Blocking off just $21:18,19,21,22,39,3a,3b (vram and cgram read/write) results in all games working fine though. According to anomie's doc, everything from 2101 to 2133 is not accessible while draw...
by evilant
Thu Dec 09, 2004 8:19 am
Forum: Development
Topic: Shouldn't instruction pointer wrap around in a 64K bank?
Replies: 23
Views: 14521

Cool. In summary, PBR and bank 0 reads will wrap within their bank, and other (DBR or long address) reads will carry over into the next bank. As far as I can tell, everything you tested there is consistent with the datasheet. Direct -- d: Word reads in native mode will carry across pages (can't tell...
by evilant
Tue Dec 07, 2004 10:12 pm
Forum: Development
Topic: Perfecting 65816 master cycle timing
Replies: 42
Views: 28380

While yes, the hardware -should- be perfect... it's smallest unit of time measurement is a master cycle. What if something takes 1.0001 master cycles, and another operation takes 0.9999998 master cycles? The purpose of a clock is to synchronize operations across a chip or set of chip(s). The actual...
by evilant
Tue Dec 07, 2004 10:04 pm
Forum: Development
Topic: Perfecting 65816 master cycle timing
Replies: 42
Views: 28380

The data sheet isn't for the exact same CPU. While that is true, I wouldn't expect the CPU core to be any different. They already had a perfectly working core--why fiddle with it? They would just design an asic with the stuff Nintendo wanted, and stamp the core down in the middle of it. But they mi...
by evilant
Tue Dec 07, 2004 5:21 pm
Forum: Development
Topic: Perfecting 65816 master cycle timing
Replies: 42
Views: 28380

Although I have no proof nor tests to back this up, I don't believe the master cycle counter is always perfectly accurate, and that all opcodes always execute at the exact same speed no matter what. I believe that all opcodes should execute in the exact number of CPU cycles shown in the data sheet ...
by evilant
Tue Dec 07, 2004 4:59 pm
Forum: Development
Topic: Shouldn't instruction pointer wrap around in a 64K bank?
Replies: 23
Views: 14521

I don't like the idea of using architecture-specific code in my work. It rules out the possibility of porting your code, should the need ever arise, in the future. Lol yeah, I forgot to mention all the interesting parts of this would be in assembly and I don't much care about porting to anything bu...
by evilant
Tue Dec 07, 2004 9:01 am
Forum: Development
Topic: Question about open-bus reads
Replies: 6
Views: 5040

I also found that IO cycles do not affect Open Bus, even though the datasheet specifies an address on the address bus. That makes sense. The datasheet probably just specifies what is visible on the address pins so people developing hardware to connect to the CPU know what to expect in each cycle. F...
by evilant
Tue Dec 07, 2004 8:55 am
Forum: Development
Topic: Perfecting 65816 master cycle timing
Replies: 42
Views: 28380

I guess there is no way to cause the test loop to be an odd number of master cycles long. But you should at least make sure the length of an iteration in master cycles it is not divisible by 4, to avoid systematic bias (every iteration starting at mid-dot, or every iteration starting at a dot bounda...
by evilant
Tue Dec 07, 2004 8:38 am
Forum: Development
Topic: Shouldn't instruction pointer wrap around in a 64K bank?
Replies: 23
Views: 14521

FYI, i'm working on fixing snes9x's timing. I'm glad you continue to improve the timing in snes9x, since it is the best emulator available for most platforms (some would say all :)) and a good resource for others who are trying to learn about SNES emulation. BTW, the only way I can think of for the...
by evilant
Tue Nov 30, 2004 12:15 am
Forum: Development
Topic: latest cvs compile error
Replies: 11
Views: 6834

A few weeks ago I compiled wip sources with the freely available 2003 version of the MS compiler. I used the include and lib directories from MSVC6, but only for files not supplied with the 2003 compiler. I used the DirectX 9.0 SDK. It compiled fine and it seemed to work--but I didn't test the resul...
by evilant
Sun Nov 28, 2004 6:03 pm
Forum: Development
Topic: latest cvs compile error
Replies: 11
Views: 6834

IIRC, MSVC6 was released a long time before 99 :)

I guess you will need the common gorp, something like:

Code: Select all

#ifdef _MSC_VER
typedef __int64 INT64;
typedef unsigned __int64 UINT64;
#else
typedef long long INT64;
typedef unsigned long long UINT64;
#endif
(I didn't test this, it might contain typos)
by evilant
Sun Nov 28, 2004 5:55 pm
Forum: Development
Topic: latest cvs compile error
Replies: 11
Views: 6834

What exact compile rror did it generate? The definitions of INT64 and UINT64 in jma\portable.h are not MSVC-friendly. In revisions 1.1-1.2 they look like this: typedef long long INT64; typedef unsigned long long UINT64; MSVC wants to see "__int64" instead of "long long". No doub...
by evilant
Sat Nov 27, 2004 12:03 am
Forum: Development
Topic: Update on MinGW convertion project...
Replies: 37
Views: 21696

DirectX 8.0 SDK w/ D3DX Import Libraries is not compatible completely with the ZSnes sources. There is simply too much conflict within the winlink.cpp code due to the heavy usage of very strict VC-only code to be compatible with GCC. So I declare the project dead but not buried. Out of curiosity, w...
by evilant
Wed Nov 24, 2004 6:05 pm
Forum: Development
Topic: Can ZSNES be built successfully using MinGW?
Replies: 56
Views: 29895

Correct me if I'm wrong, but working on zsnes is your hobby, not your professional occupation?

Anyways, I hope you don't take my comments the wrong way. No offense was meant. I appreciate your contributions to NSRT and zsnes.
by evilant
Wed Nov 24, 2004 6:02 pm
Forum: Development
Topic: What is JMA?
Replies: 102
Views: 65793

All this talk of falsifying hashes on headers is ridiculous. In order to put a header on a ROM, the tool would have to be able to calculate the proper hash for it. Anybody else who wanted to make their own header could obviously do that too...we aren't talking about digital signatures here! ;) The h...
by evilant
Wed Nov 24, 2004 3:07 am
Forum: Development
Topic: Can ZSNES be built successfully using MinGW?
Replies: 56
Views: 29895

I'm very offended. Hopefully he was joking. Which part of this suggest it's a joke? I don't understand how anything to do with programming can be deemed "offensive". Its not like his post contained racial slurs or anything. Whether to use <iostream.h> or <iostream> is not a topic worthy o...
by evilant
Wed Nov 24, 2004 2:54 am
Forum: Development
Topic: What is JMA?
Replies: 102
Views: 65793

What are you saying ? Headers are always meaningless to emulators... they are only used by copiers. Well, nsrt can use some unused header bytes to add his own controller data for use in zsnes, but apart from that, headers aren't used at all for emulators. I think by "headers are always meaning...
by evilant
Tue Nov 23, 2004 6:20 am
Forum: Development
Topic: What is JMA?
Replies: 102
Views: 65793

JMA features an incredible efficiency of compression for roms. For single OR solid archives, jma is better than zip, rar, and 7z. Sounds cool! Now if we could only get some sort of universal header onto SNES roms so that future emulators did not have to heuristically detect the correct memory mappi...
by evilant
Tue Nov 23, 2004 6:12 am
Forum: Development
Topic: Can ZSNES be built successfully using MinGW?
Replies: 56
Views: 29895

Same headers, different convention. I think omiting the .h is the correct version, but I'm not sure. Actually they are not the same. <iostream.h> and friends date back to before C++ was standardized some time around 1997. Namespaces were not in fashion yet, the .h headers defined their symbols in t...
by evilant
Tue Nov 23, 2004 5:49 am
Forum: Development
Topic: Can ZSNES be built successfully using MinGW?
Replies: 56
Views: 29895

bahamut: Regarding the GUID error messages, iirc you have two choices in a directx app: (1) in exactly *one* source file, define INITGUID prior to including any of the directx headers, or instead (2) link with a library called "dxguid". If your mingw32 version of DirectX does not include t...
by evilant
Tue Nov 23, 2004 4:34 am
Forum: Development
Topic: What is JMA?
Replies: 102
Views: 65793

What is JMA?

Forgive my ignorance. I am curious--what is this new JMA support Nach has been adding?

It sounds like a compressed file format, but what exactly is it good for?
Can it do things that you can't do with an ordinary .zip file? Is it used by other SNES tools or something?
by evilant
Sun Nov 21, 2004 4:28 am
Forum: Development
Topic: Can ZSNES be built successfully using MinGW?
Replies: 56
Views: 29895

Nearly all of the performance-sensitive code is in assembly.