PC-01 Lviv

It is currently 29 Mar 2024, 04:26

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
 Post subject: MADL2021
PostPosted: 24 Apr 2021, 15:05 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Значит, начнём наверно так.

Для возможности работы с МАДЛом, должна быть установлена такая среда разработки как FPC или DELPHI.
Если у Вас есть уже установленная такая среда разработки или по крайней мере есть утилиты от такой среды, которые могут компилировать (такие как dcc32.exe, с несколькими файлами SysInit.dcu; system.dcu; Types.dcu; windows.dcu;) то устанавливать ничего не нужно.

Если же у вас нет среды DELPHI и вы хотите использовать среду FPC, то установите эту среду с сайта https://www.freepascal.org/ . МАДЛ проверялся на FPC версии 2.6.0. Логично предположить, что он будет работать на более новых версиях.

Для тех, кто не хочеш иметь дело с инсталяциями, по каким-то причинам, есть FPC версии 2.6.0 которая была установлення как можно минимальнее (исключительно для работы МАДЛ) на диск "C" и запакована в архив. Архив можна скачать вот отсюда - http://forumstatic.ru/files/0010/2b/7f/38977.7z
Размер архива: 3 798 023 байта, размер распакованного: 26 060 358 байт.
Скачайте архив http://forumstatic.ru/files/0010/2b/7f/38977.7z и распакуйте в корневой каталог диска "C:\".

МАДЛ проверялся на работоспособность с версиями DELPHI 5, DELPHI 7, DELPHI 10Lite, точнее говоря используя утилиты (такие как dcc32.exe, с несколькими файлами SysInit.dcu; system.dcu; Types.dcu; windows.dcu;) от этих сред программирования.

К слову, замечу, что компиляция утилитами (или средой DELPHI) происходит быстрее чем компиляция FPC, во всяком случае версии 2.6.0. :-) Особенно это заметно когда компилируешь, декомпилированные LVT файлы такие большие как SPY.LVT.


Top
   
 Post subject: Re: MADL2021
PostPosted: 24 Apr 2021, 16:56 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Забыл в первом сообщении упомянуть. Данная разработка предназначена, для любителей Паскалеподобных сред программирования. И расчитана на пользователей которые имеют представление о данных средах.
Далее предлагаю скачать архив 212404_MADL2021_000.7Z з некоторыми файлами МАДЛа, которых достаточно, чтобы посмотреть как это работает и работает ли оно у вас вообще.
Скачиваем архив распаковываем на диск "C:\" в корневой каталог.
Attachment:
212404_MADL2021_000.7Z [381.57 KiB]
Downloaded 752 times
Проверяем правильность настроек файла CompileFPC_RUN.bat.
При использование FPC 2.6.0 (распакованного с архива предложенного мною) на "C:\" в корневой каталог, строка компилирования должна выглядеть вот так
c:\FPC\2.6.0\bin\i386-win32\fpc.exe Project.dpr
если же вы используете утилиты Delphi, то тогда примерно вот так
C:\Delphi\dcc32.exe -UC:\Delphi Project.dpr
в зависимости от расположения среды Delphi (её утилит).

Можна открыть Project.dpr в самой среде Delphi и скомпилировать, запустить (F9) и посмотреть, что будет. :-) Или же запустите CompileFPC_RUN.bat
После того как Вы запустили CompileFPC_RUN.bat и все увидели...
Если Вам такое категорически не приемлемо, - удалите немедленно! :-) А так же забудьте название, эту тему, да и автора, при желании. :-) Дальше для Вас лучше не будет! :-)

Если же Вас это заинтересовало хоть как-то, оставляем всё на далее, будем то все постепенно "наращивать" на том же месте, т.е. в корневом каталоге диска "C:\". С данным примером вряд ли сильно разгонишься :) как-то поэкперементировать, так как в нём не реализованы метки. Это так сказать "нулёвка" (часть МАДЛа - MD00)да еще и с минимальным количеством файлов, достаточных для демонстрации. Существуют уже часть МАДЛа - MD01 которая позволяет работать с метками. Мне осталось её лишь только выложить. А так же, естественно существуют декомпиляторы которые декомпилируют так, что МАДЛ компилирует запускает их "без сучка и задиринки". Но давайте обо всём по порядку и постепенно. Я не хочу на пользователей голову сваливать все и сразу. Я хочу. что те кого заинтересовало подобное, по ходу наращивания разобрались, что к чему и как это все работает. Документация уже тоже готова, осталось выложить. Пока можете рассмотреть файлы Project.dpr и uMD00u.pas , да больше и рассматривать то нечего. :-)

