Page 2 of 3

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Mon Nov 14, 2016 8:25 am
by Bart
Oh no :( That's really too bad. I'm not too familiar with SWT's force feedback? Did it vibrate the joystick or actually knock it around in different directions?

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Tue Nov 15, 2016 9:14 am
by luisfcorreia
Good news!

the board has been found!
SWT-ffb.jpg
SWT-ffb.jpg (244.89 KiB) Viewed 7421 times


SWT has force feedback in two axes, that's the big difference from all other force feedback machines.
ffb-hw.jpg
ffb-hw.jpg (140.72 KiB) Viewed 7421 times


Even more news as I'll uncover them!

Cheers!

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Tue Nov 15, 2016 12:52 pm
by luisfcorreia
aaaand after a HUGE facepalm, I see that this driveboard ROM is present in the game files since forever.

it's what epr21119.ic8 is for, drive board rom

now on with investigating supermodel3 innards

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Tue Nov 15, 2016 3:44 pm
by SailorSat
First tests on my side didn't show any feedback outputs on the usual ports - lamps worked fine.
I'll check in MAME later.

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Thu Nov 17, 2016 12:15 am
by luisfcorreia
AKAICS, in MAME the doesn't even work properly.

I tried MAME 179 and I only get a black screen.

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Thu Nov 17, 2016 7:15 am
by Joaquim Gonçalves
That Rust... :)

Image

Can´t wait to see some miracle in the future.

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Thu Nov 17, 2016 4:33 pm
by SailorSat
luisfcorreia wrote:AKAICS, in MAME the doesn't even work properly.
I tried MAME 179 and I only get a black screen.


I can boot the game, but I am unable to reach the service menu for now :(

There seems to be some hardware access to 0xC10000xx

1 write to 0xC1000038, 0xC0 and two reads from 0xC1000014 (checked for 0x01 and 0x04) -

What model3 stepping does sw trilogy use?

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Fri Nov 18, 2016 1:26 am
by luisfcorreia
that rust will be dealt with.

we've got a plan be to make FFB work again even if through some other techniques.

BTW, did anyone bother with figuring out how the drive board talks to the actual power board?

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Tue Nov 22, 2016 12:06 pm
by Bart
SailorSat wrote:
luisfcorreia wrote:AKAICS, in MAME the doesn't even work properly.
I tried MAME 179 and I only get a black screen.


I can boot the game, but I am unable to reach the service menu for now :(

There seems to be some hardware access to 0xC10000xx

1 write to 0xC1000038, 0xC0 and two reads from 0xC1000014 (checked for 0x01 and 0x04) -

What model3 stepping does sw trilogy use?


This is the SCSI controller range but as far as I know, the Step 2.x games (like SWT) do *not* have this device. The Real3D firmware libraries were almost certainly written to be compatible with multiple board revisions, hence why they often seem to contain code that can use either the SCSI for DMA transfer or the custom DMA device that appeared in Step 2.x.

This sequence of writes is unusual. It is not checking device ID but rather looks like it's setting the device up and then checking whether any interrupts are pending. Is this what happens in Supermodel? I don't think I take any precautions to make the SCSI invisible on Step 2.x games. But Star Wars definitely uses the custom DMA device (which we emulate in Real3D.cpp) for all transfers between CPU<->Real3D memory.

DMA should have nothing to do with the drive board.

Re: Making Star Wars Trilogy force feedback hardware work

PostPosted: Tue Nov 22, 2016 2:05 pm
by SailorSat
Hm...
We'll find the feedback data - should not be too complicated.

I am curious because the usual drive board port does not seem to be accessed at all. Lights are accessed as usual.
I doubt they did something special - an 8 bit port should be more than enough :)