Маперы в InDrive и в 128MX+SPI разные и при обновлении не меняются. Пока что я допиливаю прошивку с поддержкой слотов, потом списочек.Неплохо бы тогда списочек совместимости еепром игр получить.
Если правильно помню вандербой не поддерживается. Поработаю над обновлением.
И что там с мапперами, сильно они поменялись:Во всяком случае новый (7) появился.0 - Default (No Save);
1 - EEPROM 1 (NBA JAM);
2 - EEPROM 2;
3 - SRAM (EA Sports Games);
4 - SRAM (Landstalker);
5 - SRAM (Alt. 4);
6 - SRAM (Story of Thor).
Новая прошивка в 128MX+SPI v2.0 и вообще...
Moderators: HardWareMan, aodinets, admin, figura, alex
-
- Любитель
- Posts: 182
- Joined: Sun Mar 18, 2012 12:39 pm
Так, поигрался ещё с прошивкой, вот результат.
--
Есть проблема с SMS играми в том, что если не поставить:
--
Плюс всякие разности по юзабилити:
1) При первом обращении к SD карте, что-то делается, в следствии чего ОС подвисает и ощущение что картридж завис, нужно бы добавить предупреждение что всё в порядке, просто подождите.
2) Выбор пунктов меню на кнопку START немного не интуитивно, желательно заменить на кнопку A, тем более что отмена - кнопка B, да и в мессадж боксах просят нажать A.
3) Сделать так, чтобы на кнопку B не выходил из самой SD карты, а просто переходил в папках на уровень выше.
4) Пропала возможность загрузить в SRAM или EEPROM свой сейв, тоже желательно вернуть возможность.
5) Хочется иметь возможность редактировать GG коды, в играх, которые уже залиты во внутреннюю память.
6) Добавить меню выбора где тебе предлагают - запустить выбранный ром или просто залить его во внутреннюю память.
7) Удалить возможность GG кодов у SMS игр, т.к. таких не существует (?). А если включить поддержку и даже ничего не вводить, игра не запустится.
--
Что-то не то в GG кодах.
Пример Comix Zone (USA).
Код AJCV-4A56 (неуязвимость).
В Fusion он преобразуется в 1D057C:6002
А в картридже в 1D057C:6000
В следствии чего в эмуляторе код работает, а в картридже вылетает игра. Если пропатчить ром с кодом, тоже нормально работает во флешкартридже. Так что скорее всего неправильное преобразование.
Вообще, вот функции преобразования GG в HEX. Не помню, честно говоря, откуда подсмотрел, в каких-то исходниках программы.
--
Ещё баги по части SMS игр.
1) Не сохраняются игры. Пробовал Phantasy Star и Golden Axe Warrior. В обоих случаях мусор вместо нормальных сейвов.
2) При сбросе некоторые игры подвисают и сбрасываются только через 1-2 секунды.
--
Есть проблема с SMS играми в том, что если не поставить:
То ромы просто не будут видны. Нужно исправить.Hide by header: Show
Show ROM Info: Hide
--
Плюс всякие разности по юзабилити:
1) При первом обращении к SD карте, что-то делается, в следствии чего ОС подвисает и ощущение что картридж завис, нужно бы добавить предупреждение что всё в порядке, просто подождите.
2) Выбор пунктов меню на кнопку START немного не интуитивно, желательно заменить на кнопку A, тем более что отмена - кнопка B, да и в мессадж боксах просят нажать A.
3) Сделать так, чтобы на кнопку B не выходил из самой SD карты, а просто переходил в папках на уровень выше.
4) Пропала возможность загрузить в SRAM или EEPROM свой сейв, тоже желательно вернуть возможность.
5) Хочется иметь возможность редактировать GG коды, в играх, которые уже залиты во внутреннюю память.
6) Добавить меню выбора где тебе предлагают - запустить выбранный ром или просто залить его во внутреннюю память.
7) Удалить возможность GG кодов у SMS игр, т.к. таких не существует (?). А если включить поддержку и даже ничего не вводить, игра не запустится.
--
Что-то не то в GG кодах.
Пример Comix Zone (USA).
Код AJCV-4A56 (неуязвимость).
В Fusion он преобразуется в 1D057C:6002
А в картридже в 1D057C:6000
В следствии чего в эмуляторе код работает, а в картридже вылетает игра. Если пропатчить ром с кодом, тоже нормально работает во флешкартридже. Так что скорее всего неправильное преобразование.
Вообще, вот функции преобразования GG в HEX. Не помню, честно говоря, откуда подсмотрел, в каких-то исходниках программы.
Code: Select all
private readonly char[] alphabet = new char[]
{
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S',
'T', 'V', 'W', 'X', 'Y', 'Z', '0', '1',
'2', '3', '4', '5', '6', '7', '8', '9'
};
private int CharToInt(char letter)
{
for (int i = 0; i < alphabet.Length; i++)
{
if (alphabet[i] == letter)
{
return i;
}
}
return -1;
}
private int[] DecodeGameGenieCode(string gameGenieCode)
{
long bitstring = 0;
for (int i = 0; i < gameGenieCode.Length; i++)
{
if (i != 4)
{
char ch = gameGenieCode[i];
bitstring <<= 5;
bitstring |= CharToInt(ch);
}
}
int[] decoded = new int[2];
int temp;
decoded[1] = (int)(((bitstring >> 7) & 0xE) | ((bitstring >> 15) & 0x1));
temp = (int)(((bitstring >> 11) & 0xE) | ((bitstring >> 11) & 0x1));
decoded[1] <<= 4;
decoded[1] |= temp;
temp = (int)(bitstring >> 32);
decoded[1] <<= 8;
decoded[1] |= temp;
decoded[0] = (int)((bitstring >> 16) & 0xFF);
temp = (int)((bitstring >> 24) & 0xFF);
decoded[0] <<= 8;
decoded[0] |= temp;
temp = (int)(bitstring & 0xFF);
decoded[0] <<= 8;
decoded[0] |= temp;
return decoded;
}
int[] decoded = new int[2];
List<byte> bytes = new List<byte>(); ;
FileStream romFile;
decoded = DecodeGameGenieCode(gameGenieCode.ToString());
bytes.Add(BitConverter.GetBytes(decoded[1])[1]);
bytes.Add(BitConverter.GetBytes(decoded[1])[0]);
romFile = new FileStream(txtRomFilePath.Text, FileMode.Open, FileAccess.Write);
foreach (byte i in bytes)
{
romFile.Position = decoded[0];
romFile.WriteByte(i);
decoded[0]++;
}
romFile.Close();
bytes.Clear();
Ещё баги по части SMS игр.
1) Не сохраняются игры. Пробовал Phantasy Star и Golden Axe Warrior. В обоих случаях мусор вместо нормальных сейвов.
2) При сбросе некоторые игры подвисают и сбрасываются только через 1-2 секунды.
--Так, поигрался ещё с прошивкой, вот результат.
--
Есть проблема с SMS играми в том, что если не поставить:То ромы просто не будут видны. Нужно исправить.Hide by header: Show
Show ROM Info: Hide
--
Плюс всякие разности по юзабилити:
1) При первом обращении к SD карте, что-то делается, в следствии чего ОС подвисает и ощущение что картридж завис, нужно бы добавить предупреждение что всё в порядке, просто подождите.
2) Выбор пунктов меню на кнопку START немного не интуитивно, желательно заменить на кнопку A, тем более что отмена - кнопка B, да и в мессадж боксах просят нажать A.
3) Сделать так, чтобы на кнопку B не выходил из самой SD карты, а просто переходил в папках на уровень выше.
4) Пропала возможность загрузить в SRAM или EEPROM свой сейв, тоже желательно вернуть возможность.
5) Хочется иметь возможность редактировать GG коды, в играх, которые уже залиты во внутреннюю память.
6) Добавить меню выбора где тебе предлагают - запустить выбранный ром или просто залить его во внутреннюю память.
7) Удалить возможность GG кодов у SMS игр, т.к. таких не существует (?). А если включить поддержку и даже ничего не вводить, игра не запустится.
--
Что-то не то в GG кодах.
Пример Comix Zone (USA).
Код AJCV-4A56 (неуязвимость).
В Fusion он преобразуется в 1D057C:6002
А в картридже в 1D057C:6000
В следствии чего в эмуляторе код работает, а в картридже вылетает игра. Если пропатчить ром с кодом, тоже нормально работает во флешкартридже. Так что скорее всего неправильное преобразование.
Ещё баги по части SMS игр.
1) Не сохраняются игры. Пробовал Phantasy Star и Golden Axe Warrior. В обоих случаях мусор вместо нормальных сейвов.
2) При сбросе некоторые игры подвисают и сбрасываются только через 1-2 секунды.
Ну нет у SMS игр GEN/MD заголовка, вот их и не показывают.
--
Отличный баг лист.
GEN/MD
1. Угу, там папки создаются, сделаю чтоб сообщение писалось.
2. Хммммм, кому A кому Start, мож лучше и то и то сделать?
3. ...много где менять, много где глюки повылезут, так что это после следующего релиза...
4. Схема простая, при записи новой игры старое состояние сейв памяти со старым названием сохраняется в папку Saves, для новозагруженной в той же папке ищется и восстанавливается сейв, а если оставить возможность вгружать, то начнеться "у меня сейв пропал, батарейка целая" или что то подобное. Так что подмените сейв в папке Saves и вгрузите занова игру. Ну или при выборе игры можно сделать пункт "вгрузить сейв для игры", выбираем игру и если есть сейв в папке с сейвами, - вгружаем. Или мож в опциях сделать "Обновить сейв память последней загруженной игры."?
5. И как же это сделать? Память то FLASH, стирать сектор нужно, пару байтиков не заменишь, тока сектор перезаписывать а он 64к размером (у сеги оперативная память всего 64к)... можно конечно на карту памяти выгружать потом обратно, это долго и муторно... но вроде как реализуемо.
6. Ну то есть после заливки спрашивать запустить или нет?
7. Ага, это реальный баг, сделаю.
8. GG поправлю.
SMS
1. А какая версия карта? InDRIVE?
2. Обычное дело.
-
- Любитель
- Posts: 182
- Joined: Sun Mar 18, 2012 12:39 pm
2) Можно и старт оставить, но что на кнопку А не выбирается - не привычно.2. Хммммм, кому A кому Start, мож лучше и то и то сделать?
3. ...много где менять, много где глюки повылезут, так что это после следующего релиза...
4. Схема простая, при записи новой игры старое состояние сейв памяти со старым названием сохраняется в папку Saves, для новозагруженной в той же папке ищется и восстанавливается сейв, а если оставить возможность вгружать, то начнеться "у меня сейв пропал, батарейка целая" или что то подобное. Так что подмените сейв в папке Saves и вгрузите занова игру. Ну или при выборе игры можно сделать пункт "вгрузить сейв для игры", выбираем игру и если есть сейв в папке с сейвами, - вгружаем. Или мож в опциях сделать "Обновить сейв память последней загруженной игры."?
5. И как же это сделать? Память то FLASH, стирать сектор нужно, пару байтиков не заменишь, тока сектор перезаписывать а он 64к размером (у сеги оперативная память всего 64к)... можно конечно на карту памяти выгружать потом обратно, это долго и муторно... но вроде как реализуемо.
6. Ну то есть после заливки спрашивать запустить или нет?
7. Ага, это реальный баг, сделаю.
8. GG поправлю.
SMS
1. А какая версия карта? InDRIVE?
2. Обычное дело.
5) А, значит в память пишется патченный ром? Тогда ясно, можно не делать. Но если так, то хотелось бы пофикшенной чексуммы после патчинга, т.к. некоторые игры будут уходить в красный экран.
6) Ога, в видео флеш картриджа для фамикома видел подобное. Хотя может и не нужно, в принципе если загружаешь игру, всяко её запустить хочешь.
--
1) Карт что в названии темы, не Индрайв. В той же Phantasy Star, даже когда появляются меню с выбором слотов, куда сохранять - оно битое и неправильно отображается. А в Golden Axe Warrir в 3 слоте постоянно висит один и тот же сейв из мусора.
-
- Любитель
- Posts: 182
- Joined: Sun Mar 18, 2012 12:39 pm
Ещё пара предложений по юзабилити интерфейса.
1) Когда выбираешь первый пукнт главного меню для запуска игры, в следующем подменю курсор стоит по-умолчанию на "Exit", что неудобно если хочешь сразу после старта консоли запустить игру. Предлагаю "Exit" и "Run Game" поменять местами.
2) Всё таки стоит добавить дополнительное меню перед загрузкой рома. Когда выбираешь ром и нажимаешь старт, чтобы появлялось окошко с выбором опций: "Load and Start Game", "Load Game", "Cancel". Причина в том, что картридж не всегда правильно выбирает мапперы, поэтому если ты знаешь такой факт за какой-либо игрой - будет полезно.
3) Раз уже сохраняются GG коды в отдельной папочке, то стоит и туда же сохранять маппер, который выберет пользователь, а то он постоянно сбрасывается на автоматический подбор.
4) Скрыть служебные папки, такие как CFGFILES и Saves (переименоваться перед этим в что-нибудь более замысловатое, чтобы не пересекались с пользовательскими).
И пара багов:
1) Умная система бекапа сохранений хороша, но сбоит, если маппер неправильно определился. Например, у меня есть два рома игры (Wonder Boy in Monster World, Mega Man - The Wily Wars), которые пропатчены чтобы использовать SRAM, а картридж сохраняет только EEPROM память у этих игр, так же проблема затрагивает совершенно валидный ром Sonic & Knuckles + Sonic The Hedgehog 3 (сохраняется на 6 маппер, но определяется как нулевой). Чтобы решить эту проблему нужно либо сохранять обе памяти, либо смотреть на маппер который выбрал пользователь и ориентироваться на него (для этого нужна система описанная чуть раньше).
2) Опечатка - "Sega Masater System", когда загружен в память SMS ром.
3) Ну и подробности о баге с сохранения SMS игр. Записать информацию нельзя ни в один слот, само окошко в игре с выбором сохранений отображается неккоректно как при сохранении, так и при загрузке (см. ниже), слоты не пусты и некоторые загружают игру в совершенно произвольном месте с рандомными персонажами (в них мусор). При этом такое поведение наблюдается даже если восстанавливать полностью нулевой SRAM файл, после игры с таким же чистым SRAM файлом. А вот когда он бекапиться - там появляется сплошной мусор.
![Image](http://imageshack.us/a/img715/5509/0412180526.th.jpg)
1) Когда выбираешь первый пукнт главного меню для запуска игры, в следующем подменю курсор стоит по-умолчанию на "Exit", что неудобно если хочешь сразу после старта консоли запустить игру. Предлагаю "Exit" и "Run Game" поменять местами.
2) Всё таки стоит добавить дополнительное меню перед загрузкой рома. Когда выбираешь ром и нажимаешь старт, чтобы появлялось окошко с выбором опций: "Load and Start Game", "Load Game", "Cancel". Причина в том, что картридж не всегда правильно выбирает мапперы, поэтому если ты знаешь такой факт за какой-либо игрой - будет полезно.
3) Раз уже сохраняются GG коды в отдельной папочке, то стоит и туда же сохранять маппер, который выберет пользователь, а то он постоянно сбрасывается на автоматический подбор.
4) Скрыть служебные папки, такие как CFGFILES и Saves (переименоваться перед этим в что-нибудь более замысловатое, чтобы не пересекались с пользовательскими).
И пара багов:
1) Умная система бекапа сохранений хороша, но сбоит, если маппер неправильно определился. Например, у меня есть два рома игры (Wonder Boy in Monster World, Mega Man - The Wily Wars), которые пропатчены чтобы использовать SRAM, а картридж сохраняет только EEPROM память у этих игр, так же проблема затрагивает совершенно валидный ром Sonic & Knuckles + Sonic The Hedgehog 3 (сохраняется на 6 маппер, но определяется как нулевой). Чтобы решить эту проблему нужно либо сохранять обе памяти, либо смотреть на маппер который выбрал пользователь и ориентироваться на него (для этого нужна система описанная чуть раньше).
2) Опечатка - "Sega Masater System", когда загружен в память SMS ром.
3) Ну и подробности о баге с сохранения SMS игр. Записать информацию нельзя ни в один слот, само окошко в игре с выбором сохранений отображается неккоректно как при сохранении, так и при загрузке (см. ниже), слоты не пусты и некоторые загружают игру в совершенно произвольном месте с рандомными персонажами (в них мусор). При этом такое поведение наблюдается даже если восстанавливать полностью нулевой SRAM файл, после игры с таким же чистым SRAM файлом. А вот когда он бекапиться - там появляется сплошной мусор.
![Image](http://imageshack.us/a/img715/5509/0412180526.th.jpg)
-
- Posts: 5
- Joined: Mon Jan 07, 2013 7:05 am
да.... похоже карт стал одноигровочным - прилично неудобно, т.е игра будет занимать меньше половины флеш памяти а оставшаяся незаписанная часть простаивать, особенно печально если карт с 16 мб на борту... а мне волков коммандер нравился - гибкий и удобный интерфейс, теперь все както однобоко. Откатился - мне пока старый больше по нраву.я что-то не разберусь, на новой прошивке можно только один ром записать?
как сделать несколько слотов как было раньше?
---
жаль что нет даунгрейда...
Хмммм, как это ни странно, но обновление со слотами для второй версии мне не на чем проверить... К сожалению большинство пользователей об этой прошивке говорят что она сильно неудобная и чересчур замудреная, поэтому и переписал всё на простую версию... приятно слышать что оценили прошивку аля командер, ох уж я с окнами этими наплясалсяда.... похоже карт стал одноигровочным - прилично неудобно, т.е игра будет занимать меньше половины флеш памяти а оставшаяся незаписанная часть простаивать, особенно печально если карт с 16 мб на борту... а мне волков коммандер нравился - гибкий и удобный интерфейс, теперь все както однобоко. Откатился - мне пока старый больше по нраву.я что-то не разберусь, на новой прошивке можно только один ром записать?
как сделать несколько слотов как было раньше?
---
жаль что нет даунгрейда...
![Слегка улыбается :)](./images/smilies/f09f9982_2x.png)
-
- Любитель
- Posts: 182
- Joined: Sun Mar 18, 2012 12:39 pm
А если после обновления карт раком встанет? Хорошо поработаю над багами. В принципе платформа то первой и второй версии одинаковая... карты придут с завода, буду тестировать.admin, ты всё таки ОС обнови.
Да главное баги с GG кодами и сохранениями в SMS играх поправь (вот где действительно засада). А мы как-нибудь оттестируем.
И это, сохранения в некоторых SMS играх и не должны работать, я интегрировал только один самый часто встречаемый мапер SMS. Ну в общем, бум работать над улучшениями.
-
- Любитель
- Posts: 182
- Joined: Sun Mar 18, 2012 12:39 pm
Вот это сюрприз для меня.И это, сохранения в некоторых SMS играх и не должны работать, я интегрировал только один самый часто встречаемый мапер SMS. Ну в общем, бум работать над улучшениями.
Но в старом меню же работали, помню ещё писалось что SMS игры занимают всю область сохранений.
Нужно добавить возможность сохраняться, а то очень хочется поиграть в Phantasy Star, да Golden Axe Warrior.[/b]