PASCAL + MACRO11 (УКНЦ-ДВК).
Различные версии PASCAL, FAST-PASCAL, стандартные и дополнительные библиотеки функций и процедур.
Советы от программистов (если не лень им будет), полезные ссылки (проявляем инициативу), обсуждения (по настроению), программы (разгрузим немного тему программирования). УК-НЦ замечательная машинка для тех кто решит программировать на паскале ради собственного удовольствия (хобби).
К этому моменту в архиве и моём "личном" хламничке, и на этом форуме,
так или иначе опубликованы различные версии транслятора PASCAL.SAV и
библиотеки процедур и функций к нему PASCAL.OBJ. Очевидно что пара этих файлов зависимы друг от друга. В этой теме я постараюсь собрать ссылки на разбросанные по архиву и форуму различные версии системного паскаля, выложить т.н. "Учебный паскаль" в двух его реализациях, а именно:
ТЕКСТОВО-СИМВОЛЬНОЙ - для ДВК и УК-НЦ и с графическим интерфейсом от ИТО - он (если не ошибаюсь) работал только на УК-НЦ.
Конечно и обязательно будет тут и вариант УК-НЦ > ДВКашного "турбо-паскаля", независимой среды очень близкой к борланд-паскалю по философии и названиям типовых модулей (DOS - для работы с файловой системой, GRAPH - для работы с графикой). Старшая версия из известных мне имеет номер 2.2 и доработана была в Питере, затем включена в комплект поставки ПО для УК-НЦ "Альтернатива-2 УК-НЦ".
И наверное с него и следует начать, поскольку он по своему очень интересен. Но в рамках этой темы конечно невозможно будет (по ситуации) обойти вниманием и ассемблер, поскольку программы на паскале редко обходятся без т.н. "макро-вставок" - процедур и функций написанных на макро-11.
Спасибо.
Вложений: 4
Различные версии и полезные ссылки !
Fast-Pascal v2.2 в составе пакета "Альтернатива-2"
>http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/ARS/NSK/NSK083.DSK<
>http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/ARS/NSK/NSK084.DSK<
>http://hobot.pdp-11.ru/ukdwk_archive/ukncbtlwebcomplekt/ARS/NSK/<
>http://zx.pk.ru/showpost.php?p=306895&postcount=1<
Fast-Pascal v1.1(1.2-?) исходники и полное описание
>http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/PASCALFAST/<
>http://hobot.pdp-11.ru/ukdwk_archive/ukncbtlwebcomplekt/PASCALFAST/<
Поскольку прилепленные к сообщению архивы с вариантами транслятора
у меня находятся на одном диске - некоторые файлы для привычной работы
нужно просто переименовать, присвоив им стандартные имена.
omsi-pascal v1.1G >http://zx.pk.ru/showpost.php?p=544006&postcount=94<
Адос pascal Полетаева на основе OMSI-PASCAL >http://zx.pk.ru/showpost.php?p=545716&postcount=285<
http://images.netbynet.ru/direct/c63...6fec9f3a98.png
в архиве pascal.rar
http://pic.pdp-11.ru/images/passm4.png
в архиве pascal_SM4.rar - файлы надо переименовать
http://images.netbynet.ru/direct/319...c1f30baa11.png
вариант (копия) Адос-Паскаля от Полетаева в архиве ados_var.rar
http://images.netbynet.ru/direct/077...9963ef9f4b.png
в архиве pasSM4_VAR.rar - отличается размерами и процедурой трансляции.
:redface:
В рамках этой темы предлагаю любые обсуждения связанные с программированием, другими версиями трансляторов, системным, стандартным и дополнительным библиотекам, Фортран и Си ,так же немаловажные языки программирования на УК-НЦ и ДВК, заслуживают отдельной темы наверное?
Вложений: 2
Текстовый редактор среды FAST-PASCAL
Цитата:
Сообщение от
El_Ju
Без этого одолеть текстовый редактор не получалось ;-).
Получалось ) У меня во всяком случае, в спокойной домашней обстановке - путём подсматривания вот в это приложение документации :
Код:
1
- 146 -
ПРИЛОЖЕНИЕ 1
КРАТКИЙ СПРАВОЧНИК КОМАНД РЕДАКТОРА
TАБЛИЦАъ1
------------------------------------------------------------
:КЛАВИША ИЛИ : ВЫПОЛНЯЕМОЕ ДЕЙСТВИЕ :
:ПОСЛEДОВАТЕЛЬ-: :
:НОСТЬ КЛАВИШ : :
------------------------------------------------------------
: : ПЕРЕМЕЩЕНИЕ ПО ТЕКСТУ :
: : :
: СТРЕЛКА : ПЕРЕДВИЖЕНИЕ МАРКЕРА НА 1 ПОЗИЦИЮ:ВПРАВО :
: ВПРАВО : :
: СТРЕЛКА : ВЛЕВО :
: ВЛЕВО : :
: СТРЕЛКА : ВВЕРХ :
: ВВЕРХ : :
: СТРЕЛКА : ВНИЗ :
: ВНИЗ : :
: <GOLD> : МАРКЕР В КОНЕЦ СТРОКИ :
: СТРЕЛКА : :
: ВПРАВО : :
: <GOLD> : МАРКЕР В НАЧАЛО СТРОКИ :
: СТРЕЛКА : :
: ВЛЕВО : :
: <GOLD> : МАРКЕР НА 12 СТРОК ВВЕРХ :
: СТРЕЛКА : :
: ВВЕРХ : :
: <GOLD> : МАРКЕР НА 12 СТРОК ВНИЗ :
: СТРЕЛКА : :
: ВНИЗ : :
: <GOLD>"4" : УСТАНОВИТЬ ТЕКУЩУЮ ПОЗИЦИЮ НА КОНЕЦ ФАЙЛА :
: <GOLD>"5" : УСТАНОВИТЬ ТЕКУЩУЮ ПОЗИЦИЮ НА НАЧАЛО ФАЙЛА:
: : :
: : КОРРЕКТИРОВКА ТЕКСТА :
: : :
: <ЗБ> : УДАЛЕНИЕ 1 СИМВОЛА СЛЕВА ОТ ТЕКУЩЕЙ :
: : ПОЗИЦИИ :
: <GRAY> : УДАЛЕНИЕ 1 СИМВОЛА СПРАВА ОТ ТЕКУЩЕЙ :
: : ПОЗИЦИИ :
: <ВК> : ВСТАВКА СИМВОЛА КОНЦА СТРОКИ СЛЕВА :
: : ОТ ТЕКУЩЕЙ ПОЗИЦИИ :
: <GOLD><ЗБ> : УДАЛЕНИЕ ВСЕХ СИМАОЛОВ СПРАВА ОТ ТЕКУ- :
: : ЩЕЙ ПОЗИЦИИ С УДАЛЕНИЕМ СИМВОЛА КОНЦА :
: : СТРОКИ :
: <GOLD><GRAY> : ТО ЖЕ БЕЗ УДАЛЕНИЯ СИМВОЛА КОНЦА СТРОКИ :
: : :
1
- 147 -
: : РАБОТА С УЧАСТКАМИ ТЕКСТА :
: : :
: <GOLD>"W" : ОТМЕТИТЬ НАЧАЛО УЧАСТКА ТЕКСТА :
: <GOLD>"В" : :
: <GOLD>"N" : ОТМЕТИТЬ КОНЕЦ УЧАСТКА ТЕКСТА :
: <GOLD>"Н" : :
: <GOLD>"У" : УДАЛИТЬ ОТМЕЧЕННЫЙ УЧАСТОК ТЕКСТА :
: <GOLD>"К" : СКОПИРОВАТЬ ОТМЕЧЕННЫЙ УЧАСТОК ТЕКСТА :
: : В ТЕКУЩУЮ ПОЗИЦИЮ :
: <GOLD>"П" : ПЕРЕМЕСТИТЬ ОТМЕЧЕННЫЙ УЧАСТОК ТЕКСТА :
: : В ТЕКУЩУЮ ПОЗИЦИЮ :
: <GOLD>"С" : СБРОС ОТМЕТОК ГРАНИЦ :
: : :
: : ДРУГИЕ ВОЗМОЖНОСТИ РЕДАКТОРА :
: : :
: <GOLD>"8" : ПОИСК ОБРАЗЦА ПО ТЕКСТУ :
: <GOLD>"7" : ВХОД В РЕДАКТИРОВАНИЕ ДРУГОГО ФАЙЛА :
: <GOLD>"^" : ПЕРЕКЛЮЧЕНИЕ РЕЖИМОВ "РУС" И "ЛАТ" :
: <CTRL/W> : РЕГЕНЕРАЦИЯ ЭКРАНА :
: <CTRL/Y> : ВЫХОД ИЗ РЕДАКТОРА :
------------------------------------------------------------
Вложений: 2
NBS Pascal Version 1.6iec January 1986 for RT11
Мне совершенно ничего не известно о данном продукте, а самое главное
совершенно не помню откуда он взялся у меня на ЖД. В любом случае в
архиве NBSPAS.RAR(исходя из очень подробного авторского описания) содержится всё необходимое что-бы собрать и использовать данную версию. Полный архив прилепил к сообщению и добавил в раздел ДВК в папку NBSPASCAL
RELEASE NOTES - тут же в архиве README.rar
Код:
RELEASE NOTES
-------------
NBS Pascal Version 1.6iec January 1986 for RT11
<..>
2.0 OPERATING SYSTEM SUPPORT
For historical and financial reasons, this compiler has only been
implemented under RT11. It has been used successfully with many versions
RT11 and TSX+.
<..>
4.0 BUILDING THE SYSTEM
The files contained within this release include the following logical
discs:
PASDOC.DSK
PASGUI.DOC - Original documentation for NBS Pascal (version 1.6i)
which should be read first.
PASDOC.DOC - Description of general improvements to NBS by Earl Chew
<..>
:redface:
Вложений: 1
ИСХОДНИКИ ДЛЯ PASCAL.(SAV,OBJ) ? Дистрибутив ?
Штука в том, что в этом архиве помимо всего прочего присутсвует уже собранный PASCAL.OBJ, странный файл PCL.SAV - который ищет PASCAL.SAV строго на устройстве SY: . И вот такой документ :
Код:
1) distributiwnye fajly nahodqtsq na magnitnoj lente. w zawisimosti
ot togo,na kakoj lentoprotqvke postawlena distributiwnaq lenta,
otwet polxzowatelq movet bytx mt0, mt1 i t.d.
2) pri generacii neobhodimo imetx dostato~no mesta na diske(okolo 1000
blokow,velatelxno neprerywnyh),na kotorom budut sozdawatxsq wremen-
nye fajly).
rekomendaciq.
predlagaem pered generaciej programmoj DSKINT sozdatx
na DK1: li~nyj disk, zatem, smontirowaw ego komandoj
MOUNT, sozdatx na nem programmoj REAKT katalog polx -
zowatelq [1,2],w kotorom i budut sozdawatxsq wremennye
fajly.
3) dlq translqtora(PASCAL.SAV) neobhodimo neprerywnoe prostranstwo 58-59
blokow,dlq biblioteki(PASCAL.OBJ) neobhodimo 73 - 90 nepreryw-
nyh blokow.
Содержимое архива PASCALD.RAR
Код:
\PascalD
[.] PAS0.OBJ PAS9.OBJ PASFOR.SAV PCL.SAV SYSF4.OBJ
[..] PAS1.OBJ PASA.OBJ PASFPP.OBJ PCLRAF.PAS SYSLIB.OBJ
CSI.PAS PAS2.OBJ PASB.OBJ PASFPP.SAV PDBIOR.PAS SYSMAC.SML
ERROR.PAS PAS3.OBJ PASCAL.HLP PASIMP.PAS PDGRAF.PAS VOC.PAS
HYPHEN.PAS PAS4.OBJ PASCAL.OBJ PASIMP.SAV PDHANO.PAS VOCE.PAS
INTRPT.PAS PAS5.OBJ PASCGN.PGN PASPRF.OBJ PDRAND.PAS
MACEIS.SAV PAS6.OBJ PASEIS.OBJ PASPRF.PAS PDROMA.PAS
MACSIM.SAV PAS7.OBJ PASFIS.OBJ PASSIM.OBJ SRCCOM.SAV
ODT.OBJ PAS8.OBJ PASFOR.PAS PASSIM.SAV STRING.PAS
48 File(s) 774158 bytes
Total Files Listed:
48 File(s) 774158 bytes
В целом как есть прилепил сюда и в раздел ДВК.
Да же не уверен, что уже не выкладывал это и вполне возможно и в архиве давно лежит.
:confused_std:
Вложений: 1
Учебный ПАСКАЛЬ v1.1 ИЮЛЬ 1987
http://images.netbynet.ru/direct/5c0...858eaa82c9.png
http://images.netbynet.ru/direct/b15...ce56afb864.png
Код:
---------------------------------------------------------------
Учебный ПАСКАЛЬ
---------------------------------------------------------------
Имя программы:PSC.SAV
Запуск программы:
MX1>R PSC или
MX1>RU PSC
КОМАНДЫ МОНИТОРА
NEW - Создание нового файла.
EDIT - Вызов редактора текста.
COMP - Компиляция.
RUN - Запуск программы на выполнение.
OLD < Имя файла > - Чтение файла с диска.
SAVE < Имя файла > - Запись файла на диск.
TRACE - Трассировка программы
BYE - Выход.
КОМАНДЫ РЕДАКТОРА ТЕКСТА * EDIT *
<ПС> - Курсор на начало следующей строки.
<ВК> - Курсор на начало или конец строки.
<УДАЛ> - Удалить символ.
<ВСТ> - Вставить символ.
<ПРЕД>
<КАДР> - Предыдущая страница.
<СЛЕД>
<КАДР> - Следующая страница.
<НТ> - В начало текущей страницы.
<ЗБ> - Удалить символ.
<ПФ1> - Вставить строку.
<ПФ2> - Удалить строку.
<ПФ4> - Удалить символы правее курсора.
Су/ц - Выход.
Вроде бы успешно запускается и работает в UKNCBTL.
Цитата:
<ПС> - Курсор на начало следующей строки.
Только вот если с ПФ понятно, какая кнопка на УК-НЦ вместо ПС?
Без неё конечно набить тестовую программку не получится никак :redface:
Образ дискеты содержит :
Код:
Image : PSC.dsk
Format : DSK
Size : 800 Kb
Volume ID: RT11A
Owner :
File Blocks Date Bytes
---------- ------ ----------- ----------
PSC .SAV 60 19-Oct-1993 30'720
PSC .LST 3 31-Dec-1999 1'536
< UNUSED > 1523 779'776
---------- ------ ----------- ----------
2 Files, 63 Blocks
1523 Free blocks
Впрочем для УК-НЦ был(есть) собственный вариант "Учебного Паскаля",
с графическим интерфейсом пользователя от издателя ИТО. Этот образ
добавил в раздел ДВК в папку PSC. - пускай отдельно там полежит(повесит).
:redface:
MACRO-11 (Ассемблер) из текстов для ДВК.
Как я уже писал связка PASCAL+MACRO очень удобное и правильное
решение для уменьшения размера исполняемого файла и увеличения
скорости работы программы в целом. Да и многие вещи удобнее писать
на ассемблере (по многим причинам). Поэтому, пользуясь случаем,
здесь повесим ссылку на описание языка Ассемблера для ДВК, что бы
было под рукой и не терялось из виду.
>
MACRO-11 в библиотеке<
http://s20.rimg.info/c7e58de5e9188e5...3097c9c167.gif
MicroPower Pascal от DEC версия 1.0
Этот документ в формате pdf даже в сжатом виде слишком объёмный
к этому сообщению его прилепить нельзя, к тому же повторюсь в сети
он есть сравнительно давно уже.
*в сообщении о fast-pascal добавил архив с полной документацией.
Уточнение по Учебному Паскалю
http://zx.pk.ru/showpost.php?p=558130&postcount=7 из этого поста,
сравнил (случайно) версию которую Patron давно давно выкладывал (и которая в архиве давно давно лежит), так вот там более продвинутый 1.3
Учебный Паскаль, кому интересно можно брать тут
>http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/Algol_C_F77_Pascal_Lisp/PASCAL.DSK<
>http://hobot.pdp-11.ru/ukdwk_archive/dwkwebcomplekt/Algol_C_F77_Pascal_Lisp/PASCAL.DSK<
1.3 версия если сравнить шапочки вышла на 2 месяца позже, на образе
по ссылке все необходимые файлы.
http://savepic.ru/4024892.png
Вложений: 1
РАСШИРЕНИЕ СТАНДАРТНЫХ ВОЗМОЖНОСТЕЙ ПАСКАЛЯ
Ну да так и есть.
Расширяем набор процедур и функций стандартного паскаля.
На прилагаемой дискете нового в принципе ничего (на форуме уже
выкладывалось), но что бы данную тему освежить - самое то.
Подробности...
Скрытый текст
Содержимое диска:
Код:
Image : power_pascal.dsk
Format : DSK
Size : 800 Kb
Volume ID: PASCAL
Owner : ZX-FORUM
File Blocks Date Bytes
---------- ------ ----------- ----------
PASCAL.SAV 52P 22-Apr-1987 26'624
PASCAL.OBJ 83P 22-Apr-1987 42'496
MACRO .SAV 63P 21-Dec-1980 32'256
LINK .SAV 59P 31-Oct-1998 30'208
SYSLIB.OBJ 47P 19-Dec-1988 24'064
SYSMAC.SML 92P 31-Oct-1998 47'104
POWER .TTL 2P 02-Feb-1994 1'024
POWER .OBJ 6P 30-Jan-1994 3'072
POWER .PAS 9P 07-Feb-1994 4'608
POWER .SAV 13P 03-Dec-1993 6'656
BOX .MAC 11P 24-Jan-1993 5'632
BOX .OBJ 1P 31-Dec-1999 512
SHBOX .PAS 1 21-Feb-1981 512
SHBOX .SAV 4P 31-Dec-1999 2'048
< UNUSED > 1143 585'216
---------- ------ ----------- ----------
14 Files, 443 Blocks
1143 Free blocks
Библиотека
POWER.OBJ содержит в себе:
Код:
Файл POWER.TTL
(* TEXT MODE *)
PROCEDURE INV(N:BOOLEAN);EXTERNAL;
PROCEDURE UNDERLINE(N:BOOLEAN);EXTERNAL;
PROCEDURE MODE(N:INTEGER);EXTERNAL;
PROCEDURE DKL(N:BOOLEAN);EXTERNAL;
PROCEDURE AT(X,Y:INTEGER);EXTERNAL;
PROCEDURE COLOR(A,B,C:INTEGER);EXTERNAL;
PROCEDURE SCREEN(N:BOOLEAN);EXTERNAL;
(* GRAPHICS MODE *)
PROCEDURE PLOT(X,Y,C:INTEGER);EXTERNAL;
PROCEDURE LINE(X,Y,XX,YY,C:INTEGER);EXTERNAL;
PROCEDURE DRAW(X,Y,C:INTEGER);EXTERNAL;
PROCEDURE CURSOR(A,B:INTEGER);EXTERNAL;
PROCEDURE PAINT(X,Y,C,CC:INTEGER);EXTERNAL;
PROCEDURE BOX(X,Y,XX,YY,C,T:INTEGER);EXTERNAL;
FUNCTION POINT(X,Y:INTEGER):INTEGER;EXTERNAL;
(* ALL AREA *)
PROCEDURE DISPLAY(N:INTEGER);EXTERNAL;
PROCEDURE PRINTER(N:INTEGER);EXTERNAL;
FUNCTION READKEY:CHAR;EXTERNAL;
FUNCTION KEYPRESSED:BOOLEAN;EXTERNAL;
PROCEDURE IK(N:BOOLEAN);EXTERNAL;
PROCEDURE ID(N:BOOLEAN);EXTERNAL;
PROCEDURE IP(N:BOOLEAN);EXTERNAL;
FUNCTION GD:INTEGER;EXTERNAL;
FUNCTION GIK:BOOLEAN;EXTERNAL;
FUNCTION GID:BOOLEAN;EXTERNAL;
FUNCTION GIP:BOOLEAN;EXTERNAL;
Программа POWER.SAV демонстрирует работу этих подпрограмм
http://savepic.ru/4090838.png
http://savepic.ru/4087766.png
http://savepic.ru/4072406.png
http://savepic.ru/4079574.png
Прямоугольники закрашенные УК-НЦ рисует очень шустро.
http://savepic.ru/4077526.png
А вот закрашивание большой площади медленное (короче говоря как в Бейсике).
http://savepic.ru/4067286.png
http://savepic.ru/4125673.png
http://savepic.ru/4126697.png
Ну после жёлтого - понятно будет ещё и белый. Долго. Медленно.
Бейсик сразу вспоминается как не крути. )
http://savepic.ru/4113385.png
Режимы экрана 10Х24 - ужасный режим нигде не видел
что бы использовался (или вроде была 1-а игра?)
http://savepic.ru/4117481.png
Игра про банки с вареньем? ) 20х24.
http://savepic.ru/4105193.png
40х24 - ИМХО:самый удобный режим для игр, которые ещё
предстоит написать для замечательного комп. УК-НЦ. )
http://savepic.ru/4109289.png
80х24.
http://savepic.ru/4077545.png
http://savepic.ru/4088809.png
Можно ещё добавить, что некоторые подпрограммы
это ESC-последовательности в одну строчку )
А некоторые конечно более сложные и не все могут
сами написать такое (по крайней мере сразу).
Процедура
BOX в исходнике BOX.MAC и в
объектном модуле BOX.OBJ = псевдографические окна.
Меня она исключительно радует ) Кто автор (?) не знаю.
Но написал что бы просто показать окошки вот такую программу
с её использованием SHBOX.PAS :
Код:
PROGRAM SHOWBOX;
/* uses BOX.OBJ */
PROCEDURE BOX(A,B,C,D : INTEGER); EXTERNAL;
BEGIN
WRITE(CHR(27),'H',CHR(27),'J');
WRITELN(CHR(14),'rISUEM PSEWDOGRAFI^ESKIE OKNA',CHR(15));
BOX(12,6,68,18);
BOX(10,4,70,20);
WRITELN(CHR(7));
END.
http://savepic.ru/4087785.png
[свернуть]
Попутно, хотелось бы спросить, возможно есть счастливые
обладатели OMSI PASCAL for RT-11 версии отличной от 1.1G ?