MiSTer-devel / SMS_MiSTer

Sega Master System for MiSTer
45 stars 43 forks source link

msx mapper / vdp mode 2 #48

Closed theflynn49 closed 5 years ago

theflynn49 commented 5 years ago

@gyurco @sorgelig I need an advice from you guys, or I'd better say an editor's choice

Someone caught my attention on the MSX/SMS dual compatible roms, and I made a branch to support it. The mapper is ok, but for the mode2 I made a debatable choice consisting to imbed tightly the mode2 within the existing mode4's logic instead of writing a separate TMS9918 module.

Finally I am pretty pleased with the result (not finished yet), but I wish to know if you guys want to merge these changes in the main branch, or if we keep this branch aside. Beware that the changes in vdp are quite significant, although I feel secure about them.

If you choose to merge these, I need to remove my debug garbage and rollback the palette and bios changes I made to do so.

Rgds

sorgelig commented 5 years ago

As long as it doesn't brake SMS games i have nothing against. From other side if game works fine in MSX core, is there any benefit to make it work in SMS too?

theflynn49 commented 5 years ago
sorgelig commented 5 years ago

Did you try these games in ColecoVision core? It's supposed to play SG1000 games. I think it's not bad if SMS will play SG1000 games too.

theflynn49 commented 5 years ago

No these SG-1000 .sg files don't work in that core, even if I rename them. edit: the last released core doesn't support them, but I saw its support in the sources.

BTW a few of these sg games don't work on the SMS core probably because they use yet another graphic mode.

What we could do is asking people on the Atari forum to use the core and feed us back with the regression problems they can find. There is no hurry here.

sorgelig commented 5 years ago

agree

gyurco commented 5 years ago

I would be interested in .sg files which don't work in the Colecovision/SG1000 core.

theflynn49 commented 5 years ago

That would be a temporary advantage, they eventually will support everything I guess. Anyway, that should be easy now that we have graphic mode2. Yet another mapper probably.

sorgelig commented 5 years ago

if SG1000 will be completely moved to SMS then it would be better. Having it in ColecoVision is kind of awkward, IMHO.

theflynn49 commented 5 years ago

I checked my game list (from romsmania) against Coleco : all but 4 games work. The failed games don't work on SMS version either. They support double-sized (wide) sprites, we don't, and I saw a little display bug in with sprites, but it's peanuts to fix. SC3000 has display issues with SMS core, seems to work on Coleco but I can't pass the menu I didn't check all games against SMS, but it should work.

My humble opinion is that SG-1000 is in SMS DNA : the smspower site's header is "Sega Master System / Mark III / Game Gear / SG-1000 / SC-3000 / SF-7000 / OMV" ... since mode2 seems to work properly we should go on down this path

theflynn49 commented 5 years ago

We also have the 8/64 sprites display option, which is 4/32 for the SG1000, and that is really a good option since 4 sprites per line is not enough and plenty of games suffer of sprite display artefacts because of that.

theflynn49 commented 5 years ago

I add this here for convenience : games having problems with SMS but ok woth Coleco Chack'n Pop : I forgot to disable the BIOS, it works Champion baseball graphic mode0 : wontfix james Bond 007 : graphic mode M0 : wontfix Pop Flamer : mode4 probably mapper problem Serizawa Hachidan : graphic mode M0 : wontfix (+ all the SC3000 games)

games failing on both cores Othello Castle (The) Terebi Oekaki Home Basic (SC3000)

gyurco commented 5 years ago

Those non-working games have some extra RAM somewhere: http://www.smspower.org/Tags/EmbedExtraRAM

gyurco commented 5 years ago

And these are using "Dahjee" type RAM extension, which is implemented in the Coleco core: http://www.smspower.org/Tags/SG-1000RAMExtension

gyurco commented 5 years ago

Another thing about the coleco core's VDP is a very faithful replica of the original TMS9918A, with VRAM time slots and such, thus it's not really possible to add more sprites/line there without nasty hacks.

sorgelig commented 5 years ago

SG1000 has only few games and i doubt they use any tricks, so not precise replica is fine i think.

theflynn49 commented 5 years ago

I updated the list above, apart the extra ram most problems come from games written for graphic mode 0 (or 1 I am not sure), but I don't think I'll write this mode at any rate.

theflynn49 commented 5 years ago

I fixed the sprites problems.

sorgelig commented 5 years ago

@theflynn49 Warning (332060): Node: emu:emu|system:system|T80s:z80_inst|MREQ_n was determined to be a clock but was found without an associated clock assignment. this need to be fixed as it's a ring for possible instability.

theflynn49 commented 5 years ago

I am on a trip abroad, I can do that next week... I remember doing that, but that sounds easy to fix ...

theflynn49 commented 5 years ago

I'm back :) I've seen that @gyurco has taken care of the problem and several other things. I read the commits, I've learned a few things :)