Просмотр полной версии : Орион на DE1
И еще один (третий или четвертый) орион на плис. Теперь на DE1 (вроде еще не было). Классика - ВМ80, 256 Кб.
Пробный sof (последний sof здесь (http://zx-pk.ru/threads/28980-orion-na-de1.html?p=958289&viewfull=1#post958289), исходник здесь (http://zx-pk.ru/threads/28980-orion-na-de1.html?p=959147&viewfull=1#post959147), sof (устаревший) для de2 здесь (http://zx-pk.ru/threads/28980-orion-na-de1.html?p=956874&viewfull=1#post956874))
Стартует в xsd b2ma (выбор каталога - DIR, изменение каталога - CD). Запускает .bru (раширение указывать не обязательно) или .ord (расширение обязательно!). Файл загружается на диск B: и управление передается ORDOSу.
Рестарт - KEY0, турбо - SW8.
Много заимствований у b2ma. Если постараться, то можно разглядеть влияние Ewgeny7. К моменту выкладывания исходников надеюсь уменьшить влияние и заимствования.
Долго рестартует. Планирую потом доработать.
Теперь на DE1 (вроде еще не было).
не знаю что это, но проект датирован январем 2011 года
Похоже это порт Орион-2010 :(
не знаю что это, но проект датирован январем 2011 года
Случайно не VGA_1_13_DE1? У меня (на "новой" DE1) эта штука не работает.
Если VGA_1_13_DE1 работает на старых DE1, то мне остается претендовать на первый орион, который может работать на новых ревизиях DE1.
А твоя на SDRAM ?
да
- - - Добавлено - - -
Немного доработал загрузчик. Теперь все попробованные bru/ord запускаются.
Обновленный sof был здесь
Пара доработок:
1. Рестарт теперь быстрый
2. Добавил компонент, переключение RGB/YPbPr - SW1. Соответствие сигналов: G-Y,B-Pb,R-Pr
Новый sof был здесь
Теперь все попробованные bru/ord запускаются.
а архивчиком их то жи можно?? в комплекте
Коллекция проверенных 1 (https://yadi.sk/d/NjXxGhua3TpBec)
Там 2 каталога, т.к. есть разные версии одних и тех же игрушек с одинаковым именем.
Обновленный вариант в комплекте с нашими с Tim0xой конверсиями msxных игрушек - старый sof был здесь
Пришлось изменить адрес служебного регистра, т.к. нашлась игрушка BOULDER (выложил в составе коллекции проверенных 2 (https://yadi.sk/d/oePKLPQn3TqxtS)) которая зачем-то пишет в память куда попало. У ее авторов своеобразное чувство юмора. Например, при старте пишет Decompressing, а в это время просто крутится пустой цикл.
Исходников не будет? А то у меня de2...
Исходников не будет?
Будут, но потом, есть желание внутри навести порядок.
Отмечу, что есть как минимум 3 ориона с исходниками, портированием которых можно заняться прямо сейчас:
1. Орион-2010 Ewgeny7 и его порты (в т.ч. мои на DE1-SoC и DE2-115);
2. Орион andreil для DE1-SoC
3. VGA_1_13_DE1 - автора, к сожалению, затрудняюсь назвать, может zebest подскажет.
2. Орион andreil для DE1-SoC
Этот проект на простенькую девборду не перетащить, уж очень много BRAM задействует. Да и то я пробовал первую версию, дальше автор полез уже в схемное программирование и с внешним обвесом. Трудно сказать, какая из его послендих версий чисто в FPGA работает. Ну и само собой там нету SD
3. VGA_1_13_DE1 -
я так думаю, это тот же
Орион-2010 Ewgeny7
ибо у меня два проекта, первый на EP1C3T100C8
ну а второй видимо вот автор
http://zx-pk.ru/threads/12701-orion-2010-na-plis.html?p=418160&viewfull=1#post418160
Ну и само собой исходники как бы тоже неплохо увидеть, есть у меня для себя пару моментов
Этот проект на простенькую девборду не перетащить, уж очень много BRAM задействует. Да и то я пробовал первую версию, дальше автор полез уже в схемное программирование и с внешним обвесом. Трудно сказать, какая из его послендих версий чисто в FPGA работает. Ну и само собой там нету SD
Последняя версия полностью в чипе работает. Для подключения внешних процессора и памяти пока что нет платы - жду её.
И мой проект больше как модель для последующей сборки в железе.
Последняя версия полностью в чипе работает.
Хорошо. Хотя этот схемный ввод :(( Попробую портировать себе. На SD так и нету же?
Хорошо. Хотя этот схемный ввод :(( Попробую портировать себе. На SD так и нету же?
Только если сгенерировать RBF, который прелоадером загружается - это легко. Прелоадер такой уже готовый есть. Могу хоть завтра сделать образ и дать всё для повторения ;)
нет. RBF я сгенерирую надеюсь сам, кстати у меня кроме них ничего в дев-борду не загружается, я имею в виду SOF:(. Вопрос был в том, чтобы этот проект Ориона мог читать с SD-карты файлы форматов bru/ord
Ну раз тут флудить начали, то скажу, что в проекте файла hex_led.vhd УЖЕ! не хватает)
мне то он без надобности, да и в самой первой реинкарнации был, но "Как-то неаккуратненько, Доктор!"(с)
upd
И мой проект больше как модель для последующей сборки в железе.
Это то как раз и понятно:( поэтомуу и предположил, что крайние версии уже не совсем для фпга
Ну по последней сборке. Собрал. Красненькое меню, ужасс дизайнера:), рамка как то не совсем правильная и справа мусор? это так задумано? Клавиатура для выбора конфы не работает :( В первой версии с синеньким меню VC она же работает.
Собрал пробный sof для DE2 (https://yadi.sk/d/BBbxV_hw3Tt3Mf). Проверить я его не могу, но есть шанс, что заработает (вектор же получился).
На всякий случай напомню ограничения xsd: SD должна быть "простая" (не SDHC), форматировать в FAT16.
Собрал пробный sof для DE2. Проверить я его не могу
На моём de2 запустилось. Спасибо! Буду разбираться. с Орионом раньше не сталкивался :)
SDOS это xsd доработанный PVV? Может я пропустил, но исходников не видел, только бинарники.
- - - Добавлено - - -
Уточню - исходники "старых" доработок PVV, где он добавил к xsd b2mа запись и убрал FAT12 я видел. Но мне запись не нужна.
Приветствую всех. Исходники актуальной версии SDOS здесь (http://www.nedopc.org/forum/viewtopic.php?f=71&t=9407&start=240#p143547).
Там уже есть поддержка Ориона, с тремя типами SD интерфейса: HWM_PVV, b2m(msx) и n8vem. Мною интерфейсы b2m и n8vem проверены только в эмуляторах, а вот HWM_PVV проверялся на реале, его же использует и zebest. FAT12 там не убрана совсем, а лишь отключена через define, при необходимости ее можно спокойно включить.
- - - Добавлено - - -
Добавлю, что SDOS для Ориона умеет копировать файлы *.ORD с SD на RAMдиск и сохранять файлы с RAMдиска на SD.
Попробовал SDOS. Каталоги показывает, между каталогами перемещается. Прочитал rko на ramdisk, но он оттуда не запустился. Потом может поразбираюсь.
Некоторые сервисные возможности возможно добавлю в xsd, это я могу и сам.
А вот поддержку SDHC могу только сплагиатить, например из SDOS. Но учитывая историю, что я несколько лет назад скачал примеры инициализации SDHC и так ничего и не пробовал с ними делать, думаю это затянется.
- - - Добавлено - - -
Попробовал в SDOS еще rko и дошел до работающих.
MOLE, ZOO - не запускаются
LAND - запускается, в игре (после выбора скорости) не реагирует на клавиатуру. Возможно это недоработка моей реализации ориона, но с xsd пара вариантов LAND (bru) нормально работают
DOWN TO EARTH - нормально работает
- - - Добавлено - - -
Пара слов про SDHC. Отформатировал одну карточку в FAT16, записал несколько файлов. SDOS ее не видит (по DIR зависает).
Вторая SDHC (у меня их всего две) в FAT32 и переформатировать в FAT16 сейчас не могу, там нужные файлы.
Под какой тип SD интерфейса собран SDOS? в каких адресах размещается сам код SDOS и буфера для работы с FAT, они не накладываются? Размер кода SDOS меняется в зависимости от типа SD интерфейса, самый компактный получается с HWM_PVV, немного больше с b2m и самый раздутый с n8vem.
Попробовал в SDOS еще rko и дошел до работающих.
MOLE, ZOO - не запускаются
LAND - запускается, в игре (после выбора скорости) не реагирует на клавиатуру. Возможно это недоработка моей реализации ориона, но с xsd пара вариантов LAND (bru) нормально работают
Посмотрел ZOO, так она читается в область 0000-3А00, а по адресу 0000, куда у меня передается управление после загрузки, стоит С3 F0 4B, те jmp 4BF0 ?! но это же за пределы программы переход, вот и не запускается... может адрес старта после загрузки в rko файлах отдельно где то хранится?
Пара слов про SDHC. Отформатировал одну карточку в FAT16, записал несколько файлов. SDOS ее не видит (по DIR зависает).
Вторая SDHC (у меня их всего две) в FAT32 и переформатировать в FAT16 сейчас не могу, там нужные файлы.
на карте должен быть ПЕРВИЧНЫЙ раздел, размером не более 4ГБ, тогда его можно отформатировать в fat16. Что пишет SDOS при инициализации этой карты? FAT16 надпись появляется?
Вот здесь (http://zx-pk.ru/threads/28704-sd-karty-i-kontrollery-realizatsii-fat.html?p=953635&viewfull=1#post953635) я выкладывал файлы для эмулятора b2m, с ромдиском, в котором SDOS прописана, можно посмотреть что происходит.
Под какой тип SD интерфейса собран SDOS?
SD_msx
в каких адресах размещается сам код SDOS и буфера для работы с FAT, они не накладываются?
Не менял, скомпилировал как было
на карте должен быть ПЕРВИЧНЫЙ раздел, размером не более 4ГБ, тогда его можно отформатировать в fat16. Что пишет SDOS при инициализации этой карты? FAT16 надпись появляется?
Раздел первичный 2 Гб (карта 8 Гб). Скомпилировал без SD_DBG_PRINT, поэтому FAT16 не пишет.
Посмотрел ZOO, так она читается в область 0000-3А00, а по адресу 0000, куда у меня передается управление после загрузки, стоит С3 F0 4B, те jmp 4BF0 ?! но это же за пределы программы переход, вот и не запускается...
Наверно не стоит ориентироваться на заголовок .RKO. Если посмотреть дальше заголовок ORDOS, то ZOO должен загружаться с адреса 14ADh
Раздел первичный 2 Гб (карта 8 Гб). Скомпилировал без SD_DBG_PRINT, поэтому FAT16 не пишет.
Я проверял на картах 4, 8 и 16ГБ, работало, но статистика нужна. Лучше, на данном этапе, эту печать включить, проще понять что происходит.
Наверно не стоит ориентироваться на заголовок .RKO. Если посмотреть дальше заголовок ORDOS, то ZOO должен загружаться с адреса 14ADh
Да, увидел. Нужно определиться что первичней, или исправить это разночтение. Поправил в ZOO и MOLE заголовок RKO адресами из заголовка ORDOS, и они заработали.
Я проверял на картах 4, 8 и 16ГБ, работало, но статистика нужна. Лучше, на данном этапе, эту печать включить, проще понять что происходит.
Проблема была в утилитах форматирования. То, что они создавали, win воспринимал нормально, а SDOS - нет. Но с использованием diskpart отформатировал так, чтобы устроило и win и sdos. Заработало!
Добавил поддержку RKO (править файлы RKO не надо, работают в исходном виде). Вышеперечисленные игрушки работают. Насчет LAND я ошибся - тоже работает, только клавиши управления отличаются от bruшного варианта (чего я не ожидал). Пришлось убрать FAT12, т.к. не утрамбовывалось в 2 Кб (а очень хотелось, чтобы утрамбовалось).
При старте BRU расширение указывать не обязательно.
Для ORD и RKO - обязательно!
Соответствующий sof (https://yadi.sk/d/bI5WF4ZZ3TuzSN)
И для интересующихся sof с SDOS (https://yadi.sk/d/LyYIeU7Y3TuzW9). Стартует в ORDOS, на ром-диске кроме VC еще и SDOS (версия с отладочной печатью).
Немного оффтоп по SDOS:
если использовать SD интерфейс HWM_PVV, то код сократится на ~16 байт, а в ПЛИС изменить схему проблем не составит. Код реализации SD интерфейса HardWareMan выкладывал в ветке по СпециалистуМХ и zebest этот код использовал совместно с SDOS, все работает. Этот интерфейс, в добавок, еще и быстрее работает чем msx. SDOS можно собрать отключив запись на SD - define RWR (только для Ориона надо закрыть этим дефайном функции C_SRD и C_LRD),- и получится практически как исходный xsd от b2m, но с поддержкой SDHC карт. Сейчас специально собрал так SDOS, код получился 1914 и 1931 байт, для интерфейсов HWM_PVV и msx соответственно.
Естественно, никто не мешает собрать SDOS как запускаемый SDOS.RKO файл, и запускать его при необходимости с полным функционалом на запись, только нужно следить, что бы адреса размещения кода не пересекались (я делал так при отладке - двух этапный запуск, из основного SDOS запускался SDOS1, который размещался в памяти ниже основного SDOS, а из SDOS1 запускал SDOS2, размещаемый по адресам SDOS, а область для буферов оставалась одной и той же для всех этих версий).
Еще можно подумать и сделать полный функционал загружаемым. В основном SDOS на функции записи сделать RET, а загружаемый файл дополнений, который будет меньше килобайта, загружаемый в притирку к основному, при запуске эти RETы пропатчит на себя, или вообще своим хвостом перепишет эти RETы, если их разместить в начале базового SDOS.
PVV, из "быстрых" интерфейсов я пробовал c xsd zcontroller от спековского проекта (автор vlad, если не путаю). Ускорение заметно невооруженным глазом, но при загрузке больших (несколько сотен килобайт) файлов. Для ориона имхо мало смысла в быстром контроллере, это сложно будет заметить, по крайней мере при загрузке bru/ord/rko. Если честно, у меня там и кроме собственно загрузки есть что ускорить, просто уже и так достаточно быстро (на глаз быстрее sdos, хотя надо бы замерить).
zebest, в sdos я пробовал запускать только вот эти (http://zx-pk.ru/threads/28980-orion-na-de1.html?p=956943&viewfull=1#post956943) rko (про LAND я потом написал, что работает). BRU не пробовал. Собственно SDOS я не модифицировал, кроме минимальной настройки defs.inc (адреса портов, выключение/включение отладочной печати). Если в эмуляторе в SDOS этот BRU работает, то проблема в стыковке с моим проектом, а если и в эмуляторе не работает, то это вопрос к PVV.
в sdos я пробовал запускать только вот эти rko (про LAND я потом написал, что работает). BRU не пробовал. Собственно
Собственно PVV мне вчера объяснил, что файлы .BRU в текущей версии не поддерживаются, и прислал мне свой архив файлов с .RKO, несколько из них я запустил успешно.
Я то не мог знать, что у Ориона такой zoo-парк форматов файлов
Error404
31.03.2018, 16:14
формат RKO имеет к Ориону отношение не больше чем к примеру МР3
кому-то когда-то (уже во времена эмуляторщиков) он попал под руку и пошло-поехало. К счастью на Орионе им пользуются полтора человека и проблема поэтому не имеет вселенского масштаба.
- - - Добавлено - - -
MP3 не очень удачное сравнение.
Лучше так: "формат RKO имеет к Ориону отношение не больше чем к примеру TZX"
формат RKO... кому-то когда-то (уже во времена эмуляторщиков) он попал под руку и пошло-поехало
Для ОРИОНА RKO-формат вообще не имеет смысла. В эмуляторах ОРИОНА для ORDOS-файлов (как это и было в реале) разумно иметь только один формат - формат ORD. Незачем плодить сущности, только из-за того, что так удобно разработчикам эмуляторов. Надо учитывать удобство пользователей, а не сокращение (причём всего на 10 минут) труда разработчиков эмуляторов.
А уж если в эмуляторе непременно нужен RKO, то он должен комплектоваться конвертором RKO в ORD и обратно. Все архивы программ ОРИОНА для ORDOS-программ используют формат ORD (BRU) и для компоновки ROM/RAM квазидисков и образов дискет нужны именно файлы ORD.
Формат RKO нужен только примитивным эмуляторам, которые кроме МГ-ввода ничего эмулировать не умеют, а удобство пользователя учесть не хотят. Автоматически конвертировать при вводе ORD-файлы в RKO-формат читаемый с МГ-входа труд на 10 минут, зачем же разводить бессмысленное разнообразие форматов?
Надо учитывать удобство пользователей, а не сокращение (причём всего на 10 минут) труда разработчиков эмуляторов.
Вот именно! Поэтому в ПО на писи лучше делать поддержку всех известных форматов, и избавить пользователя от геморроя по вниканию в эту тему. Достался орионовский файл из интернета, и программа его знает и корректно обрабатывает. Именно так, а не "этот правильный, тот неправильный", "должен быть один единственный" и т.п..
Достался орионовский файл из интернета, и программа его знает и корректно обрабатывает.
Тут первоначально речь была про SDOS. Автору, PVV, видимо достались файлы именно RKO, он и сделал под них поддержку.
Достались бы сраzу BRU - сделал бы под них. Подо все сделать нереально, ибо очень сильные ограничения по занимаемомуу коду. Наверное как то так.
на писи лучше делать поддержку всех известных форматов, и избавить пользователя от геморрояВот как раз это и не спасёт от геморроя. Ну скачали Вы из сети файл RKO (где их, кстати, почти нет), как Вы сможете занести его в RAM/ROM-квазидиск или образ дискеты? Как Вы сможете прошить его в реальный ROM-диск или использовать на реальной дискете?
Потому в меню режима эмулятора (а не в конфиге) должен быть пункт - "текущий формат ввода с МГ", где например, для ОРИОНА можно прямо в эмуляторе выбрать между форматом РК86 и форматом CH$.
Тогда, если в окне открытия файлов выбрать файл с расширением ORD, на МГ-вход подаётся файл в заданном формате, а если у выбранного файла расширение RKO или RKR, то файл подается на МГ-вход без преобразования формата.
И уж для ОРИОНА точно нужен конвертор форматов RKR <--> RKO <--> ORD.
На всякий случай напомню, что у меня в последней версии (https://yadi.sk/d/bI5WF4ZZ3TuzSN) поддерживаются и bru/ord и rko.
Error404
01.04.2018, 11:26
И уж для ОРИОНА точно нужен конвертор форматов RKR <--> RKO <--> ORD.
А есть еще и RKR? :)
Я магнитофонные форматы знаю слабо ибо собирал свои Орионы и Спектрумы уже после 1991 года и магнитофоном в реале почти не пользовался. В нашем маленьком городе было 4 Орионщика и несколько десятков тысяч спектрумистов, все пользовались дискетами. Да купить программы на Тушино (позже Митино) в середине 90х было куда как проще на дискетах. Никакой другой пользы МГ вход не нёс, ПО для его использования практически не было (ну может кроме "осциллографа", работавшего до 5кГц и такой же полезности "цветомузыки") поэтому даже вход магнитофонный я никогда не собирал и не собираю, и не эмулирую в своем эмуляторе, а RKO и ORD в эмуляторе гружу прямо в оперативку квазидиска минуя весь этот утомительный процесс с CHR$.
- - - Добавлено - - -
На всякий случай напомню, что у меня в последней версии (https://yadi.sk/d/bI5WF4ZZ3TuzSN) поддерживаются и bru/ord и rko.
А почему нет исходников SDOS? Надо добавить исходники с последними правками, пусть будет, раз уж это тот самый редкий случай тутошнего открытого ПО.
А почему нет исходников SDOS?
Тут возможно возникла путаница, попытаюсь распутать.
У меня используется xsd b2ma, который я допиливаю под каждый конкретный комп (специалист, вектор, львов, орион). В виде отдельной программы работать не будет (и намерений таких не было), заточено под конкретную конфигурацию.
SDOS PVV - это более существенная модификация/доработка xsd, отличий по SD части там заметно больше и, в отличие от моих упражнений, можно использовать в виде загружаемой программы. Ссылку на исходник SDOS PVV давал (http://zx-pk.ru/threads/28980-orion-na-de1.html?p=956908&viewfull=1#post956908). Только он маленько промахнулся, наверно лучше использовать такую ссылку (http://www.nedopc.org/forum/viewtopic.php?f=71&t=9407&start=247)
Еще раз спасибо PVV (и b2mу) за исходники! Заменил sdшные процедуры на вариант PVV и теперь поддерживаются и SD и SDHC (sof был здесь). Ограничения все те же: FAT16, первичный раздел.
Напомню, что для запуска .bru расширение указывать не обязательно, для .ord и rko - обязательно.
Также напомню кнопку KEY0 - ресет и переключатель SW8 - турбо.
Как оказалось, с SDHC пока не все гладко. Из 8 файлов 2 прочитались с ошибками. На ПК побайтовое сравнение дает полное совпадение с оригиналом. А в плисовый орион каким-то образом читается с пропуском 512 байт ближе к концу файла. Тот же файл с SD читается (как и раньше) нормально.
- - - Добавлено - - -
Добавил в чтение сектора отладочную печать и оказалось, что в двух файлах, которые читаются с ошибкой, на карте есть по одному "медленному" сектору. При их чтении нештатно выходит из SD_CMDD (увеличение числа повторений в SD_WAIT не помогло). Замедление SD_GET (и SD_PUT) результата не дало. Если бы на компе не читалось, сказал бы что карта с бэдами, но комп читает, значит можно организовать чтение более корректно.
- - - Добавлено - - -
Пришлось почитать про работу с SD картами. Чтение починил, скоро выложу исправленную версию.
- - - Добавлено - - -
Обновленный sof с доработанной поддержкой SDHC
А если вкратце, в чём проблема была?
Прочитал, что после чтения сектора CRC тоже нужно обязательно прочитать (пусть даже мы его не используем). Добавил чтение двух байт и все заверте
Error404
03.04.2018, 09:06
Не только для SDHC, но и для SDC надо читать CRC. Всегда так делаю. У b2m вроде такой же код? Детально сказать не могу, т.к. там нечитаемый синтаксис 8080.
Немного офтопика. Давно хочу спросить ivagor - как там дела с 3D бродилкой. Применительно к Ориону такой вопрос: ты там рисуешь стены вертикальными палочками, одна палочка - кучка STA в экранную область. Если бы был алфавитно-цифровой дисплей с шрифтами с 256 комбинациями палочек (256 символов) в знакоместе 8х8 выводимыми за 1 STA в экран - это бы ускорило?
Не только для SDHC, но и для SDC надо читать CRC. Всегда так делаю. У b2m вроде такой же код?
У меня и для SDHC и для SD в последней версии CRC читается. У b2ma и PVV чтения CRC не было, теперь наверно тоже добавят.
Немного офтопика. Давно хочу спросить ivagor - как там дела с 3D бродилкой. Применительно к Ориону такой вопрос: ты там рисуешь стены вертикальными палочками, одна палочка - кучка STA в экранную область. Если бы был алфавитно-цифровой дисплей с шрифтами с 256 комбинациями палочек (256 символов) в знакоместе 8х8 выводимыми за 1 STA в экран - это бы ускорило?
Полноценную игру я не планировал делать. Взял пример рейкастера на C (по ссылке в теме), перевел на матлаб в фиксированную точку, потом на 8080. Также я на матлаб перевел его пример с текстурированием, но получилось так медленно, что на 8080 текстурирование даже не пытался внедрить. Но к текстурированию еще может вернусь. А за полноценной игрой это к alone.
Насчет использования текстового режима в рейкастере - при грамотном подходе это может ускорить отрисовку, примеры я видел, вроде для 8битных Атари.
Мелкое косметическое улучшение. DIR теперь печатает в 4 колонки и быстрее, а то было неудобно, когда много фалов или каталогов.
sof был здесь
Ускорил турбу с 5 до 7,5 МГц. Теперь турба переключается кнопкой KEY1 (раньше - переключателем SW8). Индикация турбы (как и раньше) - LEDR8
sof (https://yadi.sk/d/0HhQXn9h3UAXMD)
Выкладываю исходник (https://yadi.sk/d/PmkU9GfF3UKZsf). Единственное отличие от бинарников - выпилил турбу. Оставил ее в качестве бонуса для выкладывания на github.
ivagor, как то у вас просил спрашивал адаптировать эмулятор под Орион
отзывались уклончиво помню:v2_dizzy_roll:
вот про это
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, а основной фан этой темы я уже получил копаясь в векторовском эмуляторе спека, теперь того задора уже нет.
на базе z-card II конечно
Error404, ау!
без фана эмулятора не видать , но думал не так сложно
Error404
05.05.2018, 22:40
Про аппаратный эмулятор спека (там в-основном надо эмулировать экран, и клавиатуру) я слышал только сильно краем уха в 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М.
Если все же изобретать более-менее реалистичный (без полного спека в плисе) велосипед, то я бы выбрал вариант поближе к векторовскому. Т.е. эмуляция (ч/б) экрана перепутыванием адресов и эмуляция портов перехватом по nmi. Эмуляция цвета программная.
У такой комбинации есть пара преимуществ:
1. Сравнительно небольшие требования к быстродействию. Даже 3 МГц вектора более-менее хватает.
2. Если сделать нормальный перехват обращения к портам (например по маске), то можно и полный эмулятор msx сделать, который не только bios эмулирует. Правда вот для этого пункта скорость уже нужна как минимум на уровне ориона-про.
Недостатки:
1. Если делать простое перепутывание адресов (без суммирования с константой), то спековский экран будет смещен влево. Но справа можно отобразить какую-нибудь служебную информацию (режим работы и т.п.).
2. В программах, не опрашивающих клавиатуру (демки и все такое), цвета не будет (или будет, но неправильный). На мой взгляд не проблема, т.к. демки не для такого рода эмуляторов.
Но я все же ориентировался на готовое, проверенное решение. За 10 минут не сделаешь все с 0, да и за час и за два. Кроме того, реально существовавшую железку b2m может и реализовал бы, а подобный новодел - сомневаюсь. В лучшем случае скажет - "сначала сделай, потом посмотрим". Т.е. отладка сильно затрудняется.
Наличие barsika на меня не повлияло бы, т.к. он (один) в моем игнорлисте.
HardWareMan
06.05.2018, 08:35
Error404, barsik'а приняли здесь (http://www.nedopc.org/forum/viewtopic.php?f=94&t=18851). Читани, это он тебе отвечает.
И еще один (третий или четвертый) орион на плис. Теперь на DE1 (вроде еще не было). Классика - ВМ80, 256 Кб.
...............................
Может быть, будет интересно, для хронологии.
Первый "Орион-128" на DE1 (а, может быть, вообще на FPGA), думаю, сделал мой товарищ в 2008 году - он тогда начал изучать ПЛИС и "Орион" сделал в качестве учебного проекта, в память о старом увлечении (и поделился проектом кое с кем из обитателей форума.). Проект использует ядро Т80 в режиме Z80, имеет ROM-disk и работает с IDE-накопителем. У Denn (https://zx-pk.ru/members/1328-denn.html) даже осталась фотография работающего "Ориона" на DE1 с загруженным DS-DOS и подключённым накопителем на CF.
К сожалению, автору проекта не удалось зарегистрироваться на этом форуме.
У Denn (https://zx-pk.ru/members/1328-denn.html) даже осталась фотография работающего "Ориона" на DE1 с загруженным DS-DOS и подключённым накопителем на CF.
Вот она:
http://denn.ru/8bit/orion/128/igor_t-01.jpg
:v2_dizzy_christmas:
sergey2b
17.04.2024, 22:51
если у кого то остались фалы проекта и исходники Орион на DE1
поделитесь пожалуйста
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot