PC-01 Lviv

It is currently 27 Apr 2024, 18:36

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 18 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: SEFA
PostPosted: 30 Jan 2024, 13:53 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
SEFA11
Видаляю попередні версії з _SEFA01 по _SEFA08.
----------
Помилка запису в файл.
Якщо коротко, - при компіляції Delphi 7, процедура запису в файл
( SasLVEmuVer1BlockSave(Name:String); модулю uEmulator_BloadBsave)
працює без помилок, а при компіляції FPC, PascalGUI працює з помилкою.
Як зрозуміти чому, - не знаю.
----------
З'явився модуль uCRT, задумувався, як аналог CRT.
Набридли різні проблеми з кодуванням Українських символів та псевдографіки.
Тому й розробив SAS - таблиця символів (SAS - кодування символів).
Зверніть увагу на приклад TestSymbols1.
В SAS таблицю символів, вхожі усі “гарні” символи двох кодувань ANSI(1251)
та ASC(866), не вхожі - “ввод”, “таб” і т.д. В таблиці поки 244 символу вона
поки в розробці. Можливо в майбутньому кодування одного символу буде 2-мя
байтами, так задумувалась таблиця.
----------
Модуль _UNITS\uTest.pas видален.
----------
В модуль Delphi7\uFORM\uFORM.pas, додана процедура
KeyDownForReadkey(var Key: Word; Shift: TshiftState); для, того що можна
було використовувати функції keypressed, readkey в Delphi 7 по принципу FPC
(PascalGUI). Зверніть увагу на реалізацію цих функцій в модулі
Delphi7\Stub.pas.
----------
Та-а-а-а-к....
Мабуть далі буде так....
_SEFA, як “набір” модулів буде знаходитись C:\_SEFA\....
А для готових програм зроблених з допомогою _SEFA, буде окрема папка
C:\_SEFAProgram\.... Папка “C:\_PascalGUIProgram\....” , для програм, які
для мобільного. Програми цієї папки є копією підготованих (CopyForMob.bat)
та переіменованих папок “ForMOB” з програм з папки “C:\_SEFAProgram\....”.
----------
Папка “Emul_240129NormSpeedForGame” копія папки “Emul_240129NormSpeed”.
Папка “Emul_240129NormSpeedForGame” є емулятором-контейнером для ігор.
Встановлен прапор uEmulator_Keyboard.fNumeralsAsArrows:=1;, -
цифри_як_стрілки в мобільному.
----------
Папку «DOC», перенесено з C:\_SEFA\_SEFA11\ в C:\_SEFA\
----------
Папку «Архів», перенесено з C:\_SEFA\_SEFA11\ в C:\_SEFA\
-----------
Приклад UnitToFile — див. "C:\_SEFA\DOC\uCRT та SAS code\"
-----------
Приклад KeyCode, - коди клавіш FPC та PascalGUI.

Attachment:
_SEFA11.7z [151.75 KiB]
Downloaded 24 times
Attachment:
_SEFAProgram_SEFA11_GamePK-01.7z [1.02 MiB]
Downloaded 25 times
_SEFAProgram_SEFA11_GamePK-01.7z -
Ігри ПК-01 кожна з окремим емулятором, який налаштован, на - цифри_як_стрілки, тобто uEmulator_Keyboard.fNumeralsAsArrows:=1;. Ігри потрібно перевіряти та тестувати та налагоджувати.
Attachment:
_PascalGUIProgram_SEFA11_GamePK-01.7z [983.24 KiB]
Downloaded 28 times
_PascalGUIProgram_SEFA11_GamePK-01.7z -
Ігри ПК-01 кожна з окремим емулятором, який налаштован, на - цифри_як_стрілки, тобто uEmulator_Keyboard.fNumeralsAsArrows:=1;. Ці ігри виключно для PascalGUI (мобільного), кожна папка гри відповідає відповідній папці гри архіву _SEFAProgram_SEFA11_GamePK-01.7z


Top
   
 Post subject: Re: SEFA
PostPosted: 31 Jan 2024, 14:36 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Налаштована на модулях SEFA...
“ЗАМОК” - гра для ПК-01 "Львів
viewtopic.php?f=3&t=511#p6042


Top
   
 Post subject: Re: SEFA
PostPosted: 17 Apr 2024, 13:26 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
_SEFA12
Та-а-а-к.....
З останньої версії дуже багато чого змінилось усього і не згадаєш, щоб описати.
Тому опишу лише основне, і те що згадаю, а все інше роздивитесь по модулям (pas).
* _SEFA09 - _SEFA10 - _SEFA11 – видаляються.
* Виправлено автозберігання в FPC.
* Тепер головний файл проекту мобільного Project_PascalGUI.pas знаходиться в головній папці. Як і раніше копіювання в папку “ForMOB” робиться, - CopyForMob.bat . Копіювання та перевірка проекту для мобільного, - Test_Project_PascalGUI.bat.
Ну, зрозуміло, що папка “ForMOB” для мобільного, готується через CopyForMob.bat або Test_Project_PascalGUI.bat.
* Нові символи в таблиці SAS, код 245-249
* Оскільки SEFA розробляється, для того, щоб її можна було використовувати в мобільному (в середовищі PascalGUI), то під нього усе максимально “підточується”.
Налаштування винесено в основний модуль, для того, щоб інші модулі не відкривати в мобільному, а з основного модулю робити необхідні налаштування для запуску емулятора, або інших програм. Зараз більш детально усе розглянемо.
Основні модулі програми є:
Для Delphi 7 -_Project_Delphi7.dpr; для FPC - _Project_FPC.pp; для PascalGUI -_Project_PascalGUI.pas відкрийте один з них.
Змінна vStartProgram1, - використовується для вибору програм, які будуть запускатись. В процедурі StartProgram модулю uMain, видно, які програми (проби,тести) існують на даний момент і що буде запущено, відносно змінній vStartProgram1 в “case vStartProgram1 of” процедури StartProgram модулю uMain.
Розглянемо запуск емулятору.
Для цього потрібно вказати Stub.vStartProgram1:=1;{1 = Емулятор ПК-01 "Львів"}.
Далі про налаштування для емулятора.
В інших випадках при vStartProgram1 <> 1, звісно ці налаштування не працюватимуть, так як вони для емулятору.
Змінні EmulModeSpeed, встановлює швидкість емулятору, де 0, - нормаль швидкість; 1 — максимальна швидкість, 2 - "Останній" емулятор, 3 — використовувати налаштування користувача, які далі.
Якщо EmulModeSpeed=0, то швидкість встановлюється нормальна відносно середовища в якому запущений емулятор (див.процедуру uEmulator_Main. StartEmulator_NormSpeed;), де видно, які установлені параметри в залежності від середовища.
Якщо EmulModeSpeed=1, то швидкість встановлюється максимальна, знову ж відносно середовища, та швидкості комп'ютера звісно теж.
Якщо EmulModeSpeed=2, то емулятор буде налаштований на "останній емуль”, який "редагується" (в розробці) (для автора), на цей режим можна не звертати уваги.
При виборі EmulModeSpeed=0..2, OpcodesValue та DelayLV встановлюються автоматично в відповідних процедурах модулю uEmulator_Main! При виборі EmulModeSpeed=3 (налаштування користувача) потрібно ці змінні встановлювати самостійно (див. далі}
Змінна uEmulator_Main.QuickRollingOfLogo, встановлює необхідність “прокрутки” об'ємної заставки “ПК-01 Львов”. Якщо QuickRollingOfLogo=1, відбувається, швидка/непомітна ”прокрутка” заставки "ПК-01 Львов". Якщо QuickRollingOfLogo=0, “прокрутка” повільна/помітна.
Змінна AutoSaveTimeCount, задає інтервал збереження в файл в хвилинах. Якщо AutoSaveTimeCount = 0, зберігання не відбувається, незалежно від встановлених змінних fAutoSaveInFAS та fAutoSaveInFD (далі).
Змінна fAutoSaveInFAS, встановлює необхідність зберігання в файл “AutoSave.SasLVE”. 0, - не зберігає в файл “AutoSave.SasLVE”. 1, -зберігає.
Змінна fAutoSaveInFD, встановлює необхідність зберігання в файл формату “2024-01-19_17-06-00-08.SasLVE”. 0, - не зберігає, 1, - зберігає.
Змінна fNumeralsAsArrows, встановлює режим заміни/підміни клавіш клавіатури. 0,- заміни/підміни не відбувається. 1, - цифри працюють, як стрілки. 2- коригування для гри "ЗАМОК".
Якщо змінна fLoadFile_AutoSave_SasLVE, дорівнює 1, то при запуску емулятору, буде завантажуватись файл вказаний в змінній LoadFile_AutoSave_FileName (див.далі). Якщо 0, - то завантаження не буде відбуватися.
В змінній LoadFile_AutoSave_FileName, необхідно вказувати файл, який необхідно завантажувати, після запуску емулятору. За замовченням, LoadFile_AutoSave_FileName:='AutoSave/AutoSave.SasLVE'. Звісно, змінна fLoadFile_AutoSave_SasLVE повинна бути, рівною 1.
Процедура ChoiceOfProgramLV (Pr:Cardinal), виконує комплексні налаштування, щодо завантаження програм в емулятор “ПК-01”, після його запуску. Наприклад, якщо вказати гру за номером 184, що відповідає грі “Замок” (файлу 'Zamok.SasLVE'), то буде завантажена дана гра, встановлені fNumeralsAsArrows:=2; fLoadFile_AutoSave_SasLVE:=1; і т.д. Список програм ПК-01 та їх номери дивіться в процедурі ChoiceOfProgramLV модулю uEmulator_Main. Примітка. Значення, які кратні 10, - відсутні та завантаження будь-якої програми не відбувається. :-) Деякі інші значення, крім кратних 10, теж відсутні.
Також дивіться інші неописані змінні налаштування емулятору в модулі uEmulator_Main.
Послідовністю вказування змінних (до процедури ChoiceOfProgramLV) та після, звісно можна маніпулювати для досягнення необхідних результатів. :-)
В деяких змінних, не факт, що в усіх, можна замість числа “1”, вказувати будь яке число від 1 до 255, (окрім “0”, звісно). Але в наступних версіях, це може бути в якихось змінних змінено.
Випадки запуску не емулятора, тобто Stub.vStartProgram1 <> 1, а якомусь іншому числу, я розглядати та описувати не буду. Так як вважаю, це не суттєвим. По суті користувач усе може розглянути самостійно в модулі uMain в процедурі StartProgram, де в “case vStartProgram1 of”, вказані відповідність номерів та процедур, які запускаються в залежності від значення vStartProgram1. Ті процедури уявляють з себе проби та тести, тобто нічого особливого, що може зацікавити, але не лінуйтеся розглядати відкритий код SEFA. Вона й пишеться з таким розрахунком. :-)

Перспективи.
В SEFA цієї та інших версіях є та може бути багато різних недоробок та закоментованостей в вихідному коді. Тому не звертайте особливої уваги на це. Це не є недоліком, або недоробками SEFA. Вона, тобто SEFA, завжди була і буде такою. Зроблено одне, - почато та не дороблене інше і т.д.
Attachment:
_SEFA12.7z [115.47 KiB]
Downloaded 3 times

Іграшки деякі перейменовані для SEFA12
Attachment:
_SEFA12_GAMESLV.7z [929.18 KiB]
Downloaded 3 times


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 18 posts ]  Go to page Previous 1 2

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 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:
Powered by phpBB® Forum Software © phpBB Limited