Star Wars Trilogy Arcade running in slow motion

Having technical difficulties with Supermodel? Last-minute wardrobe malfunction? Get help here.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Star Wars Trilogy Arcade running in slow motion

Postby belegdol » Tue Dec 25, 2018 2:51 am

Hello,
Star Wars Trilogy Arcade is running in slow motion for me despite the emulator showing 60 fps. According to the information I was able to gather this issue should be affecting only one of the revisions but for me it appears to affect both swtrilgy and swtrilgya. Error.log when running swtrilgy:
Code: Select all
Supermodel v0.3a-WIP Error Log
------------------------------

Started as:
  argv[0] = ./bin/supermodel
  argv[1] = -quad-rendering
  argv[2] = -show-fps
  argv[3] = /home/julas/data/mame/roms/swtrilgy.zip

Opened /home/julas/data/mame/roms/swtrilgy.zip.
swtrilgy:
  banked_crom: stride=8, chunk size=2, byte swap=1
    mpr-21342.04, crc32=0x339525ce, offset=0x00000000
    mpr-21341.03, crc32=0xb2a269e4, offset=0x00000002
    mpr-21340.02, crc32=0xad36040e, offset=0x00000004
    mpr-21339.01, crc32=0xc0ce5037, offset=0x00000006
    mpr-21346.08, crc32=0xc8733594, offset=0x01000000
    mpr-21345.07, crc32=0x6c183a21, offset=0x01000002
    mpr-21344.06, crc32=0x87453d76, offset=0x01000004
    mpr-21343.05, crc32=0x12552d07, offset=0x01000006
    mpr-21350.12, crc32=0x486195e7, offset=0x02000000
    mpr-21349.11, crc32=0x3d39454b, offset=0x02000002
    mpr-21348.10, crc32=0x1f7cc5f5, offset=0x02000004
    mpr-21347.09, crc32=0xecb6b934, offset=0x02000006
  crom: stride=8, chunk size=2, byte swap=1
    epr-21382a.20, crc32=0x69baf117, offset=0x00000000
    epr-21381a.19, crc32=0x2dd34e28, offset=0x00000002
    epr-21380a.18, crc32=0x780fb4e7, offset=0x00000004
    epr-21379a.17, crc32=0x24dc1555, offset=0x00000006
  mpeg_music: stride=1, chunk size=1, byte swap=0
    mpr-21375.18, crc32=0x735157a9, offset=0x00000000
    mpr-21376.20, crc32=0xe635f81e, offset=0x00400000
    mpr-21377.22, crc32=0x720621f8, offset=0x00800000
    mpr-21378.24, crc32=0x1fcf715e, offset=0x00c00000
  mpeg_program: stride=1, chunk size=1, byte swap=1
    epr-21384.2, crc32=0x12fa4780, offset=0x00000000
  sound_program: stride=1, chunk size=1, byte swap=1
    epr-21383.21, crc32=0x544d1e28, offset=0x00000000
  sound_samples: stride=1, chunk size=1, byte swap=1
    mpr-21355.22, crc32=0xc1b2d326, offset=0x00000000
    mpr-21357.24, crc32=0x02703fab, offset=0x00400000
  vrom: stride=32, chunk size=2, byte swap=0
    mpr-21359.26, crc32=0x34ef4122, offset=0x00000000
    mpr-21360.27, crc32=0x2882b95e, offset=0x00000002
    mpr-21361.28, crc32=0x9b61c3c1, offset=0x00000004
    mpr-21362.29, crc32=0x01a92169, offset=0x00000006
    mpr-21363.30, crc32=0xe7d18fed, offset=0x00000008
    mpr-21364.31, crc32=0xcb6a5468, offset=0x0000000a
    mpr-21365.32, crc32=0xad5449d8, offset=0x0000000c
    mpr-21366.33, crc32=0xdefb6b95, offset=0x0000000e
    mpr-21367.34, crc32=0xdfd51029, offset=0x00000010
    mpr-21368.35, crc32=0xae90fd21, offset=0x00000012
    mpr-21369.36, crc32=0xbf17eeb4, offset=0x00000014
    mpr-21370.37, crc32=0x2321592a, offset=0x00000016
    mpr-21371.38, crc32=0xa68782fd, offset=0x00000018
    mpr-21372.39, crc32=0xfc3f4e8b, offset=0x0000001a
    mpr-21373.40, crc32=0xb76ad261, offset=0x0000001c
    mpr-21374.41, crc32=0xae6c4d28, offset=0x0000001e

