Мелкое косметическое улучшение. DIR теперь печатает в 4 колонки и быстрее, а то было неудобно, когда много фалов или каталогов.
sof был здесь
Мелкое косметическое улучшение. DIR теперь печатает в 4 колонки и быстрее, а то было неудобно, когда много фалов или каталогов.
sof был здесь
Последний раз редактировалось ivagor; 06.04.2018 в 16:33. Причина: убрал старый sof
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ускорил турбу с 5 до 7,5 МГц. Теперь турба переключается кнопкой KEY1 (раньше - переключателем SW8). Индикация турбы (как и раньше) - LEDR8
sof
Выкладываю исходник. Единственное отличие от бинарников - выпилил турбу. Оставил ее в качестве бонуса для выкладывания на github.
ivagor, как то у вас просил спрашивал адаптировать эмулятор под Орион
отзывались уклончиво помню
вот про это
http://sensi.org/scalar/ware/605/
под орион с z80 былобы чудесно
Нельзя просто адаптировать эмулятор спека с вектора на орион, нужна аппаратная поддержка.
Что в принципе возможно:
1. Заменить 8080 на z80 для того, чтобы заработали конверсии, сделанные в начале 90х.
1.1. В варианте радио (московский?). Некоторым игрушкам этого достаточно.
1.2. Ленинградская z-card II Чистякова (если не путаю название). Тогда пойдут все игрушки. Но и для пункта 1.1. и 1.2. нужно вспомнить, вернее разобраться заново, как стартуют эти игрушки. Т.к. доса у меня не будет, надо какой-то минимально достаточный костыль. Несколько лет назад я зачем-то (не могу вспомнить зачем) адаптировал exolon для запуска с ром-диска из под ордос, но сейчас я все забыл, надо смотреть по новой.
2. Реализовать аппаратную составляющую для эмуляции спека.
2.1. Насколько помню, Error404 упоминал, что для ориона был свой вариант аппаратно-программного эмулятора, подобный векторовскому. Если есть информация по тому варианту и софт (спековский бейсик+софтовая поддержка эмуляции), то можно попробовать реализовать. Но лучше, если сначала b2m поддержит такую штуку в emu.
2.2. Можно изобрести свой велосипед, новый и блестящий. В плисе можно хоть целый спек к ориону прикрутить без оглядки на реал, но кому это нужно?
Ну и все же делается just for fun, а основной фан этой темы я уже получил копаясь в векторовском эмуляторе спека, теперь того задора уже нет.
Про аппаратный эмулятор спека (там в-основном надо эмулировать экран, и клавиатуру) я слышал только сильно краем уха в 90-х из бумажных рассылок barsik-а и что-то в виде схемы или ПО никогда не видел (так что не исключаю что в виде готовой методички этого могло и не быть - опять кто-то что-то сделал в одном экземпляре, прокричал на всю страну, и всё). К сожалению, barsik-а уже выпилили и его не расспросить (я был против этого как раз потому).
Что до эмуляции, то я вижу наиболее правильный способ таким:
- вводится NMI 50Гц в противофазе к прерыванию по КСИ из Z80 CardII (и тоже отключаемое каким-то портом) и в режиме эмуляции ZX (или эмуляции еще чего-то)
- по NMI 25 раз в секунду (из 50) перекодируется ч/б экран. Аппаратно экран для режима эму-ZX при этом находится с 0000h (экран N3) перекрытый диспетчером ОЗУ который в этом окне есть как у Ориона-ПРО, так и у Z80 CardII (т.е. с 0000h по 3FFFh находятся и реальный экран и с диспетчером ZX-бэйсик поправленный чтобы с 66h был обработчик NMI).
- Порт FE/D4 на вывод звука уже есть в Орионе-ПРО и у Z80 CardII, на этом же порту вешаем ОЗУ размером не менее 256 байт (1 корпус статики), которое читается ПО спека с порта FE (5 бит ШД адресуясь по A8..A15), а пишется эта ОЗУ (актуализируется "матрица кнопок" соответствующая реально нажатым клавишам) процедурой обработки NMI в прочих 25 кадрах из 50 вместе с цветовыми атрибутами экранаZX через некий доп. порт.
Аппаратно это решение простое, годится как для Ориона-ПРО так и Z80 CardII, по ресурсам ЦПУ вполне поместимся даже в 3,9М (5+Wait), т.к. у Спека с его вейтами реально ниже 3М.
Последний раз редактировалось Error404; 05.05.2018 в 22:48.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Error404, barsik'а приняли здесь. Читани, это он тебе отвечает.
Если все же изобретать более-менее реалистичный (без полного спека в плисе) велосипед, то я бы выбрал вариант поближе к векторовскому. Т.е. эмуляция (ч/б) экрана перепутыванием адресов и эмуляция портов перехватом по nmi. Эмуляция цвета программная.
У такой комбинации есть пара преимуществ:
1. Сравнительно небольшие требования к быстродействию. Даже 3 МГц вектора более-менее хватает.
2. Если сделать нормальный перехват обращения к портам (например по маске), то можно и полный эмулятор msx сделать, который не только bios эмулирует. Правда вот для этого пункта скорость уже нужна как минимум на уровне ориона-про.
Недостатки:
1. Если делать простое перепутывание адресов (без суммирования с константой), то спековский экран будет смещен влево. Но справа можно отобразить какую-нибудь служебную информацию (режим работы и т.п.).
2. В программах, не опрашивающих клавиатуру (демки и все такое), цвета не будет (или будет, но неправильный). На мой взгляд не проблема, т.к. демки не для такого рода эмуляторов.
Но я все же ориентировался на готовое, проверенное решение. За 10 минут не сделаешь все с 0, да и за час и за два. Кроме того, реально существовавшую железку b2m может и реализовал бы, а подобный новодел - сомневаюсь. В лучшем случае скажет - "сначала сделай, потом посмотрим". Т.е. отладка сильно затрудняется.
Наличие barsika на меня не повлияло бы, т.к. он (один) в моем игнорлисте.
Последний раз редактировалось ivagor; 06.05.2018 в 06:48.
Может быть, будет интересно, для хронологии.
Первый "Орион-128" на DE1 (а, может быть, вообще на FPGA), думаю, сделал мой товарищ в 2008 году - он тогда начал изучать ПЛИС и "Орион" сделал в качестве учебного проекта, в память о старом увлечении (и поделился проектом кое с кем из обитателей форума.). Проект использует ядро Т80 в режиме Z80, имеет ROM-disk и работает с IDE-накопителем. У Denn даже осталась фотография работающего "Ориона" на DE1 с загруженным DS-DOS и подключённым накопителем на CF.
К сожалению, автору проекта не удалось зарегистрироваться на этом форуме.
Последний раз редактировалось AlexBel; 21.01.2019 в 10:58.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)