После изучения библиотеки NETLIB я доработал программу сетевого обмена. Выкладываю новую версию.

Что добавлено и изменено:

Приделан автозапуск программ на бейсике.В отличии от netlib, я использую более универсальный способ - в буфер командной строки РМУ записывается команда RUN, и затем буфер передается интерпретатору на выполнение. Соответственно, добавлен ключ -pr:

Код:
kl -pr test.bas     - загрузка и запуск программы test.bas
Можно указывать этот ключ и без имени файла - тогда будет просто запущена ранее загруженаая программа:

Код:
kl -pu test.bas     - загрузка программы
kl -pr                  - запуск программы
В продолжении предыдущей идеи - добавлен ключ -pi, позволяющий запустить на выполнение любую команду бейсика. Например

Код:
kl -pi "PRINT FRE(0)"
выпооняет команду print fre(0) на РМУ. Так можно и добавлять программные строки в программу, например
Код:
kl -pi "10 PRINT A"
добавляет в программу строку 10 с текстом PRINT A.

Добавлена возможность просмотра копии тестового экрана РМУ. Для этого добавлен ключ -ms:

Код:
kl -ms
......................
---------------- Экран РМУ #2 ----------------------------
Бейсик КОРВЕТ в.2.0
Москва 1988

Ok
Ok
LIST
10 INPUT A
20 PRINT A,SQR(A)
30 END
Ok
RUN
? 5534
 5534          74.3908 
Ok



---------------- Экран РМУ #2 ----------------------------
Эту возможность можно использовать для снятия скриншотов бейсик-программ, и, кроме того, комбинация режимов -ms и -pi позволяет в некоторых, ограниченных пределах организовать общение с бейсик-системой корвета целиком с РС, не подключая к корвету монитор.

Добавлена возможность передачи управления по произвольному адресу без заливки двоичной программы в РМУ. Для этого используется ключ -br без имени файла, например:

Код:
kl -s 9000 -bu gonki.bin    - загрузка файла gonki.bin в память с адреса 9000
kl -s 9000 -br                  - запуск с адреса 9000
Конечно, в данном случае проще обойтись одной командой:
Код:
kl -s 9000 -br gonki.bin
Ну и, наконец, добавлена возможность удаленного программного перезапуска корвета. Для этого введена группа ключей -r:

Код:
-rc - полный холодный перезапуск, как кнопкой RESET, со всеми тестами ОПТС
-rw - теплый перезапуск бейсика, происходит мгновенно.
-rb - принудительная загрузка операционной системы с диска
Режим -rb производит загрузку ОС, даже если сетевой адрес РМУ отличается от 0 - это дает возможность загрузить cp/m, не выдергивая сетевой разъем из корвета. Конечно, если в дисководе нет диска или дисковода вообще нет как такового, то будет запущен бейсик. А режим -rw запускает бейсик всегда, независимо от наличия дискеты в дисководе.

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

А вот и сама программа: korvet_lan_1.03.7z