And when running swtrilgya:
Code: Select all
Supermodel v0.3a-WIP Error Log
------------------------------

Started as:
  argv[0] = ./bin/supermodel
  argv[1] = -quad-rendering
  argv[2] = -show-fps
  argv[3] = /home/julas/data/mame/roms/swtrilgya.zip

Opened /home/julas/data/mame/roms/swtrilgya.zip.
Opened /home/julas/data/mame/roms/swtrilgy.zip.
swtrilgya:
  banked_crom: stride=8, chunk size=2, byte swap=1
    mpr-21342.04, crc32=0x339525ce, offset=0x00000000
    mpr-21341.03, crc32=0xb2a269e4, offset=0x00000002
    mpr-21340.02, crc32=0xad36040e, offset=0x00000004
    mpr-21339.01, crc32=0xc0ce5037, offset=0x00000006
    mpr-21346.08, crc32=0xc8733594, offset=0x01000000
    mpr-21345.07, crc32=0x6c183a21, offset=0x01000002
    mpr-21344.06, crc32=0x87453d76, offset=0x01000004
    mpr-21343.05, crc32=0x12552d07, offset=0x01000006
    mpr-21350.12, crc32=0x486195e7, offset=0x02000000
    mpr-21349.11, crc32=0x3d39454b, offset=0x02000002
    mpr-21348.10, crc32=0x1f7cc5f5, offset=0x02000004
    mpr-21347.09, crc32=0xecb6b934, offset=0x02000006
  crom: stride=8, chunk size=2, byte swap=1
    epr-21382.20, crc32=0x0b9c44a0, offset=0x00000000
    epr-21381.19, crc32=0xbb5757bf, offset=0x00000002
    epr-21380.18, crc32=0x49b182f2, offset=0x00000004
    epr-21379.17, crc32=0x61ad51d9, offset=0x00000006
  mpeg_music: stride=1, chunk size=1, byte swap=0
    mpr-21375.18, crc32=0x735157a9, offset=0x00000000
    mpr-21376.20, crc32=0xe635f81e, offset=0x00400000
    mpr-21377.22, crc32=0x720621f8, offset=0x00800000
    mpr-21378.24, crc32=0x1fcf715e, offset=0x00c00000
  mpeg_program: stride=1, chunk size=1, byte swap=1
    epr-21384.2, crc32=0x12fa4780, offset=0x00000000
  sound_program: stride=1, chunk size=1, byte swap=1
    epr-21383.21, crc32=0x544d1e28, offset=0x00000000
  sound_samples: stride=1, chunk size=1, byte swap=1
    mpr-21355.22, crc32=0xc1b2d326, offset=0x00000000
    mpr-21357.24, crc32=0x02703fab, offset=0x00400000
  vrom: stride=32, chunk size=2, byte swap=0
    mpr-21359.26, crc32=0x34ef4122, offset=0x00000000
    mpr-21360.27, crc32=0x2882b95e, offset=0x00000002
    mpr-21361.28, crc32=0x9b61c3c1, offset=0x00000004
    mpr-21362.29, crc32=0x01a92169, offset=0x00000006
    mpr-21363.30, crc32=0xe7d18fed, offset=0x00000008
    mpr-21364.31, crc32=0xcb6a5468, offset=0x0000000a
    mpr-21365.32, crc32=0xad5449d8, offset=0x0000000c
    mpr-21366.33, crc32=0xdefb6b95, offset=0x0000000e
    mpr-21367.34, crc32=0xdfd51029, offset=0x00000010
    mpr-21368.35, crc32=0xae90fd21, offset=0x00000012
    mpr-21369.36, crc32=0xbf17eeb4, offset=0x00000014
    mpr-21370.37, crc32=0x2321592a, offset=0x00000016
    mpr-21371.38, crc32=0xa68782fd, offset=0x00000018
    mpr-21372.39, crc32=0xfc3f4e8b, offset=0x0000001a
    mpr-21373.40, crc32=0xb76ad261, offset=0x0000001c
    mpr-21374.41, crc32=0xae6c4d28, offset=0x0000001e

