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 362 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