Уже какието спрайты и знаки бредятся![]()
Уже какието спрайты и знаки бредятся![]()
Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
в конверторе палитры тож особого смысла не было, пока 256 цветами не озадачились
![]()
Попробовал сделать 256c... вот, что получилось...
screenshot1
screenshot2
screenshot3
screenshot4
(буду переделывать)
Палитра, фиксированная. В качестве примера реализовал такую: G3 G2 R3 R2 B3 B2 Y1 Y0 (pal_v3.act)
Включение режима предлагается по комбинации трёх старших битов (001xxxxx) в порте #fe
(для простоты реализации по 5 биту), при активном режиме "16C".
Т.е. сначала включаем "16C" (out #eff7,#01), потом "256C" (out #fe,#20).
Выключение в обратном порядке или сразу выкл."16C" (out #eff7,#00).
Если из Low256c переходить в стандартный режим, с перспективой потом опять вернуться в Low256c, то D5 #FE можно не обнулять, тогда при установке #EFF7 D0=1 сразу вываливаемся в Low256c. Но если из Low256c переходить в любой другой нестандартный режим, то нужно иметь ввиду, что порт подрежимов (старшие биты биты #FE) один на все 15 видеорежимов (исключая стандартный видеорежим), поэтому при переходе в любой другой режим при несброшенном D5 #FE вы автоматом попадёте в его подрежим #1, а не в сам режим. Это необходимо иметь ввиду при программировании и писать сразу корректно, несмотря на то, что в данный момент или на конкретном компьютере эти подрежимы могут быть и не подключены, но они появятся в будущем и тогда все некорректности в программировании вылезут боком.
И ещё - порт подрежимов доступен из любого нестандартного режима, но из стандартоного доступны только младшие 5 бит. Так сделано затем, что до сих пор существует много кривонаписанных программ использующих отбалды старшие биты #FE в стандартном режиме. Чтоб это не повторилось, во всех расширенных режимах при обращении к #FE необходимо использовать строго определённые биты, т.к. в этих режимах все биты порта #FE - значащие!
Последний раз редактировалось Black_Cat; 24.02.2008 в 18:08.
Конвертилку и загружалку в студудию !!!
Закинь плиз конверченный оригинал для сравнения .
Во монстр. Нет уж , в сад ! Бери bit5 (DMA Sound Blaster) в EFF7h !!! Всёравно эту муть(DMA Sound Blaster) никто лепить не будет , проще уж как в спринтере отдельно сделать .
Если мучиют религиозные сомнения , делай выбор режима по EFF7h bit0 & bit1 = fan256 !
Последний раз редактировалось fan; 16.04.2009 в 00:02.
Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/
По накрутчику .
FAE7 - Рулящий регистр (с инверсными выходами). Раскладка бит -
D0 - Включает накрутчик
D1 - Разрешает считывание данных из регистра данных (значение интенсивности).
D2 - Разрешает установку адреса из регистра адреса (номер цветта) .
D3 - Запись в SRAM R
D4 - Запись в SRAM G
D5 - Запись в SRAM B (можно записывать сразу во все)
D6 - \_ Выбор палитры
D7 - /
FAEF - Регистр адреса (номер цветта) .
FAF7 - Регистр данных (интенсивность).
Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/
чё то как-то наворочено.
может сделать так:
FAE7 - регистр адреса, при записи адреса регистр данных уходит в режим R
FAEF - данные, R, G, B по очереди
типа так:
OUT (#FAE7), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 0
OUT (#FAE7), 1 : OUT (#FAEF), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 255
OUT (#FAE7), 1 : OUT (#FAEF), 255 : OUT (#FAEF), 0 : OUT (#FAEF), 0
чтение имхо не надо
--------------
хотя наверное включение/выключение тоже надо сделать. тогда заюзать 3 регистра
FAE7 - управляющий, едиснтвенный бит - 0 - включение
FAEF - адрес
FAF7 - данные, R, G, B по очереди
------------------
или если количество корпусов увеличится из-за "поочередной" записи R G B то предлагаю тупо упростить FAE7
0 - Включает накрутчик (при этом включается запись в порты FAEF и FAF7)
1 - D3 - Запись в SRAM R
2 - Запись в SRAM G
3 - Запись в SRAM B (можно записывать сразу во все)
а в оставшиеся биты можно повесить включение 256colors например
имхо конструкция избыточная, для реализации подобного устройства достаточно одного порта и одной ОЗУ.. ну и ещё немного подумать..![]()
IMHO можно надумать просто заюзать Альтеру или Ксайлинкс в комплете с одной или двумя озухами со старых писёвых материнок( 10-15 нс) и повесить его на шину адреса проца. по сбросу оно просто принимает все то что тулится в стандартный экран в свое буферное озу и отображает его(при такой реализации можно вывод сделать и на VGA) плюс всякие изврат режимы как multicolor 16cpb 256cpb пускать сквозь окно в 16к верхнее( как раз 3 куска по 16к будут составлять спековский экран в 256 цветах а 4й кусок можно будет как буфер палитры юзать) единственно при включении окна надо память спека глушить а читать писать напрямую в память этой карты)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)