PC-01 Lviv

It is currently 16 May 2024, 16:56

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 215 posts ]  Go to page Previous 15 6 7 8 915 Next
Author Message
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 11:28 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
...Кладем файлы туда-то, создаем такой-то проект, используя такие-то инструкции получаем "Hello word". Ну а для более глубокого изучения есть примеры.
Та-а-а-ак....
Для начала...
Какая у Вас используемая среда ?...
Как вы в ней используете в ней DLL-модули??... - ВОТ ТАКЖЕ САМОЕ И С МОИМ МОДУЛЕМ МОЖНО!!! :-)

Я же писал, что НЕЗНАЮ как в других средах отличных от Дельфи прикручиваются и используються DLL-модули.
Я его писал на дельфи и компилятор в коды ПК-01, собираюсь писать для дельфи конструкций, поэтому особого смыла в использовании его в других средах я не вижу разве, что попробовать да поэксперементировать... ну либо если сами компилятор напишите для той среды...


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 12:07 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
В библиотеке Alt Linux есть свободная книжка "Free Pascal и Lazarus: Учебник по программированию", главу из которой "1.4.9 Первая программа в Lazarus" можно использовать за образец для написания доки.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 12:15 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
sas9568635
Quote:
Та-а-а-ак....
Для начала...
Какая у Вас используемая среда ?...
Как вы в ней используете в ней DLL-модули??... - ВОТ ТАКЖЕ САМОЕ И С МОИМ МОДУЛЕМ МОЖНО!!! :-)
Именно сейчас у меня VS 2008. Если я использую сторонние dll, написанные на .NET, то я либо додаю ссылку к проекту и использую классы на прямую, либо (как плагины) создаю инстансы активатором.

У Вас, как я понимаю, dll не .NET... В таком случае, я импорчу extern функции, но я не имею их описания для Вашей dll. Конечно, я могу использовать сторонние программы, чтобы "выудить" сигнатуры этих функций. Но скажите, Вы когда используете чей-то продукт занимаететсь подобными хаками?

Более того, во-первых, я не уверен, что Делфи не добавляет ничего своего в dll-ки, из-за чего они теряют совместимость с другими средами (гуглить лень). И во-вторых, еще раз специально подчеркну, никто не будет использовать продукт без внятных описаний. В таких случаях легче написать самому, чем по крупицам выискивать разбросанную по форумам информацию, а где и откровенно заниматься реверс-инжинирингом.


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 12:30 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
... В таком случае, я импорчу extern функции, но я не имею их описания для Вашей dll.
А скажите пожалуйста, а что непонятного в файле DLLFP.pas
Вот вырезка из него:
Code:
//Реализованные команды КР580
//{0}
Procedure NOP;cdecl;external 'DprPasToLV.dll'; Procedure LXIB(w:word);cdecl;external 'DprPasToLV.dll'; Procedure STAXB;cdecl;external 'DprPasToLV.dll';
Procedure INXB;cdecl;external 'DprPasToLV.dll';Procedure INRB;cdecl;external 'DprPasToLV.dll'; Procedure DCRB;cdecl;external 'DprPasToLV.dll';
Procedure MVIB(b:byte);cdecl;external 'DprPasToLV.dll';Procedure RLC;cdecl;external 'DprPasToLV.dll';Procedure NOP08;cdecl;external 'DprPasToLV.dll';
Procedure DADB;cdecl;external 'DprPasToLV.dll'; Procedure LDAXB;cdecl;external 'DprPasToLV.dll'; Procedure DCXB;cdecl;external 'DprPasToLV.dll';
Procedure INRC;cdecl;external 'DprPasToLV.dll';Procedure DCRC;cdecl;external 'DprPasToLV.dll';Procedure MVIC(b:byte);cdecl;external 'DprPasToLV.dll';
Procedure RRC;cdecl;external 'DprPasToLV.dll';
//{1}
Procedure NOP10;cdecl;external 'DprPasToLV.dll';Procedure LXID(w:word);cdecl;external 'DprPasToLV.dll';Procedure STAXD;cdecl;external 'DprPasToLV.dll';
Procedure INXD;cdecl;external 'DprPasToLV.dll';Procedure INRD;cdecl;external 'DprPasToLV.dll'; Procedure DCRD;cdecl;external 'DprPasToLV.dll';
Или может непонятно из того что не в каждой строке....
ну можно и так читать...
Code:
//Реализованные команды КР580
//{0}
Procedure NOP;cdecl;external 'DprPasToLV.dll';
Procedure LXIB(w:word);cdecl;external 'DprPasToLV.dll';
Procedure STAXB;cdecl;external 'DprPasToLV.dll';
Procedure INXB;cdecl;external 'DprPasToLV.dll';
Procedure INRB;cdecl;external 'DprPasToLV.dll';
Procedure DCRB;cdecl;external 'DprPasToLV.dll';
Procedure MVIB(b:byte);cdecl;external 'DprPasToLV.dll';
Procedure RLC;cdecl;external 'DprPasToLV.dll';
............................................
Quote:
Конечно, я могу использовать сторонние программы, чтобы "выудить" сигнатуры этих функций.
Непойму зачем?!....
Quote:
Более того, во-первых, я не уверен, что Делфи не добавляет ничего своего в dll-ки, из-за чего они теряют совместимость с другими средами...
Вот вам из книги о Дельфи:
CDECL - является режимом, позволяющим использовать параметры DLL-библиотек, написанной на других языках програмирования (C, C++ и т.д.)....

