Search found 109 matches

by Near
Sat Aug 20, 2016 7:33 pm
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Re: Questions on developing a Mega Drive emulator

> X is always 9-bits and Y is 9-bits in normal mode and 10-bits in double-resolution interlace mode. > Yep, X is always 9-bit, Y is either 9-bit or 10-bit depending on whether interlacing is on or off. I see, thank you! The SNES just doubles Y, so you can only move two pixels at a time in interlace ...
by Near
Sat Aug 20, 2016 4:23 pm
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Re: Questions on developing a Mega Drive emulator

More fun here. The SEGA splash screen for Sonic is supposed to have a white background, yet I get black: http://i.imgur.com/3JDspVx.png Comparing to Mednafen trace logs to confirm I am writing the correct values at the correct locations. What I see for pixel 0,0 on the screen is that there's no scro...
by Near
Sat Aug 20, 2016 12:12 pm
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Re: Questions on developing a Mega Drive emulator

Mike, what's up with this from BlastEm? int16_t y = ((context->sat_cache[cache_address] & 0x3) << 8 | context->sat_cache[cache_address+1]) & 0x1FF; int16_t x = ((context->vdpmem[address+ 6] & 0x3) << 8 | context->vdpmem[address + 7]) & 0x1FF; You're building sprite coordinates from ((hi&3)<<8|lo), w...
by Near
Wed Aug 17, 2016 2:10 pm
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Re: Questions on developing a Mega Drive emulator

Whoo, brisk progress! I have the best Sega Genesis game ever made already running! Just need input and audio output support to truly enjoy it :D http://i.imgur.com/bZbo8Rl.png The game is doing one weird thing, though. 001070 b22c cmp.b ($c00008),d1 00000001 000000df 00000000 0000ffff 00000000 00000...
by Near
Tue Aug 16, 2016 5:55 pm
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Re: Questions on developing a Mega Drive emulator

Thank you everyone for the in-depth replies! :D > Z80 you proabably cannot ignore for very long, there's plenty games that require Z80 to run to some extent. Ah okay. I think in that case, I'll just start on a Master System emulator sooner to try and hash out a good Z80 core. I've emulated the LR359...
by Near
Tue Aug 16, 2016 10:46 am
Forum: Megadrive/Genesis
Topic: Questions on developing a Mega Drive emulator
Replies: 39
Views: 36342

Questions on developing a Mega Drive emulator

Hi all! I've recently begun work on a new Mega Drive emulator. Needless to say, I have lots of questions. I was hoping I could ask for some clarifications here. Given I have so many, my hope was to roll them up into one thread to avoid flooding the board. I hope that's okay! I know this is asking a ...
by Near
Tue Jan 13, 2009 5:16 pm
Forum: Blabla
Topic: Intrinsic functions
Replies: 6
Views: 6721

Chilly Willy wrote:Wow, MS compilers must really SUCK if you can't use inline assembly on them. :lol:
At least its had link-time code generation for the last six or so years. What decade do you think GCC will catch up? Would sure be nice not having to inline every critical function inside header files ;)
by Near
Sun Dec 28, 2008 4:34 am
Forum: Sound
Topic: Genesis - SNES audio comparison
Replies: 161
Views: 102941

And in the case of HDMA there will be no handshaking, so you'd better make sure you time it well, and you'd need to waste bandwidth sending some sort of flag, so you'd know the data has changed, probably. HDMA data transfers use tight timing with no handshaking / flag checks. Technically, they alig...
by Near
Sat Dec 27, 2008 1:36 am
Forum: Sound
Topic: Genesis - SNES audio comparison
Replies: 161
Views: 102941

Whereas SNES is pretty much limited to it's 64KB RAM for samples, the Genesis is only limited by how much space you can spare on the cartridge. This is not entirely true. While the SMP and DSP share only 64kb of RAM, the CPU and SMP can communicate with each other to transfer more sound data while ...
by Near
Fri Dec 26, 2008 1:28 am
Forum: Sound
Topic: Genesis - SNES audio comparison
Replies: 161
Views: 102941

I'm not sure I understand what you're saying. Amiga MOD instruments are based on 8khz samples and they sound great. And that's 8bit PCM vs the DSP 16bit output. I would posit that 8-bit PCM sounds better than 16-bit PCM encoded as 4-bit ADPCM, but I haven't listened to the two side-by-side before. ...
by Near
Sun Dec 14, 2008 1:46 pm
Forum: Tools
Topic: Kega Fusion v3.61
Replies: 44
Views: 40396

who's going to research things properly if it's all, apparently, documented? Me and Nemesis ;) Take the fact that there are now a lot of emulators based on Gens, instead of based on research, as an example of what I mean here. That bothers me too. You almost have to be a historian to know where som...
by Near
Thu Dec 04, 2008 4:27 am
Forum: Regen
Topic: SegaCD and 32x
Replies: 52
Views: 53098

Probably not, its more likely that your context switches are not as optimal as they could be. Mine are down to two instructions, one of which I'd have to do anyway, and the other gets nicely pipelined and effectively takes less than a cycle. Unless your cores only consist of one single monolithic f...
by Near
Thu Nov 27, 2008 8:59 pm
Forum: Regen
Topic: SegaCD and 32x
Replies: 52
Views: 53098

I forget the exact reason but it's documented somewhere ... the OS *is* expected to do this, so there may be a specific way of doing this that's much faster. It breaks everything: branch prediction, pipelining, out-of-order execution, L1 cache, etc. Very bad stuff. And I'd be really surprised if th...
by Near
Thu Nov 27, 2008 2:03 pm
Forum: Regen
Topic: SegaCD and 32x
Replies: 52
Views: 53098

The Mega Drive VDP has a H/V counter, but it has to be specifically read by the CPU. Well, the same for reading the counter value from the SFC's PPU. It's just the H/V pin signals that the CPU polls every clock tick. the only unsolicited output from the VDP to the Mega Drive is in the form of these...
by Near
Sun Nov 23, 2008 7:17 pm
Forum: Regen
Topic: SegaCD and 32x
Replies: 52
Views: 53098

you can't use a volatile variable as the basis for a lock, or shared data between threads where more than one thread modifies the value. The reason for this is the simple fact that as soon as you read the variable, it has already potentially been modified by another thread before you can write to i...