| Эмуляция > Эмуляторы консолей 6 поколения и выше |
| Makaron - Эмулятор Sega Dreamcast |
| << < (106/116) > >> |
| karaulov:
--- Цитата: Zenkai от 06 Июнь 2013, 19:07:25 --- --- Конец цитаты --- Точно такая же ошибка. Как исправить эту ошибку? Проверил все настройки, ничего не помогло. И зачем вы распространяете вирусы? set.exe vert.exe pause.exe https://www.virustotal.com/ru/file/21384632c942c052b67d02217d09cc5527c6b3e18273474188f122aa7da80030/analysis/1381338692/ Думал MakaronEx установить, а там на все дополнительные файлы начало ругаться, троян и т.п Что эти файлы делают? запустил в песочнице, включил настройку времени, запустился там cmd.exe ,set.exe ... Открылся makaron.dll запустился эмулятор, потом ошибка похожая как на скрине только там что-то про ..urom.. было написано. Потом кнопки стали сами по себе нажиматься и т.п |
| Wind:
Ох уж этот паскаль |
| cptPauer:
--- Цитата ---Что эти файлы делают? запустил в песочнице, включил настройку времени, запустился там cmd.exe ,set.exe ... Открылся makaron.dll запустился эмулятор, потом ошибка похожая как на скрине только там что-то про ..urom.. было написано. Потом кнопки стали сами по себе нажиматься и т.п --- Конец цитаты --- Добавляй смело в исключения, там нет вирусов, это враппер такой. Касперский, Майкрософт же не ругаются, а Симантек пишет, что подозрительный (но это не значит, что вирус). На счёт ошибки, кто ж его знает - что то с видеокартой твоей сязано.. Древний DirectX стоит может быть или драйвера.. Лично у меня эта сборка Макарона работала ещё на GF 6600GT+ Sempron 3000 под WinXP Sp3, тестил моды 4x4 Evolution и HL1 на ней. Ну а на новых так там вообще даже фуллспид в WinCE (хоть и с глюками и вылетами) --- Цитата ---запустился там cmd.exe ,set.exe --- Конец цитаты --- Излишняя паранойа. Командную строку запустило, а из неё скрипт или Макарон с какими-то параметрами. Там, видимо, не сделаешь нормальный Гуй к нему иначе. |
| paul_met:
--- Цитата: karaulov ---set.exe vert.exe pause.exe --- Конец цитаты --- Не вирусы это вовсе. Все приложения необходимы для корректно работы оболочки. Грубо говоря - это хуки, которые позволяют поворачивать экран, настраивать время автоматом и т.д. Исключи их из сканирования в антивируснике и жалоб не будет. --- Цитата: Wind ---Ох уж этот паскаль --- Конец цитаты --- А паскаль то тут причём? |
| karaulov:
А время без этих файлов никак не настроить? Зачем экран поворачивать? и почему конфиг криво сохраняет makaronex? выбираю 1440/900 разрешение, но оно не сохраняется. Запустил макарон 12/5 без makaronex , ошибка пропала, НО игра не запускается :) (вообще ничего не происходит ,и потом окно эмулятора закрывается) Добавлено позже: И почему запускается 2 процесса, makaron.dll и makaron.exe ? в обычном макароне ведь только один makaron.exe а этот переименованный в dll из exe....Ужас какой-то :) Сейчас как-то запустилась настройка времени, но по моему рано начались кнопки нажиматься, так как у меня эмулятор не загрузился до конца, а они уже нажимаются :) Что нужно для настройки времени? напишу без вирусов на c#(или возможно C++) автоматический настройщик без всяких хуков и вирусов. |
| paul_met:
--- Цитата: karaulov ---Зачем экран поворачивать? --- Конец цитаты --- Для соответствующих игр - вертикальных стрелялок. --- Цитата: karaulov --- и почему конфиг криво сохраняет makaronex? выбираю 1440/900 разрешение, но оно не сохраняется. --- Конец цитаты --- Что-то у тебя всё подозрительно криво работает. |
| karaulov:
--- Цитата: paul_met от 09 Октябрь 2013, 22:49:01 ---Что-то у тебя всё подозрительно криво работает. --- Конец цитаты --- Не знаю, выбрал 1440x900 после перезапуска получил: --------------------------- MakaronEX --------------------------- '#' is not a valid integer value. --------------------------- ОК --------------------------- |
| paul_met:
--- Цитата: karaulov ---Не знаю, выбрал 1440/900 --- Конец цитаты --- Откуда наклонная черта взялась? Должен быть икс между цифрами. |
| karaulov:
Ну ок, исправил текст сообщения, но от этого лучше не стало работать. P.S / = X = НА Вот даже скрины: 1. Выбираю 1440x900 2. Получаю |
| Yaranga:
Ну так другое разрешение выбери. Похоже, твоя видеокарта не сможет рендерить игровой экран в таком разрешении. |
| karaulov:
Скачал заново makaronex , несколько раз поменял разрешение и опять такое началось. Без MakaronEx разрешение в конфиге меняю и все работает, только игра не запускается. С makaronex ошибка такая как и у --- Цитата: Zenkai от 06 Июнь 2013, 19:07:25 --- --- Конец цитаты --- Геймпад Dinput , но там нет триггеров аналоговых. |
| EdHell:
И тут еще раз спрошу, ты как выходишь из эмулятора? По поводу "вирусов": а чего ты ждал? Вся оболочка построена на хаках и костылях, поскольку исходников эмулятора не имеется, а автору насрать, как юзеры будут использовать эмуль. Возьми обычный макарон и делай с ним, что хочешь. Ручками. |
| karaulov:
Я решил себе написать конфигуратор для макарона 0_0 Настройка времени без лагов и ее сложно случайно сломать . (BlockInput(true) и почти никакой эмуляции клавиш, просто изменения в памяти.) https://www.virustotal.com/ru/file/967a7559e8f1f5f6b128f98ed84bce4e782a21b10de6ef73a717ea47b8d5097b/analysis/1381409260/ А разве просто в dreamcast_flash_##.bin нельзя дату заменить на нужную? Я пытался разобраться как там время хранится, но не получилось. |
| Wind:
Заменить можно, но алгоритм знаем только мы ;) |
| karaulov:
Может в секундах 0_0? но там еще каких-то 2 левых байта изменяются не знаю за что они отвечают :) |
| Wind:
CRC |
| MetalliC:
--- Цитата: karaulov ---Может в секундах ? --- Конец цитаты --- нет в дримовском формате, но грабля даже не в этом, если взять из Demul флешку с прописанным там текущим временем и правильным CRC и скормить ее Макарону - биос всё равно выкидывает запрос на установку даты. я хз что там Кнут у себя намутил в эмуляторе. --- Цитата: karaulov --- (BlockInput(true) и почти никакой эмуляции клавиш, просто изменения в памяти.) --- Конец цитаты --- я правильно понял что ты в памяти процесса макарона меняешь цифирки ? но тогда оно будет работать только с какой-то определенной версией, а это не айс |
| karaulov:
да, но не нужна эмуляция клавиш:) И а зачем поддержка старых версий? :) --- Код: --- //Часть моего г#вн#кода BlockInput(true); .... if (selectmenu == 1) { short YearDM = makaproc.ReadShort("Makaron.exe", 0xAAC400); byte MonDM = makaproc.ReadByte("Makaron.exe", 0xAAC402); byte DayDM = makaproc.ReadByte("Makaron.exe", 0xAAC403); byte hourDM = makaproc.ReadByte("Makaron.exe", 0xAAC404); byte minDM = makaproc.ReadByte("Makaron.exe", 0xAAC405); short YearMy = Convert.ToInt16(DateTime.Today.Year); byte MonMy = Convert.ToByte(DateTime.Today.Month); byte DayMy = Convert.ToByte(DateTime.Today.Day); byte hourMy = Convert.ToByte(DateTime.Today.Hour); byte minMy = Convert.ToByte(DateTime.Today.Minute); Boolean settimetimded = true; while(settimetimded) { MakaronUpdateScreen(30); if (YearDM > YearMy) YearDM--; else if (YearDM < YearMy) YearDM++; if (MonDM > MonMy) MonDM--; else if (MonDM < MonMy) MonDM++; if (DayDM > DayMy) DayDM--; else if (DayDM < DayMy) DayDM++; if (hourDM > hourMy) hourDM--; else if (hourDM < hourMy) hourDM++; if (minDM > minMy) minDM--; else if (minDM < minMy) minDM++; //short YearDM = makaproc.WriteShort("Makaron.exe", 0xAAC400,YearDM); //byte MonDM = makaproc.WriteByte("Makaron.exe", 0xAAC402, MonDM); // byte DayDM = makaproc.WriteByte("Makaron.exe", 0xAAC403, DayDM); //byte hourDM = makaproc.WriteByte("Makaron.exe", 0xAAC404, hourDM); // byte minDM = makaproc.WriteByte("Makaron.exe", 0xAAC405, minDM); if (YearDM == YearMy && MonDM == MonMy && DayDM==DayMy && hourDM == hourMy && minDM == minMy) { settimetimded = false; } System.Threading.Thread.Sleep(100); // Так, для анимации :) } byte selectmenutmpbyte = 0x05; makaproc.WriteByte("Makaron.exe", 0xA2B162, selectmenutmpbyte); // Выбрать 5 пункт меню MakaronSendKey(MK.START); // A } } BlockInput(false); --- Конец кода --- --- Цитата: MetalliC от 10 Октябрь 2013, 18:21:18 --- нет в дримовском формате, но грабля даже не в этом, если взять из Demul флешку с прописанным там текущим временем и правильным CRC и скормить ее Макарону - биос всё равно выкидывает запрос на установку даты. я хз что там Кнут у себя намутил в эмуляторе. я правильно понял что ты в памяти процесса макарона меняешь цифирки ? но тогда оно будет работать только с какой-то определенной версией, а это не айс --- Конец цитаты --- Там еще один байт 0F на 07 заменяется в флэшке (где-то в конце ) А может в demul время не правильно сохраняется? или в makaron'е :) |
| MetalliC:
--- Цитата: karaulov ---А может в demul время не правильно сохраняется? или в makaron'е --- Конец цитаты --- хз, тебе интересно - ты и разбирайся %) |
| karaulov:
Я же так и знал что там в секундах хранится , никакого там специального алгоритма нет :lol: Добавлено позже: --- Код: ---private int calcCRC(byte[] buf) { int i, c, n = 0xffff; for (i = 0; i < buf.Length; i++) { n ^= (buf[i] << 8); for (c = 0; c < 8; c++) if ((n & 0x8000) != 0) n = (n << 1) ^ 4129; else n = (n << 1); } return (~n) & 0xffff; } --- Конец кода --- --- Код: --- if (File.Exists("Makaron\\ROM\\Dreamcast_flash_eu.bin")) { if (File.Exists("Makaron\\ROM\\Dreamcast_flash_eu.bin.bak")) File.Delete("Makaron\\ROM\\Dreamcast_flash_eu.bin.bak"); File.Move("Makaron\\ROM\\Dreamcast_flash_eu.bin", "Makaron\\ROM\\Dreamcast_flash_eu.bin.bak"); byte[] flash = File.ReadAllBytes("Makaron\\ROM\\Dreamcast_flash_eu.bin.bak"); byte[] curtime = new byte[4] { flash[129346], flash[129347], flash[129348], flash[129349] }; DateTime mydata = new DateTime(1950, 1, 1, 0, 0, 0); UInt32 mytime = BitConverter.ToUInt32(curtime, 0); DateTime mynewdata = mydata.AddSeconds(Convert.ToDouble(mytime)); MessageBox.Show(String.Format("Current eu bios time: {0}:{1} {2}/{3}/{4} ", mynewdata.Hour, mynewdata.Minute, mynewdata.Day, mynewdata.Month, mynewdata.Year)); TimeSpan mydate = DateTime.Now - mydata; byte[] mynewtime = BitConverter.GetBytes(Convert.ToUInt32(mydate.TotalSeconds)); flash[129346] = mynewtime[0]; flash[129347] = mynewtime[1]; flash[129348] = mynewtime[2]; flash[129349] = mynewtime[3]; flash[129346 - 1] = 0x00; flash[129346 - 2] = 0x05; flash[129346 + 5] = 0x01; flash[129346 + 6] = 0x00; flash[129346 + 7] = 0x00; flash[129346 + 8] = 0x7D; flash[129346 + 9] = 0x0A; flash[129346 + 10] = 0x62; flash[129346 + 11] = 0x61; flash[129406] = 0xFF; flash[129406 + 1] = 0xFF; flash[131036] = 0x07; flash[131036 + 1] = 0xFF; UInt16 tmpcrc = Convert.ToUInt16(calcCRC(flash)); byte[] tmpcrcbyte = BitConverter.GetBytes(tmpcrc); flash[129406] = tmpcrcbyte[0]; flash[129406 + 1] = tmpcrcbyte[1]; ByteArrayToFile("Makaron\\ROM\\Dreamcast_flash_eu.bin", flash); } --- Конец кода --- Этот код работает но макарон все равно требует время :( Может у меня CRC не правильный получается? |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |