Чи є хтось, хто б міг допомогти по УКНЦ

Програмування під ретрокомп'ютери, відеоігрові приставки тощо, усіма мовами — Assembler, BASIC, Forth, ...

Модератор: Nick

Відповісти
Аватар користувача
8monkeys
Повідомлень: 5
З нами з: 23 травня 2025, 00:57
Дякував (ла): 3 рази
Подякували: 3 рази
Контактна інформація:

Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення 8monkeys »

— Драсті, мій нік 8мавпочок і я алкоголік хочу програмувати під ретро-пк УКНЦ.

Насправді я це вже робив. Ось стаття про мою недороблену "Стугну". А ось тут відео із запуском Bad Apple на емулі УКНЦ. Також в мене є збиралка-розбиралка УКНЦшних шрифтів на пітоні, я все мрію викласти її на гітхаб, проте хз, як туди вивантажувати файли, я так і не поняв.

Стугну я не закінчив, оскільки впіймав нервовий зрив і депресію, і потім проходив курс антидепресантів. Після перерви я знову взявся за неї, проте зрозумів, що не розумію свій власний код. Бейсік не надто дружній до розуміння коду.

Далі одне-друге, п’яте-десяте, ще два курси антидепресантів, і зараз я розумію, що я маю чимось займатися, якесь хобі, бо або хобі, або пігулки. Депресія, про яку я згадав вище, то не як підліток ходе і стогне, що в депресії, то я пів дня сидів в кутку спальні, накривши голову руками і не міг ворухнутися. І не міг зосередитись і опанувати себе, думки швидко перескакували з однієї теми на іншу і були неконтрольованими. Це вперше за моє життя, коли через нерви я фізично не міг рухатись.

Зараз мені кортить щось почати робити для УКНЦ. І я вирішив відмовитись від бейсіка і перейти або на С, або на Паскаль. Причин кілька. Перша — чим більша програма на бейсіку, тим важче її розуміти. Паскаль і С тут трішки більш зрозумілі. В Паскалі, навіть під УКНЦ, можна писати власні процедури, це робить програму значно зрозумілішою.

І мені цікаво, чи є тут хтось, хто зможе відповісти на питання, які в мене виникатимуть. Бо паскаль-фаст явно відрізняється від інших паскалів. Звісно, в мене є книжка, і я її намагаюся прочитати, проте питання явно будуть, бо я звик до сучасної подачі інформації, і відвик від радянської.

С я навіть не починав. Я знайшов якусь документацію і образи дисків, і скачав. Мабуть теж буду читати, може С буде зрозумілішим мені. Проте знов будуть питання.

Чи є тут на форумі хтось, хто розуміється на УКНЦ? (на крайній випадок на ДВК)
Аватар користувача
SlashNet
Повідомлень: 15
З нами з: 26 вересня 2023, 10:25
Звідки: Львів
Дякував (ла): 6 разів
Подякували: 21 раз
Контактна інформація:

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення SlashNet »

Зараз, коли я писав гру для Ентерпрайзу то вибрав Паскаль через за такими параметрами:
  • він створює стандартний виконуваний файл у бінарному вигляді (і тому мені не потрібен Бейсік для запуску)
  • текст програми зручно редагувати, бо я можу його писати у сучасному редакторі а не у емуляторі (з Бейсіком теж так можна але головна незручність у примусовій нумерації рядків)
  • графічні бібліотеки для нього вже були створені ентузиастами
І написання я почав з того що я розпізнав оригінальний мануал і створив нормальний текстовий файл у форматі markdown (з посиланнями на потрібні розділи). Під час цього я згадував як на ньому писати програми (колись я трішки програмував на ПК-шному Турбо Паскалі). Потім вивчаючи окремі бібліотеки для роботи з графікою чи звуком (більшість інформації по ним є тільки на угорській) я так само писав для себе документацію на зрозумілій мові з нотатками для себе у потрібних місцях. Потім це не раз полегшувало процес. Я в себе це роблю у програмі Obsidian, але підійдуть і інші подібні.

