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

User Tag List

Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 101

Тема: Новый формат графического изображения для ZX совместимых компьютеров.

  1. #41
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    Значение 0x33 в порт #7FFD записываю.
    А что нужно еще - не знаю. В интернете не нашел.
    Может кто знает как из BASIC128 попасть в BASIC48?
    Если насовсем, то out (#7ffd),#20. Если на чуть-чуть, то out (#7ffd),#10 - туда, out (#7ffd),#00 - обратно

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

    Цитата Сообщение от Ynicky Посмотреть сообщение
    Пока не могу проверить BASIC48, так как не знаю что нужно сделать
    в мониторе для его запуска.
    Запоздалая мысль. out (#7ffd),#33 включит BASIC48 (и страницу 4 в #c000, не знаю зачем тебе это), но сброс не сделает, продолжит исполнение в другой ROM со следующего после out адреса. А что там в ROM1? Если хочешь сброс, делай out либо в RAM, либо в том адресе ROM0, после которого ROM1 уйдет на сброс (например, затолкай в стек #0000 и переключись там, где в ROM1 по следующему адресу будет ret). Переключение в RAM надежнее.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  2. #42
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Alex Rider, спасибо за подсказку.
    Сделал так:
    0048 BASIC48
    0048 31 00 3D ld SP,#3d00
    004B 3E 33 ld a,#33
    004D 01 FD 7F ld bc,#7ffd;
    0050 ED 79 out (c),a
    0052 C9 ret

    Так как команда ret имеет еще 2 чтения адреса, то записывать в стек #0000 нельзя.
    ПЗУ уже переключилось на BASIC48, а там по начальным адресам не нули.
    Нашел в BASIC48 место с нулями - #3d00, и записал это в стек.
    После этого сработало как надо.

  3. #43
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Smalovsky Посмотреть сообщение
    Если делать атрибут 8 на 2, то будет подобие аппаратного мультиколора с расширенными атрибутами.
    Сделал преобразование блоков в 8х2.
    Вот что получилось.
    Слева направо: RGB888, блоки 4х4, блоки 8х2.
    Нажмите на изображение для увеличения. 

Название:	PARROT_3.jpg 
Просмотров:	172 
Размер:	76.4 Кб 
ID:	59865
    Нажмите на изображение для увеличения. 

Название:	avatar0_3.jpg 
Просмотров:	230 
Размер:	38.3 Кб 
ID:	59866
    Нажмите на изображение для увеличения. 

Название:	avatar01_3.jpg 
Просмотров:	215 
Размер:	77.2 Кб 
ID:	59867
    Нажмите на изображение для увеличения. 

Название:	avatar02_3.jpg 
Просмотров:	220 
Размер:	79.4 Кб 
ID:	59869
    Нажмите на изображение для увеличения. 

Название:	avatar03_3.jpg 
Просмотров:	205 
Размер:	81.6 Кб 
ID:	59871
    Нажмите на изображение для увеличения. 

Название:	avatar11_3.jpg 
Просмотров:	230 
Размер:	79.5 Кб 
ID:	59872
    Нажмите на изображение для увеличения. 

Название:	avatar22_3.jpg 
Просмотров:	212 
Размер:	81.1 Кб 
ID:	59873
    Нажмите на изображение для увеличения. 

Название:	avatar33_3.jpg 
Просмотров:	227 
Размер:	41.4 Кб 
ID:	59874
    В принципе разница у 4х4 и 8х2 минимальная.

  4. #44
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    Так как команда ret имеет еще 2 чтения адреса, то записывать в стек #0000 нельзя.
    ПЗУ уже переключилось на BASIC48, а там по начальным адресам не нули.
    Нашел в BASIC48 место с нулями - #3d00, и записал это в стек.
    После этого сработало как надо.
    Ага, точно. Важно еще, что в ROM1 по адресу 0052 тоже ret. Собственно, в твоем мониторе ret по 0052 не сказать, чтобы нужен, но и не возбраняется. Если надо сэкономить, можно попробовать так (пишу без отладки, из головы):
    Код:
      org #0273
      ld a,#30
      ld bc,#7ffd
      out (c),a
      rst #0
    По адресу #027a лежит #c7 = rst #0, что тоже сброс. Но да, #c7 встречается нечасто, поэтому куда угодно этот кусок не засунешь.
    Цитата Сообщение от Ynicky Посмотреть сообщение
    004B 3E 33 ld a,#33
    А зачем #33? При переходе в ROM1 с #c000 включится страница 3 - это так специально надо?
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  5. #45
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    А зачем #33? При переходе в ROM1 с #c000 включится страница 3 - это так специально надо?
    Я думал, что в Spectrum-е 48K используется 1, 2 и 3-я страницы. А так как у меня 3-я страница находится в быстром внутреннем ОЗУ FPGA, то я ее и подключил. Хотя программе все равно 0-я или 3-я страницы. Во внутренней памяти у меня находятся 2, 3, 5, и 7-я страницы.

    P.S. Забыл еще сказать. Процессор у меня стоит nextZ80, работающий на частоте 40 МГц с каждым вторым wait стейтом при работе с внутренними ROM и RAM. При работе с внешней SDRAM wait останавливает процессор на 10 тактов из 11. При переходе на BASIC48 - тоже на 10 из 11 с внутренней памятью (3,64 МГц).
    Последний раз редактировалось Ynicky; 26.02.2017 в 09:05.

  6. #46
    Activist Аватар для gurfunkel
    Регистрация
    28.02.2006
    Адрес
    г. Тольятти
    Сообщений
    434
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    50 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    В принципе разница у 4х4 и 8х2 минимальная.
    Да нет, у 8х2 сильнее заметна "пикселизация", т.е. квадраты видны.

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

  8. #47
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    Я думал, что в Spectrum-е 48K используется 1, 2 и 3-я страницы.
    Нет, в 48К (точнее, после установки 5 бита #7ffd) все равно какая страница включена, но единственная - #7ffd после этого блокируется, и до аппаратного сброса страницу поменять не получится. Оригинальный BASIC48 ничего про страницы не знает, какую впечатали, той и пользуется.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  9. #48
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vlad Посмотреть сообщение
    Сейчас работаю над новой конфигурацией ts-conf для плат ReVerSE и DivGMX. Конфигурация будет на базе двух ядер Next (оптимизированный NextZ80, уменьшено время выполнения некоторых команд, добавлен кеш и дополнительные команды) по 42/50MHz с графикой 256х192 8bpp (256 цветов) с последующим переходом на 640х480 8/15/24bpp (16M цветов) для возможности реализации игр подобных StarCraft с минимальными изменениями графики.
    Здравствуйте, vlad. У меня стоит Ваш процессор на VHDL. А зачем 2 ядра? Какие функции у каждого?
    Если смогу адаптировать Вашу новую конфигурацию в Марсоход3, было бы здорово.

  10. #49
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vlad Посмотреть сообщение
    Сейчас работаю над новой конфигурацией ts-conf для плат ReVerSE и DivGMX. Конфигурация будет на базе двух ядер Next (оптимизированный NextZ80, уменьшено время выполнения некоторых команд, добавлен кеш и дополнительные команды) по 42/50MHz с графикой 256х192 8bpp (256 цветов) с последующим переходом на 640х480 8/15/24bpp (16M цветов) для возможности реализации игр подобных StarCraft с минимальными изменениями графики.
    довольно интересно. а сколько таких ядер в чип влезет безболезненно?

  11. #50
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    835
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    98
    Поблагодарили
    65 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ynicky, я вот подумал, что 4х4 является симметричным( расположение атрибутных областей в одном знакоместе симметрично - две по горизонтали и две по вертикали) и представление программной модели более проще чем у 8х2. У режима 8х2 в одном знакоместе четыре атрибутных области расположенных по вертикали, а по горизонтали укладывается только одна, то есть режим не симметричен и его программная модель сложнее.
    Для симметричного 4x4 можно в играх хоть вид сбоку, хоть сверху, а для несимметричного 8х2 только с боку( при виде сверху персонаж игры будет отображаться по разному в зависимости от его ориентации из-за несимметричности расположения атрибутных знакомест 8х2). Можно конечно для 8х2 и вид сверху в играх, но тогда теряется преимущество перед обычным видеорежимом.
    Хотя плюс 8х2 наличие программных наработок, которые можно взять за основу. Нужно посоветоваться с экспертами какой размер атрибутной области нужен. Например, Денис Грачёв изучал мультиколор 8х2( я об этом что-то читал) для движка нирвана. Может, он напишет своё мнение. Я посоветуюсь, по возможности, с алоне_кодером.
    ¡Un momento, señor fiscal!


Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Новый, более эффективный кассетный формат
    от Barmaley_m в разделе Программирование
    Ответов: 312
    Последнее: 11.08.2018, 18:21
  2. Ответов: 22
    Последнее: 23.04.2012, 15:34
  3. Продаж картриджи для Денди и совместимых
    от djvini в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 05.04.2012, 23:20
  4. Ответов: 2
    Последнее: 26.02.2005, 18:17

Ваши права

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