SAS Emulator (эмулятор «ПК-01 Львов»)

...
  • Немного оф-топа. Ты "возник" здесь в немного неудачное время, хоть и с интересным проектом. Просто дождись окончания Google Summer of Code. Похоже, что все там. Так что выводы о нужности--ненужности делать не спеши...
    Юзер, просто юзер...со времён MS-DOS.
  • Sewer wrote:насчет опроса:
    1. 512*512 и 768*512
    2. Кос оригинал
    3. Каждую.
    Спасибо за ответы.
    Один режим надо указать, на какой мне ориентировать генератор. Хотя...
    Я видимо сделаю, чтобы генерировал все три файла всех режимом и как говорится, - выбирай на вкус. :-)
    Sewer wrote:Немного оф-топа. Ты "возник" здесь в немного неудачное время, хоть и с интересным проектом. Просто дождись окончания Google Summer of Code. Похоже, что все там.
    Ну дай бог, что это интересный проект!.... :-) а насчёт Google Summer of Code, ну не ожидать же мне, когда он закончится!... я так понял, что он на всё лето этот Google Summer of Code ? Так ведь ?
    Почитав о нём я так понял, мне туда не надо, меня там не ждут, да и не по мне то всё, даже интересоваться тонкостями не хочу.
    По сути всё, что мне надо, мне подсказали, за что и спасибо всем! Эмулятор готов! Осталось написать генератор, а это как два пальца... :-) и "Сеня, сушите вёсла!" :-)
  • ALEXS1983 wrote:По сути всё, что мне надо, мне подсказали, за что и спасибо всем! Эмулятор готов! Осталось написать генератор, а это как два пальца... :-) и "Сеня, сушите вёсла!" :-)
    т.к. проц "ПК-01 Львов" KP580BM80A, то какие то "зацепки" возможно использовать из эмулятора Spectrum ZX.

    P.S. Эмулятор ZX, мне например, больше интересен хотя на ассемблере 580 был опыт работы (100 лет назад в обед:)
    Интерес к эмуляторам всегда индивидуален (да и не только к ним в "фан" проекте) чтобы на кого то "обижаться" в недооценённости личных трудов :)
    Интерес может быть к "структуре" созданного решения, в какой то степени.
    Не знаю, возможно ли в текущих ассоциациях для эмуляторов запускать игры без запуска самих существующих эмуляторов.
    Раз в теме есть общение, то это кому то интересно :) А какие "действия" Вы хотели увидеть от участников проекта?
    Одобрямс уже какой то провучал :) хотя для кого то принципиально видеть и исходники сделанного, даже чисто в эстетических мотивах.

    На более профильном форуме zx.pk.ru аж 22 страниц обсуждения данной тематики
    а также Новый эмулятор ПК-01 ЛЬВОВ
    и др. обсуждения :)
  • Sewer wrote:насчет опроса:
    1. 512*512 и 768*512
    2. Кос оригинал
    3. Каждую.
    Поддерживаю. :)
  • Сегодня конечно Первое апреля, день смеха и шуток, с чем всех и поздравляю. :-)
    Но это не шутка....
    Создан генератор эмулятора «ПК-01 Львов», точнее говоря, появилась на свет, новая версия «SAS emulator 1.4 Beta», с возможностью генерировать эмулятор, в который загружена, необходимая программа, игра, для среды КОС.
    Описание (вырезка из файла "!Readme.txt" эмулятора):
    Spoiler:01-04-2016
    SAS emulator 1.4 Beta:
    Основное отличие данной версии эмулятора, в том что добавлена возможность сохранения состояния эмулятора, в запускаемый файл ( KOS.bin ) для Колибри ОС (далее КОС). Возможность эта, - File\Generate to KOS.

    Для тех, кто не очень-то понимает, о чём речь, коротко поясню. Колибри ОС, - сама маленькая по размеру операционная система, написанная полностью на ассемблере. Разработчики, этой системы, как и сама система, заслуживают уважение, так как аналогичной ОС, по размеру, быстродействию и возможностях ОС (в сочетании с её размером), - НЕТ! Более подробно, с КОС, вы можете ознакомится здесь http://kolibrios.org/ru/ , а также посетить форум, - http://board.kolibrios.org/ .
    Если вас не интересует использование данной системы, то, данная возможность эмулятора вам просто ни к чему. :-)

    Теперь более подробнее о данной возможности эмулятора.
    Для тех, кто не хочет «заморачиваться» на настройках генерируемого файла для КОС, нужно всего лишь, подготовить состояние эмулятора, необходимое вам, также при необходимости, нажать паузу, (в эмуляторе это кл. «DELETE” или “Pause”), и выполнить «File\Generate to KOS”, далее, не меняя никаких настроек, нажать «Create”. Вот и всё. В каталоге эмулятора появится файла KOS.bin, который можно запускать в КОС или в эмуляторах которые, могут эмулировать среду КОС (KolibriWin, QEMU, Sun xVM VirtualBox и т. д.)

    Для желающих разобраться с настройками и использовать их, читаем далее.
    Итак, для начала, поверхностно поясню устройство «движка» эмулятора на который влияют данные настройки. По сути, «движок» в бесконечном цикле, (до закрытия эмулятора) выполняет следующие действия:
    1. Прокрутить определенной количество тактов КР580.
    2. Выполнить вывод на экран.
    3. Задержка.
    4. Выход или повторить п.1.
    Параметр «Tacts in block (Speed)», определяет количество тактов КР580 (пункт1), которые будут выполнены за один цикл самого эмулятора, т. е. до вывода на экран (пункт2).
    Параметр «Graphic mode», определяет, графический режим в котором будет выводится эмулятор на экран (пункт2).
    Параметр «Type of slider» и «Delay» взаимосвязаны, определяют тип «движка» которым будет выполняться эмулирование. По сути, разница в «движках» основана, на разновидности задержки (пункт3) или отсутствие её вовсе. Данные настройки играют существенную роль на быстродействие эмулятора и загрузку процессора, в разных средах которые, могут эмулировать среду КОС (KolibriWin, QEMU, Sun xVM VirtualBox и т.д.)
    Тип «движка» «0» - не использует задержку вовсе, т. е. Delay=0 или как правильнее выразится пункт 3, в этом движке отсутствует.
    Тип «движка» «1» и «2» - имеют разную реализацию процедур задержки, и по разному влияют на на быстродействие эмулятора и загрузку процессора, в разных средах которые, могут эмулировать среду КОС (KolibriWin, QEMU, Sun xVM VirtualBox и т. д.)
    Тип «движка» «3» - я его называю, «таймер Pathoswithin'а» :-), самый удачный вариант, для КОС, и эмулятора КОС, KolibriWin, но задержка не регулируемая, фиксированная, 2/100 сек (Delay=2). С данным движком, эмулятор, менее всего загружает процессор в вышеперечисленных средах.
    В само поле «Delay», при использовании «движков» «1» и «2» указывается количество сотых долей секунды, может быть любым начиная с 1.
    Настройки эмулятора, ориентированы на использование его в самой среде КОС, в не эмуляторов этой системы. Если же вы желает использовать эмулятор в KolibriWin, то «Tacts in block (Speed)», стоит повысить, с 43500, до, скажем, 50000, в зависимости от игры. При использовании КОС в других эмуляторах, таких как QEMU, - не берусь утвержать, как настраивать генерацию эмулятора «ПК-01 Львов».

    Также на заметку.
    * В сгенерированном эмуляторе, клавиша пауза, - «DELETE”, как и в эмуляторе для Windows.
    * В некоторых играх, вместо “пробел”, (стрелять, выбрать и т. д.) используется клавиша «ПК-01 Львов», так называемая, «косая стрелка», которая на PC-клавиатуре, соответствует, - кл.«HOME”. Ознакомится с соответствием клавиш «ПК-01 Львов» можно в каталоге «Keyboard», файл KeyboardKOS.txt.
    * В некоторых играх, при запуске или в каких либо других ситуациях, используется, проигрывание музыки, которая занимает время и которую в данном эмуляторе не слышно :-(, может создаться впечатление зависания игры или эмулятора.
    * Эмулятор для Windows. Для возможности редактирования “ FPS:” , “ Freq/fps=” или ComboBoxGames (список игр), необходимо кликнуть мышью по меткам с соответствующими надписями “ FPS:” или “ Freq/fps=”. Или на метку “*” находящуюся справа от редактируемого окна. Для выхода из редактирования и их применения необходимо нажать кл. «Enter”, либо опять нажать мышкой на метки которые “ FPS:” , “ Freq/fps=”, ComboBoxGames (список игр). Происходит изменение цвета метки.
    Downloaded 353 times
    ( Архив "SAS emulator 1.4 Beta.7z" проверен https://www.virustotal.com , вирусы отсутствуют! )

    Автор эмулятора, выражает благодарность, участникам форума “Колибри”, а именно, таким участникам как, CleverMouse, Pathoswithin, Yason и ДРУГИМ, за помощь в написании эмулятора для среды КОС, а также за помощь, в освоении FASMа, за “горячие” споры и дискуссии :-) и за всё то, что способствовало созданию SAS emulator`а для среды КОС и его генератора. ВСЕМ БОЛЬШОЕ СПАСИБО! Надеюсь, результат никого не разочарует! :-)
  • Коротко об генерировании программы (игры) для КОС.
    Запускаем эмулятор «SAS emulator 1.4 Beta» (для Windows). Справа, от списка игр, нажмём звёздочку («*»), выбираем игру.
    Image

    Нажимаем паузу (кл. «DELETE” или “PAUSE”). В меню “File”, выбираем «Generate to KOS».
    Image

    При желании делаем необходимые установки и регулировки и жмём «Create”.
    При нежелании, :-) - просто жмём «Create”.
    Image

    Вот и всё. Файл KOS.bin, (который появится (или обновится), в каталоге эмулятора «SAS emulator 1.4 Beta» ), - это есть, эмулятор «ПК-01 Львов»-со-встроенной-игрой-для-КОС. Запускаем его в КОС, радуемся жизни. :-)
    Сгенерированное выкладываем, в эту тему. А то вдруг, у кого нет Windows, :-) а поиграть в игры, в КОСе хочется. :-)
    Игры имеющиеся в наличии эмулятора «SAS emulator 1.4 Beta» (для Windows)
    Spoiler:Aids; Aids2; Arcanoid; Battle; Bomber man; Boulder Dash; Cannon ball; Cave;
    Cheese; Citty Attack; Color Ball; Columns; Cookie; Circus; Critters; Crux; Digger;
    Disk John; Driller Tanks; Fire Rescue; frog; Formula 1; Frogger; Fruct; Galaxy; Heartbroken; Henry; Indian no Bouken; International Karate; Jackpot; King Valey; Kobra; Last mission; Mario; Merlin 2; Merlin 5; Merlin 6; Merlin 7; Money-box; Moon tracker; Moon-44; Ninja; Othello; Pacman; Ping-Pong; Pipe 1; Pipe 2; Popcorn; Popcorn2; Popcorn(FVI); Pool; Push; Putup; Rick(1); Rick(2); Ricktus; Rockman; Rotors; Seymour; Squash; Sokoban(3); Starfighter; Star Raider; Space Shock; Tunnels of doom; Twinz; Zoo; Алибаба и 40 Разбойников; Алмаз; Арктика; Аэрокобра(1); Аэрокобра(2); Банан; Бармен; Башня; Бомбардир; Буря в пустыне; Воздушный бой; Воздушный шар; Дорога; Дракула; Домино; Дуель; Звездный торговец; Ирак; Калах; Конь; Корона; Космическая Прогулка; Космические Призраки; Кубик; Лагуна; Миксер; Мина; Мины2; Морской Бой; Мрак; Мячик; Орел; Отравленный пирог; Охота; Паравозик(bas); Патруль; Подземелье; Полёт; Попрыгунчик(1); Попрыгунчик(2); Попрыгунчик(3); Предание Старины Глубокой; Президент; Пьяный Лифтер; Реванш; Реверси; Сафари; Слалом; Сокровища призраков 2; Станция товарная; Странник; Стрельба по самолету; Супер лабиринт; Тетрис 1; Тетрис 2; Тетрис 3; Тетрис 4; Тетр-С; Тигры; Торпедная Атака; Узник подземелья; Утки; Фермер; Цветные Линии; Цветные Линии(3); Черви; Черный Плащ; Шахматы; Шахматы для Начинающих; Шахматы для Продолжающих; Шашки; Шпион FVI
  • Знал, что чего-то да забуду.....
    в шапке забыл отрегулировать " количество памяти", "адрес вершины стэка"
    и оно там в пять раз больше, т.е. в выложенном сюда установлено "0x1000000", а сейчас сделал "0x200000", работает.

    use32 ; включить 32-битный режим ассемблера
    org 0x0 ; адресация с нуля
    db 'MENUET01' ; 8-байтный идентификатор MenuetOS
    dd 0x01 ; версия заголовка (всегда 1)
    dd START ; адрес первой команды
    dd I_END ; размер программы
    dd 0x200000; 0x1000000 ; количество памяти
    dd 0x200000; 0x1000000 ; адрес вершины стэка
    dd 0x0 ; адрес буфера для параметров
    dd 0x0 ; зарезервировано

    Вопрос стоит ли ТОЛЬКО из-за этого выложить генератор заново ?
    З.Ы. Предложения Yason`а, в офтопе, viewtopic.php?f=10&t=370&start=255#p64581 , не увенчались успехом, :-( отрегулировано вручную, не вникая в тонкости, почему не получалось.
  • Перенес все сообщения вслед другим, в раздел Оффтоп, тема Вопрос.
    to infinity and beyond
  • ...
  • SAS emulator 1.41 Beta.

    05-04-2016
    SAS emulator 1.41 Beta:
    Некоторые исправления в генераторе для КОС (Generate to KOS). Добавлены игры:
    2048=2048.SasLVE; Прорыв=breach2.SasLVE ; Dr.Mario=drmario.SasLVE ;
    Merlin 4=merlin4.SasLVE; Rick(3)=rick(3).SasLVE ; Лабиринт(SAS)=saslab.SasLVE
    Кто хочет скачать, но не знает где и как, - пишите в ЛС. :-)
  • Исходники эмулятора.
    Изначально я хотел выложить архив с пошаговыми (промежуточными) исходниками, т. е. с самыми существенными сохранениями кода на протяжении всего преобразования эмулятора из Дельфи в Фасм. Но, просматривая весь свой архив, я понял, что это невозможно, так как, промежуточных сохранений слишком уж много, также в них немало всякого «мусора» и «откатов назад» неизвестно на какую позицию и т.д.. Поэтому, я решил выложить самый начальный исходник написанный на дельфи, несколько «отфильтрованных» начальных исходников, а также полученный фасм-результат для КОС. При большом желании, разобраться что-к-чему и понять как преобразовывался эмулятор из Дельфи в Фасм, я думаю, можно.
    Цель выкладывания исходника эмулятора никак не для обгаживания автора и его кода :-( а для желающих усовершенствовать эмулятор или же на базе его создать, что-то своё. Всё так в эмуляторе реализован процессор КР-580 и тот код вполне может быть использован для написания других эмуляторов ретро-машин в которых использовался КР-580.
    Прошу всех, которые желали увидеть (и использовать) исходники эмулятора, приятно удивить автора, удивить тем, что данный код может быть использован для создания чего-то нового или же код может быть использован для существенного, качественного преобразования данного эмулятора.
    Наверное, код эмулятора необходимо выложить на СВН, хотя я этого точно не знаю, т. е. нужно ли это. Сам лично я СВНом не пользуюсь, да и вообще :-) недолюбливаю его почему-то. :-) Ну это не важно.
    На данный момент и у меня каких-то идей для КОС нету и вряд ли появятся в ближайшее время.
    Еще раз, всем спасибо за всё! До новых встреч на форуме! :-) Успехов!
    SOURCE_EMUL.7z (549.92 KiB)
    Downloaded 392 times
    Описание архива:
    папка «SOURCE_DELPHI»....
    Папка «000» - самый изначальный вид эмулятора, какой я скачал на одном из форумов. У меня он не запускался, вычистил и добился запуска.
    Папка «001» - вычистил всё лишнее и ненужное мне.
    Папка «002» - максимально упростил эмулятор, оставил только всё самое необходимое.
    Папка «003», «004» - ну тот тоже «вычистка» и преобразование для более безболезненного «переноса» кода в Фасм.

    Папка «SOURCE_FASM» - последняя версия эмулятора, на асме.
  • Может есть смысл добавить это в distr?
  • Можно. Его кто-то тестировал?
    (Бейсик перед добавлением я проверял.)
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 2 guests