Важная информация

User Tag List

Страница 6 из 36 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 354

Тема: Корвет: ExtROM Open Source extender

  1. #51
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    1. Тебе придется втиснуть весь код в щель размером 762 байта, судя по твоей таблице. Это не так уж и много как может показаться. Но тут будет видно, когда станем писать драйвер эмулируемых дисков.
    только пробовать и пробовать

    ---------- Post added at 23:42 ---------- Previous post was at 23:39 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    2. Тебе придется держать во вторичном загрузчике базу всех известных биосов, и идентифицировать загруженный биос по каким-либо признакам - сигнатуре, контрольной сумме, ну или что ты там уже придумал. С учетом того, что если биоса в базе не найдется, придется подставлять резервный, если я правильно понял твою мысль. А если биос идентифицируется неправильно - получим крах системы в самый непредсказуемый момент.
    весь список уникальны на сегодня ты видел

    если не найдется - в теории не сильно большая грабля
    речь то идёт только про ЗАГРУЗКУ с этого диска,
    загрузчик скажет - НЕСМОГЛА, выбери другой диск
    и возьмет человек другой диск.
    чтоб была очень жеская привязка - почти небыло

    мало того, в теории можно выбирать биос отдельно из всех врзможных при старте

    ---------- Post added at 23:43 ---------- Previous post was at 23:42 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Пока в голову приходит только это, может к утру еще чего придумается. Вроде бы не так уж и много, но вот оно того стоит? Я не ною, и согласен вести разработку по любому пути, если это действительно даст какие-либо преимущества.
    пока есть желание пробовать,
    а там посмотрим как пойдет.

    ---------- Post added at 23:45 ---------- Previous post was at 23:43 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Впрочем, наши с тобой методы можно и скомбинировать - и свои биос сделать, и встраивалку в чужие. Тем более что ты уже берешься за этот этап работы.
    имхо надо делать оба варианта
    а там уж использовать более удобный
    тогда не заморачивайся с "патчером", я эт она себя возьму.

    ---------- Post added at 23:48 ---------- Previous post was at 23:45 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Единственная тонкость - это убедиться, что в биосе там действительно дыра. Уж больно странная она. Беглый взгляд показал, что внутри лежат огрызки кода, в молодости бывшие куском явно какого-то отладчика. По крайней мере, все ссылки из этого кода ведут в младшие юзерские адреса типа E00. Твой эксперимент с заполнением области константой меня почти убедил, но я завтра попробую и сам, ты уж не обижайся.
    было бы просто СУПЕР,
    т.к. это была теория, теперь её надо проверить всесторонне.
    хотя природа появления дырки понятна
    блок под биос - фиксированного размера, а кода - сколько получилось
    а асм мусором заполнил пустой блок, и наверное не сильно на это обратили внимание тогда

    ---------- Post added at 23:53 ---------- Previous post was at 23:48 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Далее. Ты предлагаешь перехватывать вызовы только 2 подпрограмм - чтения сектора и записи сектора. Сразу говорю, что этого мало. Как минимум SELDSK работает с дискетой напрямую, да и еще кое-где я видел обращение и к флопу, и к регистру выбора устройства. Или мне так только показалось? Вообщем, тут путь один - раскопать дисковую подсистему одного биоса полностью, до последнего байта. Я биос особо плотно не копал, меня больше BDOS интересовал. Теперь, похоже, пора заняться. Вот на выходных, на даче, и займусь.
    да, про seldsk забыл, но посмотрел его код (он есть в исходниках для разных биосов что я выкладывал) посмотри INFO.MAC
    там понятно что надо ловить,
    по хорошему патчить там надо
    Код:
    ;       DSETUP - Процедура, устанавливающая требуемый трек,
    ;                сектор, включает нужный диск, запускает
    ;                мотор.
    будем пробовать

    ---------- Post added at 23:56 ---------- Previous post was at 23:53 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я для себя наметил такой план.

    2. Пишу для корвета загрузчик 1 уровня (тот который 256 байт) и поддержку в меге для него. Допаиваю от бокового порта к меге проводки порта С (там их потребуется штук 6, как я прикинул). Разбираюсь с двунаправленным режимом ВВ55 - я раньше с ним никогда не сталкивался, придется разбираться с нуля. В конце должна получиться система, умеющая загружать в корвет произвольный код с SD-карты, тот же КТДП к примеру, и запускать его.
    mode2 и для меня второй "темный" момент, на бумаге красиво
    а в жизни, ждём твоих результатов

    ---------- Post added at 23:57 ---------- Previous post was at 23:56 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Вот после этих трех шагов уже можно будет готовить различные варианты загрузчиков 2 уровня, биосов итд. Я думаю, что это займет пару недель, не меньше, мне же не только корветом заниматься приходится Надеюсь на активную помощь от сообщества и в первую очередь ESL как основного генератора идей.
    всегда пожалуйста
    после провеки MODE2 и стабилизации API надо будет сразу эмулятор запатчить под это дело,
    ибо отладку это упростит....

    ---------- Post added 27.06.2014 at 00:01 ---------- Previous post was 26.06.2014 at 23:57 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Задача осложняется тем, что все драйвера vfat написаны на С. Мне бы очень не хотелось писать на С задачи реального времени типа начального загрузчика. Можно скомбинировать код на С и ассемблере, но для AVR я такого не делал никогда. Даже не представляю, какие там соглашения о связях, сохранении регистров, стеке итд. Придется разбираться, ну или все писать на С с риском не влезть по времени между стробом адреса и посылкой данных в порт.
    я как раз собирался ВСЕ писать на C
    как доедет всё мое - буду пробовать.

    я проникся твоим кодом загрузчиков
    асм АВР не знаю, но и так всё понятно
    красиво
    особенно проникся хранением адрессом следующего JMP в регистре

    и порадовало что WAIT A0 таки сработал, это сильно упрощает требование к AVR?

  2. #52
    SaintTurnip
    Гость

    По умолчанию

    посмотрел на цены microsd слотов в СПб, удивился. потом купил на aliexpress pcb с разъемом, слотом карты памяти и согласованием уровней - за $2

    (и заодно это)
    Последний раз редактировалось SaintTurnip; 29.06.2014 в 20:19.

  3. #53
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    253
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    109
    Спасибо Благодарностей получено 
    55
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от eugeniusz
    посмотрел на цены microsd слотов в СПб, удивился.
    Я обычно вместо слота для microSD (дорого стоит, редко где продается), использую переходник microSD-miniSD (почти всегда идет в комплекте с microSD флешкой - у меня их штук 10 ненужных валяется). Припаиваю его прямо к плате. Выходит очень надежный и удобный кардхолдер =)
    Вот пример для модульной системы:



    Кстати, по-поводу самих флешек. Как показала практика, в простых схемах на AVR лучше использовать карточки до 2ГБ, которые не HC/XC.
    Последний раз редактировалось Serebriakov; 30.06.2014 в 00:09.

  4. #54
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Кстати, по-поводу самих флешек. Как показала практика, в простых схемах на AVR лучше использовать карточки до 2ГБ, которые не HC/XC.
    Да там разницы-то только то, что адресация не байтовая, а блочная. Как раз сейчас сижу разбираюсь...

    А простых карт, не HC, уже не купишь теперь. Только если старые запасы использовать, у кого остались.

  5. #55
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Да там разницы-то только то, что адресация не байтовая, а блочная. Как раз сейчас сижу разбираюсь...

    А простых карт, не HC, уже не купишь теперь. Только если старые запасы использовать, у кого остались.
    тут
    http://we.easyelectronics.ru/AVR/mmc...ifikaciya.html
    http://we.easyelectronics.ru/AVR/mmc...списано
    как правильно детектить тип карточки
    там поочереди детяктят MMC/SD/SDHC

    у VINXRU в VinxFS написано что "поддержка SDHC" в "драйвере SD"

    кстати, судя по тормознутости этой операции
    в апи надо добавлять функцию "Смонтируй SD" с флагом успешности?
    ибо вызывать инит при страрте - мы рискуем пропустить всё интересное

    ну и его-же
    http://we.easyelectronics.ru/AVR/usb...stroystvu.html

  6. #56
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    тут

    как правильно детектить тип карточки
    там поочереди детяктят MMC/SD/SDHC
    Да, видел я эти статьи. Правда, нашел поздновато - в начале, как обычно, убил пару часов на чтение фирменных даташитов и разбор всяких регистров типа CID. В результате решил забить пока на все это и ограничиться только SD, благо в запасе нашлась кучка таких карточек.


    у VINXRU в VinxFS написано что "поддержка SDHC" в "драйвере SD"
    Ну да, при SDHC адрес сектора делится на 512. Тут, собственно, никаких проблем.

    Поковырял я этот vinxfs. Вроде неплохо написан, не особо криво. Решил пока его использовать, хоть и не люболю вставлять чужой код без детального разбора - писать свой драйвер vfat с нуля не вызывает особой радости. Может быть, потом. Подогнал код под свои низкоуровневые процедуры доступа к карте, выкинул некоторые лишние сущности, вроде более-менее работает. Директорий чтиает, файлы открывает, размер файла отдает, пока вроде мне достаточно.

    Код:
    кстати, судя по тормознутости этой операции
    в апи надо добавлять функцию "Смонтируй SD" с флагом успешности?
    ибо вызывать инит при страрте - мы рискуем пропустить всё интересное ;)
    Не, знаешь, делать еще и поддержку смены карты на ходу - это пока ну его нафиг. Там проблем вылезет выше крыши типа корректного размонтирования всех текущих образов дисков. Вроде не особо долго он и карту монтирует, ну секунду максимум. При этом параллельно вполне успевает отработать начальная загрузка в корвет.

    Вот уж этот изврат - все равно что х$#м гвозди забивать. Я считаю, каждая вещь должна использоваться по назначению. Те же STM32F105 не дороже меги, но при этом имеют полноценный USB HOST. Плюс нормальный 32-битный АРМ, питание 3.3V, готовый интерфейс SDIO, и все порты выдерживают 5V TTL. Вот на чем надо было все делать изначально


    Вообщем, переписал весь код загрузки на С. Очень не хотелось, но пришлось. Подключил SD-карту, научился с ней работать. Разобрался с режимом 2 ВВ55. Сейчас грею паяльник - допаяю на разъем линии управления от порта С. И начну потихонечку писать начальный загрузчик 1 фазы. Чтобы хотя бы тот же КТДП умел загружать.

    Надеюсь, скоро слепится что-нибудь пригодное к употреблению.

  7. #57
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Первый этап завершен.

    После некоторого перерыва, возвращаюсь к разработке. Даю отчет о проделанной работе.
    Итак, что сделано.

    1. Полностью собрал схему контроллера. Она получилась на удивление простой - Мега32, 9 резисторов, 1 конденсатор, 1 светодиод, регулятор напряжения LM317, ну и разъемы. От корвета к плате идут 16 проводков, из них 2 - питание и земля.

    2. Написал программу для контроллера. Она умеет заливать в корвет загрузчики 1 и 2 фазы, разбирается с файловой системой FAT на карте SD, ну и рудиментарно эмулирует пресловутое API, которое мы тут так долго обсуждали. Пока реализовано только 2 операции - чтение и запись логических секторов, и только для одного образа диска. Доделывать API дальше я не вижу смысла без реализации клиентской части.

    3. Написал загрузчик 1 фазы, тот, который 256 байт. Он заливается в nvram и оттуда грузится в корвет при старте. Его единственная задача - получить и запустить загрузчик 2 фазы. Для расширения функциональности я добавил туда возможность выбора файла для загрузки. Работает это так. По умолчанию грузится с карты файл loader.bin - это загрузчик CP/M, как мы тут ранее и обсуждали. Если же во время тестов ОПТС нажать и удерживать одну из кнопок 0-7 на клавиатуре, то вместо loader.bin будет загруже файл ROMn.BIN, n-нажатая кнопка. Это позволяет, например, загрузить КТДП, если положить его на карту, обозвать ROM0.BIN, и при старте удерживать кнопку 0.

    4. Написал загрузчик 2 фазы. Его цель - получить из смонтированного образа диска А системные дорожки, разместить их в памяти, и передать управление на точку входа биоса BOOT. Этот загрузчик уже взаимодействует с контроллером через дисковое API. Адрес точки входа, адрес загрузки, размер системной области и прочие параметры загрузчик берет из инфосектора диска.

    В результате, после муторной отладки получилась вполне достойная вещь. Система уже функционирует полностью и грузит CP/M с образа KDI, записанного на карту. Но на этом и все. Сама CP/M, естественно, функционировать нормально не может, так как биос ничего не знает о дисковом API Если подключен дисковод - начинает работать с реальным дисководом как с диском А. Если не подключен - просто виснет.

    Итак, железо готово, и программная поддержка API в контроллере имеется и более-менее отлажена. Теперь, для полного функционирования системы, надо написать BIOS, который имел бы в себе драйвер эмулируемых дисков.

    Я тут, пока писал загрузчики, попрограммировал немного на ассемблере 8080. Блин, это АД и П#$%ец. Регистров всего 7, большинство операций требует аккумулятор, обрабатывается всего 8 бит за раз... Простейшая операция 16-разрядного деления превращается в монстра на полэкрана. Видимо, я уже зажрался современными процессорами. А ведь в конце 80-х, собрав свой первый РК-86, я много писал на этом ассемблере.
    Вообщем, надо браться за биос. Не очень прятная работа, но хорошее упражнение для мозгов. Только с силами соберусь. Проблема еще и в том, что отлаживать его придется почти вслепую - поди пойми, что там, внутри корвета, виснет... Я предполагаю делать это так:

    1. Выбрать из имющихся исходных текстов тот, который можно собрать ассемблером на PC.

    2. Собрать целиком образ системных дорожек из исходников, и загрузить их в корвет, чтобы убедиться, что все собралось правильно.

    3. Потихонечку добавить в исходники биоса свой драйвер эмулируемых дисков.

    4. Собрать новый образ системных дорожек, уже с моим биосом, и начать муторную отладку.

    Кстати, непоянтно еще, чем эти исходники собирать. Для Z80 есть отличный кроссасемблер Z80asm. Но все исходники биосов идут в нотации Intel (которую я терпеть не могу), а вот чем транслировать такой код (под линуксом, естественно) я пока толком не нашел. Только всякие странные полуживые проекты.

    Тут ESL предлагал другой путь - взять готовый биос, напихать в дырку между биосом и буфером каталога свой код, и попроавить указатели в биосе на наши функции. Тоже хороший вариант. Только вот я теперь сомневаюсь, что весь код влезет в дыру меньше килобайта. У меня загрузчик второй фазы почти полкило весит, а он устроен гораздо проще, чем биос.

    Ну или, может быть, кто-нибудь соберет себе такой же контроллер, да поможет мне с написанием кода? На вставной макетке сделать его можно меньше чем за час, а паять только провода к разъемам придется.

    Ну, ладно. Прилагаю архив с исходниками. Туда же положил принципиальную схему моего варианта устройства. Понятно, что реализовать схему можно как угодно, необязательно точно так, как у меня. Например, регулятор напряжения LM317 (делающий 3.3v для СД-карты) некоторые заменяют просто парой диодов. Ну и так далее.
    Надеюсь, кого-нибудь это все же заинтересует и я не зря старался.
    Вложения Вложения
    Последний раз редактировалось forth32; 03.07.2014 в 13:48.

  8. #58
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    крутизна неимоверная !

    руки чешуться ! (но железки будут чуть позже )

    вопросы
    ты скорость не мерял ?
    SD ?
    и главное MODE2 transfer speed ??
    сколько там выходит ?

    p.s. попробую в эмулятор запилить (если ты еще не сделал для себя )
    Последний раз редактировалось esl; 03.07.2014 в 17:39.

  9. #59
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    крутизна неимоверная !

    руки чешуться ! (но железки будут чуть позже )
    Ты вот на такую штуку посмотри - http://www.terraelectronica.ru/image.../EIC-16020.jpg

    С ней можно собрать контроллер за время, уходящее на пару кружек пива Если, конечно, все компоненты заранее заготовить. И паять практически ничего не надо.
    вопросы
    ты скорость не мерял ?
    SD ?
    и главное MODE2 transfer speed ??
    сколько там выходит ?
    Я бы померил, но как? Предложи методику, попробую реализовать. Просто в корвете толком нет никакой службы времени для измерения интервалов. Только если прерывания от таймера считать, но писать под это дело софт в коде 8080 - это удавиться проще...
    p.s. попробую в эмулятор запилить (если ты еще не сделал для себя )
    Вообще-то сделал Но получился настолько грязный хак, что я его даже упоминать не стал... Но сделать пришлось - загрузчик фазы 2 мне в железе было не отладить за разумное время.

    Тут ведь вот в чем вопрос - до какй степени нам нужно все это эмулировать? Правильно было бы взять ядро эмуляции AVR, пустить его другим процессом, и наладить связь между виртуальным AVR и виртуальным корветом через unix-сокеты, ну или там tcp/ip. Задачка посложнее отладки загрузчика Я пошел таким путем: отдаю эмулятору загрузчик 2 фазы (его я и отлаживал) как обычный образ внешней ROM. Благо, формат файла у него сответствующий протоколу загрузки ОПТС. А в эмулятор добавил примерную эмуляцию дискового API - отслеживание записи в порт А и выдача через него же ответа якобы от контроллера. Ну и ввел ключ командной строки -u file, отдающий эмулятору API образ диска А. Вроде бы, все просто. Но надо отследить момент окончания загрузки ОПТС и переход к исполнению загруженного кода. Я это сделал путем перехвата момента записи в порт А. Если Control=1, то ОПТС в процессе загрузки только читает порт А. А первая же запись в этот порт - это уже команда API контроллеру.
    Вообщем, получился костыль еще тот. Но загрузчик в результате я быстренько отладил. И по загруженному биосу немного походил в отладчике для интереса.

    Прилагаю файлы с изменениями, так, на всякий случай. Думаю, ты все реализуешь гораздо проще и изящнее. Только не смейся, пожалуйста, и не ругай меня сильно - патч был сделан на скорою руку, только чтобы отладить загрузик.
    И это еще моя, старая версия эмулятора. Твой новый код, с сетью, я увидел слишком поздно. Теперь мне для переезда на него надо перенести все мои внутренние патчи, которых нет в твоей ванильной версии. Вот в выходные и займусь. Может быть, ты и API дисковое в эмулятор к тому времени запилишь.
    Вложения Вложения

  10. #60
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Кстати, непоянтно еще, чем эти исходники собирать. Для Z80 есть отличный кроссасемблер Z80asm. Но все исходники биосов идут в нотации Intel (которую я терпеть не могу), а вот чем транслировать такой код (под линуксом, естественно) я пока толком не нашел. Только всякие странные полуживые проекты.
    тут попался забавный кроссам
    http://members.shaw.ca/gp2000/zmac.html
    еще не пробовал, но выглядит забавно
    я сам недолюбливаю мнемонику i8080 и всё свое делаю в z80
    причем еще со времен реального корвета
    сам пользовался sjasmplus
    сейчас пробую pasmo (есть в убунте)

    ---------- Post added at 01:55 ---------- Previous post was at 01:06 ----------

    полез смотреть исходник zasm

    нифигасебе ченджлог
    живой сорец который писался с 1978 года ....

    Код:
     *  zmac -- macro cross-assembler for the Zilog Z80 microprocessor
     *  Bruce Norskog	4/78
     * Revision History:
     *
     * jrp	3-8-82	Converted to run on Vax, updated syntax to conform better
     *		to the Zilog standard.
     ....
     * cdk 2-5-87	Added 'cmp' as a synonym for 'cp', 'jmp' as a synonym for
     *		'jp', and added tolerance of accumulator specification for arithmetic
     *		and logical instructions.  (For example, 'or a,12' is now accepted,
     *		same as 'or 12'.)
     *
     * gwp 12-29-08	Changes to allow compilation with modern C compiler and using bison
     *		as the .y to .c converter.  assert, tstate pseudo-ops.
     *		t(), tilo(), tihi() functions.  ==, <=, >=, !=, !, <, > operators.
     *		-c to turn cycle counts off in listing.  Usage, -h and version.
    ....
     * gwp 8-11-13	Allow $ to start identifiers and do '$' dropping when macro
    Последний раз редактировалось esl; 06.07.2014 в 02:58.

Страница 6 из 36 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Open source firmware for the Spectrum
    от zx-kit в разделе Разный софт
    Ответов: 60
    Последнее: 29.05.2014, 13:53
  2. open-source эмуляторы под .NET
    от Sawyer в разделе Эмуляторы
    Ответов: 1
    Последнее: 04.01.2011, 17:47
  3. GP2X F100 Open Source Gaming Console
    от CodeMaster в разделе Зарубежные компьютеры
    Ответов: 3
    Последнее: 12.06.2010, 23:51
  4. Open Source эмуль...
    от rg_software в разделе Эмуляторы
    Ответов: 50
    Последнее: 06.12.2006, 11:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •