Важная информация

User Tag List

Страница 107 из 136 ПерваяПервая ... 103104105106107108109110111 ... ПоследняяПоследняя
Показано с 1,061 по 1,070 из 1351

Тема: Орион-128: Разное

  1. #1061
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Было такое)
    Но тут, с обернутым файлом ZX или MSX, пользователь и не подозревал что это эмулятор. Все выглядело как будто это PC игрушка.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  2. #1062
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от error404
    Эмулятор b2m умеет то, о чем пишет barsik
    Тут речь о двух разных задачах. Первая это сделать MSDOS версию игры ОРИОНА, причём так, чтобы по выходу из игры (нажатием какой-либо клавиши, например F10), происходил бы не рестарт эмулятора, а сразу выход в MSDOS.

    А вторая задача, которая намного сложнее, это использование программ CP/M, что используют некоторые свойства CP/M, не позволяющие их использовать с обычным эмулятором CP/M, наподобие 'CP/M program executor'. Кстати, по первому впечатлению, DOS-версия этой японской программы 1999 года вряд-ли лучше, чем 22NICE 30-ти летней давности. Но вот Windows версия очень полезна тем, кто имеет Windows не XP, отчего не может прогонять MSDOS-программы напрямую, а вынужден трахаться с DOS-BOX-ом.

    Любой эмулятор ОРИОНА может делать автозапуск игры. Что собственно и делается, когда при запуске эмулятора мы оказываемся в VC$ ORDOS. Достаточно разместить в квазидиске 'B' ORDOS-файл с именем EXT$ и сам файл с кодом подлежащий автозапуску.

    Но это совсем не то. Особенно, если речь о новомодном эмуляторе написанном на ЯВУ с объёмом кода почти в мегабайт. Тратить мегабайт для каждой игры ОРИОНА размером в 10-20 кб, не смешно. Удачно, что у меня код эмулятора КР580 это ~70 кб, а Z80 это ~90 кб. Более половины кода это встроенный монитор-отладчик и кусок для работы с файлами, написанный на СИ. Если это выкинуть и убрать реакцию на все клавиши (кроме F10 для аборта), то к каждой игре будет добавляться всего ~20...40 кб кода (это блок эмуляции CPU и визуализатор).

    Неудобную оверлейную версию, в которой при старте будет искаться файл с кодом игры под именем GAME.ORD я могу сделать за час (это надо, чтобы кучу всего поудалять в исходнике). Это конечно малоудобно, т.к каждый раз для запуска очередной игры надо переименовывать файл (впрочем, если у Вас Win XP, где есть поддержка BAT-файлов MSDOS, то это автоматизируется).

    С очень небольшими хлопотами (для каждой игры) можно делать однофайловую версию для каждой игры. Имея IDA это тоже очень просто (с помощью IDA достаточно получить исходник игры, причём даже не полноценный исходник, а просто длиннющий блок DEFB операторов, чтобы при линковке код игры встроился в программу).

    Но в идеале хотелось бы сделать компилятор игр. Его запускаем, в панели прокрутки выбираем игру, нажимаем <Enter> и на винт записывается один EXE-файл, содержащий готовый код программы для запуска в MSDOS или Windows. В ближайшие дни попробую сделать EXE-файлы некоторых КР580 игр ОРИОНА, что у меня сохранились (Z80 игры не сохранились).

    Интересно, где можно найти переделанные подобным образом игры от ZX-Spectrum? Т.к возиться с эмуляторами, образами дисков и т.п. - утомительно и лениво. И не всякий разбирается в TR-DOS или умеет набрать LOAD "", - удобнее просто запустить игру кликнув мышкой.

    PS. Конечно все игры ОРИОНА делать EXE-файлами не стоит. Зачем отвращать людей некрасивыми или неинтересными играми (т.е с низким игровым аспектом).
    Последний раз редактировалось barsik; 18.05.2017 в 22:36.

  3. #1063
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Не видел ни в MSDOS, ни в Windows ассемблера, который брал бы извращённый формат исходников для ассемблера МИКРОН. Я как раз этим измучен. Приходится вручную часами исправлять старые исходники, чтобы их можно странслировать с М80. Уходит 2 часа на каждый исходник (особенно "достаёт" когда метки русскоязычные и используют "знак вопроса"), дополнительная трудность как раз в том, что M80 зависает от русских букв.
    Вот тут идея появилась. Есть такой проект The ZX Basic Compiler, написан он на Python. В нем используется парсер PLY. Я думаю, кто с программированием знаком по не наслышке, будет не сложно сделать перекодировщик с ассемблера Микрон в ассемблер М80. Python очень простой язык, почти как Бейсик.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  4. #1064
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересные игры на Орионе? Это что-то мне неизвестное. Серьезно, если задача поиграть в неудобных DOS-видеорежимах, то есть миллион играбельных (в отличие от орионовских убогих) игр времен ХТ, 286, 386. Уже в EXE.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #1065
    Member
    Регистрация
    12.12.2014
    Адрес
    г. Сыктывкар
    Сообщений
    74
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Интересные игры на Орионе? Это что-то мне неизвестное. Серьезно, если задача поиграть в неудобных DOS-видеорежимах, то есть миллион играбельных (в отличие от орионовских убогих) игр времен ХТ, 286, 386. Уже в EXE.
    Играл Сокобан Горяев (электросталь) - очень хорошая игра. Правда на ИБМ я в нее тоже играл, наверное на Орион ИБМовскую както и переделали.

  6. #1066
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вредный Error404, играли все и радио любители и залетные товарищи, это было интересно. Целые вечера просиживали)

    Даже дедушка в шахматы рубился)
    Последний раз редактировалось OrionExt; 19.05.2017 в 19:41.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  7. #1066
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #1067
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию О пользе от регистра R

    Имею вопрос к авторам эмуляторов отечественных 8-ми разрядок на Z80.

    В процессоре Z80 есть регистр R, служащий для регенерации памяти. К сожалению, эта регенерация памяти ни программно, ни аппаратно не отключается, что возможно ускорило бы Z80. Поэтому при написании эмулятора встаёт вопрос его эмуляции.

    В эмуляторах ZX-Spectrum этот регистр безусловно приходится эмулировать, т.к его используют некоторые программы, чтобы защититься от прогона в отладчике. А также некоторые программы используют регистр R как однобитовый флаг, пользуясь тем, что вектор регенерации в динамических ОЗУ (РУ3 и РУ5) семибитовый, отчего бит D7 в регистре R не меняется со временем.

    Однако в программах всех отечественных 8-ми разрядок, что изначально построены на базе КР580 и в которые с целью турбирования был установлен процессор Z80 (т.к КР580 не турбируется в силу отсутствия его скоростных вариантов), регистр R не используется, отчего его полная эмуляция необязательна (но бит D7 в регистре R надо эмулировать, это используется).

    Неточная эмуляция Z80 в эмуляторах позволяет программно определить прогоняется ли программа в эмуляторе (программном или аппаратном) или же на реальном Z80. Например, в эмуляторе точно не будет соответствия с реалом, если используется схема турбирования с WAIT, есть WAIT для отдельных портов или в системе работает ПДП. Достаточно, по прерываниям 50 Гц установить скорость Z80, например понять, что Z80 работает в режиме Турбо-142%, а затем пользуясь этой информацией проконтроллировать корректность работы регистра R. Так что не составляет труда программно вычислить эмулятор. Кстати, в эмуляторах также обычно несинхронный и неточный период прерываний 50 ГЦ, что также позволяет вычислить эмулятор. Это позволяет защитить ценную программу изначально защищённую форматом МГ-записи от взлома и прогона в эмуляторе.

    К сожалению, я не имею инфо о работе регистра R. Когда вводится дополнительный такт /RFSH и инкрементируется R? Вводится ли он вообще в каждой команде Z80 (например IN/OUT), как и сколько их вводится в командах типа LDIR? Зависит ли число вводимых тактов RFSH (после каждого из которых инкрементируется R), от того происходит ли в команде одно обращение к памяти или два (в командах работы со словами).

    Как видите, по существу эмуляция регистра R в эмуляторе просто бессмысленна, т.к полного соответствия с реалом всё-равно не достичь и в программах регистр R не используется. Эмуляция регистра R, только бесполезно тормозит эмулятор, не позволяя ему работать на медленной 386-той (не говоря уже о 286). В моём эмуляторе есть ключ 'NO_R', позволяющий странслировать версию, как с эмуляцией регистра R (инкремент R на 1 после прогона любой команды), так и более скоростную версию без R.

    Таким образом сам регистр R совершенно бесполезен, а вот сигнал /RFSH можно использовать аппаратно.

    Простейший вариант использовать /RFSH - как такт равный примерно десятой части клока Z80. Удобство в том, что этот сигнал пропорционален такту Z80.

    Удобно использовать этот сигнал для восстановления режима Турбо. В турбированных ОРИОН-ах при обращении к КНГМД делают аппаратное переключение на НЕТУРБО. В качестве управления используют сигнал HLD (Head Load) из ВГ93. Этот сигнал взводится по первому же обращению к ВГ93 и длится ещё 5 секунд после последнего обращения к ВГ93. Если /RFSH подать на счётчик (на 256), то мы сможем вернуть режим Турбо сразу-же по окончании работы с НГМД, что позволит существенно ускорить обмен с НГМД. Потому что сейчас в CP/M после считывания физ.сектора в дискетный буфер, выполняется пересылка блока в 128 байт на адрес DMA на скорости НЕТУРБО, отчего скорость работы с НГМД 10-ти мегегерцового ОРИОНА такая же, как на базовом ОРИОНЕ. Тогда взвод триггера НЕТУРБО происходит по каждому обращению к ВГ93, а его сброс спустя определённое число команд Z80, отчего пересылка на адрес DMA происходит уже на максимальной скорости.

    Ещё полезнее /RFSH, когда нам требуется выдавать короткие импульсы жёстко определённой длины. Например, для программного обмена по линии, короткий нулевой импульс кодирует 0, а длинный 1. Обычно ставят два аналоговых одновибратора АГ3 и взводят их стробами портов. Но это нестабильно и ненадёжно. Проще и более гибко поставить ИЕ7, заведя на его входы предустановки 4 бита от ППА клавиатуры. Тогда для выдачи импульса в линию, записываем его нужную длину в 4 бита ППА и даём строб на какой-то порт. По стробу взводится триггер выдающий 0 в линию, в ИЕ7 происходит загрузка с параллельных входов и взвод триггера одновременно переводит Z80 в WAIT. После чего Z80 стоит, но выдаёт такт /RFSH с стабильным периодом (4 маш.такта), который поступает на вход вычитания ИЕ7. Когда ИЕ7 досчитает до 0, сигнал с его выхода "перенос" сбросит триггер, что окончит импульс в линию и освободит Z80. Т.к предустановку стартового веса счётчика можно программно менять, то получается программно управляемый генератор импульсов, что существенно упрощает аппаратуру скоростной передачи по линии.

    Цитата Сообщение от error404
    Интересные игры на Орионе? Это что-то мне неизвестное
    Да, большинство игр ОРИОНА имеют низкий игровой аспект. Но всё же есть часть игр, что не уступают в качестве играм ZX-Spectrum. Вот неполный список вполне приличных игр КР580: ALMAZ-3, BATTY, MOON FOX, LODE RUNNER, BUDI, TUTANHAMON, SILENT SERVICE, DTE, MANIC-MINER, JET-SET, THRUSTA, CHRONOS, PSST, XONIX от RK86
    Последний раз редактировалось barsik; 20.05.2017 в 11:27.

  9. #1068
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Например, в эмуляторе точно не будет соответствия с реалом, если используется схема турбирования с WAIT, есть WAIT для отдельных портов или в системе работает ПДП.
    Почему не будет? Ничего невозможного тут нет.

  10. #1069
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    Почему не будет? Ничего невозможного тут нет.
    Просто оно нафиг не надо. Если человеку критично 653530 тактов или 653539 тактов между прерываниями, то значит он борется с запрограммированным косяком архитектуры. Архитектуру надо выбирать правильно, а не такты считать.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  11. #1070
    Member Аватар для makbar
    Регистрация
    04.06.2016
    Адрес
    г. Ярославль
    Сообщений
    100
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    А SP-DOS это вообще полнейшая туфта. Любая другая система лучше и нет смысла её эмулировать в эмуляторе.
    ага) только я, как автор этого контроллера и системы, получил тут только одобрительные отзывы. Поклонники даже дезассемблировали её как образец.
    Контроллер был с самого начала сделан по уму (читай спецификациям) без колхозанства. Я как увидел резюки на шине "ленинградских" версий, чтобы ВГ93 работали устойчивее, которые толкали на тушинском радиорынке, так сразу мне всё ясно стало))
    А система SPDOS была самодостаточна, и цель сделать её СП\м совместимой никто не ставил. Ну да ладно, дела дано минувших дней))

    - - - Добавлено - - -

    Цитата Сообщение от Stampmaker Посмотреть сообщение
    можно и я вставлю свои 5 копеек?

    вот тут поносят КНГМД Короткина (ж.Радио №12, 1992г).
    а чем он плох, что SPDOS не полноценная операционка? но это отличная замена магнитофону.

    а теперь ситуация.
    предположим, что какой-то человек собрал Орион и хочет сохранять где-то свои файлы. магнитофонов уже давно нет. а как сохранять? ну соберёт он этот КНГМД для СР/M и что дальше? где он саму дискету CP/M'овскую возьмёт? ок, допустим, ему выслали такую дискету. он её вставил раз-два-три раза. а тут опа! внезапно слетел загрузочный сектор. дисковод оказался не совсем хорошо работающий. и что делать дальше?

    отсюда собственно вопрос по существу: вот у меня КНГМД под СP/M. как собственноручно поставить CP/M?
    o!? вот оно оказывается как))) еще и гимор можно поиметь.

    з.ы.Еще раз спасибо за теплые слова к моей разработке.

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    О М.Короткине я вообще ничего не знаю и услышал о нём сегодня впервые.---
    Поэтому когда SP-DOS опубликовали, это уже никому было не надо
    На всякий случай напомню, что расстояние от знакомства до подготовки материалов и публикации занимало до полугода.
    Т.е. в журнале в конце 92 года опубликовали то, что у меня уже год как работало, вернее кормило меня, т.к. орион у меня был не сам по себе, а мозгом продвинутого программатора. А на момент публикации SPDOS 3.6 у мнея уже крутилась 4.3 с "нортоновским" интерфейсом.

    У меня есть ответ на этот вопрос.

    Можно взять дамп CP/M из иностранных журналов (напр. Funkamateuer 04.1989), как сделал я. Удобнее всего попросить владельца КОРВЕТА считать системные дорожки и скинуть их на ленту в МГ-формате ОРИОНА. Иначе надо достать любую дискету с CP/M, например, от СИНКЛЕРА или КОРВЕТА и написать программку считывающую в ОЗУ 3 (или 2) системные дорожки. Дизассемблером МИКРОН дизассемблируете CCP, BDOS и BIOS. Затем изменяете в BIOS адреса В/У, модифицируете CONIN, CONOUT и забиваете в WBOOT подкачку кода BDOS с дискеты. Затем всё снова транслируете уже для адресов ОРИОНА. Грузите в ОЗУ с ленты CP/M на рабочие адреса и стартуете на WBOOT. Вы оказываетесь в CP/M и можете читать чужую дискету с программами CP/M. Первым делом в ОЗУ считываете форматёр и выводите его на МГ-ленту. Затем дизассемблируете и адаптируете форматёр для адресов ОРИОНА. После этого форматируете дискету и записываете на неё CP/M ОРИОНА уже с полноценной подкачкой кода BDOS, делаете программку загрузчика и загружаетесь в CP/M ОРИОНА. Далее с помощью POWER-а командами LOAD и SAVE копируете на дискету ОРИОНА все нужные Вам программы CP/M. Но ещё проще это сделать, если Вы имеете свой КОРВЕТ. Это несложная работёнка доступная даже малоопытному программисту.
    улыбнуло.
    Разработчик КНГМД для Специалиста и Ориона128, автор SPDOS (журнал "Радио" 12/1992, 1-2/1993). Манускрипт, датированный 1993-94гг: Отладка контроллера SPDOS SPDOS v4.3

Страница 107 из 136 ПерваяПервая ... 103104105106107108109110111 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Специалист: Разное
    от Splinter в разделе Специалист
    Ответов: 171
    Последнее: 09.05.2018, 07:50
  2. Видео про спекрум новое разное
    от AAA в разделе Новости
    Ответов: 19
    Последнее: 05.08.2016, 22:57
  3. Куплю Поиск, Радио - 86, Орион, БК
    от luzanov в разделе Барахолка (архив)
    Ответов: 23
    Последнее: 03.04.2007, 17:50
  4. Ответов: 4
    Последнее: 05.10.2006, 20:18
  5. Я готов купить Радио и Орион
    от Shaos в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 18.12.2005, 22:15

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •