Z90
|
|
Мониториков | Дата: Понедельник, 25.08.2008, 23:40 | Сообщение # 1 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Что это Я вычитал, что в основе ОС Inferno лежит виртуальная машина. И подумал, как это здорово придумано. Недавно набрел на описание некой p-машины. Выяснилось, что это древнее понятие виртуальной машины, некой универсальной машины "цепляющейся" на ряд разных, возможно никак не совместимых с друг дружкой платформ. Почему бы такой "универсальной машине" не быть нашим (вашим) ZX-Spectrum/2. Для чего это Конечно же для развлечения как создателей, исследующих и пользователей. Чем это будет напоминать "ZX-Spectrum/1" Программисты увидят, что ассемблер условного Z90 вылитый Z80. Чтобы получить доступ к устройству программист поступит так же, как и на ZX c его закрытой архитектурой - просто будет писать/читать порт, а не юзать функции ОС. Пользователь, только запустивший ZX-Spectrum/2 увидит, что интерфейс абсолютно такой же, как у ZX-Spectrum/1. Он сможет получить доступ к устройствам из Бейсика так же, как и изощренный кодер. Ведь как и в Z80 в Z90 не будет разграничений, кольц защиты, MPU и прочего. Какова от этого практическая польза? Если её не будет, хотя бы иллюзорной, то станет неинтересно. Ну, можно будет получать доступ к аппаратуре характерной для PC - Ethernet и WiFi, жестким дискам, USB, мыши. И при этом программист или пользователь сможет работать с этими устройствами, условно говоря, ZX-способом. Да, это неоптимально. Но это прикольно. Мы сделаем так будто есть единственный жесткий диск, единственный Ethernet и WiFi адаптер, единственный аудио- и видео- контроллер. Как классно создать на бейсике генератор пакетов и юзать команды OUT и IN, и всё это в интерфейсе старого доброго ZX! Возможно это окажется даже полезным, так, как полезен сейчас например DOS - ограничено. Для обучения, для "чтобы было", для загрузочных дисков, показать всем, что возможен другой подход к интерфейсам ОС и компьютеру. Это полезно, разные точки зрения на компьютер. Хотя бы примерные "технические характеристики", мой мозг безнадежно настроен на это. Да я у меня тупой подход, но я имею быть право неспециалистом Не знаю, правда. Но знаю что это должна быть как можно менее "безкостыльная" архитектура. Представим что у нас есть Z90, такой же как и Z80, но например, 16-битный и мы должны разработать компьютер такой же как ZX-Spectrum/1 в плане методик юзания и программирования. Когда у нас был Спектрум мы думали, блин как жаль что адресное пространство Z80 всего 64кБ. Вот бы 512Кб! Товарищи, кто ж мешает, процессор виртуальный - думаем, предлагаем. Можно даже придумать и реализовать программно 9 или 10-битный процессор, точно такой же как Z80, но с 9 или 10 битной шиной данных и 18 или 20 битной шиной адреса. А что? Интересно ведь. Да практично, но интересный ведь подход! Название Я предлагаю назвать виртуальный процессор не Z90 как я написал в теме, а Y90 (игрек 90). Всю машину - YX-Spectrum. Реализация Лично я занимаюсь по проекту тем, что мне интересно. Зарисовки делаю, прикидываю технические характеристики, читаю мануалы по Z80. Ищу нечто похожее на Y90 среди Zilog-ов. Но всё не то - Z180, eZ80, Z280, Z800, Z8000, Z80000 - не то. Мне нравится это, даже если это безплодно. Это не дает мне раскиснуть. Я признаю что просто играю, но мне все равно. Если вам понравилась концепция работайте в этом направлении, мне не жалко! Возможно даже я чем-то вам помогу - но навряд ли Если б у тебя было много много денег и тебя переклинило бы на эту идею. Ты ведь смог бы реализовать такое в железе. Как бы это выглядело? Хм. Ну, навряд ли я захотел бы этого Возможно если бы несколько миллионов человек подписали бы петицию и я точно знал бы, что это будет кому-то в радость.. хм, тогда может быть. Но все равно не представляю зачем это устройство. В 80-х Спектрум был не только игрушкой, но и дешевым микрокомпьютером, целым компьютером. А сейчас это все игра. Игра для программистов-демомейкеров, концептостроителей и монстростроителей. Элементарно, даже самый монстрообразный Спектрум отсечен от общего информационного пространства - видео, музыка, фотки, pdf/djvu, web.. Если же делать именно виртуальную машину на базе PC, то будет хоть какой-то понт. По сути это современная портируемая операционная система (пускай маргинальная, безнадежно экспериментальная, непрактичная и игрушечная: но все равно актуальная), где вместо системных вызовов порты, а вместо машинного кода реального процессора Y90-код. По-моему крут как раз нежелезный вариант. Критика Не надо вот этого! Давайте кому нравится идея замутим клуб, в качестве среды общений будем юзать e-mail. По крайней мере со мной так связываться можно. Экран Q Говоря "такой же интерфейс как у ZX" ты ведь имел ввиду его внешний вид? A Да и его тоже. На самом деле я даже не знаю. Конечно же экран ZX - прямоугольная матрица ВКЛ/ВЫКЛ и ink/paper на знакоместах это на 80% для многих психологически и есть Cпектрум. Даже когда-то andrews сказал "отталкиваться от стандартного экрана". Программируя графику на ZX прикольно считать такты и укладываться в 1/50 секунды. Я думаю нужно сделать то же самое и на YX. Но как же быть с интеграцией в современное информационное пространство? Как на таком экране, (пусть даже он будет не 32*24 знакоместа, а 64*48 знакомест), как адекватно отразить pdf/djvu/фото/видео? И правда интересно. Поначалу это не первостепенная задача. Но потом возможны варианты, например: А предположим, что у нас "железный YX", и у нас есть некий крутой дисплей с последовательным интерфейсом, какой-нибудь USB! И его контроллер. Контроллер считывает блок видеопамяти в ОЗУ по нашей команде и пересылает пакет в этот "крутой дисплей"! Каждые 1/50 секунды. Внешне же на реальном PC это будет выглядеть как виртуальный графический терминал, переключаемый по Ctrl+F12.
Сообщение отредактировал Мониториков - Вторник, 26.08.2008, 09:57 |
|
| |
Black_Cat | Дата: Вторник, 26.08.2008, 17:18 | Сообщение # 2 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) Для чего это Конечно же для развлечения как создателей, исследующих и пользователей. Насамделе в современном развитии Спектрума обозначилась сейчас одна существенная проблема - оторванность его от общих тенденций развития информационной техники. Результатом этого становится то, что платформа всё больше превращается в замкнутую "вещь в себе", никак не соприкасающуюся с внешним миром. Последствия этого для платформы - отсутствие как притока новых людей, так и циркуляции новых идей в точках соприкосновения платформы с внешним миром. Если посмотреть, что сейчас есть нового в софте, то становится ясно что все новшества связаны с поддержкой аппаратных нововведений. Последнее время такими нововведениями были новые видеорежимы от Alco и интерфейсы хранения информации на HDD/CF или SD-картах. Но вот тут как раз и возникает основной затык - недостаточность производства этого нового железа содержащего в себе эти самые аппаратные нововведения, и как следствие отсутствие стимулов широкого софтового внедрения этих аппаратных новшеств. Казалось-бы ситуацию могли-бы поправить эмуляторы, но они как раз имеют очень слабую интегрированность с аппаратной частью компьютера-донора. Частично это обусловлено использованием Win-платформы, но в основном - просто не приданием особого внимания необходимости такой интеграции и поддержки аппаратных нововведений. Отсюда можно сделать вывод: 1) Платформе нужен прорыв в современную информационную среду; 2) Если для такого прорыва не хватает существующих возможностей аппаратного производства, то этот недостаток может быть восполнен с помощью эмуляции; 3) Нужны эмуляторы реализующие полный цикл обмена информацией с внешней средой, с применением реальных средств передачи информации и её хранения, притом в удобоваримом для платформы виде, т.е. в форматах, удобных для использования на платформе ZX Spectrum; 4) Не надо бояться создавать новое "виртуальное железо" сначала в эмуляторе, разговоры о реальщиках и эмуляторщиках - не более чем глупость и плод ограниченности мышления. Эмуляция несуществующего пока железа - это одно из главных предназначений эмулятора.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Мониториков | Дата: Вторник, 26.08.2008, 20:04 | Сообщение # 3 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Quote (Black_Cat) Результатом этого становится то, что платформа всё больше превращается в замкнутую "вещь в себе", никак не соприкасающуюся с внешним миром. Последствия этого для платформы - отсутствие как притока новых людей, так и циркуляции новых идей в точках соприкосновения платформы с внешним миром. Вроде всё верно. Замкнутости больше, народа меньше, идей меньше, веселья меньше. Значит надо замкнутости меньше. Но это не исправит ситуацию, так что нужна интеграция в общее информационное пространство. Но чтобы принять эту информацию, качественно принять, нужно принять на борт ZX-Spectrum/2 защищенную операционку а-ля NT или UNIX. Не спорю, возможно и не UNIX/NT, а какой нибудь Protected ZX/OS. Но это совсем никак не будет похоже на ZX. Проблема в том, что с одной стороны для развития ZX-у несомненно нужно пустить по своим жилам глобальную инфомрационную кровь, а с другой стороны он проектировался изначально как вещь в себе, для своего личного, собственного информационного пространства. Все попытки включить ZX в ОИП закончатся тем, что ZX станет разновидностью PC, ибо это так называемое ОИП есть ЛИП PC платформы, увы. Не подумай, что я злорадствую. Но это ведь именно так. Я хочу сделать что-то категории востребованности DOS-а - он вроде имеет доступ к ОИП, но широким массам тем не менее он не нужен. Так как в полной мере, качественно держаться в этом пространстве DOS не может. Ну и что? Все равно интересная ОСь.
Сообщение отредактировал Мониториков - Вторник, 26.08.2008, 20:13 |
|
| |
Black_Cat | Дата: Среда, 27.08.2008, 00:11 | Сообщение # 4 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) Но чтобы принять эту информацию, качественно принять, нужно принять на борт ZX-Spectrum/2 защищенную операционку а-ля NT или UNIX. если говорить об эмулях, то ненадо спеку ничего принимать лишнего, пусть РС с Win/DOS примут что надо, пережуют инфу до понятного Спектруму вида, и это уже отправят хоть по эмулируемуму интерфейсу в эмулятор Спека, хоть живому реалу. Quote (Мониториков) а с другой стороны он проектировался изначально как вещь в себе, для своего личного, собственного информационного пространства. эт врядли.. мне как раз видится что он проектировался как машина пригодная для коммуникаций, и в первоначальном, не урезанном Синклером варианте как раз присутствовал ещё текстовый режим с подгружаемым знакогенератором и 8ми битной ASCII кодировкой с 256 символами. Quote (Мониториков) Я хочу сделать что-то категории востребованности DOS-а хочешь - сделай, хуже не будет токо если сравнивать трудоёмкость написания с нуля системы-оболочки а-ля бейсик+дос, то конечно эмулятор будет многократно проще
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Мониториков | Дата: Пятница, 29.08.2008, 16:41 | Сообщение # 5 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| То есть ты предлагаешь использовать PC как своеобразный мейнфрейм для хиленького ZX? PC соединен со своей единой информационной средой посредством рук-ног юзера пихающего туда диски и интернет-канала. А ZX соединяется через него, транзитом. При этом PC переваривает информацию в доступном для ZX виде. Пересекается с моей концепцией. Но в принципе тут даже не эмулятор нужен, а шлюзовое ПО для PC и поддержка средней быстроты интерфейса наподобие Centronics на стороне ZX. Такой был в Scorpion'e если мне не изменяет склероз. Т.е. Спек в паре с PC, выступает в том же качестве что и КПК + ActiveSync или мобильник + PC-софт
Сообщение отредактировал Мониториков - Пятница, 29.08.2008, 16:53 |
|
| |
Black_Cat | Дата: Суббота, 30.08.2008, 03:03 | Сообщение # 6 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) То есть ты предлагаешь использовать PC как своеобразный мейнфрейм для хиленького ZX? Тут могут быть разные варианты - выбор есть. Например можно делать сугубо эмуль, т.е. РС с загрузочным ПЗУ грузит например с CF-флеши ДОС, а из под ДОСа в autoexec'e эмуль Спека, при этом этот эмуль имеет например прямой доступ к ISA устройствам: IDE, FDD, LPT, COM, GAME, SB, NET, а так-же к первым 16 регистрам RTC мамки - cобсно цельный Спектрум, с реальным периферийным железом. Второй вариант - это Спектрум вставляемый как ISA карта и юзающий опять-же через шину ISA всю вышеозначенную периферию, да ещё и обменивающийся с программами-эмулями живущими под ОС РС и например эмулирующими GS. Ещё один вариант - это клиент-серверная архитектура, когда РС-сервер работает в сети и преобразует например стандартную html информацию в то, что может отобразить клиент-Спектрум. Между собой они могут соединяться тем или иным интерфейсом - хоть софтовым для эмуля, хоть хардовым через ISA, LPT, COM.. и т.д. Все эти варианты не отрабатывались и все они интересны и полезны для развития Спектрума как платформы.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Мониториков | Дата: Суббота, 30.08.2008, 15:27 | Сообщение # 7 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Да. Мне нравится вариант нумер 1. Наткнулся я тут на описание eZ80 user manual. Нравится он мне. По-моему то, что я хотел. В режиме совместимости Z80 можно адресоваться на 16Мб, записывая базу в дополнительный регистр. В режиме ADL еще интереснее. При этом нормальный ZX-овский процессор без защиты памяти, MMU и всяческой бяки. В эмуле использую этот процессор. Тут даже в принципе можно прокачать графику. Единственный вопрос который меня волнует - по какой схеме.
|
|
| |
Black_Cat | Дата: Воскресенье, 31.08.2008, 00:43 | Сообщение # 8 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) Наткнулся я тут на описание eZ80 К сожалению, всё что не z80 (т.е. eZ80, Z180, Z280, z380..)уже неоднократно обсуждалось и выводы таковы, что применить вместо z80 в Спеке это не получится, в частности для eZ80 - из-за портов. Да и по количеству тактов на команду боюсь отступать от z80 нельзя т.к. у Спектрума с этим намертво завязана генерация видео. Если-же курочить eZ80, создавая несуществующую виртуальную программную модель без портов, или с портами по другим адресам или ещё как, то ведь и к z80 тож можно применить такое куроченье и лёгким движением получить например непосредственную адресацию в пределах 16Мб заменив адрес регенерации ОЗУ (которой по большому счёту Спектруму не очень и нужен) на мультиплексируемые старшие адреса. И вполне возможно что так дальнейшее любительское развитие z80 и будет реализовываться. Что касательно перспектив eZ80, то для каких-то других компьютеров мож он и сгодится, но к Спеку я не вижу как его можно прикрутить не превратив Спек во что-то другое. Quote (Мониториков) по какой схеме. что имеется ввиду?
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Мониториков | Дата: Воскресенье, 31.08.2008, 20:39 | Сообщение # 9 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Что значит eZ80 не годится для замены Z80 "из-за портов"? Ссылку на обсуждение можешь скинуть или опиши своими словами.
Сообщение отредактировал Мониториков - Воскресенье, 31.08.2008, 20:39 |
|
| |
Black_Cat | Дата: Воскресенье, 31.08.2008, 22:59 | Сообщение # 10 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) Что значит eZ80 не годится для замены Z80 "из-за портов"? У него порты встроенных устройств конфликтуют по адресам со спековскими портами и ничего с этим в стандартном eZ80 сделать нельзя.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Мониториков | Дата: Понедельник, 01.09.2008, 11:09 | Сообщение # 11 |
04h
Группа: Пользователи
Сообщений: 6
Статус: Offline
| да и правда, он напичкан девайсами. не догадался сначала посмотреть спецификацию, вместо этого сразу user manual. MCU, понимаешь. 0080h .. 00F3h у eZ80L92 0080h .. 00FFh у eZ80190 жаль. Добавлено (01.09.2008, 11:09) --------------------------------------------- Quote (Black_Cat) z80 тож можно применить такое куроченье и лёгким движением получить например непосредственную адресацию в пределах 16Мб заменив адрес регенерации ОЗУ (которой по большому счёту Спектруму не очень и нужен) на мультиплексируемые старшие адреса. И вполне возможно что так дальнейшее любительское развитие z80 и будет реализовываться. Не очень понял. А насколько это движение легкое? Как мы получим непосредственную адресацию? Можешь накатать примерный код (псевдокод) чтобы загрузить в A содержимое ячейки по адресу 10000h ?
Сообщение отредактировал Мониториков - Понедельник, 01.09.2008, 11:14 |
|
| |
Black_Cat | Дата: Вторник, 02.09.2008, 02:06 | Сообщение # 12 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Quote (Мониториков) А насколько это движение легкое? Как мы получим непосредственную адресацию? Можешь накатать примерный код (псевдокод) чтобы загрузить в A содержимое ячейки по адресу 10000h ? Лично я в этом направлении даже не смотрел, т.к. даже если исходить из задачи развития Спектрума, то переделка процессора - это на данный момент далеко не актуальная проблема. Эту тему вроде более-менее плотно обсуждали heroy и icebear, и как я понял пришли к какому-то решению - я не интересовался. Соответственно, сказать что-то определённое о необходимых изменениях в микроархитектуре процессора, или кодах - не могу, могу только в общих чертах обрисовать как я понимаю механизм выдачи старших разрядов адреса. Формирование 24-разрядного адреса потребует некоторых изменений в архитектуре компьютера, т.к. адрес получается мультиплексированный, т.е. сначала выдаётся как обычно 16-битный адрес, который защёлкивается во внешнем регистре младших адресов, а затем в цикле регенерации выдаётся ещё 8 старших бит адреса, которые транслируются буфером на шину старших адресов уже одновременно с содержимым регистров младших 16-ти адресов. При этом имеющщимся в z80 механизмом регенерации придётся пожертвовать, но для Спектрума в случае использования DRAM одним банком, регенерация и так обеспечивается видеопроцессором, а применять такое новшество в оригинальных компьютерах с раздельной памятью ессно никто не собирается.Добавлено (02.09.2008, 02:06) --------------------------------------------- Поинтересовался у icebear'а - нет, они насамделе немного в другом ключе вопрос рассматривали и готового решения по переделке Z80 у них нет.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|