PC-01 Lviv
http://pc01.lviv.ua/forum/

MADL2021
http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=394
Page 1 of 1

Author:  als [ 24 Apr 2021, 15:05 ]
Post subject:  MADL2021

Значит, начнём наверно так.

Для возможности работы с МАДЛом, должна быть установлена такая среда разработки как 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.

Author:  als [ 24 Apr 2021, 16:56 ]
Post subject:  Re: MADL2021

Забыл в первом сообщении упомянуть. Данная разработка предназначена, для любителей Паскалеподобных сред программирования. И расчитана на пользователей которые имеют представление о данных средах.
Далее предлагаю скачать архив 212404_MADL2021_000.7Z з некоторыми файлами МАДЛа, которых достаточно, чтобы посмотреть как это работает и работает ли оно у вас вообще.
Скачиваем архив распаковываем на диск "C:\" в корневой каталог.
Attachment:
212404_MADL2021_000.7Z [381.57 KiB]
Downloaded 762 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) просто не запуститься!
Успехов!

Author:  als [ 24 Apr 2021, 18:08 ]
Post subject:  Re: MADL2021

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

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

Author:  als [ 24 Apr 2021, 18:26 ]
Post subject:  Re: MADL2021

Распаковывать в корневой каталог "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 755 times

Author:  als [ 24 Apr 2021, 20:11 ]
Post subject:  Re: MADL2021

ЧАСТЬ МАДЛа 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 753 times

Author:  als [ 03 May 2021, 16:53 ]
Post subject:  Re: MADL2021

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

Author:  als [ 03 May 2021, 19:51 ]
Post subject:  Re: MADL2021

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

Author:  als [ 04 May 2021, 14:02 ]
Post subject:  Re: MADL2021

Внимание! Все, что есть на сегодняшний день по МАДЛу (и не только) :-)
все предыдущие архивы этой темы и новое, теперь будет в одном архиве!
Этот архив далее будет базовым для будущих обновлений МАДЛа
Размер распакованного архива = 13 888 151 байт.
Распаковывать в корневой каталог диска "C:\" (папки "MADL2021", "MD00", "MD01")
Attachment:
210504_MADL2021Full.7z [1016.15 KiB]
Downloaded 760 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);
Ну более ничего так сразу и не припомнишь.
Буду заниматься короче, :-)
пока появилось желание, время и главное настроение этим заниматься!

Author:  als [ 13 Jun 2022, 14:05 ]
Post subject:  Re: MADL2021

Почну з того, що з цих пір описи моїх програмних продуктів та іншого будуть лише Українською мовою!
Тепер це принципово! Якщо це недопустимо на цьому форумі будь-ласка напишіть, я припиню участь!
Тепер по суті:
В 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 642 times
Повний архів MADL2021 з виправленнями та деякими переміщеннями в директоріях:
Attachment:
220613_MADL2021Full.7z [1014.96 KiB]
Downloaded 667 times
На цьому я припиняю розробку, виправлення та все інше що пов*язано з MADL2021.

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

Author:  als [ 27 Jul 2022, 12:19 ]
Post subject:  Re: MADL2021

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

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/