Soviet Union ZX Spectrum CommunityВоскресенье, 24.11.2024, 20:53
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
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 - не то. Мне нравится это, даже если это безплодно. Это не дает мне раскиснуть. Я признаю что просто играю, но мне все равно. Если вам понравилась концепция работайте в этом направлении, мне не жалко! Возможно даже я чем-то вам помогу - но навряд ли smile

Если б у тебя было много много денег и тебя переклинило бы на эту идею. Ты ведь смог бы реализовать такое в железе. Как бы это выглядело?
Хм. Ну, навряд ли я захотел бы этого smile Возможно если бы несколько миллионов человек подписали бы петицию и я точно знал бы, что это будет кому-то в радость.. хм, тогда может быть. Но все равно не представляю зачем это устройство. В 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/фото/видео?

И правда интересно. smile Поначалу это не первостепенная задача. Но потом возможны варианты, например:
А предположим, что у нас "железный 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.

smile если говорить об эмулях, то ненадо спеку ничего принимать лишнего, пусть РС с Win/DOS примут что надо, пережуют инфу до понятного Спектруму вида, и это уже отправят хоть по эмулируемуму интерфейсу в эмулятор Спека, хоть живому реалу.
Quote (Мониториков)
а с другой стороны он проектировался изначально как вещь в себе, для своего личного, собственного информационного пространства.

эт врядли.. smile мне как раз видится что он проектировался как машина пригодная для коммуникаций, и в первоначальном, не урезанном Синклером варианте как раз присутствовал ещё текстовый режим с подгружаемым знакогенератором и 8ми битной ASCII кодировкой с 256 символами.
Quote (Мониториков)
Я хочу сделать что-то категории востребованности DOS-а

хочешь - сделай, хуже не будет smile токо если сравнивать трудоёмкость написания с нуля системы-оболочки а-ля бейсик+дос, то конечно эмулятор будет многократно проще


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "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!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz