User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 30 из 39

Тема: Каким может быть новый клон Специалиста?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть у меня один манускрипт с прошлого века о Z80. Писался он на волне подключения Z80 к Специалисту.

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

  3. #2

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не про сокращение, а наоборот про самое полное раскрытие возможностей Z80. Я к тому, что можно же все три типа прерываний задействовать.
    С уважением, Станислав.

  4. #3

    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    206
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интерес к платформе есть. И очень даже. Но что конкретно мне мешает - отсутствие вменяемого Монитора. Стандартные подпрограммы ПЗУ выводят строки и символы в режиме наложения, что сильно ограничивает скорость работы даже в ассемблере, не то что на BASIC. В итоге, подпрограммы системного ПЗУ - главный тормоз компьютера. Я тут как то ролик накидал про то, как 8-битные шаблоны и строки из таких шаблонов выводить на экран Специалиста - так оно в несколько раз быстрее. Опять же, шаблоны 8*8 намного приятнее и удобнее в использовании, чем 6*8. Второе - ассемблер. Все-таки, писать в "Микрон" в современном мире - сомнительное удовольствие. Нашел VASM, обалденная, а главное - универсальная (и под I8080 и под Z80) штука. Сейчас разбираюсь.
    Потому как видится мне: без переделки Монитора - новый редактор ассемблера и BASIC со своим шрифтом. Не то, чтобы я не хотел их написать - знаний пока не хватает, но я учусь ). Второе: 2 мегагерца для 12 килобайт видеопамяти маловато. Как ни пытаюсь сделать вертикальный скроллинг, даже через стек выходит быстрее, чем стандартный, но все равно заметно. Кстати у BASIC "Микрон" бесячий момент, когда вместо скроллинга очищается экран. Такая себе идея. Так что софт нужен и важен, и что самое главное вполне может появиться. Только вот Монитор в ПЗУ, по сути, останется не у дел. Ну и где-то я уже предлагал - в каком-то из журналов предлагалось использовать несколько ПЗУ для хранения интерпретатора BASIC и ассемблера. А если вместо этого ПЗУ реализовать разъем для картриджа и использовать данный диапазон адресов для работы с ROM-диском. Кстати такое в журналах тоже было, но не помню, как там оно было реализовано. Это я к тому, что, скажем, в Вектор-06Ц реализована вполне интересная идея, в рамках ограниченного ОЗУ - в ПЗУ только загрузчик (не от хорошей жизни, разумеется) а вот все остальное грузится с внешнего носителя.

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

    CityAceE(17.07.2025)

  5. #4

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разные виды Мониторов на Специалисте существовали. В то числе и оконный Монитор Доможирова, который использовал матрицу 8*8 для символов. Но проблема в том, что почти все программы для Специалиста используют для вывода текста именно стандартные ПП Монитора. Если что-то поменять, то весь софт "поплывёт". Так что стандартный Монитор ради совместимости вообще никак нельзя трогать. Но можно подумать о том, чтобы подменять его на время неким другим системным ПО, также размещённым в ПЗУ. То есть, если старый софт ничего не знает про новое системное ПО, то оно по умолчанию пользуется тем, что было. А новый софт может начинать свою работу с переключения на новый Монитор.

    А если продолжить осуждать Монитор, то в него, как минимум, нужно добавить полный набор символов для латиницы и кириллицы, а также привести раскладку клавиатуры к современному стандарту QWERY/ЙЦУКЕН.

    Про средства разработки на самом компьютере согласен, нужен, как минимум, нормальный ассемблер. МИКРОН устарел по всем фронтам. Ну а лично для меня ещё и мнемоники Z80 нужны.

    Цитата Сообщение от Zidane Посмотреть сообщение
    Я тут как то ролик накидал
    Можно ссылку на этот ролик?
    С уважением, Станислав.

  6. #5

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    стандартный Монитор ради совместимости вообще никак нельзя трогать
    Можно всё, но нужно иметь возможность переключаться в режим совместимости со стандартным Специалистом (а может даже и со Специалистом МХ). Как пример - вариант HardWareMan-а Специалист МХ2.

  7. #6

    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    206
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Можно ссылку на этот ролик?
    https://youtube.com/live/9r-Xrf8II6Q Но это еще работа в Микрон. Сейчас с VASM разберусь и все ок. На самом деле там ничего сложного и все работает. Но нужно шапку файла добавлять, чтобы грузилось в эмулятор. Вот и ищу - где-то на сайте видел.

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

    Да, еще. Я был бы весьма заинтересован в Z80 на новом Специалисте. Ибо 12 килобайт для 2 МГц, как я писал выше, много. Или 8085.. Но это хотелки, чо уж тут.

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

    CityAceE(17.07.2025)

  8. #7

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Zidane Посмотреть сообщение
    Я был бы весьма заинтересован в Z80 на новом Специалисте.
    Добро пожаловать в соответствующую тему со своими хотелками

    Цитата Сообщение от Zidane Посмотреть сообщение
    Но нужно шапку файла добавлять, чтобы грузилось в эмулятор. Вот и ищу - где-то на сайте видел.
    Я подобное у себя делаю собственными скриптом на Python:
    Код:
    import sys
    
    
    def hex_number(number):
        sting_number = str(hex(number)).lstrip('0x').upper()
        while len(sting_number) < 4:
            sting_number = '0' + sting_number
        return sting_number
    
    
    if len(sys.argv) > 1:
        filename = sys.argv[1]
        if len(sys.argv) > 2:
            start = int(sys.argv[2])
        else:
            start = 0
    
        with open(filename, 'rb') as f_obj:
            binary_file = f_obj.read()
    
        finish = len(binary_file) - 1
    
        cs = 0
        for i in range(finish):
            cs += binary_file[i]
            cs += (binary_file[i] << 8)
    
        cs = (cs & 0xff00) | ((cs + binary_file[finish]) & 0xff)
    
        binary_file = bytearray(binary_file)
    
        header = [start % 256, start // 256, (start + finish) % 256, (start + finish) // 256]
        header = bytearray(header)
    
        check_sum = [cs % 256, cs // 256]
        check_sum = bytearray(check_sum)
    
        rks_file = header + binary_file + check_sum
    
        if '.' in filename:
            name_parts = filename.split('.')
            name_parts[-1] = 'rks'
            filename = '.'.join(name_parts)
        else:
            filename = filename + '.rks'
    
        print("ИМЯ ФАЙЛА:", filename)
        print("КОНТРОЛЬНАЯ СУММА =" + hex_number(cs))
        print("НАЧАЛЬНЫЙ АДРЕС =" + hex_number(start))
        print("КОНЕЧНЫЙ  АДРЕС =" + hex_number(start + finish))
    
        with open(filename, 'wb') as f_obj:
            f_obj.write(rks_file)
    
    else:
        print("Usage: python bin2rks.py filename.bin [start_address]")
    Последний раз редактировалось CityAceE; 17.07.2025 в 11:28.
    С уважением, Станислав.

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

    Zidane(17.07.2025)

  9. #8

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

    По умолчанию

    В чем собственно вопрос? Две версии могут использовать таймер для коррекции скорости, если детектируют его наличие. Если не детектируют - не будут использовать.

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

    CityAceE(17.07.2025)

  10. #9

    Регистрация
    17.07.2025
    Адрес
    г. Ульяновск
    Сообщений
    7
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет всем. Я тут новенький, а так старенький 8-бит электронщик/программист. Первый собранный комп был "Специалист".
    Мою любовь и боль. Как все помнят сборка на мгтф и половина горелых микросхем с ес-1020.Сборка и отладка заняла почти 2 года.
    Потом быстрая пересадка на IBM PC и я на больше чем 30 лет забыл про 8-битный мир. Потом увидел статьи CityAceE и ностальжи
    вернуло меня на путь истинный.
    Посмотрев на попытку CityAceE переписать с Атари tony захотелось самому перенести какую то игру. Окунувшись в проект я так
    увлекся что трачу на это все свое свободное время(когда глаза позволяют.)





    Появление SD в эмуляторе развязать ахилесову пяту: или памяти не хватает либо экран перерисовывается 1500000 тактов.
    Кеширование, развертка циклов, использование для копирования стека позволило довести перерисовку до 350000 тактов.
    Пока моих мозгов для оптимизации дальше не хватает. Игра пошаговая стратегия - ей хватит. Есть чем заниматься дальше.

    Так вод мое мнение что нужно "Специалисту" как программеру:
    1. Чтение данных атрибута цвета, что позволит ускорить мою перерисовку на 15-30% и сэкономит память.
    2. Довести количество цветов атрибута цвета до 16/16 на байт видеопамяти. Резко улучшается картинка.
    Сделать это совместимо со старой схемой и ввести регистр режима.
    3. Сделать возможность отключать запись в область атрибута цвета и обратное отключение записи в видеопамять.
    Такая система позволяет получить несколько эффектов и ускорит вывод на экран.
    Все это опять завести на регистр режима.
    4. Сделать возможной палитру цветов из которой выбирается 16/16 и дать к ней программный доступ.
    5. Представить видеопамять и память атрибутов как 2 бита на точку и получить 4 цвета любой точки из палитры.
    Вывести на регистр режима.(По моему так в Векторе)
    С текущей производительностью Специалиста пока все. Это бы осилить программно.

    Мечты:
    1. Довести проц минимум до 8 Мгц.
    2. Довесить видеопамять до 4 бит на точку. Получить 16 цветов из палитры что позволит переносить очень много игр(Довесить еще 2 линейки памяти)
    3. Из за пункта 2 резко понадобится память (тут как хотите но минимум 256кб)
    4. Если памяти много , одну страницу превратить в ПДП на Ковокс для вывода Wav
    Наверное пока все.
    Последний раз редактировалось aspgnom; 17.07.2025 в 23:02.

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

    b2m(18.07.2025), CityAceE(18.07.2025), Oleg N. Cher(18.07.2025), Vatr(09.09.2025)

  11. #10

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что ж, после того, как я обзавёлся своим собственным Сябром мне ещё больше захотелось новый клон.
    Скажу откровенно, что я испытал вау-эффект, когда запустил разрабатываемую мной игру на i8085 в Turbo! Просто всё залетало, как на приставках. Так что Турбо - это, безусловно вещь, которая жизненно необходима для нового софта. А весь старый прекрасно и на классике и идёт.

    По поводу расширенной памяти и графики, наверное, стоит всё-таки смотреть в сторону MX. Правда, я пока ещё с памятью не игрался и толком не знаю какой к ней доступ, но объём в 512 кило впечатляет.

    Отличным вариантом сейчас выглядит Z80(+turbo) + MX2 (память, графика) + AY + прерывания + SD + ZX-bus.
    С уважением, Станислав.

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

    RW9UAO(11.09.2025)

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. Ответов: 33
    Последнее: 13.02.2021, 01:33
  2. Ответов: 69
    Последнее: 13.06.2012, 10:33
  3. в чём может быть дело ?
    от Orionsoft в разделе Форум
    Ответов: 7
    Последнее: 10.12.2006, 18:23

Ваши права

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