.... и как Вы видите у меня после каждой процедуры cdecl; и в Модуле 'DprPasToLV.dll' тоже самое!
Да не ужели оно даже уменя работало бы если б не ВЕЗДЕ - cdecl;


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 12:42 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Когда делаешь скриншоты, то Экран-Форма почему-то не попадает в кадр, поэтому я сделал запись с экрана мобильным, если хочешь посмотри…
http://file.oboz.ua/download.php?fid=137939


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 13:03 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
В файле Example05.dpr обнаружилась ошибка вместо 5-го примера в архиве оказался 3-й пример (Example03.dpr)
Скачать одтельно Example05.dpr можно по ссылке http://file.oboz.ua/download.php?fid=137944
Или Весь архив с исправленным Example05.dpr по ссылке http://file.oboz.ua/download.php?fid=137945


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 27 Jun 2012, 13:31 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Вот еще примеры в виде екзешников, но они в конце работы зависают так как используют в конце программы цикл который не позволяет выйти - «main_cycle: goto main_cycle;» и тому подобное… так же как и в примерах из уроков для PC Lviv Studio ….
Вот так визуально выглядят программы примеров если их запускать в среде, вот только среда при этом «участвует» - можно делать пошаговый запуск, создавать точки останова и т.д. Вообщем, полное подобие написания и отладки программы в среде.
(Запускать примеры с DprPasToLV.dll в одном каталоге)
http://file.oboz.ua/download.php?fid=137948


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 05:36 
Offline
User avatar

Joined: 13 Feb 2012, 15:32
Posts: 341
Location: Россия
ХОТЬ убейте меня ... ничего не понял ... для чего эта штука нужна ?


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 06:50 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
ХОТЬ убейте меня ... ничего не понял ... для чего эта штука нужна ?
Чтобы в среде Дельфи писать и отлаживать программы для ПК-01 Львов, (мнемоникой асм-команд КР580), позже будет написан компилятор этого в маш коды ПК-01.
Странно???!!! Неужели никому не понятны удобства при написаннии и редактировании программ в среде Дельфи?... в отличии от чистого асма (КР580)?...


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 07:54 
Offline
User avatar

