Search found 109 matches
- Tue Aug 22, 2017 12:11 am
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
This doesn't seem quite right as it would imply you don't actually have full resolution scrolling/positioning in this mode. Instead, what you probably want to do is multiply the vcounter value by 2 and add 1 if you're on the "lower" field (I'm uncertain as to whether this is the odd or even field t...
- Tue Aug 22, 2017 12:05 am
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
... wow, very nice! Really happy to see you're working off the same 9-bit (0-261) Vcounter for both fields that I am with your examples. I kept trying to double the VSRAM scroll value ... can't believe I didn't think to try halving it. y += state.verticalScroll >> (vdp.io.interlaceMode == 3); This g...
- Mon Aug 21, 2017 7:29 pm
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
Sik and I went at this for a while, this was the best cherrypicked result: https://pbs.twimg.com/media/DHxqwjTU0AAE0Sa.jpg:large The Vscroll is completely busted, and nothing seems to fix it. The two things I've found so far that are clear wins ... first, as before: uint15 tileAddress = tileAttribut...
- Mon Aug 21, 2017 3:42 pm
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
Ah, you're right, sorry. I made that change while working on a test branch to add interlace support. It's (0,10)<<4 in the main repository. I think I see now, tile tile# d0 bit is still there, it's just that d0-d10 represents a1-a11 now in interlace mode, eg: uint15 tileAddress = tileAttributes.bits...
- Mon Aug 21, 2017 1:13 pm
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
> Wait, how didn't this break everything? The tile ID is 11-bit in normal mode and 10-bit in interlaced mode. There's no way that bits(0,9) would ever work, that only gives you 10 bits. Is tileAttributes just the 16-bit value stored in the tilemap or something else? My VRAM is a 16-bit array. 16x327...
- Mon Aug 21, 2017 11:17 am
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Re: Interlace mode (LSMx=3)
Well, I am no saint at writing documentation, either. I try to at least produce emulator code that can be read by other humans (seriously, Genesis VDP is either all x86 ASM or incomprehensible macro abuse with 30 versions of background renderers ... does every Genesis emulator have to run on a toast...
- Sun Aug 20, 2017 9:00 pm
- Forum: Megadrive/Genesis
- Topic: Interlace mode (LSMx=3)
- Replies: 20
- Views: 22874
Interlace mode (LSMx=3)
So, I can't find any info on how the 8x16 tile interlace mode (LSMx=3) works. I think this is the last major feature I'm missing. Continually surpised at how difficult it is to just brute force the answers to these things, so ... here goes. I presume the nametable height is still 32 or 64 based on t...
- Sun Aug 20, 2017 7:31 pm
- Forum: Megadrive/Genesis
- Topic: Shadow/Highlight
- Replies: 13
- Views: 14019
Re: Shadow/Highlight
Much appreciated! These notes and help from Cydrak led to a working, minimal implementation :D The main thing that was breaking the demo originally was that I wasn't updating the background priority bit when the color was transparent. That's not something that's normally done on other systems I've e...
- Sun Aug 20, 2017 2:42 pm
- Forum: Megadrive/Genesis
- Topic: Shadow/Highlight
- Replies: 13
- Views: 14019
Shadow/Highlight
Trying to implement shadow/highlight. The documentation ... well, you all know. I can't run Vectorman, because inputs aren't working in the game for some reason for me. Another bug, yay. I can't run vdpdoc.bin, because it's known to not work on hardware, and also doesn't run for me. Expects a strang...
- Fri Feb 24, 2017 10:24 am
- Forum: Megadrive/Genesis
- Topic: Langrisser II (v1.2) opening tile graphics bug
- Replies: 5
- Views: 5107
Re: Langrisser II (v1.2) opening tile graphics bug
Thanks, I definitely want to work my way to that. I still don't understand the VDP FIFO at all, nor how to go about emulating it. But I do hope to emulate that at some point, especially given I have a cycle-timed VDP core, so I should be able to handle it with no serious problems. I'll be sure to us...
- Thu Feb 23, 2017 2:13 pm
- Forum: Megadrive/Genesis
- Topic: Langrisser II (v1.2) opening tile graphics bug
- Replies: 5
- Views: 5107
Re: Langrisser II (v1.2) opening tile graphics bug
Yep, you were right, thank you! :D It's really weird because the game loads the tiledata incorrectly into VRAM via 68K->VRAM DMA. I guess it then does some weird VRAM copy magic to reorder data. Which is ... ridiculous, but whatever. The problem was that I was trying to do the VRAM copy as word-base...
- Thu Feb 23, 2017 8:24 am
- Forum: Megadrive/Genesis
- Topic: Langrisser II (v1.2) opening tile graphics bug
- Replies: 5
- Views: 5107
Langrisser II (v1.2) opening tile graphics bug
Long-term veterans may remember that Genecyst had a problem with this game, where it rendered the characters displayed in the intro incorrectly. And it looks like I'm experiencing the same bug. But unfortunately, nobody ever explained what actually caused it :/ So this is what the bug looks like: ht...
- Wed Aug 24, 2016 2:57 pm
- Forum: Megadrive/Genesis
- Topic: Questions on developing a Mega Drive emulator
- Replies: 39
- Views: 36633
Re: Questions on developing a Mega Drive emulator
There's a few menu screens on the SNES that use interlace mode, but it's pointless. Progressive fonts are perfectly legible too. ... Figured out windowing, finally. Many, many thanks to Sik! //window plane horizontal position case 0x11: { io.windowHorizontal = data.bits(0,4) << 4; io.windowHorizonta...
- Wed Aug 24, 2016 1:51 pm
- Forum: Megadrive/Genesis
- Topic: Questions on developing a Mega Drive emulator
- Replies: 39
- Views: 36633
Re: Questions on developing a Mega Drive emulator
Yeah, I never understood why these consoles added interlace modes. They look atrocious. The SNES would have been just fine without RPM Racing; and the Genesis just fine without Sonic 2-player mode. Even as a young kid I remember thinking about how awful it was playing in Sonic 2-player mode, so we n...
- Wed Aug 24, 2016 12:32 am
- Forum: Megadrive/Genesis
- Topic: Questions on developing a Mega Drive emulator
- Replies: 39
- Views: 36633
Re: Questions on developing a Mega Drive emulator
Yeah, to me, 9-bit color is the most obvious misstep. I would even be okay with the same number of palettes ... but it's really evident how cramped 9-bit color is. 12-bit would have really helped liven things up. So ... I'm still having some trouble understanding the window layer. I followed the doc...