User Tag List

Страница 20 из 36 ПерваяПервая ... 161718192021222324 ... ПоследняяПоследняя
Показано с 191 по 200 из 354

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

  1. #191

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил программу MOUNT для работы с разными картами памяти.
    Вложения Вложения

  2. #192

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

    По умолчанию

    похоже mount надо серьёзно переделывать
    собственно проблеммы - 2

    микродос - там нет таблички с битмаской, там прямо в коде сравнивают и выбирают нужную таблицу
    по этому надо вводить некое на уровне доса где будет карта маппинга

    cp/m если нет диска в дисководе - замаунтить его невозможно
    при seldsk возвращается 0

    т.е. предлагаю ввести таки апи внутри биоса
    например при тот-же seldsk при c=0xff
    дополнительно верунть de=табличка маппинга, bc=0x55aa как флаг
    Последний раз редактировалось esl; 29.07.2014 в 15:51.

  3. #193

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    микродос - там нет таблички с битмаской, там прямо в коде сравнивают и выбирают нужную таблицу
    по этому надо вводить некое на уровне доса где будет карта маппинга
    Давай уточним, чтобы я понял. Значит, в микродосе в DPB нет поля DRVMASK, а маска для записи в регистр вычилсяется прямо в коде исходя из номера дисковода? Это плохо. Очень плохо.

    Может, тогда вообще забить на работу с реальными дисководами в микродосе, и оставить только эмуляцию для всех 4 дисков? Не так уж и нужны дисководы при наличии EXTROM.
    Или, действительно, придется где-то в биосе выделить место, положить туда карту отображения дисков, и как-то сообщить программе mount адрес этой таблицы. Ну и сам биос научить определять тип диска по этой таблице. Задачка еще та

    cp/m если нет диска в дисководе - заманутить его невозможно
    при seldsk возвращается 0
    Я на это уже нарывался. Поэтому для своего дефлотного биоса просто вбил в mount абсолютные адреса блоков DPB. С этим биосом все работает без вопросов.

    Придурки разработчики CР/M не могли, блин, предусмотреть способ передать программе адрес DPB не трогая диска.

    т.е. предлагаю ввести таки апи внутри биоса
    например при тот-же seldsk при c=0xff
    дополнительно верунть de=табличка маппинга, bc=0x55aa как флаг
    Это ты про CP/M или микродос? Не знаю как в микродосе, но в CP/M SELDSK при C=FF штатно отдает адрес таблицы векторов прерываний. Нам же нужен способ получить адрес DPB нужного диска, не трогая его, то есть не вызывая процедуру GETINFO (которая при невставленной дискете начинает сыпать ошибки).


    Я уже думал над расширением функции SELDSK, уже даже хотел выносить на обсуждение, а вот теперь и ты нарвался на то же самое. SELDSK в существующем виде не подходит для получения адреса DPB.

    То есть в С придется оставить номер диска, для которого мы хотим получить адрес DPB. А в качестве флага того, что мы хотим просто получить адрес DPB, можно установить B=AA. AA я предлагаю потому, что FF или 00 могут оказаться в B чисто случайно, ведь по стандарту этот регистр параметров не содержит, и при вызове в нем может оказаться любой мусор.

    Итак, вызов SELDSK:
    C= #диска
    B=AA - отдать DPB
    не AA - вызвать GETINFO, а потом уже отдать DPB

    Проверочный образец 55AA в данном случае не нужен, поскольку адрес DPB отдается в любом случае.

    А вот что делать с микродосом... имхо проще плюнуть на физические диски. Ну а если нет - давай договариваться о формате таблицы дисков и об интерфейсе получения ее адреса. Хотя бы почти как ты предлагал, только C не FF, а что-нибудь другое, например AA или 55.

    Я смотрю, биосы уже прямо распухают от патчей. Также твой загрузчик и программа MOUNT толстеют на глазах. Вот она, цена совместимости...

  4. #194

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Давай уточним, чтобы я понял. Значит, в микродосе в DPB нет поля DRVMASK, а маска для записи в регистр вычилсяется прямо в коде исходя из номера дисковода? Это плохо. Очень плохо.
    Why ?
    и dpb/dph там ровно на 2 диска (+E)

    ---------- Post added at 14:26 ---------- Previous post was at 14:25 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Или, действительно, придется где-то в биосе выделить место, положить туда карту отображения дисков, и как-то сообщить программе mount адрес этой таблицы. Ну и сам биос научить определять тип диска по этой таблице. Задачка еще та
    Я как раз про этот вариант и говорил

    ---------- Post added at 14:28 ---------- Previous post was at 14:26 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Придурки разработчики CР/M не могли, блин, предусмотреть способ передать программе адрес DPB не трогая диска.
    Вопрос филосовский.
    Зачем вообще нужен DPH/DPB если диск неинициилизирован?
    Кром таких извращенцев как мы оно и не надо то.
    Кроме того, в 1980 году про это был повод думать ?

    ---------- Post added at 14:35 ---------- Previous post was at 14:28 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Это ты про CP/M или микродос? Не знаю как в микродосе, но в CP/M SELDSK при C=FF штатно отдает адрес таблицы векторов прерываний. Нам же нужен способ получить адрес DPB нужного диска, не трогая его, то есть не вызывая процедуру GETINFO (которая при невставленной дискете начинает сыпать ошибки).
    Нет, при C=FF в HL - таблица векторов
    я думал добавть в остальные регистры флаг и адрес таблички DPB

    но можно и при C=0xFE сделать
    на неподдерживаемых будет HL=0
    а поддерживаемые будут возвращать адрес таблички DPB

    ---------- Post added at 14:38 ---------- Previous post was at 14:35 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    То есть в С придется оставить номер диска, для которого мы хотим получить адрес DPB. А в качестве флага того, что мы хотим просто получить адрес DPB, можно установить B=AA. AA я предлагаю потому, что FF или 00 могут оказаться в B чисто случайно, ведь по стандарту этот регистр параметров не содержит, и при вызове в нем может оказаться любой мусор.

    Итак, вызов SELDSK:
    C= #диска
    B=AA - отдать DPB
    не AA - вызвать GETINFO, а потом уже отдать DPB

    Проверочный образец 55AA в данном случае не нужен, поскольку адрес DPB отдается в любом случае.
    в моем варианте просто возврщаем адрес таблики как в твоём MOUNT
    там для диска или адресс DPB или например 0 как признак блокировки диска.

    ---------- Post added at 14:40 ---------- Previous post was at 14:38 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    А вот что делать с микродосом... имхо проще плюнуть на физические диски. Ну а если нет - давай договариваться о формате таблицы дисков и об интерфейсе получения ее адреса. Хотя бы почти как ты предлагал, только C не FF, а что-нибудь другое, например AA или 55.
    При табличке - пофиг микродос это или нет
    Я в микродосе сделаю fake dpb, который для mount будет как настоящий.
    А 0 в табличке - информация что дисков нет.

    ---------- Post added at 14:45 ---------- Previous post was at 14:40 ----------

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

    p.s. сегодня немного копался в SFERA (эт та что сетевая с вторым диском под ученичесские)

    там SELDSK забавный, содержит 16 копий ALV,
    таблику 4x16 там смещения дисков и размер (копирует из нее значения в DPB.OFS и еще что-то)

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

    Сегодня родилась мысль еще
    что можно mount&co монитровать в диск E по комбинации клавиш
    или точнее спрашивать проинитить E или монитровать на диск.

    На всех машинах точно 48к есть, и он работает.
    в cp/m он есть везде, а в микродос - сделать поддержку только в последнем.
    нажали кнопку - и на диск E скопировался посекторно образ диска с mount
    там то копировать понты, и можно прям биосом и копировать посекторно
    Последний раз редактировалось esl; 29.07.2014 в 15:50.

  5. #195

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, давай еще раз определимся.
    Программе mount не нужен DPB как таковой. Ему нужно всего одно поле - DRVMASK, по которому определяется - является ли диск эмулируемым (если 0) или реальным (если не 0). И если диск реальный, то он по маске определяется номер физического дисковода, связанного с данным DPB. Ну и, изменяя это поле, mount переотображает логическую букву диска на один из реальных дисководов или эмулируемый диск.

    Значит, для CP/M таблица должна состоять из 4 двухбайтовых слов, хранящих адрес поля DRVMASK каждого из 4 DPB. То есть то самое, что я вбил намертво в mount для своего биоса. А вызов SELDSK с C=0FEh должен в HL возвращать адрес этой таблицы. Сама тблица будет расположена где-то внутри BIOS.
    Вроде бы к этому и сводится твое предложение. Все логично, я полностью согласен и готов внести все изменения с свой BIOS и программу mount.

    Теперь микродос. Тут, как я понимаю, только 2 DPB, и нет поля DRVMASK. Причем DPB#0 всегда должен отображаться на эмулируемый диск - отображать A: на реальную дискету бессмысленно и чревато зависанием системы.
    Поэтому здесь мы можем играться только с назначением диска B: - или эмулируемый, или реальный дисковод 0. На дисковод 1 вполне можно плюнуть. Здесь SELDSK с C=0FEh должен вернуть в HL адрес однобайтового поля, хранящего тип диска B - эмулируемый (0) или реальный (не 0). Диски C и D в этой системе mount не отображает и не принимает в качестве аргументов команд.

    Вроде бы все логично. Только скажи - как mount может отличить, запущен ли он в CP/M или микродосе? Можно добавить еще один признак при возврате из нашего варианта функции SELDSK C=0FEh: например в регистре A вернуть 0 для CP/M или не 0 для микродоса. Но, может быть, есть еще более простой путь определить тип ОС? Ты ковырял микродос, может знаешь какие-нибудь его отличительные признаки?

    Цитата Сообщение от esl Посмотреть сообщение
    На всех машинах точно 48к есть, и он работает.
    в cp/m он есть везде, а в микродос - сделать поддержку только в последнем.
    нажали кнопку - и на диск E скопировался посекторно образ диска с mount
    О, идея супер. Правда, при этом портится содержимое ГЗУ, но это фигня.
    Только один момент: как биос получит образ маленького диска с mount от контроллера?

    Давай сделаем не так. Давай в контроллер добавим еще один открытый файл, и при вызове READ с DRV=4 будут сразу возвращаться сектора намертво примонтированного к DRV4 диска c программой mount. А в биосе обращение к диску E будем заворачивать на драйвер EXTROM, как и остальные диски A-C.
    Таким образом, в системе всегда будет доступен диск E, только для чтения, содержащий программу mount. А рамдиск - ну его нафиг. Кому он нужен-то в наше время? Но если уж так хочется, можно ввести в mount команду, отключающую от диска E эмулятор и подключающую обратно рамдиск. Хотя по мне так это явно излишне.

  6. #196

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    cp/m если нет диска в дисководе - замаунтить его невозможно
    при seldsk возвращается 0
    А разве для Корветовских МикроДОСов это не так-же?
    Для Векторовских посмотрел свой старый код сюсинфы, нашёл следующее:
    Код:
    /* Перед соответствующей таблицей параметров диска DPB, располагается */
    /* Таблица физических параметров дисковода размером в 7 байт: */
    
    struct STDskParm
    {
    	char	HeadSpeed;	/* 0-6мс, 1-12мс, 2-20мс, 3-30мс, 80H-3мс */
    	char	SecPerTrack;	/* Число физических секторов на дорожке */
    	char	InSec;		/* 0-single sided, 1-double sided */
    	char	SecSize;	/* Размер физич. сектора 0-128,...3-1024 */
    	char	Track;		/* Hомер текущей дорожки */
    	char	Drive;		/* Позиционный номер устр-ва 00000100 */
    	char	Info;		/* Флаг успешного считывания информ. сектора */
    };
    
    
    
    /* При вызове BIOS SELDSK в <HL> возвращается 0 для несуществующего привода */
    
    
    /* или адрес Заголовка Дискетных Параметров: Diskette Parameter Header */
    STDskParm.Info - не подойдёт как флаг успешного маунта диска с системой? Может, ошибаюсь
    На всяк случай, приаттачу весь header. А если надо, могу весь код сюсинфы выложить и .com файл
    Вложения Вложения
    • Тип файла: 7z sysp.7z (1.8 Кб, Просмотров: 113)

  7. #196
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #197

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если бы все так было просто...

    Дело в том, что программе mount нужно иметь информацию о типе логического диска - физический он или эмулируемый. Для этого мы используем поле DRVMASK (в твоей структуре - Drive). 0 - эмулируемый диск, не 0 - физический. Проблема в том, что для того, чтобы получить доступ к этому полю, надо знать адрес DPB. А хитрый вызов SELDSK не отдает этот адрес, если, например, в дисководе нет дискеты. Вот в это все и уперлось - пришлось дополнять вызов SELDSK своей функцией FE. Заодно таким образом можно программно определить, под микродосом мы сидим, или под CP/M.

    Собственно, я уже написал весь необходимый код, и в эмуляторе его отладил. Но коварное начальство отправило меня на неделю в командировку в далекий Белгород. Я только что оттуда вернулся, сейчас проверю код на реальном железе (в Белгороде корвета у меня не было , и ближе к вечеру выложу сюда на обсуждение.

  9. #198

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

    По умолчанию

    Цитата Сообщение от PPC Посмотреть сообщение
    А разве для Корветовских МикроДОСов это не так-же?
    вот кусочек где происходит выбор маски у некоторых версий

    Код:
    RAM:ED82 7E                       ld      a, (hl)         ; drive
    RAM:ED83 B7                       or      a
    RAM:ED84 06 01                    ld      b, 1
    RAM:ED86 CA 8B ED                 jp      z, loc_ED8B
    RAM:ED89 06 02                    ld      b, 2
    RAM:ED8B
    RAM:ED8B          loc_ED8B:                               ; CODE XREF: FDD_Setup+9j
    в B тут маска выбора диска

    Очень похоже что идею с блоком информации придумали в ОФП НИИЯФ МГУ
    т.е. разработчики Корвета.
    И CP/M адаптировали они, т.е. поддержкасразу.
    А микродос адаптировали уже в НИИСЧЁТМАШ ...
    И обработку этого блока сделали ну не сразу, а оно им надо было ?

    А на векторе как понимаю - адаптировли люди заинтересованные.

    в первых версиях микродоса - параметры диска вообще гвоздями прибиты.

    ---------- Post added at 09:20 ---------- Previous post was at 09:15 ----------

    Цитата Сообщение от PPC Посмотреть сообщение
    На всяк случай, приаттачу весь header. А если надо, могу весь код сюсинфы выложить и .com файл
    вот кусочек описания биоса cp/m про диски
    https://dl.dropboxusercontent.com/u/...ORVET-DISK.pdf

    ---------- Post added at 09:28 ---------- Previous post was at 09:20 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Но, может быть, есть еще более простой путь определить тип ОС? Ты ковырял микродос, может знаешь какие-нибудь его отличительные признаки?
    Всё просто.
    Вызов BDOS GetVER - врзвращает 0x26

    ---------- Post added at 09:34 ---------- Previous post was at 09:28 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Здесь SELDSK с C=0FEh должен вернуть в HL адрес однобайтового поля, хранящего тип диска B - эмулируемый (0) или реальный (не 0). Диски C и D в этой системе mount не отображает и не принимает в качестве аргументов команд.
    Имхо для микродоса тоже вернуть такую-же табличку как и в cp/m
    Формально она фейковая, но какая разница.
    А данные из неё я уже буду в резеденте брать.
    Т.о для MOUNT они одинаковые.

    Можно конечно для простоты в SELDSK возвращать флаг микродоса, но зачем?

    Еще идея, возвращать табличку наличия физ дисков MOUNTу.
    Чтобы он и не пытался монтировать при их отсутствии.

    ---------- Post added at 09:39 ---------- Previous post was at 09:34 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    О, идея супер. Правда, при этом портится содержимое ГЗУ, но это фигня.
    Это совсем не страшно, ибо 0я страница всё равно отведена под графику
    по дефолту она не видна (LUT)
    и при нахождении в ДОС ее точно можно портить

    Цитата Сообщение от forth32 Посмотреть сообщение
    Только один момент: как биос получит образ маленького диска с mount от контроллера?
    Так и просится в API чтение произвольного файла ....

    ---------- Post added at 09:41 ---------- Previous post was at 09:39 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Давай сделаем не так. Давай в контроллер добавим еще один открытый файл, и при вызове READ с DRV=4 будут сразу возвращаться сектора намертво примонтированного к DRV4 диска c программой mount. А в биосе обращение к диску E будем заворачивать на драйвер EXTROM, как и остальные диски A-C.
    Таким образом, в системе всегда будет доступен диск E, только для чтения, содержащий программу mount. А рамдиск - ну его нафиг. Кому он нужен-то в наше время? Но если уж так хочется, можно ввести в mount команду, отключающую от диска E эмулятор и подключающую обратно рамдиск. Хотя по мне так это явно излишне.
    не, там же параметры диска (DPH) под фиксированный диск сделаны
    подменить его так нельзя.

    ---------- Post added at 09:42 ---------- Previous post was at 09:41 ----------

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

  10. #199

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поглядел как я в сюсинфе достаю DPB логического диска. Следующим кодом:
    Код:
    int	logon(disk)
    int	disk;
    {
    	char	*cp,csum;
    	int	i;
    
    /*-------HARDWARE TROUBLES---------------------------------------*/
    	NonCPMDisk=FALSE;
    	if (!(dph=bios(SELDSK,disk,0)))
    	{
    		printf("Can't log on [%c].\nLogin to drive only.\n",disk+'A');
    		return(FALSE);
    	}
    	bios(SETDMA,isp,0);
    	bios(SETTRK,0,0);
    	bios(SETSEC,1,0);
    	if (bios(READ,0,0))
    	{
    		puts("Can't read disk information sector in boot record.\n");
    		return(FALSE);
    	}
    	dparms=dph-sizeof(STDskParm);
    	dpb=dph->DPBV;
    	if (dpb->OFS) Bootable=TRUE;
    	else Bootable=FALSE;
    	if (dpb->CKS) Removable=TRUE;
    	else Removable=FALSE;
    	drive=disk;
    /*--------SOFTWARE TROUBLES--------------------------------------*/
    	for ( cp=isp,i=0,csum=0 ; i < 31 ; i++ ) csum+=*cp++;
    	csum+=0x66;
    	if ( csum != isp->_CheckSum )
    	{
    		NonCPMDisk=TRUE;
    	}
    	return(TRUE);
    }
    Собсно приаттачу сырки (866 кодировка) и si.com
    Интересно её на корвете запустить
    Насчёт выбора диска без конверта, это вроде и в векторе на МикроДОСе висло. ЕМНИП на ВГ93 можно определять, вставлен-ли конверт по индексному маркеру и закрытому драйву, но сейчас уже и не припомню как, биос лет 20 назад писал.
    PS.
    Получается, что и правда, других нормальных вариантов достать DPB нету. Проранил si.com только-что на Векторе под MicroDOS 3.1 со своим биосом. DPB для логического диска (RAM drive) через SELDSK нашлась. Хотя это вряд-ли поможет если на Корвете не все биосы возвращают DPH.
    Вложения Вложения
    • Тип файла: 7z si.7z (17.2 Кб, Просмотров: 111)
    Последний раз редактировалось PPC; 04.08.2014 в 13:07. Причина: Упс, с кодировкой сырков ошибся (векторовскую выложил). Теперь 866

  11. #200

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    вот кусочек где происходит выбор маски у некоторых версий
    ...
    в первых версиях микродоса - параметры диска вообще гвоздями прибиты.
    Жесть!

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

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

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

Эту тему просматривают: 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

Ваши права

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