Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Это то, чего не было в классике, в Ленинграде, то, о чем все мечтали и что сейчас можно реализовать.
Есть новый проект Pentagon-4096. Как вам ? Это еще Спектрум ?
На нашем форуме нет Спектрумов. Каждый делает то, что хочет.
Последний раз редактировалось zx-kit; 09.03.2018 в 12:22.
"L-256"
Есть мнение, что лучше было не изобретать очередной суперспектрум, а попытаться создать законченный продукт. Да, я говорю о стильном изящном корпусе-в-клавиатуре, в котором находится готовый к использованию компьютер, который можно вынуть из упаковки, подключить питание и монитор и начать использовать. Вот с этим у отечественных спектрумостроителей существенные проблемы. То их продукт в виде материнской платы, которую надо засунуть в некий ящик и подключить ещё массу всякой требухи. То коробочка, к которой надо подключить исчезающую из продажи PS/2 клаву. То вообще непонятная плата с бородой из МГТФ.
Готовый к использованию компьютер, из меню которого можно выбрать любую проверенную временем конфигурацию, чтобы и Профи с CP/M и ATM, и TS Conf, и SAM Coupe, и всевозможные звукокарты и гигаскрины с глюкочасами и чертом лысым - в общем, именно такое устройство никак создать не удаётся.
В этом отношении (готового к использованию изделия) успеха удалось достичь лишь Next’у.
Мои игрушки: PowerbookG4 / MacMiniG4 / MacMini i5 / Amiga1260 / Commodore64 / Atari65XE / MSX1 SVI-728 / MSX2 КУВТ2 / MiST / MiSTer / Profi+ / KarabasPro / Speccy2010 / Aspect128 / ZX-UNO VGA 2M / PS3 / PS4Pro+PSVR / PSP / PS Vita / GBC / LDK Game / RG350M / iPhone / iPad / Raspberry Pi (0/3B+/4B/5)
MorphOS / AmigaOS / MacOS / Linux
Последний раз редактировалось Totem; 09.03.2018 в 16:25.
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
4 плоскости по 2 экрана с 2 слоями........ Это сколько там памяти надо угрохать только на отображение картинки? Плюс ещё всё это крутить программно...
Всё таки, надо как-то попроще.
Моё видение идеального: 4 банка для: экранной области, исходных пикселей, исходных атрибутов и исходных масок. Аппаратный блитер. Экран имеет линейную структуру строк. Раздельный bright для paper и ink вместо flash.
1) Отдельная видеокарта, работающая от системного кварца (упрощает синхронизацию).
2) 2 видеорежима - "стандартный" с байтом атрибутов на знакоместо 8х8 пикселей и расширенный с байтом атрибутов на байт пикселей (8х1), режим выбирается битом в байте конфигурации. Итого 6,75 или 12 килобайт памяти экранной области. Может располагаться в 16 килобайтах из РУ6.
3) Три банка по 64 или 256 килобайт для пикселей, атрибутов и масок. Адреса в них совпадают байт в байт, поэтому, при копировании одновременно читается 3 байта из всех 3 банков и далее записывается в экранную память.
4) Аппаратный блитер программируется так, передаётся адрес начала экранной области (2 байта), количество байт в строке (1 байт, значение 1 - 32), количество пропускаемых байт после строки (1 байт, значение 0 - 31), количество копируемых строк (1 байт, значение 1 - 191), адрес начала копируемого спрайта (3 или 4 байта для будущих расширений памяти). Управляющий байт (1 байт), содержит биты режима атрибутов экрана (8х8 или 8х1), режим копирования атрибутов спрайтов (копирование с атрибутом или копирование без атрибута), бит запуска копирования. Чтением бита запуска копирования можно определить окончание копирования этого спрайта. Итого, 9 или 10 байт. Исходные спрайты имеют линейную структуру строк, поэтому, они просто копируются на экран подряд. Если есть желание, можно добавить количество пропускаемых байт после копирования строки, тогда можно будет вырезать куски из большой картинки. В итоге, в режиме байт атрибутов на байт пикселей получаем по горизонтали точность 8 пикселей, а по вертикали точность 1 строка, что позволит облегчить написание игр.
Расчёт скорости. РУ5 работает с частотой чтения 3500000 операций в сек. Из них половина уйдёт на вывод видео, оставшиеся 1750000 (байт/с) получается 1750000 / 50 = 35000 байт за фрейм. Получается, можно успеть 3 раза заполнить видимый экран, что хватит для большинства игр. Так же, во время бордюра можно использовать все циклы записи и скорость увеличится ещё.
В итоге, если начать строить кадр сразу после начала нижнего бордюра, то ещё до КСИ можно заполнить фон, а до начала отображения видимых строк можно вывести все спрайты. Если не получается вывести все спрайты, то можно сначала выводить верхние, а потом более нижние спрайты, тогда вывод успеет до отображения соответствующего спрайта на экране.
При копировании можно задать режим копирования с атрибутам и без. Если без атрибутов, то скорость может быть в 2 раза выше. Итак, читаются 3 байта из 3 банков, байт маски попадает в регистр, который пропускает или не пропускает сигнал WR на микросхемы экранной памяти соответствующих битов, поэтому 1 битные микросхемы будут гораздо удобнее в качестве экранной памяти. А байт атрибутов копируется как есть, если он есть.
В итоге, благодаря скорости заполнения экрана задний буфер для предварительного построения картинки становится не нужен.
Хм, из 35000 байт за кадр байты атрибутов съедят половину... Тогда можно атрибуты разместить в отдельный банк памяти. И в этом случае, копирование как с атрибутами, так и без будет одинаково быстрым.
Так же, в игре часто выводится рамка игрового поля, а так же, разная информация и статистика. Можно добавить ещё один слой маски, который можно разместить в банке атрибутов экранной памяти, эта маска в нужных местах будет показывать стандартный экран спектрума поверх всей картинки, тогда можно будет один раз задать маску и на стандартном экране выводить состояние игры и статистику, и эта информация будет всегда на верху и не надо будет эту информацию собирать из спрайтов и строить каждый кадр.
Управление блитером можно осуществлять, выделив ему ячейки памяти, а не порты. Дешифровка нужна более полная, а не как у портов. Можно выделить 16 байт памяти на управление блитером.
В итоге, 16 корпусов РУ6, 24 корпуса РУ5 или РУ7, а так же, счётчики, регистры и сумматоры для блитера.
Думаю, если делать, то надо делать именно так, на элементах тех лет.
Последний раз редактировалось AzAtom; 09.03.2018 в 16:17.
Я предполагал уложиться в 3 микросхемы SRAM по 128 Kбайт, а ты предлагаешь монстра на 40 микросхемах памяти.
1 слой 16 Кбайт. 3 слоя ATTR, BITMAP, MASK = 3*16. По два экрана 3*16*2. 4 плоскости 3*16*2*4 =3*128
Я предлагаю привычное программное рисование спрайтами и тайлами, а ты блиттер.
Последний раз редактировалось zx-kit; 09.03.2018 в 16:36.
"L-256"
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)