Search found 615 matches

by Mask of Destiny
Wed Sep 13, 2017 7:27 am
Forum: Megadrive/Genesis
Topic: M68k opcode sizes test ROM
Replies: 19
Views: 23665

Re: M68k opcode sizes test ROM

OK, tested on the same Genesis with my UMDK and it works correctly there. Looking at where it seems to get stuck, I think I know what the problem is. You're not filtering out the RESET instruction. While RESET does nothing to the Genesis/MD hardware itself, it does pulse !VRES on the cartridge port ...
by Mask of Destiny
Mon Sep 11, 2017 8:44 pm
Forum: Megadrive/Genesis
Topic: M68k opcode sizes test ROM
Replies: 19
Views: 23665

Re: M68k opcode sizes test ROM

For what it's worth, I've seen the same thing on my VA3 Model 1 US Genesis also with a MED v1. Not sure which 68K variant it has off hand. Haven't had a chance to test with my VA6 Model 1 or my Model 3 or using my UMDK yet though. I had no 32X or Sega CD attached during the test.
by Mask of Destiny
Wed Aug 30, 2017 5:54 pm
Forum: Tools
Topic: Blastem 0.5.0 - Many accuracy improvements, basic SMS support, runs OD2
Replies: 33
Views: 47840

Re: Blastem 0.5.0 - Many accuracy improvements, basic SMS support, runs OD2

BlastEm 0.5.1 is now out and has improvements addressing much of the feedback given here. You can find download links and the full changelog here . I unfortunately did not get a chance to address the issue TmEE saw above, but I have been able to reproduce it. Seems to be a limitation of the GL imple...
by Mask of Destiny
Wed Aug 30, 2017 5:42 pm
Forum: Megadrive/Genesis
Topic: M68k opcode sizes test ROM
Replies: 19
Views: 23665

Re: M68k opcode sizes test ROM

Thanks for making this! I suspected my instruction decoder still had issues with some instructions that should be illegal not decoding as such. I suspect the hang is related, but regardless this new test ROM will be very helpful in tracking down any remaining decoder issues.
by Mask of Destiny
Sun Aug 27, 2017 1:17 am
Forum: Megadrive/Genesis
Topic: VDP DMA fill in Ballz 3D; not writing fill byte
Replies: 11
Views: 14436

Re: VDP DMA fill in Ballz 3D; not writing fill byte

That's not how this game runs in BlastEm. I don't have the equivalent of trace logs, but for this specific question my debugger will suffice: ADDFE: bne #-396 <ADC74> >b 2680 68K Breakpoint 0 set at 2680 >com 0 Enter commands for breakpoing 0, type end when done >>p/x (a0).w >>c >>end >b 2600 68K Br...
by Mask of Destiny
Sat Aug 26, 2017 11:33 pm
Forum: Megadrive/Genesis
Topic: VDP DMA fill in Ballz 3D; not writing fill byte
Replies: 11
Views: 14436

Re: VDP DMA fill in Ballz 3D; not writing fill byte

