PC-01 Lviv

It is currently 24 Apr 2024, 09:56

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next
Author Message
 Post subject: FoxHunt на P_EMUL2021
PostPosted: 14 Jun 2021, 16:36 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Суть темы в том, чтобы "перебить" игру FoxHunt, которая для РК86 (предоставленную Zorko) на ПК-01. Использовать P_EMUL2021 для того, чтобы отработать работу FoxHunt для ПК-01.
Как следствие её можна будет обратно перекинуть на XDev и без проблем компилировать в XDev для ПК-01. Т.е. в XDev просто сделать окончательную компиляцию.
По сути это реальный тест на пригодность P_EMUL2021 для таких целей! Да и вообще сама идея мне нравиться да и я ей заниматься буду! Результаты моей работы будут публиковаться тут!
Если же данная идея (под XDev) "завалится" по каким-то причинам, то я видимо продолжу "перебивать" таким образом, чтобы она могла быть скомпилирована МАДЛом!

Идея использовать P_EMUL2021 для отработки и подготовки программы под компиляцию XDev, весьма зависима от помощи автора XDev который Zorko. И как следствие моего желания писать программы используя P_EMUL2021, с расчётом окончательной компиляции в XDev.
Иначе (т.е. напрямую) писать, отрабатывать программы прямо в XDev, я например, не представляю как! Для меня использование XDev возможно только при окончательной компиляции в ЛВТ-файл! Всю ДОподготовку собираюсь вести в P_EMUL2021, соответственно, "подтачивая" его под возможность окончательной компиляции в XDev.

И еще...

Я то автору XDev помогал с булдером, вот и посмотрю как он поможет мне, с настройкой P_EMUL2021 для таких целей как я хочу, т.е. под его ж XDev! :-)


Top
   
PostPosted: 14 Jun 2021, 16:42 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Для начала...
Беру из темы
Оберон. Установка на Windows XP,"7" (32bit) среды разработки "XDev".
viewtopic.php?f=20&t=395&p=5389#p5389
из архива XDev.7z [636.92 КБ]
download/file.php?id=371

рассматриваю файл
C:\XDev\K580Dev\Mod\FoxHunt.Mod
как он устроен на какие процедуры "завязан" и такие же буду "лепить" в P_EMUL2021
но "подточенные" под ПК-01.


Top
   
PostPosted: 14 Jun 2021, 20:31 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Ты хочешь игру в текстовом режиме, как на 86РК? Если с графикой, то надо продумать как будут выглядеть цвета.

Я всё ещё не могу понять чего для P_EMUL2021 тебе может предложить XDev, чего у тебя и так нет на Дельфи. Ты же можешь и запускать там отладку, и там же и транслировать в .lvt, разве не так? Тут XDev будет доп. геморроем.

Сильная сторона XDev - умение транслировать код с Оберона в асм, хотя и посредством хитрожопых манипуляций с z88dk. Но я твёрдо знаю, что всегда будут люди, которые вместо Си предпочтут Паскаль. Так что Си у нас злая необходимость, упрятанная под коврик. По возможности.

И вот эту сильную сторону ты можешь использовать у себя, выдрав выхлоп от XDev и заморочившись своим P_EMUL2021 и МАДЛ для разработки этого именно тем способом, который тебе более близок.

Если делать FoxHunt для Львова как себе это представляю я - то нам не нужен никакой P_EMUL2021, достаточно эмулятора Львова. Но накидать процедурок на асме понадобится, надо продумать каких.


Top
   
PostPosted: 14 Jun 2021, 22:31 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
Ты хочешь игру в текстовом режиме, как на 86РК? Если с графикой, то надо продумать как будут выглядеть цвета.
Та это самый первый пробный пример!
Quote:
Я всё ещё не могу понять чего для P_EMUL2021 тебе может предложить XDev, чего у тебя и так нет на Дельфи. Ты же можешь и запускать там отладку, и там же и транслировать в .lvt, разве не так? Тут XDev будет доп. геморроем.
Еще раз - P_EMUL2021 это очень хорошая "крутилка" всего лишь! Компилить в ЛВТ она не сможет никогда! Просто писать ИЗНАЧАЛЬНО (а не портировать!!!) программу, доводить её до ума, лучше всего средой Дельфи с её инструментами! А после уже скомпилировать XDev-вом в ЛВТ.
Quote:
Если делать FoxHunt для Львова как себе это представляю я - то нам не нужен никакой P_EMUL2021, достаточно эмулятора Львова. Но накидать процедурок на асме понадобится, надо продумать каких.
Ну тебе может и не нужен! А мне нужен!
Я тебе уже писал! Что я бы не написал "Лабиринт" если бы не среда Дельфи и P_EMUL, (правда P_EMUL был в таком виде тогда когда я писал, что сложно его назвать было модулем или чем-то подобным)!
Еще раз - изначально (не портировать, а заново), прямо в XDev, я написать ничего не смогу!
А написать в среде дельфи используя P_EMUL2021, отработая программу до своершенства - вполне реально!
А после и не влом будет в XDev перекинуть!

Слушай, Зорко! Или ты такой твердолобый или меня попросту тролишь?!
Не хочешь помогать, - не надо! Но твоя твердолобость не поможет тебе меня перекинуть на XDev, так чтобы я там делал все абсолютно от "А" до "Я".
У меня свои предпочтения! Рабатать в среде Дельфи!
И "лепить" программы я буду (для ПК-01) именно в Дельфи испозуя P_EMUL2021 от "А" до "Ю"! А уж "Я" сделает XDev, т.е. компиляцию в ЛВТ-файл!
Вот к чему я стремлюсь!
Можешь, хочешь помочь, - помоги!
Не можешь, не хочешь, - не мешай!
Всё!


Top
   
PostPosted: 14 Jun 2021, 22:58 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Attachment:
FoxHunt.7z [14.36 KiB]
Downloaded 479 times
ImageImage


Top
   
PostPosted: 14 Jun 2021, 23:03 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
PE00.dll was not found. Выкладывайте, по возможности, lvt.


Top
   
PostPosted: 14 Jun 2021, 23:32 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
PE00.dll was not found. Выкладывайте, по возможности, lvt.
Чтобы получить ЛВТ, её надо будет в XDev портировать после того как полностью отработать в крутилке P_EMUL2021 для ПК-01.
А екзешник запустить можна если кинуть его
в P_EMUL2021
viewtopic.php?f=20&t=400&p=5583#p5572
там есть PE00.dll!
также можна и получить екзешник если файлы
FoxHunt.dpr
m.pas
uFoxHunt.pas
кинуть в каталог P_EMUL2021 и запустить компиляцию FPC например
c:\FPC\2.6.0\bin\i386-win32\fpc.exe FoxHunt.dpr
или из среды Дельфи, Лазарус!


Top
   
PostPosted: 14 Jun 2021, 23:38 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Quote:
Еще раз - P_EMUL2021 это очень хорошая "крутилка" всего лишь! Компилить в ЛВТ она не сможет никогда! Просто писать ИЗНАЧАЛЬНО (а не портировать!!!) программу, доводить её до ума, лучше всего средой Дельфи с её инструментами! А после уже скомпилировать XDev-вом в ЛВТ.
Тогда смотри что получается. Ты просто "не дожал" этот подход. Крути себе на здоровье крутилкой. А потом для генерации конечного .lvt подмени модуль P_EMUL2021 (который в секции Uses) на тот, который сгенерирует тебе .lvt. Профит!
Quote:
Еще раз - изначально (не портировать, а заново), прямо в XDev, я написать ничего не смогу!
Ну и зря.
Я тут прикинул, что твой Лабиринт-САС вполне можно было написать на Обероне с асм-вставками, по крайней мере, его добрую часть.
Quote:
А написать в среде дельфи используя P_EMUL2021, отработая программу до своершенства - вполне реально!
А после и не влом будет в XDev перекинуть!
Понятно.
Ну а я в основном разрабатываю так: мелкими шагами меняю код, постоянно держа его в рабочем состоянии, отлаживая в дебагере эмулятора, а иногда даже и без дебагера.

Не кипятись. Если есть вопросы - спрашивай. Чем смогу, как говорится.


Top
   
PostPosted: 15 Jun 2021, 10:44 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
Тогда смотри что получается. Ты просто "не дожал" этот подход. Крути себе на здоровье крутилкой. А потом для генерации конечного .lvt подмени модуль P_EMUL2021 (который в секции Uses) на тот, который сгенерирует тебе .lvt. Профит!
И что ж мне сгенерирует конечный .lvt ? На что мне подменять то модуль ? На модули МАДЛ ?
МАДЛ не понимает таких конструкций какие поймёт XDev!
Чего я "не дожал" то ?!
Под МАДЛ вот ту написанную процедуру PrintField; (ровно как и другие) нужно будет еще "перекидать" на команды АСМа! Для XDev - почти не нужно! Только "подлахматить"! Какие конструкции применять, а какие нет, чтобы то написанное безпроблемно можно было компилить в XDev, дело тренировки! Вот я и пробу взял понятную FoxHunt, чтобы рассмотреть и почувствовать как это всё работать будет.
Допустим, что это все готово! Просто допустим!
И что я вижу.
Чётко вижу и понимаю, что мне нужно на XDev, для начала реализовавыть вот такие процедуры
procedure PUTCHAR(ch:char);
procedure CURSOR(x,y:Byte);
procedure PUTSTR(s:string255);
Названия неважно, можно и другие названия, но чтобы работала PrintField; нужны они!
А саму PrintField; перекинуть как и всё остальное думаю будет определенно без проблем!
Понимаешь, всё ведь готово будет! Испытано и "подточено"! И вот тогда можна спокойно брать и перекидывать в XDev разбираясь с СИшными вставками и АСМвставки, чёткие вопросы тебе задавать по чётким процедурам которые и ты видишь и т.д. как они должны быть устроены (для ПК-01) т.е. пооцедуры на которых завязывается программа, в данном случае это PUTCHAR, CURSOR, PUTSTR.
Quote:
Ну и зря.
Что зря то ?! ему который раз пишеш, что редактор XDevLite.exe не обладает мощностями таким как редактор в дельфи и писать программу с "чистого листа" (начиная) прямо в XDevLite.exe, от "А" до Я", я просто не смогу, а он мне - Ну и зря ?! Ну ты можешь, - пиши! Я не смогу!
Слушай, а если бы нашёлся такой "кадр" который сказал бы, что ему проще программу написать и отработать в редакторе "блокнот" или в реrдаторе "Ворд" от "мелкомягких" или же вообще в Фотошопе,:-) а потом код вставить в XDevLite.exe и скомпилировать, тебя бы такое тоже возмущало бы ?! Тоже писал бы ему - "Ну и зря" ?!
А может и мне так можна в теме о портировании Булдера... Что-то спрашиваешь, я прежде чем помогти, тебя "раскаляю" вопросами, "а что...", "а чего..", "а почему именно так..", после подскажу, но ты по какиv-то причинам не будешь так делать... далее тебя "раскаляю" вопросами, "а что...", "а чего..", "а почему именно так.." и в конце скажу "Ну и зря."!
Quote:
Я тут прикинул, что твой Лабиринт-САС вполне можно было написать на Обероне с асм-вставками, по крайней мере, его добрую часть.
Чего там прикидывать то ?! :-) Он уже написан! Причём еще в 2014 году! :-)
Это мне, если бы я был от XDev в "ударе", можна бы было прикинуть как его для XDev написать, чтобы как пример был, или же для своей тренировки. Хотя, не исключаю такого поворота событий, но не сейчас это уже точно! Деле в том, что у меня дельфиские черновики "САС-Лабиринта" есть, поэтому вполне реально, что можна их на XDev попробовать!
Quote:
Ну а я в основном разрабатываю так: мелкими шагами меняю код, постоянно держа его в рабочем состоянии, отлаживая в дебагере эмулятора, а иногда даже и без дебагера.
ну это всё лирика и предпочтения! Никому как и самим авторам не интересно, что и как делается для достижения результата, главное чтобы "на выходе" были "САС-лабиринты" "Булдер Даши" и т.д. Все равно каждый будет делать как ему удобно! И мне например удобства Дельфи не заменишь ну не чем!
Quote:
Не кипятись.
Попробую. :-) Если "кипятить" никто не будет! :)
Я то ожидал, что ты с первых минут поймёшь мою задумку и будешь помогать по существу, а не "лирики" какие-то "толкать" на тему "почему P_EMUL2021... а почему не сразу в XDev..." - ответ однозначный, - СРАЗУ В XDev НИЧЕГО НЕ ПОЛУЧИТСЯ! У МЕНЯ ВО ВСЯКОМ СЛУЧАЕ! БЕЗ УДОБСТВ ДЕЛЬФИ! И МНЕ ПРОЩЕ НАПИСАТЬ И ОТРАБОТАТЬ ПРОГРАММУ В ДЕЛЬФИ, А ПОСЛЕ ПОРТИРОВАТЬ В XDev! НУ ПРОЩЕ ТАК! МНЕ!
Ну то мои ожидания кончено...
Как ты говорил - Видимо так это не работает!
Quote:
Если есть вопросы - спрашивай. Чем смогу, как говорится.
Ну вот это другое дело!
Давай я або этом подготовлю и начну со следующего сообщения.


Top
   
PostPosted: 15 Jun 2021, 11:19 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
ДОП.
"поехали" ...
значит "звучит" то что я хочу в целом, так:
ОПРЕДЕЛИТЬ КОНСТРУКЦИИ КОТОРЫЕ ПОЛНОСТЬЮ АНАЛОГИЧНЫЙ В ДЕЛЬФИ И ОБЕРОНЕ!
И "ОТСЕЯТЬ" НЕ НУЖНЫЕ, НЕЭФФЕКТИВНЫЕ И Т.Д.
СДЕЛАТЬ "ПОДГОНКУ" P_EMUL2021 ПОД БЕЗПРОБЛЕМНОСТЬ ПОРТИРОВАНИЯ КОДА НА ОБЕРОН!

Я буду выкладывать черновики, а ты и просто просматривай внимательно,
на тему может ли такое быть компилировано в XDev как говорится без проблем!
Код программы (игры FoxHunt) то тебе знаком :-) и XDev тебе знаком и будет не сложно понять, какая конструкция возможна компилированию в XDev, а какая нет.

ВОТ ТОЛЬКО ВНИМАТЕЛЬНО ПОЖАЛУЙСТА, А НЕ ЛИШЬ БЫ СКАЗАТЬ "ДА-а-а-а... такое скомпилируется без проблем..." А ОКАЖЕТСЯ ЧТО НЕ СОВСЕМ И БЕЗ ПРОБЛЕМ!

И так...
модуль m.pas
Типы
char ? Byte ? string255 ?
в процедурах
procedure PUTCHAR(ch:char);
procedure CURSOR(x,y:Byte);
procedure PUTSTR(s:string255);

С таким проблем в Обероне не будет ? Можна такие типы в входящими в процедуры применять ? и т.д.


uFoxHunt.pas
Type INT8=Byte;
INT16=Word;

Правильно ли это ? или что-то припоминается мне что INT16 вроде как "минусовый" ?
А тогда к какому типу у обероне приравнивать дельфийский Word ?
каким еще типам можна написать соотвествие (для начала целочисленные) ?
естественно те что могут быть применимы для компиляции под ПК-01.

из помощи дельфи по типам...
Quote:
Generic integer types for 32-bit implementations of Delphi
Type Range Format
Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295 unsigned 32-bit
Fundamental integer types include Shortint, Smallint, Longint, Int64, Byte, Word, and Longword.

Fundamental integer types
Type Range Format
Shortint -128..127 signed 8-bit
Smallint -32768..32767 signed 16-bit
Longint -2147483648..2147483647 signed 32-bit
Int64 -2^63..2^63-1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit
...что можна прописать аналогами и как из того что может очень пригодится ?

FoxHunt.dpr
В конструкции "FOR x := Xm*4-2 TO 2 BY -4 DO" я так понял это "BY -4" типа шаг на "-4".... ну то ладно я уже как видишь по другому переделал

"repeat .... until" - в Обероне без проблем ? В таком виде как написано в FoxHunt.dpr
в процедуре PrintField; ?


А что это за....
Flag = 1CX; (* 9X, 0BX, 1EX *)
Fox = 1DX; (* 9X, 0EX, 1EX *)
Это равносильно
Flag = $1C;
Fox = $1D;


вот еще дельфя не понимает
field, number: ARRAY Xm, Ym OF INT8;
opened, marked: ARRAY Xm, Ym OF BOOLEAN;

т.е. в дельфе надо указывать как-то так:
field, number: ARRAY[1..Xm,1..Ym]OF INT8;
opened, marked: ARRAY[1..Xm,1..Ym] OF BOOLEAN;
Это верно ?

П.С. Пока думаю, что все.
Понятное дело всё равно будут разные "приколы" типа
в IF .... THEN .... ELSE ... END;
что если в дельфи несколько команд после "THEN" и/или "ELSE" то надо в "BEGIN... END;",
а Обероне это вроде как по другому.... с одним "END;" без всяких "THEN BEGIN" и "ELSE BEGIN"...
Но согласись что для портации, переброски из Дельфи в оберон, это всё такие мелочи....
что и разговаривать не стоит за них!
Особенно когда программу уже ПОЛНОСТЬЮ ГОТОВА И ОТРАБОТАНА И "ПОДТОЧЕНА" (под ПК-01)!
Это ж не так портация "булдер" для ПК-01 из спека! Тут всё уже под ПК-01 будет написано и проверено, останется только "сопли" :-) "подлахматить"!

Зато когда P_EMUL2021 будет "подточен" под XDev максимально идеально, это такая лафа будет в написании программ! :-) Во всяком случае для меня!


Top
   
PostPosted: 15 Jun 2021, 11:23 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
ДОП.
Ой!
procedure CURSOR(x,y:Byte);
вместо Byte то надо INT8 ?
или INT8 тоже вроде "минусовый"...
слушай, что-то я запутался...
ты конечно объяснял это где-то, но то уже найти где это, очень сложно!
Объясни пожалуйста еще раз да я пропишу (и буду прописывать) в модуль(модули) раз и навсегда!


Top
   
PostPosted: 15 Jun 2021, 12:00 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
ДОП.
PROCEDURE Settings;
вот это
is_only1 := ~is_only1;
понимать как
is_only1 := not is_only1;

?


Top
   
PostPosted: 15 Jun 2021, 12:43 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
PROCEDURE Settings;
Ну вот пока так
Attachment:
02.7z [183.8 KiB]
Downloaded 464 times
позже еще позанимаюсь


Top
   
PostPosted: 15 Jun 2021, 13:30 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
PROCEDURE Help;
Не--е-е-е-е
текст тут надо сплошным выводить! Без всяких понтов типа рамочек!
Уж слишком мало символов в строке! всего 32.
и получается что если под рамочки по 2 символа по обоих боках и два пробела отступа
то задолбёшься переносы ставить которые еще и непраильными будут и врядле поместятся на один экран весь текст
m.CURSOR(9, 1);m.PUTSTR('И С Т О Р И Я'+#0);

m.CURSOR(3, 2);m.PUTSTR('ОСНОВАНО НА ИГРЕ ДЛЯ СОВЕ-'+#0);
m.CURSOR(3, 3);m.PUTSTR('ТСКИХ КАЛЬКУЛЯТОРОВ, ИЗВЕ-'+#0);
m.CURSOR(3, 4);m.PUTSTR('СТНОЙ КАК "ОХОТА НА ЛИС".ОРИГИНАЛЬНАЯ '+#0);
');


Top
   
PostPosted: 15 Jun 2021, 14:49 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
PROCEDURE Help;
ну думаю пока так...
Attachment:
03.7z [15.98 KiB]
Downloaded 457 times
Code:
PROCEDURE Help;
BEGIN
CLS;
 m.CURSOR(0, 0);
 m.PUTSTR('         И С Т О Р И Я'+#0);
 m.PUTSTR(#13+#0);
 m.PUTSTR('ОСНОВАНО НА ИГРЕ ДЛЯ СОВЕТСКИХ КАЛЬКУЛЯТОРОВ, ИЗВЕСТНОЙ КАК "ОХОТА НА ЛИС". '+#0);
 m.PUTSTR('ОРИГИНАЛЬНАЯ ИГРА ОСНОВАНА НА СПОРТИВНОЙ РАДИОПЕЛЕНГАЦИИ (СПР). '+#0);
 m.PUTSTR(#13+#0);
 m.PUTSTR(#13+#0);
 m.PUTSTR('          КАК ИГРАТЬ'+#13+#0);
 m.PUTSTR('ПЕРЕМЕЩАЙТЕ КУРСОР СТРЕЛКАМИ И ХОДИТЕ КЛАВИШЕЙ ENTER. ЕСЛИ В '+#0);
 m.PUTSTR('ВЫБРАННОЙ ПОЗИЦИИ ЕСТЬ ЛИСА, ОНА СЧИТАЕТСЯ ПОЙМАНОЙ ИНАЧЕ ВЫ '+#0);
 m.PUTSTR('УВИДЕТЕ ЧИСЛО ЛИС (ПОЙМАНЫХ И НЕТ) ПО ВЕРТИКАЛИ ГОРИЗОНТАЛИ '+#0);
 m.PUTSTR('И ДИАГОНАЛЯХ. ЕСЛИ ВЫ УВЕРЕНЫ, ЧТО В ВЫБРАННОМ ПОЛЕ '+#0);
 m.PUTSTR('НЕТ ЛИС ЕГО МОЖНО ПОМЕТИТЬ КЛАВИШЕЙ ПРОБЕЛ.'+#0);
 m.PUTSTR(#13+#0);
 m.PUTSTR(#13+#0);
 m.PUTSTR('     Нажмите любую клавишу'+#0);

m.GETKEY;
  Beep;
//  m.WAIT(500);
//{test}CLS;
END;// Help;


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 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 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:
cron
Powered by phpBB® Forum Software © phpBB Limited