Важная информация

User Tag List

Страница 50 из 56 ПерваяПервая ... 464748495051525354 ... ПоследняяПоследняя
Показано с 491 по 500 из 560

Тема: Радиолюбительский компьютер "LEVEL"

  1. #491
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Теперь надо уточнить с текстовыми режимами для CP/M. Текущее разрешение монитора 640х480 60 Hz. В графике 320х240 строки VGA дублируются и две точки рядом одинаковые. В текстовом режиме для знакогенератора будут достпуно разрешение VGA 640 x 480. Надо решить, размер символа, количество строк и символов в строке, адресацию байтов и атрибутов и т.п. Для упрощения схемы можно зашить шрифт во FLASH.
    Предлагаю знакоместо 8х16 точек и соответственно экран 80х30 символов, что позволит иметь штатные для CP/M 80х25 символов. Остальные 5 строк можно будеть использовать на строки состояния (те же РУС/ЛАТ/CAPS/кодировку отображать) или оконные меню (например от резидентных программ), или что-то подобное от интерфейса гипервизоров (например для переключения задач в MPM - что-то типа таскбара), или отдать все 80х30 под терминал (например в UZIX).

    Знакогенератор на 256 символов с возможностью загрузки знгакогенератора (т.е. ОЗУ), либо {что попроще аппаратно} с переключением константных наборов символов (т.е. ПЗУ с переключением регистром старших адресов - чтобы был выбор набора символов).

    Как вариант (если это не сильно сложно), предусмотреть 2 режима знакоместа - 8х16 (экран 80х30 символов) и 8х8 (экран 80х60 символов), где 8х8 удобен для псевдографических игр (имея что-то типа чанков в одном из наборов знакогенератора)
    Последний раз редактировалось Error404; 03.08.2018 в 12:16.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #492
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Принцип вывода фона аппаратно-тайловым способом.

    Фон конструируется как в игре Майнкрафт из кубиков. Не надо рисовать целый дом с нуля. Можно его построить из кирпичей. Также забор сколачивается из кусочков-тайлов. Все изображение строится из заранее нарисованных тайлов в конструкторе уровней. Затем изображение всего уровня преобразуется в область тайлов и область карты. Тайлы нумеруются двумя байтами и в карту уровня записываются соответствующие номера.

    Для отображения на экране монитора текущего места уровня надо в регистры записать координаты левого верхнего угла окна с точностью до точки. Во время отображения верхней границы экрана в счетчики точек по-вертикали записывается координата Y на карте. Во время отображения левой границы экрана в счетчики точек по-горизонтали записывается координата X на карте. Счетчик по-горизонтали считает импульсы частотой 12,6 MHz.

    Надо две микросхемы памяти для карты уровня (256К х 16) и тайлов (512К х 8).
    В карте уровня находятся двухбайтные номера тайлов.
    Размер карты уровня 512 х 512 тайлов.
    Если размер тайла 8 х 8 точек, то будет 8192 разных тайлов.
    Если размер тайла 16 х 16 точек, то будет 2048 разных тайлов.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    почему 8? почему не 2, 4 или 16? или вообще без кратности? ОБЪЕКТИВНЫЕ причина сможешь назвать?
    а не "потому что везде так было в ретрокомпьютерах" (как я показал выше, вовсе не везде было так)

    между прочим, по ссылке выше можно было посчитать кол-во тайлов 16x16 в RnT, так вот, их там на первый же уровень более 800
    собирать из тайлов 8x8 (что само по себе лишняя возня) - нужно будет больше 3000 тайлов (и тебе уже тупо памяти не хватает)
    то же самое касается карты уровня, 13 экранов в ширину, 9 в высоту - "хватит всем"?
    Если размер тайла 2 в степени N: 4/8/16/32 можно автоматически определить адрес отображаемой в данный момент точки. Размер 8x8 был выбран как минимальный размер для буквы. Можно добавить мультиплексор для переключения на размер 16х16 для упрощения рисования фона.

    Теоретически можно делать тайлы произвольного размера если добавить регистры для этих размеров и мультиплексоры для выбора размера тайла в степени 2. То есть, если надо тайл шириной 12 точек, то для определения адреса надо выбрать 16. Четыре точки из тайла не будут отображаться и обрежутся.
    Последний раз редактировалось zx-kit; 03.08.2018 в 17:16.
    "L-256"

  3. #493
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,533
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    208
    Поблагодарили
    166 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Принцип вывода фона аппаратно-тайловым способом.

    Фон конструируется как в игре Майнкрафт из кубиков. Не надо рисовать целый дом с нуля. Можно его построить из кирпичей.
    угу, а из панелей строить куда удобней, а еще можно монолит в опалубку отливать
    ты нам про устройство ног не рассказывай, а ЗАЧЕМ СОБАКЕ ПЯТАЯ НОГА, объясни-ка

    громоздить вот эти все "упрощения":
    Цитата Сообщение от zst Посмотреть сообщение
    Надо две микросхемы памяти для карты уровня (256К х 16) и тайлов (512К х 8).
    В карте уровня находятся двухбайтные номера тайлов.
    Размер карты уровня 512 х 512 тайлов.
    Если размер тайла 8 х 8 точек, то будет 8192 разных тайлов.
    Если размер тайла 16 х 16 точек, то будет 2048 разных тайлов.
    Цитата Сообщение от zst Посмотреть сообщение
    Можно добавить мультиплексор для переключения на размер 16х16 для упрощения рисования фона.
    когда блиттер успевает отрисовать И спрайты, И фон из плиток произвольных (!) форм, размеров и номеров!


    Цитата Сообщение от zst Посмотреть сообщение
    Если размер тайла 2 в степени N: 4/8/16/32 можно автоматически определить адрес отображаемой в данный момент точки.
    ну полный бред же
    с аппаратными тайлами адрес пикселя в принципе не нужен (шаг равен тайлу)
    а с блиттером или программным движком можно себе выбрать любой размер

    Цитата Сообщение от zst Посмотреть сообщение
    Размер 8x8 был выбран как минимальный размер для буквы.
    да зачем вообще какой-то минимальный размер для буквы?!
    и, если уж на то пошло, зачем делать буквы одинакового размера?
    когда блиттер мог бы даже пропорциональные шрифты легко выводить
    причём проще, чем в аппаратных текстовых режимах, для программиста
    Прихожу без разрешения, сею смерть и разрушение...

  4. #494
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    объясни-ка громоздить вот эти все "упрощения": когда блиттер успевает отрисовать И спрайты, И фон из плиток произвольных (!) форм, размеров и номеров!
    Посчитай сколько целых тайлов 16х16 надо отобразить на экране: 20х14=280, а при движении еще куча кусочков по краям. Ты предлагаешь определять процессором координаты каждого тайла ? Это совсем не просто. Хотя процессор справится.

    Но при аппаратно-тайловом способе ничего этого не надо. Один раз при движении фона надо записать координаты левого верхнего угла окна. Вот это просто. Или ты считаешь, что при рисовании блиттером карта уровня и память тайлов будут меньше или они совсем не нужны ?
    ну полный бред же с аппаратными тайлами адрес пикселя в принципе не нужен (шаг равен тайлу) а с блиттером или программным движком можно себе выбрать любой размер
    Для аппаратно-тайлового способа изображения фона определение адреса точки - это основная задача схемы. Вычислить адрес точки, где записан номер цвета. А ты говоришь не нужен !
    да зачем вообще какой-то минимальный размер для буквы?!
    и, если уж на то пошло, зачем делать буквы одинакового размера? когда блиттер мог бы даже пропорциональные шрифты легко выводить причём проще, чем в аппаратных текстовых режимах, для программиста
    Шрифты мы обсудим при разработке операционной системы "SCROLLS" для нового компьютера. Вот ты все пишешь про изображение фона блиттером с тайлами произвольного размера. Это возможно.

    Но опиши процесс разработки уровня, как хранить изображения объектов, как описать где-какой объект. как определять координаты объектов.

    Для аппаратно-тайлового способа все просто и понятно. Карта с номерами тайлов, тайлы с определением адреса тайла по номеру, координаты окна для отображения на мониторе, автоматический вывод на экран, легкость скроллинга фона.

    Для спрайтового способа даже при одинаковых спрайтах нужны расчеты координат.
    Последний раз редактировалось zx-kit; 04.08.2018 в 06:30.
    "L-256"

  5. #495
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,533
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    208
    Поблагодарили
    166 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Посчитай сколько целых тайлов 16х16 надо отобразить на экране: 20х14=280, а при движении еще куча кусочков по краям. Ты предлагаешь определять процессором координаты каждого тайла ?
    чукча не читатель? я предлагал:
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    и в чём проблема? тут процессор как раз не нужен
    вывел блок, приплюсовал смещение к адресу
    Цитата Сообщение от zst Посмотреть сообщение
    Но при аппаратно-тайловом способе ничего этого не надо. Один раз при движении фона надо записать координаты левого верхнего угла окна. Вот это просто.
    см. выше - с блиттером ничего этого не надо. Один раз при движении фона надо записать координаты левого верхнего угла окна. Дальше блиттер сам. Это просто.

    Цитата Сообщение от zst Посмотреть сообщение
    Или ты считаешь, что при рисовании блиттером карта уровня и память тайлов будут меньше или они совсем не нужны ?
    не нужны: физически отдельно в отдельной памяти, с жёстко заданными размерами и лимитами, в обязательном определённом формате

    Цитата Сообщение от zst Посмотреть сообщение
    Для аппаратно-тайлового способа изображения фона определение адреса точки - это основная задача схемы. Вычислить адрес точки, где записан номер цвета. А ты говоришь не нужен !
    нечего там ВЫЧИСЛЯТЬ такого страшного, не тупи! адрес точки это адрес начала тайла + для всех тайлов одинаковое смещение

    Цитата Сообщение от zst Посмотреть сообщение
    Но опиши процесс разработки уровня,
    "разработка уровня" это что? если про формат карты, то он никак не должен быть привязан к отображению (см. ниже)

    Цитата Сообщение от zst Посмотреть сообщение
    как хранить изображения объектов,
    массивы пикселей + дескрипторы блоков (на один массив мб несколько)

    Цитата Сообщение от zst Посмотреть сообщение
    как описать где-какой объект. как определять координаты объектов.
    в смысле "где"? какие "координаты"? "потрудитесь излагать ваши мысли яснее!" (c)

    Цитата Сообщение от zst Посмотреть сообщение
    Для аппаратно-тайлового способа все просто и понятно. Карта с номерами тайлов, тайлы с определением адреса тайла по номеру, координаты окна для отображения на мониторе, автоматический вывод на экран, легкость скроллинга фона.
    это лишь для игр, которым подойдёт такая карта, всё какбэ просто
    но карты могут быть и закольцованные, и случайно генерируемые длинные
    и "коридорные", при небольшой площади "размахом" намного больше твоих лимитов
    Прихожу без разрешения, сею смерть и разрушение...

  6. #496
    Guru Аватар для Totem
    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Процессор Z80 на 6 MHz в корпусе DIP-40 на отдельном модуле с генератором на кварце 12 MHz, делителем до 6 MHz, подтяжкой шины данных к +5V. 8 резисторов по 10К. На этом же модуле надо поставить буферы шин адреса и управления. Возможно для шины данных тоже. Надо уточнять схему.

    Основное ОЗУ на отдельном модуле. В базовом варианте 2 микросхемы SRAM по 32 К в корпусах DIP-24.

    ВидеоОЗУ, ОЗУ символьного экрана, возможно ОЗУ палитры, FLASH знакогенератора на материнской плате.

    Арбитра шины как в ZX-BUS не будет. Чтобы избежать конфликтов на шине данных каждый модуль соединяется с шиной данных защитными резисторами по 470 Ом. За каждым устройством закрепляется определенный адрес с полной дешифрацией младшего байта. Порт FE наверно останется как у Спектрума для совместимсти. Возможно AY, КEMPSTON тоже.

    AY + BEEPER на отдельном модуле. Вместо AY лучше поставить микросхему MP3.

    Для расширения ОЗУ через окно 0000-3FFF будет новый регистр номера страницы. Возможно как в ATM или другом компьютере.

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

    Корпус MIDI ATX c 7 отверстиями для модулей.

    Вместо картриджа можно будет поставить обычное ПЗУ BASIC в таком же картридже, т.е. ПЗУ внешнее, сменное. Для загрузки игр не надо будет никаких нажатий кнопок - просто включить питание компьютера. Разъем для картриджа типа SL-40 на передней панели корпуса.
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

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

  8. #497
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Для реализации быстрого рисования нужно оптимизировать параметры тайлов фона. Оставить 15 цветов без палитры как в ZX Spectrum. В одном байте будет 2 точки по 4 бита. Точки байта располагать вертикально.

    Такой выбор имеет следующие плюсы:

    Цвета будут узнаваемы, останется ощущение ретро.
    Экономится память тайлов.
    4 бита проще преобразовать в аналоговый сигнал на SCART.
    Можно использовать имеющийся видеоконвертер VGA&PAL для подключения монитора VGA.
    Рисовать в буфер экрана можно сразу по 2 точки. При этом память можно использовать 8-битную.

    Размер тайла 16x16 точек. Достаточно хороший размер. С ним работать можно. Не стоит усложнять с произвольными размерами. Из этих тайлов рисуем уровень. Каждый тайл нумеруем двумя байтами. Загружаем карту уровня и память тайлов. В карте можно разместить сразу несколько планов и куски фона для эффекта параллакса. Чтобы нарисовать фона указываем блиттеру прямоугольное окно в карте уровня и координаты в буфере. Блиттер это накладывает, затирая предыдущее изображение в буфере. Так в буфере рисуем дальний план, затем блиттером рисуем спрайты, затем накладываем передний план. После прихода прерывания от INT блиттером копируем требуемую прямоугольную область из буфера на экран.
    "L-256"

  9. #498
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    4 ВАРИАНТ. ИДЕАЛЬНЫЙ ДОМАШНИЙ РАДИОЛЮБИТЕЛЬСКИЙ КОМПЬЮТЕР:

    Идеальный домашний радиолюбительский компьютер должен быть на Z80 без БИС типа ВВ55 с линейным экраном.

    По сравнию с советскими компьютерами у Спектрума был INT, BEEPER. Можно добавить русских кнопок. Для ускорения графики желательно два экрана по одному адресу.

    Загрузка должна быть автоматическая после сброса. На каких ОС, мониторов , бейсиков, LOAD"NAME". Включил компьютер и он без вопросов и нажатия кнопок должен загрузить первую программу с магнитофона.

    ROM-DISK с часто используемыми программами.

    У портов полная дешифрация младшего адреса. Никаких двухбайтовых адресов, упрощенной дешифрации или размещения портов в адресном пространстве.

    В ПЗУ минимальная программа LOADER. Остальное грузится с ROM диска или с магнитофона.

    ПЗУ отключаемое программно.

    Адреса всех портов однобайтовые.

    Должен быть встроенный порт джойстика - курсор и 4 кнопки. Одной мало.

    Рисовать сразу по 8 точек (выборочно по значению записываемого байта) текущим цветом. Для этого надо память с независимой адресацией точки. 8 микросхем SRAM. По 4 бита на точку. 16 цветов. Тогда рисовалось бы быстро и без клешинга.

    Нафик AY c колокольчиками. Лучше многоканальный BEEPER с автоматическим проигрыванием фрагментов звуков.

    Ещё лучше General Midi с настоящими звуками вместо AY.

    Идеальный компьютер должен уметь читать состояние нескольких нажатых кнопок. Клавиатура должна быть выносная. Совместимая по английским буквам со Спектрумом.

    И конструкция компьютера должна быть, конечно, модульная на импортных разъёмах DIN-64.

    Проще Z80 нет. Простые схемы, простые программы.

    Нужно простое подключение к монитору VGA 640*480@60Hz. Вполне подходит графический режим 320*240.

    Надо разработать домашний радиолюбительский компьютер уровня Радио-86РК, Специалист, Орион, Ленинград, ЮТ-88, БК, ПК8002 Эльф, Atari, Commodore 64 и т.п.

    Но лучше! На основе сегодняшних знаний! Подходящий для игр.

    Восемь микросхем 32К * 8 позволят разместить два экрана 320 * 240 * 8бит.
    "L-256"

  10. #499
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    PDP пердуны со стальными анусами будут рассказывать о важности их архитектуры. Предприимчивые на PDP теме косить капусту при любом случаи.

    А тем временем мир изменился.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  11. #500
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    По новой идее ПЗУ, дополнительное ОЗУ, экраны, ROM - диски и другие устройства с памятью должны подключаться через окно 16 Кбайт с адреса 0.

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

    Например, рисование спрайта из ROM-диска на экран командой LDIR.
    Последний раз редактировалось zx-kit; 25.04.2020 в 18:21.
    "L-256"

Страница 50 из 56 ПерваяПервая ... 464748495051525354 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Радиолюбительский компьютер "LEVEL"
    от zx-kit в разделе Для начинающих
    Ответов: 501
    Последнее: 30.04.2020, 09:46
  2. PUZZNIC+Level Editor 2016
    от Yuri80 в разделе Игры
    Ответов: 3
    Последнее: 01.05.2016, 13:55
  3. Радиолюбительский компьютер "СПЕКТР" - схема, плата
    от idc в разделе Несортированное железо
    Ответов: 0
    Последнее: 02.08.2011, 13:31
  4. Level 5
    от Arlekin в разделе Игры
    Ответов: 7
    Последнее: 29.09.2006, 17:24

Ваши права

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