Looking into this a bit more, it looks like the instances in which the subroutine at $2610 is called for a DMA fill, it should be called by the subroutine at $25F4. This subroutine ($25F4), pops a word off the stack into the VDP data register before calling the subroutine that checks the DMA flag ($...
by Mask of Destiny
Sat Aug 26, 2017 11:16 pm
Forum: Megadrive/Genesis
Topic: VDP DMA fill in Ballz 3D; not writing fill byte
Replies: 11
Views: 14436

Re: VDP DMA fill in Ballz 3D; not writing fill byte

Woops. I did check multiple runs through there, but it initially looked like they were all normal transfers. I guess I didn't look hard enough. Maybe the fill byte was supposed to be sitting in the FIFO waiting to be pulled in, but since there's no FIFO, it didn't take effect when it was supposed to...
by Mask of Destiny
Sat Aug 26, 2017 7:32 pm
Forum: Megadrive/Genesis
Topic: VDP DMA fill in Ballz 3D; not writing fill byte
Replies: 11
Views: 14436

Re: VDP DMA fill in Ballz 3D; not writing fill byte

I think your main problem here is not the subtleties of DMA fill, but instead that this DMA is not a DMA fill at all. It's a 68K->VDP transfer. VDP register $17 gets set to $7F which means that bit 7 is not set, thus indicating a 68K->VDP transfer. Anyway, I implement DMA fill and the DMA flag as fo...
by Mask of Destiny
Wed Aug 23, 2017 3:45 am
Forum: Megadrive/Genesis
Topic: Interlace mode (LSMx=3)
Replies: 20
Views: 20434

Re: Interlace mode (LSMx=3)

Test confirms that both vscroll and sprites use the least significant bit in double resolution interlace (LSMx=3) mode. The way it works is that a bar is displayed on Plane A with an even scroll value and a sprite is displayed at that Y+1 (well +257 due to the difference in coordinate system). Furth...
by Mask of Destiny
Tue Aug 22, 2017 6:07 pm
Forum: Megadrive/Genesis
Topic: Interlace mode (LSMx=3)
Replies: 20
Views: 20434

Re: Interlace mode (LSMx=3)

Did you verified this theory on real hardware? I'll run a proper test tonight, but it would be quite bizarre for them to include the hardware necessary to store and use an extra bit on the MSB side if they're just going to discard a bit on the LSB side. The difference in the behavior of the HV coun...
by Mask of Destiny
Tue Aug 22, 2017 6:46 am
Forum: Megadrive/Genesis
Topic: Interlace mode (LSMx=3)
Replies: 20
Views: 20434

Re: Interlace mode (LSMx=3)

Last question, though ... is this correct for counter read-out? Sonic 2 doesn't use it, and I don't know of any other interlace "mode 2" game. //counter case 0xc00008: case 0xc0000a: case 0xc0000c: case 0xc0000e: { uint16 vcounter = state.vcounter; if(io.interlaceMode == 3) vcounter.bit(0) = vcount...
by Mask of Destiny
Tue Aug 22, 2017 12:23 am
Forum: Megadrive/Genesis
Topic: Interlace mode (LSMx=3)
Replies: 20
Views: 20434

Re: Interlace mode (LSMx=3)

Nah, the halving trick worked out beautifully. It will work, but the resolution of sprite positioning will be half of what it should be. For instance, you won't be able to position a sprite's first line on a line that's in the bottom field (short of modifying the SAT between fields anyway). Since y...
by Mask of Destiny
Tue Aug 22, 2017 12:01 am
Forum: Megadrive/Genesis
Topic: Interlace mode (LSMx=3)
Replies: 20
Views: 20434

Re: Interlace mode (LSMx=3)

What I think you are missing, as far as I can tell: - for vscroll, value read from VSRAM must be shifted right by one (VSRAM width is 11-bit but bit0 is ignored in interlaced mode 2) before being added to vcounter value (9-bit) - for sprites, when preparing the sprites list (i.e looking which sprit...
by Mask of Destiny
Mon Jul 31, 2017 9:55 pm
Forum: Tools
Topic: Blastem 0.5.0 - Many accuracy improvements, basic SMS support, runs OD2
Replies: 33
Views: 47840

Re: Blastem 0.5.0 - Many accuracy improvements, basic SMS support, runs OD2

I got a new machine which does have OpenGL working and i tried the interlace mode stuff and it seems that it doesn't actually show any interlacing, only one of the fields is ever shown. Weird. I assume this is with a recent nightly and not the stable release (important distinction due to some shade...
by Mask of Destiny
Tue Jul 11, 2017 9:30 pm
Forum: Video Display Processor
Topic: Is DMA Fill buggy?
Replies: 11
Views: 15910

Re: Is DMA Fill buggy?

The DMA Fill works as expected but also does 1 (even addrss) o 2 (odd addrss) more byte writes to another location, with the same data you provided for the DMA Fill. It's not the fill that's doing the extra writes. The write that triggers the fill works as normal and then the fill continues afterwa...