Hi
A factory setting is needed each time i change the eeprom arrangement.
It's line 1124 to 1126 ,i think i have added the swapCoilPolarityLeft boolean variable to help you define correctly your perimeter setting into arduremote.But if the memory is not initialised at least one time the swapCoilPolarityLeft can have value 5 or 1520 or something else and it's not a boolean OK , so nothing work well.
Factory setting solve the issue because the eeprom is not read and initial value are the mower.cpp one
To help and avoid to redo all after a factory setting i also added the platform define option for 4 platforms into mower.h and mower.cpp:
//**************************************************************
// ------- select one platform type -------------------
//**************************************************************
#define MI632
//#define YARDFORCE
//#define RL2000
//#define MOW800
So in your case ,you need to uncomment
//#define MOW800
and comment
#define MI632
But you also need to tell me the correct value for you line 91 to 115 in mower.h
And same for mower.cpp line 283 to 288. Line 253 to 280 for example you can see the factory value for the MI632
By this way when you compile the software correct value are used according to your platform.