З алгоритмами у деяких моментах я звертався до штучного інтелекту. Він Паскаль знає і зазвичай надає код для Турбо Паскалю, але я йому кажу що в мене діалект мови значно простіший (з переліком яких команд немає) і текст він змінює потрібний.
Також я його напрягав для написання скриптів на Пітоні для конвертування даних у бінарний формат (конвертування та "стиснення" мапи рівней, перекодування графічних даних з пнг у формат зрозумілий компю'теру, конвертація піксельних шрифтів у код на Паскалі, і т.п.).
Аватар користувача
8monkeys
Повідомлень: 5
З нами з: 23 травня 2025, 00:57
Дякував (ла): 3 рази
Подякували: 3 рази
Контактна інформація:

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення 8monkeys »

то був звичайний паскаль чи паскаль-фаст?
айдешку під паскаль я знайшов, думаю, то буде лазарус.
і опис паскаль-фаст є, https://mega.nz/file/BZxmBB4K#RwLCMtVRg ... Yqse05FhDg
там ще бібліотеки
CALCUL.BIN
DOS.BIN
GRAPH.BIN
В принципі малювати можна буде.
Аватар користувача
SlashNet
Повідомлень: 15
З нами з: 26 вересня 2023, 10:25
Звідки: Львів
Дякував (ла): 6 разів
Подякували: 21 раз
Контактна інформація:

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення SlashNet »

8monkeys писав: 23 травня 2025, 12:58 то був звичайний паскаль чи паскаль-фаст?
HiSoft Pascal. Він виходив для багатьох 8-бітних платформ на Z80, є відносно "примітивним", бо не має навіть типів стрінг чи байт, але компілює у код який є швидшим ніж той що створює ТурбоПаскаль.
Аватар користувача
8monkeys
Повідомлень: 5
З нами з: 23 травня 2025, 00:57
Дякував (ла): 3 рази
Подякували: 3 рази
Контактна інформація:

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення 8monkeys »

питання по pascal-fast
написано, що треба зробити паскаль має бути на системному пристрої і в пристрої має бути мітка PAS
Тобто скинути на завантажувальний диск, завантажитись і зробити .ASS SY PAS
Але для цього треба завжди запускати емулятор. Чи можна його якось запускати через утіліту rt11.exe, щоб він не матюкався на інклюди? Бо зараз матюкається.
Pascal/Fast V 2.2
(C) 1992, Dec, А.Е.Москаль, Ю.Э.Фрадкин, Санкт-Петербург
Основное меню


Чтение        Редактирование
Запись        Трансляция
Конец работы  Выполнение
Дополнительное меню

Имя программы: caltst


>
Трансляция: 2
Ошибка - INCLUDE-опция
igor0f803h
Повідомлень: 19
З нами з: 25 серпня 2023, 19:02
Подякували: 6 разів

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення igor0f803h »

8monkeys писав: 23 травня 2025, 13:10 написано, що треба зробити паскаль має бути на системному пристрої і в пристрої має бути мітка PAS
Тобто скинути на завантажувальний диск, завантажитись і зробити .ASS SY PAS
Декілька варіантів ... було цікаво, то спробував різні варіанти:

1. Мабуть найпростіший варіант - використовувати емулятор UKNCBTL від Nikita Zimin.
Там можна зберігати та завантажувати стан емулятора. File::Save State... Load State...

2. Зовсім трохи спробував, але, можливо, і у Вас буде працювати. Якщо працювати з Free Pascal або Lazarus, то можна перезаписувати ВашуПрограму.PAS за допомогою утіліти rt11dsk.exe з пакету ukncbtl-utils від Nikita Zimin (rt11dsk a Ваш.dsk ВашаПрограма.PAS).
Але, якщо Pascal/Fast запущено, тоді потрібно "витягнути" та "вставити" диск (щоб прибрати закешовані дані) та викликати "Чтение", щоб перечитати змінену програму.

3. Якщо Ви використаєте PAS1.SAV, версія Pascal/Fast 2-2.3 (з УКНЦ архіву hobot з сайту pdp-11 ru наприклад (кнопка на сторінці сайту зверху "Раздел УК-НЦ и ДВК") ukncbtlwebwebcomplekt/FASTPASCAL_v221_v223 - UKFP_v221_v223.DSK), то там не потрібно щоб бібліотеки були на пристрої PAS,
принаймні для простих графічних програм;
там інша графічна бібліотека - CGRAPH;
і мабуть в цій бібліотеці просто немає виразів/посилань на кшталт EXTERNAL `PAS:GRAPH`, тому працює і без ASS SY PAS

Там є також програми з демонстрацією CGRAPH графіки - DMC.PAS, та GPD.PAS

Єдине що, UKFP_v221_v223.DSK не бажано використовувати як завантажувальний, бо там буде монохромний екран, без кольорів (не знаю як те виправити).
А скопіювати тільки PAS1 та CGRAPH, і можливо, якщо треба, ще як приклади - DMC, GPD на якийсь простий завантажувальний диск (в мене це rt1150sg.dsk), щоб були кольори.

А от щодо інших модулів на кшталт GRAPHA, SND (вони йдуть разом з версіями 2.2-1 та 2.2-3) - мені зовсім не вдалось зрозуміти як їх використовувати. На жаль, дуже багато часу забирають спроби розібратись. Та і потреби наче ніякої немає.

Бо у звичайній версії "2.2" (FASTPASCAL_v22/fast_doc.dsk) для графіки достатньо лише GRAPH.BIN та GRAPH.PAS. На fast_doc.dsk є також демонстраційні PAS програми - FLOW3 та QUEENS.

Ще - якщо Ви завантажуєте RT-11 з диску MZ0, то копіювати PAS.SAV не потрібно, бо SY і так вказує на MZ0. А от асоціювати, чи як там воно називається, ASS SY PAS - потрібно, (крім версії 2-2.3).

P.S. Запустити версію 2.2-1 з графікою не вдалося взагалі. В мене працює тільки 2.2 та 2.2-3

P.P.S. Спочатку довго не міг зрозуміти чому при трансляції отримую помилку запису. Виявилось, що просто мало місця на диску, і що можна робити трансляцію в пам'яті, або ж зробити інший диск.

P.P.S. Також, при використанні ukncbtl емулятор може не запуститись і написати що не знаходить RenderVfw.dll - потрібно звернути увагу чи є в релізі хоча б RenderVfw.dll (в останніх релізах, на сьогодні, цього немає, потрібно взяти з попередніх - з UKNCBTL-542-exe.zip, наприклад, або з ukncbtl-2023-1.zip)
Аватар користувача
8monkeys
Повідомлень: 5
З нами з: 23 травня 2025, 00:57
Дякував (ла): 3 рази
Подякували: 3 рази
Контактна інформація:

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення 8monkeys »

Ого, не очікував настільки детальної відповіді. Я вирішив відмовитись від паскаля і юзати С (який СС.SAV).
Зараз сиджу, читаю "руководсtво программиста", книги з 1 по 9.
Просто вирішив, що Сі дасть мені трішки більше свободи по старих машинах і доповнить мої знання по сішарпу, та й синтаксис схожий. А паскаль тут ні з чим не стикується.
igor0f803h
Повідомлень: 19
З нами з: 25 серпня 2023, 19:02
Подякували: 6 разів

Re: Чи є хтось, хто б міг допомогти по УКНЦ

Повідомлення igor0f803h »

8monkeys писав: 31 травня 2025, 00:09 Я вирішив відмовитись від паскаля і юзати С
Це ж хобі, тут будь-які мови та методи підходять. Сі також, аби було цікаво
Відповісти

Повернутись до “Програмування під ретроплатформи”