Joined: 13 Feb 2012, 15:32
Posts: 341
Location: Россия
Quote:
Quote:
ХОТЬ убейте меня ... ничего не понял ... для чего эта штука нужна ?
Чтобы в среде Дельфи писать и отлаживать программы для ПК-01 Львов, (мнемоникой асм-команд КР580), позже будет написан компилятор этого в маш коды ПК-01.
Странно???!!! Неужели никому не понятны удобства при написаннии и редактировании программ в среде Дельфи?... в отличии от чистого асма (КР580)?...
если честно не понятны данные удобства , если бы вы движок написали который был бы понятен
типа sparite.create
sparite.x sparite.y можно было менять , а потом компилить сие чудо в коды для львова. это было бы здорово
а писать "мнемоники асм-команд КР580" на паскале , не чем не лучьше чем в каком нибудь блокноте


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 10:30 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
если честно не понятны данные удобства , если бы вы движок написали который был бы понятентипа sparite.create
sparite.x sparite.y можно было менять , а потом компилить сие чудо в коды для львова. это было бы здорово
Ну дак, сударь, это все еще впереди.... А Вы думаете, что вот так возможно с чистого листа?... Взять да написать компилятор который сразу понимает sparite.x sparite.y и т.д. Я же не фирма по написанию средств разработки...
Для начала надо реализовать хотя бы так как я реализовываю... а потом оно само вызреет как дальше реализовывать, расширять возможности, в том направлении о котором вы пишите, чтобы это можно было компилировать в машкоды ПК-01 Львов...
Если реализовать то, что я реализовываю, т.е модуль будет понимать простейшие (КР580 команды) процедуры, а также возможность компилировать это все, то "колесо закрутилось" бы на УРА...
можно писать процедуры уже в среде (например по обработке sparite) основанные на простейших команандах КР580 УЖЕ РЕАЛИЗОВАНЫХ потом это компилировать в модули... и т.д. Со временем можно вообще забыть про процедуры КР580 так как они будут "окутаны" более ёмкими процедурами и скомпилированы в модули...
Другого подхода к этому вопросу я лично не вижу ! Если у Вас есть какие нить предложения по делу, прошу Вас, излагайте.
Quote:
а писать "мнемоники асм-команд КР580" на паскале , не чем не лучьше чем в каком нибудь блокноте
ЛУЧШЕ ! Сразу проверка на синтаксические ошибки, а также компиляция , запуск, пошаговое, Watch, breakpoint и т.д.


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 14:26 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Провильно ли у меня реализована процедура включения/отключения экранного ОЗУ?
(По ВТОРОМУ биту регистра А надо смотреть?)
Code:
Procedure OUT__(b:Byte);// реализация вывода в порт
begin
Ports[b]:=RgA;
If (b=$C2) and ((RgA and 2)=0) then begin  //	C2  порт С - ввод и вывод      (194) // Включить экранное ОЗУ
VRAM_Status:=true;//  видеопямять включена
                             end;
If (b=$C2) and ((RgA and 2)=1) then begin  //	C2  порт С - ввод и вывод      (194) // Выключить экранное ОЗУ
VRAM_Status:=False;// видеопямять выключена
                             end;
end;



Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 28 Jun 2012, 22:03 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Вот попытался перетранслировать игру «Пьяный лифтер» в мнемонику своей среды. Не поленился вручную. Начальная прорисовка нормально, а вот лифты прорисовываться не хотят…. Если делаешь эмуляцию ходьбы вправо ( Там где : SetFlagZ(True); // БЕЖИТ ВПРАВО ) – движение чела работает.
Кто бы помог мне протестировать команды мой среды?...

Доработанный модуль с примером игрой «Пьяный лифтер»
и предыдущими примерами
http://file.oboz.ua/download.php?fid=138217


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 07 Jul 2012, 09:46 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Кто нибудь рассматривал код игры "Пьяный лифтер"?... ;Начальный адрес: $81A0, ;Конечный адрес: $867C. Я по этим адреса строго ее дизассемблировал и заново ассемблировал и она работает, тем не мене в коде этой игры используется переход на внешнюю процедуру которая в ОП за предалами программы, а не в ПЗУ!?... Вот вырезка кода…
Code:
$81A0:   LXI SP, $AFFF;  Старт программы
$81A3:   CALL $83B4
$81A6:   LXI H, $85F4
$81A9:   SHLD $80D5
$81AC:   CALL $80D4
Не пойму как это понимать?... ($81AC: CALL $80D4)


Top
   
 Post subject: Re: DprToLvt (PasToLvt)
PostPosted: 07 Jul 2012, 13:09 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Вы какой файл используете? Я имею в виду lvt.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 215 posts ]  Go to page Previous 15 6 7 8 915 Next

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 6 guests


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:
cron
Powered by phpBB® Forum Software © phpBB Limited