User Tag List

Страница 18 из 36 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 354

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

  1. #171

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

    По умолчанию

    Применил твои патчи на эмулятор.

    все CP/M по нажатию CTRL+SHIFT+STOP выводят на экран надпись.
    Кроме твоей, ибо ее я не патчу

    Микродос ковыряю, но сегодня привёл в соответсвие апи с загрузчиком.

    Прикрутил 0xA0 к загрузчику.

    Тех инфу выводит если зажат SHIFT

    Еще я немного твой биос для экспериментов попатчил, убрал очистку экрана.
    Ее надо или совсем убрать или разместить сразу за меткой, чтоб я затереть мог.

    И в тот биос что подтсавляется написал SUBSTITUTED, чтоб их хоть как-то отличать.

    Вот как это выглядит.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	patch.jpg 
Просмотров:	137 
Размер:	19.6 Кб 
ID:	48809   Нажмите на изображение для увеличения. 

Название:	fallback.jpg 
Просмотров:	200 
Размер:	22.3 Кб 
ID:	48810  
    Вложения Вложения
    Последний раз редактировалось esl; 22.07.2014 в 01:04.

  2. #172

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

    По умолчанию

    только что дошло
    подставлять cp/m вместо микродоса - не прокатит
    т.к. на микродос диске 3 системных дорожки
    а подстановка подставит только 2
    и инфа про диск прочитается как про две в результате будет чуш.

  3. #173

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

    По умолчанию

    Я вроде как закончил следующий этап доработки контроллера. Даю отчет о сделанных за неделю двух важных изменениях.

    Первая доработка касается способов хранения образов на карте. После недельного общения с контроллером я пришел к выводу, что хранение всех используемых образов в одном месте - каталоге DISK/, быстро делает из него помойку. Получается список из более чем полусотни файлов, не влезающий в экран по MOUNT /L. Поэтому я решил ввести возможность программно изменять имя каталога (папки, директория - кому как больше нравится их называть), в котором будут искаться вновь монтируемые образы (каталог по умолчанию). Таким образом, теперь в корне карты можно насоздавать несколько каталогов - TOOLS, GAMES, LANG и так далее, и разложить по ним используемые образы. Вложенные каталоги (то есть каталог в каталоге), допустимые в файловой системе FAT, я не стал поддерживать - это сильно усложняет и прошивку, и интерфейс API. Таким образом, глубина вложенности ограничена 1 - то есть все каталоги должны лежать в корне карты.
    Для поддержки такой возможности я ввел 3 новых вызова API:

    85 - Получить имя каталога по умолчанию
    Возвращаются 14 байт с именем каталога

    86 - Установить имя каталога по умолчанию
    SEC=0 -временно 1-навсегда
    После приема команды контрллер принимает 14 байт с именем каталога

    87 - получить список каталогов, имеющихся на карте
    Параметров команда не имеет.
    Возвращаются строки по 14 байт с именами каталогов
    В конце списка передается 00 (строки с нуля начинаться не могут).


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

    Соответственно доделан интерфейс программы MOUNT:

    MOUNT /F[/P] dirname
    Устанавливает dirname как каталог по умолчанию. С ключем /P - записывает его в конфиг, чтобы сохранить после перезагрузки. Контроллер проверяет наличие каталога на карте, и в случае его отсутствия операция не выполняется, а выдается соответствующее сообщение.

    MOUNT /F/L
    Выдает список имеющихся каталогов в корне карты. Вывод аналогичен MOUNT /L, ключ /F показывает, что мы хотим получить список каталогов, а не файлов в текущем каталоге.

    Без параметров команда mount теперь, кроме выдачи списка монтирования, также показывает и текущий каталог по умолчанию. При первом запуске контроллера и отсутствии файла MOUNT.CFG по умолчанию назначается каталог DISK/.

    Вторая, тоже важная переделка, касается поддержки более 2 образов. Я плотно покопался в драйвере VinxFS, и добился-таки поддержки 5 файлов, открытых одновременно. Теперь я уже уверен, что зря не взялся писать свой драйвер с нуля. За то время, за которое я въезжал в VinFS, я бы точно успел написать свой код. Ну, как получилось, так получилось.
    Теперь я смог осуществить хотелку ESL о произвольном отображении реальных и эмулируемых дисков на логические буквы. Контроллер теперь поддерживает работу сразу с 4 эмулируемыми дисками, соответственно можно для бездисковых РМУ сделать все 4 диска эмулируемыми.
    Соответственно дополнена программа mount:

    A>MOUNT
    DIR: SYSTEM
    A: => (R/W) MOUNT2.KDI
    B: => (R/W) SYSTEM.KDI
    C: => $FDD 0
    D: => $FDD 1

    Это стандартная конфигурация. Диски A и B - эмулируемые, C и D - физические. Теперь можно, например, смонтировать диск С как эмулируемый:

    A>MOUNT C C80
    A>MOUNT
    DIR: SYSTEM
    A: => (R/W) MOUNT2.KDI
    B: => (R/W) SYSTEM.KDI
    C: => (R/W) C80.KDI
    D: => $FDD 1

    Можно назначать и реальные дисководы:

    A>MOUNT B $0
    A>MOUNT
    DIR: SYSTEM
    A: => (R/W) MOUNT2.KDI
    B: => $FDD 0
    C: => (R/W) C80.KDI
    D: => $FDD 1

    Таким образом, указание $n в качестве имени файла подключает физический дисковод n к букве диска. В качестве n допустимы 0-3, то есть если вдруг в машине есть более 2 дисководов, то и дисководы 2 и 3 тоже можно использовать.

    Данная доработка конроллера потребовала также доработки и биоса (новый биос во вложении). Доработка касается процедур READ и WRITE (новый способ идентификации дисков).

    ESL. С другими биосами это тоже будет работать, если откажешься от порочной практики вписывать в поле DRVMASK ненулевое значение для эмулируемых дисков. В данный момент программа mount с чужими биосами считает все диски реальными дисководами Ну и придется допатчить процедуры READ и WRITE.
    Есть еще одна проблема. Программе mount для корректной работы нужно иметь доступ к блоку DPB. С моим стандартным биосом (программа mount его умеет детектить) просто берутся смещения, заранее полученные из листинга и вписанные в программу. Для других биосов для получения адреса DPB используется вызов SELDSK, который в HL возвращает нужный адрес. Но SELDSK пытается прочитать инфосектор с диска, поэтому для ошибочно смонтированных (не существующих) образов и реальных дисководов, в которые не вставлена дискета, BIOS начинает сыпать ошибки на консоль, что не очень красиво. В остальном все работает более-менее корректно. Если совсем не патчить READ и WRITE, то все тоже работает, однако переназначение дисков выполнить нельзя - A и B всегда будут эмулируемыми, C и D - реальными.

    Ну и, наконец, схемная доработка. Дело в том, что при неправильном формате MOUNT.CFG контроллер при старте начинает сходить с ума. Также будут проблемы, если в конфиге указаны неправильные (отсутствующие на диске) имена образов. Мне задрало уже каждый раз после программного сбоя выдергивать карту, вставлять в РС и вручную удалять MOUNT.CFG. Поэтому я поставил кнопку между ногой PB3 (pin 4) и землей. Если при включении контроллера, или нажатия сброса, удерживать эту кнопку в течении 0.5с (можно и дольше, но смысла нет), то файл MOUNT.CFG с карты удаляется, и создается новый, со значениями по умолчанию. Если такая кнопка не нужна, то ее, понятно, можно и не впаивать, но вещь реально удобная.

    Внимание! Перед первым запуском контроллера с новой прошивкой надо обязательно удалить старый файл MOUNT.CFG с карты!! Ну или, если кнопка впаяна, то нажать на нее. Иначе действия контроллера непредсказуемы!

    Выкладываю архив с новой прошивкой, новой схемой, новым биосом и новой докой по API. Биос полностью соответствует соглашению об идентификациии, принятым с ESL - строчка "EXTROMBIOSV1" после таблицы переходов. Не забудьте его перетранслировать и положить в корень карты как SYSTEM.BIN.

    Поскольку ESL так и зажал исходники запатченного эмулятора, выкладываю свой вариант, допатченный с учетом последних изменений. Поддерживаются 4 эмулируемых диска и работа с каталогами. Формат файла MOUNT.CFG также приведен в соответствие с контроллером - не забудьте удалить старый файл перед запуском нового эмулятора. Не также забудьте перетранслировать новый BIOS и положить его в SYSTEM.BIN для корректной работы переназначения физических дисководов.
    Вложения Вложения

  4. #174

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

    По умолчанию

    Круто !
    биосы - доделаем.

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

  5. #175

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    так там твои патчи прям без изменений, просто не запушил их
    А, понятно. Ну тогда просто замени файлы теми, что в архиве, и все.

    Теперь насчет твоих предложений. Убрать команду очистки экрана - да пожалуйста, убирай, и я тогда у себя уберу. Выкладывать подправленный уже не буду, там всего 2 байта разница. Изменение принято.
    Насчет SUBSTITUTED - тут я озадачен. А зачем это? Этот биос _всегда_ берется из SYSTEM.BIN, даже если встретится на диске (что вряд ли), все равно будет подставляться из SYSTEM.BIN, а не грузиться с системных дорожек. Так что по сути это только лишняя загромождающая экран информация. Причина загрузки этого биоса видна из лога твоего загрузчика.

    Насчет загрузки патченного микродоса. Есть такой вариант. В корне карты положить файл MICRODOS.BIN, и в него образ 3 системных дорожек, уже запатченных заранее. Дополнить вызов A0 так, чтобы он по специальному параметру отдавал не SYSTEM.BIN, а MICRODOS.BIN. Загрузчик, встретив неподдерживаемую версию микродоса, просто посылает эту команду, и загружает дефлотный микродос.
    API контроллера я готов доделать хоть сейчас, если подготовишь и выложишь дамп микродоса MICRODOS.BIN, чтобы было с чем отлаживать.
    Просто загрузка разных версий CP/M-биосов мне не особо нужна - они же все мало отличаются друг от друга и моего биоса, по мне так все равно в чем работать. Другое дело - микродос. Это принципиально другая, довольно интересная система. В чем-то он даже лучше CP/M, например, поддерживает многосекторные передачи данных. С ним я давно хочу поиграться на контроллере, но для этого нужен твой загрузчик.

  6. #176

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Насчет SUBSTITUTED - тут я озадачен. А зачем это? Этот биос _всегда_ берется из SYSTEM.BIN, даже если встретится на диске (что вряд ли), все равно будет подставляться из SYSTEM.BIN, а не грузиться с системных дорожек. Так что по сути это только лишняя загромождающая экран информация.

    Я же написал, что это для отладки было.
    Чтобы точно понимать что загрузилось именно сейчас.

    ---------- Post added at 10:35 ---------- Previous post was at 10:24 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Насчет загрузки патченного микродоса. Есть такой вариант. В корне карты положить файл MICRODOS.BIN, и в него образ 3 системных дорожек, уже запатченных заранее. Дополнить вызов A0 так, чтобы он по специальному параметру отдавал не SYSTEM.BIN, а MICRODOS.BIN. Загрузчик, встретив неподдерживаемую версию микродоса, просто посылает эту команду, и загружает дефлотный микродос.
    API контроллера я готов доделать хоть сейчас, если подготовишь и выложишь дамп микродоса MICRODOS.BIN, чтобы было с чем отлаживать.
    Я так и думал, правда есть мысль сделать еще резерв
    0 - CPM.BIN,
    1 - MICRODOS.BIN.
    2.. - SYSTEM('2'+x).bin
    вдруг еще чего вылезет.

    постараюсь в ближайшее время.

    Цитата Сообщение от forth32 Посмотреть сообщение
    Другое дело - микродос. Это принципиально другая, довольно интересная система. В чем-то он даже лучше CP/M, например, поддерживает многосекторные передачи данных.
    Идеи там есть красивые, но вот реализация ...

    Там есть PIPE
    Можно написать <aaa.txt и будет типа субста
    Есть INITIAL.SUB - тип автостарта
    Есть поддержка .SPR - что-то типа резидента ?
    оно содержит в себе BITCOR и грузит его в MEMTOP
    (правда за всё время есть только 1 (одна) прога в таком формате, редактор FKEYS под микродос, интерфейс полее чем страшен ибо НИИСЧЁТМАШ)
    В тех местах где ввод с клавиатуры через стандартный ввод - можно нажать CTRL+D и выпасть в SHELL временно
    Есть поддержка USER COMMAND 0..9 которые реализуются в биос.

    Но повторюсь, реализация же еще та, может это адаптация под корвет
    Цепочки из 4х JMP - это легко

    Про оптимизацию похоже не сильно думали.
    на первые версии вообще смотреть страшно, в сравнении с CP/M - АД

    Работают в другой конфигурации памяти - где нет АЦЗУ
    правда вывод CONOUT на экран всё равно через биос, так что тут разнцы вроде нет
    но все хотели быстно на экран выводить, а тут - ой.

    Потом (те версии что для ОПТС2) откатились на стандартную 1C как в CP/M

    Используют драйвер клавиатуры из ПЗУ, что приводит к несовместимости версий для ОПТС1 и ОПТС2
    в ОПТС1 драйвер по опросу рабтает, в ОПТС2 по прерываниям (типа как в CP/M)
    соответственно версии для ОПТС2 тупо виснут на ОПТС1

    Нет рамдиска.

    Есть один образ (последний по дате), так он работает и везде, и есть рамдиск.

    Правда глядя в код - я бы сказал что это не разработка НИИСЧЁТМАША а скорее чей-то хак,
    ибо там прям HOTPATCH продцедур в зависимости от типа ОПТС,
    и драйвер RAMDISK - отдельно, и живёт под клавиатурой.

    еще минусы -
    Памяти - меньше
    На диске - больше

    Хотя на Вектор-06Ц использовали именно его, я так понял CP/M там не распространился.

    Как я понимаю это микс CP/M 2.2 + CP/M 3 + свои идеи.
    Последний раз редактировалось esl; 22.07.2014 в 11:44.

  7. #177

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    Я так и думал, правда есть мысль сделать еще резерв
    0 - CPM.BIN,
    1 - MICRODOS.BIN.
    2.. - SYSTEM('2'+x).bin
    вдруг еще чего вылезет.

    постараюсь в ближайшее время.
    Ок, принимается. Только для сохранения совместимости (блин, уже начинается...) сделаем формат команды такой:
    A0 TRK 0 0
    TRK=0 - данные читаются прямо с дорожек образа диска А
    1 - подставляется SYSTEM.BIN
    2 - MICRODOS.BIN
    3 и далее - SYSTEMn.BIN

    Чуть позже я внесу изменения в контроллер и эмулятор и выложу. Отлаживать будем уже тогда, когда подготовишь MICRODOS.BIN.

  8. #178

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

    По умолчанию

    и еще вспомнил, чтение параметров с диска - реализовано далеко не с первых версий биоса

    в самых первых похоже вообще гвоздями забито
    в той что была у нас для ОПТС1 - параметры читались но только первый раз
    (вставил в Б микродосовский диск, посмотрел список файлов - ок
    поменял его на CP/M - а вместо списка - мусор)

    Как палетив есть стандартная комманда O - задать/посмотреть кол-во системных дорожек
    но хто же про нее знал тогда.

    и еще, в последнем микродосе есть даже поддержка двух кодировок которые есть в знакогенераторе
    можно по коммандам переключиться между ними и оно даже будет корректно выводить сообщения (там в коде два комплекта, в двух кодировках)
    и две таблички принтера

  9. #179

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

    По умолчанию

    А ведь по сути микродос - вполне себе прогрессивная система. И с CP/M полностью совместима. Из CCP выкинуты малоиспользуемые команды типа SAVE, зато можно, как я понимаю, вносить свои. Тот же mount например. Правда, памяти микродос отжирает, как я вижу, поболее CP/M, а у нас ее и так мало. Кстати, исходники микродоса существуют в природе? Просто ты плотно ковырялся с той помойкой исходников, что лежит у тебя в архиве. Биос микродоса я видел в исходнках, а вот саму систему что-то не припомню. А было бы интересно попробовать собрать ее с нуля.
    Ну и, конечно, меня все не оставляет мысль попробовать CP/M 3.0. Если ее, конечно, потянет наш корвет. Я эту 3.0 вживую никогда не видел, только описание читал. Методику адаптации системы мы отработали, поддержку реальных дисководов можно вообще снести как класс для освобождения памяти - там дисковый драйвер чуть ли не треть биоса занимает вместе с огромными буферами. Исходники системы 3.0 и референсного биоса доступны. Чем не развлекуха?

    Ну, ладно. Я доделал API, контроллер и эмулятор для поддержки различных вариантов подстановок системы командой A0.

    DRV — всегда 0.
    TRK — 0-выключить режим подстановки,
    1-подставлять файл SYSTEM.BIN (там лежит специальная версия CP/M 2.2)
    2-подставлять файл MICRODOS.BIN (там лежит специальная версия microdos)
    3-подставлять файл SYSTEMn.BIN, где n-значение параметра TRK. Это задел на будущее.


    Выкладываю заново все файлы, включая BIOS с выкинутой очисткой экрана.
    Вложения Вложения

  10. #180

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

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    А ведь по сути микродос - вполне себе прогрессивная система. И с CP/M полностью совместима.
    Конечно, она же много старше

    ---------- Post added at 13:14 ---------- Previous post was at 12:58 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Из CCP выкинуты малоиспользуемые команды типа SAVE, зато можно, как я понимаю, вносить свои. Тот же mount например.
    не совсем,


    в самом досе все забито гвоздями

    Скрытый текст

    Код:
    RAM:C186 7E                       ld      a, (hl)
    RAM:C187 CD 81 C4                 call    CMP_0_9
    RAM:C18A DA 96 C1                 jp      c, no_09
    RAM:C18D F5                       push    af
    RAM:C18E CD A5 C3                 call    prepareFCB?
    RAM:C191 F1                       pop     af
    RAM:C192 57                       ld      d, a
    RAM:C193 C3 18 E4                 jp      j_cmd_0_9 - это как раз вызов биоса
    ...
    
    no_09:                                  ; CODE XREF: sub_C036+154j
    
    RAM:C196 4E                       ld      c, (hl)
    RAM:C197 21 1E C2                 ld      hl, CMD         ; "DEOUS"
    RAM:C19A CD 57 C4                 call    findInArray
    RAM:C19D 21 24 C2                 ld      hl, CMD_PTR
    RAM:C1A0 D2 67 C3                 jp      nc, loc_C367
    RAM:C1A3 F5                       push    af
    RAM:C1A4 E5                       push    hl
    RAM:C1A5 CD F8 C1                 call    initInCmdFCB
    RAM:C1A8 CD F6 C3                 call    sub_C3F6
    RAM:C1AB E1                       pop     hl
    RAM:C1AC F1                       pop     af
    RAM:C1AD C3 27 C5                 jp      jp_hltab_a
    
    ....
    RAM:C21E 44 45 4F+CMD:            .ascii 'DEOUS',0       ; DATA XREF: sub_C036+161o
    RAM:C224 2E C2    CMD_PTR:        dw D_DIR                ; DATA XREF: sub_C036+167o
    RAM:C226 D4 C2                    dw E_ERASE
    RAM:C228 EC C2                    dw O_ShowSystemTacks
    RAM:C22A 26 C3                    dw U_USER
    RAM:C22C 3E C3                    dw S_SetSystemDrive??
    а это обработчик 0-9 (из другого биоса - последнего)
    Код:
    RAM:E897          _exec09:                                ; CODE XREF: sub_C036:exec09j
    RAM:E897 7A                       ld      a, d
    RAM:E898 B7                       or      a
    RAM:E899 21 BA E8                 ld      hl, aE0         ; "\x1BE\x1B0$"
    RAM:E89C CA 86 E4                 jp      z, PutSTR
    RAM:E89F
    RAM:E89F          CHARSET2:                               ; DATA XREF: sub_C036-1CBo
    RAM:E89F 3D                       dec     a
    RAM:E8A0 21 BF E8                 ld      hl, aE1         ; "\x1BE\x1B1$"
    RAM:E8A3 CA 86 E4                 jp      z, PutSTR
    RAM:E8A6          ;
    RAM:E8A6
    RAM:E8A6 21 C4 E8                 ld      hl, mCrLf       ; "\r\n$"
    RAM:E8A9 CD 86 E4                 call    PutSTR
    RAM:E8AC CD 15 E4                 call    j_get_MSG_TAB
    RAM:E8AF 11 04 00                 ld      de, 4           ; INCORRECT_COMMAND
    RAM:E8B2 19                       add     hl, de
    RAM:E8B3 7E                       ld      a, (hl)
    RAM:E8B4 23                       inc     hl
    RAM:E8B5 66                       ld      h, (hl)
    RAM:E8B6 6F                       ld      l, a
    RAM:E8B7 C3 86 E4                 jp      PutSTR
    RAM:E8B7          ; END OF FUNCTION CHUNK FOR sub_C036
    RAM:E8B7          ; ---------------------------------------------------------------------------
    RAM:E8BA 1B 45 1B+aE0:            .ascii '\x1BE\x1B0$'   ; DATA XREF: sub_C036+2863o
    RAM:E8BF 1B 45 1B+aE1:            .ascii '\x1BE\x1B1$'   ; DATA XREF: sub_C036+286Ao
    RAM:E8C4 0D 0A 24 mCrLf:          .ascii '\r\n'          ; DATA XREF: sub_C036+2870o
    RAM:E8C4                                                  ; jGROUTPUT+4C9o
    RAM:E8C4                          .ascii '$'
    [свернуть]


    плюс сам дос при коммандах 0..9 делает вызов функции "биос" с параметрами
    в корвете это почти не используется, а вот в векторе например ...

    https://code.google.com/p/vector06cc...icroDOS_manual
    смотри раздел
    "4.5. Дополнительные команды"

    т.е. ипользовать можно, но получается чистая "магия", без доки понять нельзя.
    ну и на мой взгля Type выкинул зря
    Последний раз редактировалось esl; 22.07.2014 в 14:20.

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

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

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

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

Ваши права

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