| Другое > Архив |
| продам флеш картриджы для SEGA MD и SNES с поддержкой SD карт и SMS игр. (почта) |
| << < (2/24) > >> |
| totin:
кстати OS v4 решает проблемы с некоторыми СМС играми которые вообще не запускаются на предыдущих версиях |
| evgeny:
В третьей версии ситуация с СМС заметно лучше. Игр запускается больше. Многие вроде нормально. Глючные остались но и в них глюков убавилось. А в ОС v4 вроде бы какие-то недоработки? |
| totin:
в v4 перманентно выключен мегакей, но если у тебя китайская приставка, то я думаю что у тебя есть на ней переключатель региона и мегакей не нужен. советую тебе вообще его держать выключенным на китайской приставке, там от него только геморрой может быть. |
| evgeny:
Нету на приставке переключателя. Если только внутри где-нибудь на самой плате, в чем я сомневаюсь. Кстати в 2 гига весь сет ромов не помещается, как ни старайся. Очень не помешала бы поддержка архивов. |
| totin:
помещается, если удалить разные версии одной и той же игры и варианты для разных регионов. у меня на 2гб карте весь ромсет мегадрайва, смс и 32х |
| evgeny:
Да я итак уже удалял, удалял и все равно. К томуже некоторые версии одних и тех же игр мне хотелось бы оставить. Все-таки подумай об поддержке архивов, я думаю это реально сделать. |
| totin:
про архивы к сожалению можно забыть - у сеговского железа слишком мало ресурсов для работы с архивами. после чистки остается файлов примерно на 1,2 гига |
| evgeny:
Распаковывать можно напрямую в ром. К тому же можно хотябы сделать простенькое сжатие, не обязательно стандарты windows. И сжимать самой ОС. Кстати ошибка с вылетом в черный экран по-прежнему иногда возникает после копирования рома. Причем перед копированием в такие случаи ром не стирается, Erase 0, затем копирование, черный экран и в итоге загружен испорченный ром. |
| totin:
если я добавляю буквально несколько ассемблерных команд на запись каждого байта, то время записи увеличивается практически вдвое. представь до каких гигантских размеров увеличится время записи если еще будет какое то сжатие, пусть даже самое простое |
| evgeny:
Так на полностью ассемблере писать надо такие вещи. Отображение прогресса можно в прерываниях сделать (если сейчас не так). Может я потом попробую свою ОС написать. Просто боюсь запортить резерную копию в ходе экспериментов, тогда наверно мне уже ничто не поможет. |
| totin:
ну так цикл записи у меня и написан на асме. на него уходит примерно 95% всего времени. в цикле 11 ассемблерных команд и на каждом проходе цикла записывается 4 байта. все константы и адреса, которые используются в цикле, предварительно загружаются в регистры, чтобы не использовать медлительные обращения за операндами в память. я не спец по сжатию, но думаю что скорость упадет раз в 5 как минимум (: |
| evgeny:
Глючит ОС и все тут. Сначала при включении сразу нажимался первый пункт, как будто кнопа запала. Уже и разные джоистики подключал и результат тот же. Без джойстика совсем не было такой реакции. Затем включил через переходник и вроде проблема исчезла, но зато ОС никак не хочет стирать ром перед записью, пишет сразу, запортив ром и выбрасывает в черный экран. |
| totin:
--- Цитата: evgeny от 24 Апрель 2010, 16:43:20 ---Нету на приставке переключателя. Если только внутри где-нибудь на самой плате, в чем я сомневаюсь. Кстати в 2 гига весь сет ромов не помещается, как ни старайся. Очень не помешала бы поддержка архивов. --- Конец цитаты --- все версии ОС ведут так себя? |
| evgeny:
Я так понял, ты ошибся с цитатой. Изначально была версия ОС 2, потом поставил 3. Другие версии не ставил. 4 не хочется из-за отсутствия мегаключа. Можешь ли ты дать мне исходники 3 версии и пояснить где там непосредственно процесс записи. Если на асме, я бы попытался по-своему сделать, а в си не разбираюсь. А у тебя при старте ос програмно обнуляются все переменные или нет? может в этом проблема? |
| totin:
http://krikzz.com/pub/support/everdrive-md/os-src/ только будь осторожен, можешь легко снести ос намертво, если будешь менять код записи не понимая на 100% как он работает. цикл записи находится в eeprom_.c в функции eprProgBlockSMD в виде ассемблерной вставки. каждый вызов этой функции читает один 512б сектор с карты и перекидывает в флеш. но там не все просто, потому что чтение карты и запись в флешь это не просто линейное перебрасывание байтов, у флеша и у карточки есть определенные команды на чтение/запись секторов. Добавлено позже: при старте переменные не обнуляются, но обнуляются или получают какое то значение перед своим применением |
| evgeny:
А можешь сделать, чтобы обнулялись при старте, и регистры желательно тоже? Чтобы уж наверняка. Действительно не все мне там понятно, не хочется рисковать. |
| totin:
у меня глобальных переменных почти нету, так что особо нечего обнулять. вот разве что переменную куда читается по прерываниям джойстик можно попробовать проинитить в начале. я сейчас готовлю новый релиз ОС, в нем сделаю инициализацию джойстика. и ещё коечто поменяю в опросе джойстика, может поможет от произвольных нажатий которые происходят у тебя. |
| evgeny:
Я имею ввиду вобще всю РАМ обнулить изначально. Хуже от этого точно не будет. |
| totin:
вся рам обнуляется в sega.s |
| evgeny:
Ну тогда какая еще может быть причина, по которой не стирается ром перед записью? Нулевой размер рома определяется что ли? Какие там условия стоят для стирания и записи? |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |