_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, - відсутні та завантаження будь-якої програми не відбувається.
![Smile :-)](./images/smilies/icon_smile.gif)
Деякі інші значення, крім кратних 10, теж відсутні.
Також дивіться інші неописані змінні налаштування емулятору в модулі uEmulator_Main.
Послідовністю вказування змінних (до процедури ChoiceOfProgramLV) та після, звісно можна маніпулювати для досягнення необхідних результатів.
![Smile :-)](./images/smilies/icon_smile.gif)
В деяких змінних, не факт, що в усіх, можна замість числа “1”, вказувати будь яке число від 1 до 255, (окрім “0”, звісно). Але в наступних версіях, це може бути в якихось змінних змінено.
Випадки запуску не емулятора, тобто Stub.vStartProgram1 <> 1, а якомусь іншому числу, я розглядати та описувати не буду. Так як вважаю, це не суттєвим. По суті користувач усе може розглянути самостійно в модулі uMain в процедурі StartProgram, де в “case vStartProgram1 of”, вказані відповідність номерів та процедур, які запускаються в залежності від значення vStartProgram1. Ті процедури уявляють з себе проби та тести, тобто нічого особливого, що може зацікавити, але не лінуйтеся розглядати відкритий код SEFA. Вона й пишеться з таким розрахунком.
Перспективи.
В SEFA цієї та інших версіях є та може бути багато різних недоробок та закоментованостей в вихідному коді. Тому не звертайте особливої уваги на це. Це не є недоліком, або недоробками SEFA. Вона, тобто SEFA, завжди була і буде такою. Зроблено одне, - почато та не дороблене інше і т.д.
Attachment:
_SEFA12.7z [115.47 KiB]
Downloaded 2501 times
Іграшки деякі перейменовані для SEFA12
Attachment:
_SEFA12_GAMESLV.7z [929.18 KiB]
Downloaded 2446 times