Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Fix YS (japanese version)

Reply to topic
Author Message
  • Joined: 04 Jul 2010
  • Posts: 540
  • Location: Angers, France
Reply with quote
Fix YS (japanese version)
Post Posted: Tue Nov 19, 2019 9:32 am
Hi guys,
i was searching if someone already fixed the japanese version of YS (to work on genesis/megadrive for example) ?

As many of you already know it's using a "trick" for its status bar (bit 0 in VDP reg 2 which change the name table adr in VRAM), and the game is only working correctly in a SMS 1.
The euro/us version doesn't do this trick and work properly in SMS1, 2 and MD.


I've found the reg 2 writes ( 0xF8(jap) instead of 0xF9(euro/us) ), but do not really understand/find the changes in VRAM adr...
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14732
  • Location: London
Reply with quote
Post Posted: Tue Nov 19, 2019 9:39 am
I think you need to reimplement a bunch of code to “fix” it, but that could be copied from the export version. What’s the use to do this? I guess to play in Japanese on a Mega Drive or later Master System?
  View user's profile Send private message Visit poster's website
  • Joined: 04 Jul 2010
  • Posts: 540
  • Location: Angers, France
Reply with quote
Post Posted: Tue Nov 19, 2019 9:42 am
Exactly !
  View user's profile Send private message
  • Joined: 28 Sep 1999
  • Posts: 1197
Reply with quote
Post Posted: Wed Nov 20, 2019 3:03 am
I've got a little information on that here:

http://techno-junk.org/txt/msvdp.txt

When you set bit 0 in register #2 the VDP fetches the name table data from rows 0-7 when displaying rows 16-23, so the screen looks like this:

Screen rows 0-7 : Read name table rows 0-7
Screen rows 8-F : Read name table rows 8-F
Screen rows 10-17 : Read name table rows 0-7

I haven't looked at the game but I assume the idea is that they define a second name table for the status area and write the status information into rows 0-7 of it (not 10-17), and then write F9 to force those first 8 rows to be shown for the last 8 rows of the display.

I guess this is convenient because they only need to store enough VRAM data for a 32x8 name table instead of the full 32x24 table. For example maybe it has something like this:

2000-21FF : 32x8 name table for status area rows 0-7
3800-3BFF : 32x24 name table for regular game screen

I just made those addresses up though, as I'm not sure what the game really sets them to.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!