Both revisions display "Wait setup this feedback lever" upon startup. It takes about 45 seconds from when the crosshair appears at start of the Yavin stage until the "You've got one on your tail" moment, whereas it should be taking about 25 according to youtube captures:
https://youtu.be/c5o4np50Blo?t=80.
This is with self-compiled SVN 759 on Fedora 29 x86_64 and Ryzen 5 2600 CPU, as well as on another Fedora 29 x86_64 system with i7-2720QM CPU. Let me know if I can provide any further information.
belegdol
 
Posts: 9
Joined: Mon Nov 05, 2018 10:28 am

Re: Star Wars Trilogy Arcade running in slow motion

Postby Bart » Wed Dec 26, 2018 6:40 pm

Thanks for posting this. I just tried it myself and indeed, it is running at half-speed. I'm not sure why. Either we changed something with the frame timing code that broke Star Wars or a necessary patch was removed from Games.xml. I'll try to investigate to find which SVN commit broke it...
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Star Wars Trilogy Arcade running in slow motion

Postby Bart » Wed Dec 26, 2018 6:48 pm

Found the problem. I had removed a bunch of ROM patches because I noticed the game appeared to boot and run just fine. I didn't realize that they affected the game's speed. This is also why only one ROM set ever ran at full speed -- the equivalent patches never existed for the other game revisions. Until we commit these to the code base, you can edit Config/Games.xml yourself, find the "swtrilgy" section, and replace the current patches (there should just be a single one) with:

Code: Select all
      <patches>
        <patch region="crom" bits="32" offset="0xf0e48" value="0x60000000" />
        <patch region="crom" bits="32" offset="0x043dc" value="0x48000090" /> <!-- related to joystick feedback -->
        <patch region="crom" bits="32" offset="0x029a0" value="0x60000000" /> <!-- skip force feedback setup? -->
        <patch region="crom" bits="32" offset="0x02a0c" value="0x60000000" />
        <!-- Additional patches from MAME for test menu -->
        <patch region="crom" bits="32" offset="0xf776c" value="0x60000000" /> <!-- unemulated JTAG stuff -->
        <patch region="crom" bits="32" offset="0xf7770" value="0x60000000" /> <!-- "" -->
        <patch region="crom" bits="32" offset="0xf7774" value="0x60000000" /> <!-- "" -->
      </patches>
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Star Wars Trilogy Arcade running in slow motion

Postby belegdol » Fri Dec 28, 2018 1:46 pm

Thank you, editing games.xml as per your instructions fixed the slow motion issue :) Happy new year!
belegdol
 
Posts: 9
Joined: Mon Nov 05, 2018 10:28 am

Re: Star Wars Trilogy Arcade running in slow motion

Postby lancethrust » Tue Feb 18, 2020 10:01 pm

I’m sorry for this super basic question - but I’m really new to all of this...
Where do I find the Config/Games.xml file where I add this code to?
I’m running just ONE game on my system - Star Wars Trilogy Rev A and it goes slow motion at the trench scene (best part of course) id love to get this ONE game working right.
Thank you!
lancethrust
 
Posts: 1
Joined: Fri Nov 08, 2019 12:55 pm

Re: Star Wars Trilogy Arcade running in slow motion

Postby belegdol » Wed Feb 19, 2020 1:33 pm

The fix has been incorporated into the SVN, you should not need to edit anything.
belegdol
 
Posts: 9
Joined: Mon Nov 05, 2018 10:28 am


Return to The Fitting Room

Who is online

Users browsing this forum: No registered users and 1 guest