User Tag List

Страница 58 из 59 ПерваяПервая ... 545556575859 ПоследняяПоследняя
Показано с 571 по 580 из 585

Тема: Компьютер "Aleste 520EX"

  1. #571

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Две ипостаси одной идеи: Чистота Наследия и Свобода Творчества

    Думаю, стоит пояснить, почему моя разработка может быть безусловно полезна для RW9UAO, но не является конкурирующей или эквивалентной. Более того, для многих моя версия может показаться не интересной.

    Ниже — краткое описание сути моего проекта, который настолько отличается по своим целям и принципам, что в каком-то смысле является офтопиком для этой ветки. Поэтому предлагаю не обсуждать его детально здесь, а отнестись как к альтернативному взгляду на развитие идей, связанных с Aleste.

    Две ипостаси одной идеи: Чистота Наследия и Свобода Творчества

    Наша разработка основана на двух четко разделенных, но философски связанных принципах:

    1. Amstrad CPC: Платформа-Канон

    Цель: Абсолютная, музейная точность. Это эталон, где реализуется максимально возможная аутентичность и 100% функционирование в «легаси»-режиме.

    Философия: CPC — это законченное произведение. Наша задача — сохранить его в идеальной чистоте, без компромиссов. Это высшая ценность и наш главный приоритет.

    2. Aleste 520 EX: Платформа-Интерпретация

    Исходная точка: Мы берем не конкретную реализацию старой «Алесты», а её изначальные идеи — мечты о расширенной памяти, графике и звуке, которые тогда не могли быть реализованы элегантно из-за ограничений компонентной базы.

    Философия развития: Мы исправляем «родовые травмы» оригинальной аппаратуры (как странная организация видеопамяти), которые были продиктованы технологической необходимостью, а не здравым смыслом. Мы строим идеализированную, чистую архитектуру, о которой могли бы мечтать создатели «Алесты», имея на руках современные FPGA.

    Обратная совместимость: Это не цель, а побочный эффект. Мы реализуем ключевые фичи оригинальной «Алесты» (например, палитру), но интегрируем их в новую, логичную архитектуру. Старое ПО может быть адаптировано патчами, но система не будет скована его ограничениями.

    Революционные изменения: Это сознательный уход от наследия ради элегантности и мощи. Линейная видеопамять, слотовая память с защитой, супервизор — это не просто улучшения, это шаг в сторону чистой, современной 8-битной архитектуры, вдохновленной, но не ограниченной прошлым.

    Ключевой принцип: CPC — это догма, которую мы блюдём. Aleste — это ересь, которую мы творим. Мы не улучшаем CPC, мы используем его ДНК для создания нового, самостоятельного организма, который должен удивлять, вдохновлять и показывать альтернативный путь, который мог бы быть.

    P.S. Проект в разработке и многое может поменяться поэтому некоторые перечисленные черты могут измениться или даже удалиться из конечной версии;

    Этот пользователь поблагодарил Sherlock за это полезное сообщение:

    Копейкин(13.10.2025)

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

  3. #572

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sherlock Посмотреть сообщение
    супервизор
    Если речь о немаскируемом прерывании при обращении к (настраиваемым) диапазонам портов и памяти то неистово плюсую.

  4. #573

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если речь о немаскируемом прерывании при обращении к (настраиваемым) диапазонам портов и памяти то неистово плюсую.
    «Да, архитектура с использованием немаскируемых прерываний (NMI) для доступа к портам и памяти действительно рассматривалась на ранних этапах. Более того она тестировалась в 1992 году. Однако после нескольких итераций проектирования мы отказались от этой идеи в пользу механизма маскируемых прерываний через syscall. Основная причина этого решения — строгое разделение типов прерываний: немаскируемые прерывания (NMI) будут жёстко зарезервированы для критических аппаратных исключительных ситуаций (например, сбоев по питанию или ошибок памяти). Использовать такой мощный и приоритетный механизм для рядовых системных вызовов было бы архитектурной ошибкой.

    Таким образом, мы пришли к более сбалансированному и целостному решению, выдержанному в ретро-духе.

    Ключевой принцип прост: всё, что работает с железом, лучше использовать через syscall, а не прямым доступом. Это не только безопаснее, но и архитектурно чище.

    Третий слот адресного пространства жёстко зарезервирован для супервизора. В нём расположено MMIO-пространство, через которое отображены все аппаратные устройства. Прямой доступ к большинству функций возможен только в режиме супервизора.

    Попасть в этот слот можно исключительно через вызов syscall. Клиентское ПО загружает данные в регистры и выполняет команду out в порт syscall, что вызывает маскируемое прерывание. Это переключение не оптимизировано и работает как классическое прерывание, что соответствует ретро-стилистике системы. Как только процессор переходит по вектору этого прерывания, происходит аппаратное переключение в режим супервизора с одновременным подключением третьего слота.

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

    Таким образом, вместо прямого управления десятками аппаратных портов существует единственный, хорошо определённый портал — порт syscall. Делая такой вызов, клиентское ПО может запросить супервизор выполнить привилегированную операцию.

    Одна из таких операций — включение "доверенного режима". По сути, это запуск кода в режиме супервизора без ограничений: можно исполнять код из любого слота (0, 1 или 2), а после возврата в пользовательский режим — сохранять полный доступ к третьему слоту и его аппаратным регистрам. Это мощный, но опасный инструмент, который предоставляется на страх и риск пользователя.»

  5. #574

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за информацию, такой вариант меня не интересует, но желаю удачи в реализации проекта.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Sherlock(10.10.2025)

  6. #575

    Регистрация
    19.07.2017
    Адрес
    г. Кемерово
    Сообщений
    47
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    26
    Поблагодарили
    12 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    оверкилл какой-то.
    окай. железная алеста не была 100% совместима с амстрадом. это стоит поправить. в проекте ФПГА амстрада есть контроллер прерываний, но в оригинальной машине его тоже не было.

    Этот пользователь поблагодарил RW9UAO за это полезное сообщение:

    Sherlock(10.10.2025)

  7. #576

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Спасибо за информацию, такой вариант меня не интересует, но желаю удачи в реализации проекта.
    Разумеется, вы правы в том, что наш механизм syscall — это не совсем то, что вы ищете.

    Он изначально не предназначен для низкоуровневой эмуляции аппаратных устройств через NMI. Его основная задача иная — это организация надежного и эффективного обмена данными между пользовательской программой, ядром и драйверами.

    Главная ценность такого подхода в работе с драйверами устройств, которые требуют неопределённого времени на выполнение операции. Вместо того, чтобы висеть в циклах ожидания, пока устройство выставит некий "бит готовности", ПО может просто запросить выполнение операции через syscall и немедленно продолжить работу (асинхронный режим) или быть заблокированным до её завершения (синхронный режим). Это позволяет централизованно обслуживать все устройства в обработчиках прерываний (ISR), полностью избегая активного ожидания.

    Таким образом, наш syscall решает задачи более высокого уровня — не имитация "железа", а создание отказоустойчивой и эффективной системы управления всеми устройствами в целом. Это иная, но не менее мощная архитектурная концепция.

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

    Цитата Сообщение от RW9UAO Посмотреть сообщение
    оверкилл какой-то.
    окай. железная алеста не была 100% совместима с амстрадом. это стоит поправить.
    Вы абсолютно правы, и это следствие работы без полной документации в свое время. В итоге получились следующие расхождения с оригинальной платформой:

    • Система прерываний: Не была реализована поддержка Interrupt generation control.

    • Расширение памяти: Его пришлось проектировать практически с нуля. По счастливой случайности результат оказался схож с расширением от Dk'tronics, которое, если быть точным, и само не является на 100% каноническим. Насколько я помню, в одной из версий РЕ³ даже была выпущена корректировка на этот счёт.

    • Цвет: Компоненты цвета у CPC имеют яркость 0, 50 и 100% (но не у Алесты). Впрочем, ретро-компьютеры вообще не проектировались с оглядкой на точную цветопередачу (color rendition).

    • Порты: Принтерный порт был реализован иным способом.

    • Клавиатура: Перекодировка клавиатуры действительно теряет смысл, когда в распоряжении есть качественные механические кнопки, позволяющие реализовать более простую и эффективную схему.

    • Периферия: Такие вещи, как часы (ВИ53, ВВ51), HIGHZ, FUTURE — да, их тоже лучше не реализовывать или переосмыслить.

    И, как вы верно заметили, все эти моменты действительно стоит исправить для достижения большей аутентичности. Я это только приветствую.

  8. #577

    Регистрация
    19.07.2017
    Адрес
    г. Кемерово
    Сообщений
    47
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    26
    Поблагодарили
    12 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ладно ВИ53 и УАРТ, но в часах вы храните настройки. БИОС алесты при этом будет дурковать. проверено.

    Этот пользователь поблагодарил RW9UAO за это полезное сообщение:

    Sherlock(10.10.2025)

  9. #578

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от RW9UAO Посмотреть сообщение
    ладно ВИ53 и УАРТ, но в часах вы храните настройки. БИОС алесты при этом будет дурковать. проверено.
    Вы правы, это действительно так. Однако загрузчик, который единственный использует часы, — невероятно простой, и его легко пропатчить.

    Это открывает два пути:

    • Установка часов: Можно использовать компактный чип на I2C, если возникнет необходимость в реальных часах.
    • Полный отказ от часов: Вместо этого в FPGA можно будет просто загружать крошечный файл с готовыми настройками, которые нужны загрузчику.
    • Полный отказ от часов и настроек: Вместо этого всегда использовать константные параметры которые нужны загрузчику.

    Все варианты решают проблему без необходимости сохранять сложную и избыточную для вашей задачи систему оригинальных часов.

  10. #579

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sherlock Посмотреть сообщение
    следующие расхождения с оригинальной платформой:
    Еще неполное совпадение скорости процессора (предположительно торможение не на 100% совпадает), какой-то амстрадовский тест и демки на реале запускал Дмитрий2012.

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    RW9UAO(10.10.2025), Sherlock(10.10.2025)

  11. #580

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Еще неполное совпадение скорости процессора (предположительно торможение не на 100% совпадает), какой-то амстрадовский тест и демки на реале запускал Дмитрий2012.
    Я помню провал этого теста. С большой долей вероятности, корень проблемы лежит не в несоответствии тактовой частоты, а в тонкостях работы системы прерываний.

    На оригинальном железе демки и тесты часто полагаются на прерывания для точного замера времени и синхронизации процессов (например, отрисовки кадров или работы со звуком). Если временны́е характеристики прерываний в эмуляции/реализации хотя бы немного отличаются от оригинальных — это мгновенно приводит к рассинхронизации и сбоям. Таким образом, ключ к решению, вероятно, лежит в тонкой настройке механизма прерываний. Не смотря на то, что Interrupt generation control не поддержан, вряд ли его отсутствие приводит к провалу теста -- но не исключено.
    Последний раз редактировалось Sherlock; 10.10.2025 в 19:38.

Страница 58 из 59 ПерваяПервая ... 545556575859 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1076
    Последнее: 11.05.2022, 06:59
  2. Ответов: 0
    Последнее: 15.08.2010, 14:38
  3. Ответов: 27
    Последнее: 19.12.2009, 18:49
  4. Куплю компьютер Aleste 520EX (Алеста)
    от Nickolas в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.10.2009, 05:06
  5. Ответов: 0
    Последнее: 26.06.2005, 11:52

Ваши права

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