P.S. По поводу поексперементировать с тем, что есть...
uMD00u.pas редактировать не рекомендую, а только рассматривать!
В Project.dpr, ну можете попробовать точку старта поменять StartProgram; :-) или же заменить где-то например MviA($00); на MviB($00); (на MviA($10);) и посмотреть, что из этого будет. :-)
Сами понимаете, что тут идет привязка чёткая к адресам и любые вставки неравные по количеству байтов и программа (ПК-01) просто не запуститься!
Успехов!


Top
   
 Post subject: Re: MADL2021
PostPosted: 24 Apr 2021, 18:08 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Необходимые файлы для работы МАДЛа.
SE - внешний САС-эмулятор-для-МАДЛ.
view.exe - просмотрщик ошибок.
MD00uToLVT.exe - компилятор файлов .MD00u в _res.LVT
Распаковать в коневой каталог "C:\" (в папку МАДЛа)
Attachment:
212404_MADL2021_001.7Z [407.18 KiB]
Downloaded 753 times

Документация МАДЛ, MD00, "Мнемо КР580 и МАДЛ"
Attachment:
212404_MADL2021doc1.7z [16.45 KiB]
Downloaded 745 times


Top
   
 Post subject: Re: MADL2021
PostPosted: 24 Apr 2021, 18:26 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Распаковывать в корневой каталог "C:\"
"LVTtoMD00D(e)" - Декомпилятор из LVT-файла в Project.dpr (в мнемонику КР580) (пример PL.lvt)
"LVTtoMD00M(e)" -Декомпилятор из LVT-файла в Project.dpr (в мнемонику МАДЛ) (пример kobra.lvt)
"MD00DtoMD00U(d)" - MD00DtoMD00U.dll - модуль, который Project.dpr, компилирует в файл "Project.MD00u". (пример FRUCT.LVT)
Attachment:
212404_MD00.7Z [211.38 KiB]
Downloaded 745 times


Top
   
 Post subject: Re: MADL2021
PostPosted: 24 Apr 2021, 20:11 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
ЧАСТЬ МАДЛа MD01. (Реализованы метки)
Распаковывать в корневой каталог "C:\"
В архиве:
MADL2021 - файлы комплятора (MD01) MD01.dll, MD01main.dll, uMD01u.pas
MADL2021doc - "ОПИСАНИЕ ПРОЦЕДУР И ФУНКЦИЙ КОМПИЛЯТОРА (MD01).txt"
"LVTtoMD01D(e)" - Дизкомпилятор из LVT-файла в Project.dpr (в мнемонику КР580) (пример mario.lvt)
"LVTtoMD01M(e)" - Дизкомпилятор из LVT-файла в Project.dpr (в мнемонику МАДЛ) (пример popcornfvi.lvt)
Attachment:
212404_MD01.7Z [207.19 KiB]
Downloaded 742 times


Top
   
 Post subject: Re: MADL2021
PostPosted: 03 May 2021, 16:53 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Создана тема
Учимся писать на MADL2021
viewtopic.php?f=8&t=397
которая предназначена для примеров, проб, экспериментов, частей кода, черновиков (кода), вопросов от пользователей касающихся написания кода на МАДЛе.
Данная же тема "MADL2021", будет использоваться для архивом связанных связанных с МАДЛом!


Top
   
 Post subject: Re: MADL2021
PostPosted: 03 May 2021, 19:51 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Attachment:
210503_MADL2021Samples.7z [2.66 KiB]
Downloaded 753 times
Файл 210503_MADL2021Samples.7z содержит 4 примера (LS1 - LS4) которые опубликованы в теме
"Учимся писать на MADL2021"
viewtopic.php?f=8&t=397#p5443


Top
   
 Post subject: Re: MADL2021
PostPosted: 04 May 2021, 14:02 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Внимание! Все, что есть на сегодняшний день по МАДЛу (и не только) :-)
все предыдущие архивы этой темы и новое, теперь будет в одном архиве!
Этот архив далее будет базовым для будущих обновлений МАДЛа
Размер распакованного архива = 13 888 151 байт.
Распаковывать в корневой каталог диска "C:\" (папки "MADL2021", "MD00", "MD01")
Attachment:
210504_MADL2021Full.7z [1016.15 KiB]
Downloaded 751 times
===============
МАДЛ01. Итоги. Перспективы и прочее.
Работы над частью МАДЛа которая МД01 завершены. Больше согласно логике туда добавлять нечего.
Для начало объясню почему я называю «часть», а не «версия». В принципе можно называть и так и так, но насколько я понимаю, версия это что-то такое отдельное и явно не зависимое от предыдущих версий. В МАДЛе это далеко не так, но это не является каким-то дефектом реализации. Просто МАДЛ устроен так, что будущая часть использует предыдущую т.е. она (будущая часть) не может работать без предыдущих частей МАДЛа. В принципе, мною как автором это было задумано, для того, чтобы была «жесткая платформа» для будущих частей МАДЛа и не было необходимости «ковырять» что-то там в предыдущих частях. Ну по крайней мере, я очень стараюсь этого не делать! :-)

Теперь обо всех папках МАДЛа, а также архивах которые были выложены на форум в тему. Об их путях на диске, переименовании и т.д.
«MADL2021»
viewtopic.php?f=20&t=394
Для начала скажу, что автор, т.е. сделал всё, чтобы минимализировать зависимость МАДЛа от чего либо подобного. Однако обстоятельствами накладываются разные ограничения.

Архивы МАДЛа проверялись, рассматривались и будут рассматриваться далее, как расположенные на на диске "C:\" (в корневом каталоге). Для тех, кого это устраивает или он уже понял как можно, что можно и куда перенести, далее эта тема скорее всего не представляет для него никакого интереса.
Интерес будет тем, кому не нравиться расположение МАДЛа на "C:\" (в корневом каталоге).
Давайте, рассмотрим, все зависимости МАДЛа и разберемся, что можно делать а что нет, для того, чтобы сохранялась работоспособность МАДЛа.

Ну начнём с того, что МАДЛ использует FPC 2.6.0 или какой-то другой паскалеподобный компилятор. Вся зависимость МАДЛа от того где находится компилятор (FPC 2.6.0 или какой-то другой) и его работоспособности быть используемым их другого каталога (из бат-файла другого каталога). Зависимость МАДЛа прописана в файле C:\MADL2021\CompileFPC_RUN.bat, в строке «c:\FPC\2.6.0\bin\i386-win32\fpc.exe ...». Вот и вся его зависимость, которую если учитывать можно можно соответственно манипулировать этим.
Сам каталог «MADL2021» может называться как угодно, располагаться, где угодно и т.д.

Так уж устроен МАДЛ, что проекты должны находится в том же каталоге где и МАДЛ. Так как проекту нужно «прямое» использование DLL-файлов. А остальное, в папке МАДЛа тоже с этим связно.

О том, что можно и нельзя с файлами в папке МАДЛа, читайте в
MADL2021doc\MD00\"Описание файлов и каталогов МАДЛ(MD00).txt" и
MADL2021doc\MD00\"Тоже Описание файлов и каталогов МАДЛ(MD00).txt"
Коротко говоря, DLL-файлы лучше вообще не трогать (Не переименовывать! Не перемещать! и т.д.) Ну а далее, как я писал, там одно от другого зависимо.

В принципе при необходимости МАДЛов может быть несколько «MADL2021(1)», «MADL2021(2)» и т.д. Такое может быть удобно в случаях под каждый проект отдельный МАДЛ. :-) Не так он уж и много занимает места на диске, чтобы были причины такого не делать! И каждый из них будет естественно не зависимый от другого, и может быть удален как отдельный МАДЛ!

ПАПКи MD00 и MD01.
В них находятся вспомогательные программы (декомпиляторы).
В папках этих программ находятся bat-файлы. По сути то тестовые bat-файлы, для демонстрации. Т.е. настроенные на тестовую проверку (по конкретному файлу) декомпиляции с последующие компиляцией декомпилированного файла. Зависимость тех программ, находящихся в папках (и подпапках) MD00 и MD01, от того где находится МАДЛ, исключительно в bat-файлах. Больше не от чего программы в тех папках не зависимы. Bat-файлы могу быть вообще удалены. Папки могут быть перенесены, переименованы. Exe-файлы, - тоже могут быть переименованы. А вот dll-файлы, естественно трогать нельзя (переносить, переименовывать)! Ну с txt-файлами, все понятно — что хочешь то и делай! :-) Вот вроде и все по этим папкам.

Папки MADL2021doc, MADL2021dop, MADL2021Samples.
Папки документации, разных дополнений и примеров.
С этим всем поступайте как хотите и делайте что хотите! :-)
Папка «MADL2021Samples» там находятся примеры, но они все равно должны копироваться в МАДЛ для запуска. Поэтому она может быть постоянно запакована в архив. И только при необходимости распаковывать, только то, что нужно. Все остальные папки тоже так. Ну это я как пример.

Что еще можно сказать по этой теме ...
Остерегайтесь названий своих проектов такими именами файлов которые использую я, например Project.dpr для примеров и разных тестов. Это все для того, чтобы случайно обновлением или запуском очередного тестового bat-файла, не испортить ваши труды. В будущем скорее всего появится папка «LIB» в папке МАДЛа. В ней будут модули, макросы и прочее как говорится в «открытом» виде. Если же вы будете их редактировать по своему, - наверное лучше все таки сделать копию «LIB» в «MyLIB» и там этим всем заниматься. Скорее всего только папка «LIB» и будет обновляться! Хотя не исключено, что однажды будет сказано удалить весь МАДЛ, распаковывать новый из архива — не забудьте предварительно сохранить все что вам нужно из старой папки МАДЛ перед удалением.
Все что будет в будущих в архивах, самое главное будет в папке «MADL2021». С остальным можете поступать и относится, как я уже писал выше.
Ну вот вроде и все!

Чего ждать в будущей части МАДЛ02.
Пока радикальных изменений не ждите, подобных
TByteLV, TWordLV, TTextLV,
TArrayByteLV, TArrayWordLV, TspriteLV,
TProcedureLV, TLabelGLV, TFunctionLV.
Оно то всё это есть и работает, но должно пройти хорошенькую «обкатку»
так как оно все базируется на TLabelLV, который в следующих частях МАДЛа, (после МАДЛ02) видимо для пользователя нужно будет отменять! Во всяком случае прямое его применение.
Попробую начать с того, чтобы в МАДЛ02, реализовать типы регистров и регистровых пар и макросов к ним.
Добавлю разные «вкусности» подобных
Code:
DText(txt1,'txt1','Привет мир!');
DrawText(txt1);
Со спайтами надо подобное делать. Это важно.
Code:
DSprite(SPRITE241,'SPRITE241',' ','1','2','3',
'2      2'+
' 233332 '+
'  2222  '+
' 322223 '+
' 322223 '+
'  2222  '+
' 2 33 2 '+
'2      2'
);
DrawSprite(SPRITE241);
Ну более ничего так сразу и не припомнишь.
Буду заниматься короче, :-)
пока появилось желание, время и главное настроение этим заниматься!


Top
   
 Post subject: Re: MADL2021
PostPosted: 13 Jun 2022, 14:05 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Почну з того, що з цих пір описи моїх програмних продуктів та іншого будуть лише Українською мовою!
Тепер це принципово! Якщо це недопустимо на цьому форумі будь-ласка напишіть, я припиню участь!
Тепер по суті:
В MADL2021 була виявлена помилка в деяких файлах, а саме — неправильна компіляція команди, код якої $F4, компілювання було як $E4.
{F4}Procedure Cp(e:Cardinal);Begin ComC($E4,e); end;
Це необхідно виправити в файлах:
MADL2021\uMD00u.pas
MADL2021\uMD01u.pas
MD00\MD00DtoMD00U(d)\source.7z\uMD00u.pas
MD00\MD00DtoMD00U(d)\uMD00u.pas
Сподіваюсь більше нічого й ніде виправляти не треба, хоча рекомендую продивитись самостійно.
Архів з виправленими файлами які потрібно замінити:
Attachment:
up.7z [13.01 KiB]
Downloaded 633 times
Повний архів MADL2021 з виправленнями та деякими переміщеннями в директоріях:
Attachment:
220613_MADL2021Full.7z [1014.96 KiB]
Downloaded 655 times
На цьому я припиняю розробку, виправлення та все інше що пов*язано з MADL2021.

Готую MADL2023. Назва відповідає року його випуску. :-)
MADL2023 буде уявляти модулі для FPC, тобто файли *.o , *.ppu. “Відсіювання” не потрібного коду, даних в написаній для ПК-01 програмі, компіляція і т.д. буде відбуватись виключно через FPC. Команди-КР580, процедури та інше у вигляді процедур для FPC. “Розпізнавання” вихідного коду, як в інших компіляторах не буде, бо дуже складна річ, як й крутилка для “відсіювання” не потрібного коду в самому компіляторі.


Top
   
 Post subject: Re: MADL2021
PostPosted: 27 Jul 2022, 12:19 
Offline

Joined: 18 May 2016, 19:55
Posts: 425
Тема “MADL2021”, як і розробка “MADL2021”, - закриті!
Наділі переходжу на розробку “MADL2023” ( viewtopic.php?f=20&t=405 )!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited