Search found 558 matches

by Mask of Destiny
Tue Nov 21, 2017 9:25 pm
Forum: Megadrive/Genesis
Topic: Sprite List Code Messed Up
Replies: 27
Views: 532

Re: Sprite List Code Messed Up

Hm. I wonder if anyone ever transcribed the whole microcode portion of US4325121... having it as a searchable document would be a lot better, as well as less error prone because of how bad the scan is. I've got just shy of 100 transcribed which is pretty far from complete, though it probably covers...
by Mask of Destiny
Tue Oct 24, 2017 8:38 pm
Forum: Controls
Topic: XE-1AP
Replies: 3
Views: 373

Re: XE-1AP

Interesting. The comment does seem to be in line with what the code does (saves the 12 nibbles as 12 bytes in the buffer and pulls the A,B,A',B' state from the 11th byte rather than the 12th). Though it also suggests that A,B,C,D comes in the first nibble with E1,E2,Start,Select in the second. It lo...
by Mask of Destiny
Tue Oct 24, 2017 7:12 am
Forum: Controls
Topic: XE-1AP
Replies: 3
Views: 373

XE-1AP

So I managed to find an XE-1AP while I was in Japan recently and I wrote a little test ROM to better characterize its behavior. First off, big thanks to Eke for emulating this peripheral in Genesis Plus GX as having some idea how this peripheral was supposed to work was a huge time saver when writin...
by Mask of Destiny
Wed Sep 13, 2017 7:27 am
Forum: Megadrive/Genesis
Topic: M68k opcode sizes test ROM
Replies: 19
Views: 1013

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: 1013

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: 1790

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: 1013

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: 558

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: 558

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: 558

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: 558

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: 820

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: 820

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: 820

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: 820

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...