Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Нашел такое: Kermit for Windows Version 0.85
http://kermit.wwarthen.com/Download.htm
Бесплатное, но какое-то тупое (может, оттого что давно написано - 1998 год): работать может только на портах COM1-COM4 (такое я научился обходить при помощи com0com, под который рассчитан эмулятор) и не понимает терминал VT-52 (а вот это плохо, т.к. оно похоже шлет какие-то коды от DEC VT102, расстраивающие KERMIT на стороне CPM). Файло по протоколу Kermit конечно передается (кстати, возможны групповые операции и передача имени файла приемнику - в отличие от XModem не надо вводить на принимающей стороне), но оно и в Гипертерминале нормально передается. А хочется именно "Remote Desktop"
Если кому-то захочется поэкспериментировать - во вложении kermit V4.11 для CP/M (также, добавлено в образ диска). Рассчитан на работу в CP/M 2.2 Generic (где управление последовательными портами ведется через переменную IOBYTE). На Орионе такое будет работать только в Altair DOS v 3.4t и выше. Соответственно, железо - Орион2010 или эмулятор с поддержкой RS-232 по стандарту Орион2010 (порты F764, F765). Коллеги эмуляторщики! Не забываем добавлять свежерожденную платформу в свои эмуляторы.
Система должна быть настроена на терминал CRT: (VGA), а kermit работать после запуска - через порт TTY:.
Команды Kermit-а на заметку:
А вообще там даже встроенный help есть. Вызывается командой HELPКод:set terminal vt52 set file-mode binary set port tty
Последний раз редактировалось Error404; 14.09.2012 в 11:46.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Добавил в образ диска утилиты XPUT.COM, XGET.COM (сооветственно отправка файла и прием файла по протоколу XMODEM по RS-232).
Можно было бы сделать версии этих полезных программ для ORDOS, но встает вопрос: в ORDOS нет возможности передать команду с параметрами (как это я делаю в CP/M), а надо как-то указывать имя файла и скорость порта. Графический интерфейс для маленьких программок наворачивать не хочется (нет готовых заготовок, писать графику с нуля - долго и неинтересно). Как сделать? Фиксированное имя и фиксированную скорость?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Если ты чего-то не знаешь, то это не значит, что этого не может быть.
Не хочется колхозить, а по хорошему - интерфейс по-любому получится сложнее программы. В-общем, вместо рисования напрямую по экрану будет правоверная командная строка. По крайней мере для начала.
Позже можно будет как вариант встроить загрузку по XMODEM дополнительной строчкой тех же М128(256).
Во вложении m35zrkr.bin - Монитор-3 для Орион2010 с поддержкой начальной загрузки с RS-232.
Код:По включении питания Монитор в течении некоторого времени (75 секунд на такте 10МГц, 5 минут на такте 2.5МГц) пытается принять файл (BOOT-код) с RS-232 по протоколу XMODEM. Длина принимаемого при старте кода варьируется от 2к до 14к (зависит от того какой файл вы передаете). Код размещается начиная с адреса 0B800h (и последовательно выше, максимум 0EFFFh). Т.е. можно загрузить картинку прямо на дефолтный экран (0C000h...0EFFFh). По завершении приема файла Монитор передает управление по адресу 0BFFDh. Такой алгоритм позволяет загрузить и запустить без переделок ORDOS или Mon3-Ext (или, понятно, что угодно самописное, например - программатор FLASH). Если за время ожидания связь не установлена, то Монитор переходит в итерактивный=командный режим. Можно выполнить команды (директивы): R<address> - загрузить по XMODEM файл на указанный адрес (от 0000 до EFFF) G<address> - передать уравление по указанному адресу Пример: команды "RB800", "GBFFD" выполнят то же, что и при начальном старте. Скорость порта всегда 9600 бод. Файлы менее 2к передавать при автостарте (по включению питания) не рекомендую, т.к. в таком случае после выполнения JMP 0BFFDh (в неинициализированную память) результат не предсказуем.
Последний раз редактировалось Error404; 08.01.2015 в 14:46.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Error404, посцылку то забрал?
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Да, все приехало в целости. Только я опять на этой неделе в Твери. Оттуда телеграфирую.
Запустить пока не успел. Мой штатный 5-вольтовый БП не подошел (вилка тоньше, не лезет), а переделывать его пока не охота. Вернусь с командировки, запитаюсь от USB, уже кабель под распотрошение подобрал. Пожалуй, для начала так проще всего будет. Клаву опять же надо PS2 (у меня USB) - ну, это легко решаемо.
Последний раз редактировалось Error404; 02.06.2010 в 21:48.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Мне кажется, приделывание временных решений к новому изделию - это и есть "колхозить". Не в обиду!
Как мне представляется решение этой проблемы?
Во первых, в ПЛИС незачем держать два Монитора - достаточно одного М3. Он грузится в F800 и имеет контрольную сумму. Если при последующих Ресетах контрольная сумма подтверждается, то Монитор повторно не загружается из ПЛИС, а сохраняется неизменным содержимое в F800-FFFF. Это позволит вместо М3 загрузить свой Монитор со своей контрольной суммой. При этом он не будет перезаписываться М3 из ПЛИС при нажатии кнопки Reset. Чтобы восстановить М3, необходимо будет временно выключить питание-получить сбой по контрольной сумме.
Так решим проблему приверженности к "своей" версии Монитора. Да и записанный в ПЛИС Монитор не должен быть панацеей на все случаи, а лишь стартовой ступенькой.
На месте освободившихся 2К в ПЛИСС, необходимо сделать универсальный загрузчик. Такую мысль уже высказывал svofski в 212 топике.
Алгоритм этого загрузчика следующий: после RESET (с Мониторами уже разобрались!) загрузчик проверяет наличие SD-карты. Если она есть - грузится ВООТ (не важно чей он - СРМ или еще что-то) и передается ему управление. Можно в буте иметь адрес его загрузки, и не обязательно грохать его в 0000Н. Мы же зачем-то делали "дырки" в памяти между портами?
Если SD-карты нет, то проверяется наличия РОМ-диска. Критерий следующий: если первый байт "С3" - значит в ПЗУ ОРДОС (грузится по известным правилам), если "FF" - ПЗУ пустое - переход на выполнение далее. Если же любой другой байт, то он расценивается как наличие в ПЗУ новых параметров загрузки, где первые два байта - адрес загрузки, следующие два байта - количество загружаемых байт, и еще два байта - адрес передачи управления. Сама информация в ПЗУ находится с адреса 10Н.
Если в первом байте ПЗУ "FF" (нет ПЗУ-флешки, или она не запрограммирована), то управление передается загрузчику по RS-232. Он в цикле опрашивает готовность RS-232 и статус клавиатуры. Висит до бесконечности, пока не получит байт по RS-232, или не будет нажата клавиша клавиатуры. Загрузка начинается с адреса 0000Н и заканчивается по команде "конец передачи" (?), при этом контролируется переполнение ОЗУ до адреса конца экрана. По окончанию загрузки, управление автоматически передается по адресу 0000Н.
Если же была нажата клавиша клавиатуры, как во время ожидания приема так и в процессе приема (а также при отпускании RESET!), то загрузчик переходит в командный режим, где можно указать любой свой адрес загрузки, а затем передать управление на адрес по своему желанию. Здесь можно иметь еще три дополнительные команды: просмотр дампа памяти, модификация ячейки памяти и программатор флеша.
Вот при таком алгоритме загрузки можно "угодить" всем. ERROR404 будет вставлять свою SD-шку и грузить СРМ, а не вставив ее, ортодоксальные ордошники получат свою ОРДОС или еще что-то по своему усмотрению. А если и флешка пустая (или не нужна!!!) - есть прямая загрузка по RS-232. Хочешь - выполняй загруженную программу, а хочешь - запиши во флешку - программатор под рукой.
Ну, вот и вся постановка задачи - осталось только написать (2-3 вечера!). Это тянет где-то на полкило, так что в ПЛИС еще останется место для будущих задумок. И что главное, Сергей - нет никакой графики, как ты и хотел!
Если ты чего-то не знаешь, то это не значит, что этого не может быть.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)