PDA

Просмотр полной версии : Быстрый проц



alone
25.06.2013, 17:09
Какие софты надо было бы написать под спек на 50 МГц?

Два варианта комплектации:
1. Z80 @ 50 MHz вместо обычного. Старые программы работают с ним прозрачно.
2. Z80 @ 50 MHz как дополнительное устройство. Возможно, без нескольких команд и/или с дополнительными командами. Старые программы его не видят.

Генерируйте идеи и уточните, что важнее в первую очередь.

NB: такое железо существует (Pentagon 2.666 и NeoGS соответственно). Вопрос в прошивках и софте.

Hacker VBI
25.06.2013, 17:18
"brake" ( !turbo ) ;)
простой хтмл4 браузер, может быть качалку

Лас
25.06.2013, 17:20
спек на 50 МГц
Взаимоисключающие условия.

alone
25.06.2013, 17:48
ReVerSE реально работает на 42 МГц: http://zx-pk.ru/showpost.php?p=596720&postcount=411
Это не спектрум? Может быть, это амига?

---------- Post added at 16:48 ---------- Previous post was at 16:46 ----------


простой хтмл4 браузер
К сожалению, у нас нет команды из 100 программистов.

Hacker VBI
25.06.2013, 18:09
alone, понимаю, увы.
Но, думаю, возможно реализовать простой разбор хтмль без разных скриптов и т.д.
пусть браузер будет по началу даже текстовый. тут важнее даже получать из сети данные (реализовать упрощённый стек тсп/ип). дальше можно будет наворачивать декодинг гифов, отрисовку вёрстки и т.д.
задача серьёзная. как думаешь?

---------- Post added at 17:09 ---------- Previous post was at 17:08 ----------

и выпросим у иканн зону .zx :)

alone
25.06.2013, 18:23
Это задача на много-много человеко-лет. Давайте что-нибудь попроще.

---------- Post added at 17:23 ---------- Previous post was at 17:16 ----------

Насколько я понимаю, аппаратные спрайты при 50 МГц уже не нужны. Можно руками вывести.

Лас
25.06.2013, 18:37
ReVerSE реально работает на 42 МГц: http://zx-pk.ru/showpost.php?p=596720&postcount=411
Это не спектрум? Может быть, это амига?
Спектрум-спектрум, только успокойтесь. Больной, вам нельзя волноваться.

alone
25.06.2013, 18:44
В общем я планировал отдать второму обработку периферийных запросов, т.е. эмуляцию несуществующих аппаратных устройств к примеру, или заставить работать в паре в одном или защищенном адресном пространстве с виртуальными портами...
Можно эмулировать NeoGS.

TSL
25.06.2013, 19:00
Насколько я понимаю, аппаратные спрайты при 50 МГц уже не нужны. Можно руками вывести.
Глупости. Пойди в магазин уцененных товаров, купи видяху 1МБ без аппаратных акселей, втыкни в PCI и запусти винду в режиме слайдшоу.
Ты лучше подумай над концептом тридэ процессора. Только без Михалкова.
Как обычно, ты придумаешь, я реализую, а лвд будет тролить ))

alone
25.06.2013, 19:36
Какого Михалкова?

И таки винда хочет блиттер, а не аппаратные спрайты.

Hacker VBI
25.06.2013, 21:57
TSL, а зачем тридЭ ? Триде оставим другим машинам.
наоборот, лучше давить на 2д и его именно и укручивать

TSL
25.06.2013, 22:35
Какого Михалкова?
Да никакого. Тридэ (=тритэ).

sq/skrju
25.06.2013, 23:18
Демотул.

TSL
25.06.2013, 23:24
а зачем тридЭ ?
Затем, что по приколу.

наоборот, лучше давить на 2д и его именно и укручивать
Асиль для начала то, что в тсконфе. Там фич на полторы амиги. Можно делать какие угодно диззи/шуторы/платформеры, 50фпс на 3.5мгц процессорной частоты.

scl^mc
26.06.2013, 09:38
а почему бы не сделать, как в zx-next - два проца на плате?

char
26.06.2013, 10:06
нужна автономно щитающая 3D-карточка, это будет интересно.
когда выпускали первые 3DFX, тоже поначалу кругом ныли, шта эта никому не понадобится и якобы не будет нигде поддерживаться...

diver
26.06.2013, 11:16
Демотулы и вообще разные тулы - графикс, звуко. Паковщики ёпрст. Автосборшики... Хотя уже это все проще писать под свежие платформы.

Hacker VBI
26.06.2013, 11:19
кто на платформе сидит? что им нужно?
давайте определим целевую аудиторию - и будем делать выводы.

diver, что тебе даст протрекер/артстудия в 50Гц? хруст в 50Мгц - это да.
TSL, начинаю осилять :)

introspec
26.06.2013, 11:24
Какие софты надо было бы написать под спек на 50 МГц?

Два варианта комплектации:
1. Z80 @ 50 MHz вместо обычного. Старые программы работают с ним прозрачно.
2. Z80 @ 50 MHz как дополнительное устройство. Возможно, без нескольких команд и/или с дополнительными командами. Старые программы его не видят.

Генерируйте идеи и уточните, что важнее в первую очередь.

В плане прошивки, думайте о точном таймере (с точностью, скажем, до 4 тактов или даже до такта), в идеале - со своим личным настраиваемым прерыванием. Нет, я думаю _не только_ о мультиколоре :)

breeze
26.06.2013, 11:39
…в идеале - со своим личным настраиваемым прерыванием.

TSConf, не?

introspec
26.06.2013, 11:43
TSConf, не?
Разумеется, как вариант. Я просто хотел подчеркнуть, что очень быстрый проц, наверняка ведь уже с хуже предсказуемой времянкой, без таймера очень проигрывает.

А вообще, я пока ещё старомодным извратом и онанизмом не назанимался :)

psb
26.06.2013, 12:54
хруст в 50Мгц - это да.
хруст в 2-3 ггц - вот это ДА.

и что интересно, они придумывают не как бы сделать что-то (разгоном до 50 мгц, например), а что делать с 50 мгц... клиника.....

TSL
26.06.2013, 13:06
а где Вы видели работающий реальный проц на 50МГц и в какой плате?
Ну, если быть совсем точным, то вот:
https://tsl-ds.googlecode.com/svn/Misc MCU/ATJ2085_datasheet_v1.5.pdf
Лично работает у меня на макетке на частоте 60МГц, но он не имеет внешней шины и у него только 32кБ ОЗУ.
Возможно Алон имел в виду, что некстз80 дает эффективную частоту 50 (это как раз 12МГц на НГС). Кстати он же соврал насчет 20 - под асекс на НГС корка некстз80 собирается в 12-14МГц.
introspec, Тот же некстз80 если работает со СРАМ без торможений, вполне просчитываем по тактам.

Дмитрий
26.06.2013, 13:10
Имхо, стандартный Z80 на 50МГц - нафиг не нужен. при таких скоростях ущимляться в стандартном спектрумовском 64кб пространстве - это верх извращения! Даешь нормальный MMU, PIC, DMA... Да будет ОСь, многозадачность... тогда да, 50МГц нужны для получения качественного софта. А так. Баловство это все! Что изменилось после появления 14МГц на спеке? Ну может чуть круче граф. эфекты стали в демках и все!

introspec
26.06.2013, 13:13
некстз80 если работает со СРАМ без торможений
Это на каком железе конкретно? И, спрошу сразу, раз я где-то видел пару раз разговоры о кэше. Я понимаю, зачем это, но понятно же, что это сделает с времянкой.
Думаю, лучше уж сразу поставить precision timer, чтобы потом не жаловаться на сексуальные расстройства.

Blade
26.06.2013, 13:19
Думаю, лучше уж сразу поставить precision timer
И что с ним делать?

introspec
26.06.2013, 13:26
И что с ним делать?
Что это вообще за вопрос? Разумеется, дрочить. Мультиколор, звук, что угодно.

TSL
26.06.2013, 13:29
Это на каком железе конкретно?
Конкретно, на ДЕ1. Частота корки - 30, обращения к СРАМ без торможений.

И, спрошу сразу, раз я где-то видел пару раз разговоры о кэше. Я понимаю, зачем это, но понятно же, что это сделает с времянкой.
Думаю, лучше уж сразу поставить precision timer, чтобы потом не жаловаться на сексуальные расстройства.
Кэш устраняет лишние обращения к ДРАМе, следовательно подтормаживания частоты з80 на оных.
Насчет пресыжын таймера я бы советовал забыть, напомню, что у канонiчного зетника машцикл 4 такт, такая же будет и точность попадания в этот самый таймер.
Алсо, ИНТы на тсконфе программируются с точностью до такта 3.5МГц в любое место экрана.

Blade
26.06.2013, 13:30
Про мультиколор alone уже писал :)

introspec
26.06.2013, 13:37
Про мультиколор alone уже писал :)
Про звук alone очевидно не подумал. А разницы никакой.

---------- Post added at 10:37 ---------- Previous post was at 10:31 ----------


Кэш устраняет лишние обращения к ДРАМе, следовательно подтормаживания частоты з80 на оных.
Насчет пресыжын таймера я бы советовал забыть, напомню, что у канонiчного зетника машцикл 4 такт, такая же будет и точность попадания в этот самый таймер.
Алсо, ИНТы на тсконфе программируются с точностью до такта 3.5МГц в любое место экрана.
Совсем устраняет, или "как правило" устраняет? Про инт уже сказали выше. А попадание в машцикл 4 такта, при учетверённой (или там увосьмерённая?) тактовой - это всё равно win, однозначно.

Ребята, я не хочу морочить вам голову. На extended spectrum я пока не ходок. Но раз процессор может ускорится в несколько раз, просто необходим метод более точной синхронизации. Для графики, для звука, для чего угодно. Далеко не всё удобно рисовать по принципу "сколько успеешь, всё равно вся производительность окажется сожранной".

alone
26.06.2013, 13:50
а почему бы не сделать, как в zx-next - два проца на плате?
Потому что такие конфигурации практически не используются разработчиками. Примеры - Sega 32X, Sega Saturn, ZX+NeoGS.


alone, интересно узнать, а где Вы видели работающий реальный проц на 50МГц и в какой плате?
Я про T80.


TSL, начинаю осилять
Учти, что порты изменятся после впиливания в бейзконфу (если TSL наконец почешется это обещанное сделать). Включай макросом, все порты прописывай константами.
Или же вообще не пиши под эту конфу. Можешь пожалеть потерянного времени, а то, знаете ли, TSL любит гонять на мотоцикле на 120 км/ч, а поддерживать его конфу вместо него никто не будет.

---------- Post added at 12:44 ---------- Previous post was at 12:40 ----------


В плане прошивки, думайте о точном таймере (с точностью, скажем, до 4 тактов или даже до такта), в идеале - со своим личным настраиваемым прерыванием.
Зачем?


Кстати он же соврал насчет 20 - под асекс на НГС корка некстз80 собирается в 12-14МГц.
У ниасиляторов. А у тех, кто умеет собирать, она собирается в 20.84 МГц, tco 49.1 нс. И это ещё без конвейера.

---------- Post added at 12:46 ---------- Previous post was at 12:44 ----------


Про звук alone очевидно не подумал.
NeoGS в зубы.

---------- Post added at 12:50 ---------- Previous post was at 12:46 ----------


при таких скоростях ущимляться в стандартном спектрумовском 64кб пространстве - это верх извращения!
Можно сделать сегментную адресацию через префиксы ld a,a и т.п., как делал Иван Мак.

Blade
26.06.2013, 13:50
А попадание в машцикл 4 такта, при учетверённой (или там увосьмерённая?) тактовой - это всё равно win, однозначно.
4 такта это если Z80 в халте висит. Если он чем то полезным занят, то и 21 может быть.

alone
26.06.2013, 13:52
хруст в 2-3 ггц - вот это ДА.
При 2-3 ГГц ты будешь думать не о хрусте с фиксированным деревом, а об арифметическом кодировании.

vlad
26.06.2013, 13:55
Я про T80.
T80 на 50МГц вместо реального на плате, вряд ли заработает. Пока из новодела на ReVerSE I есть реально работающая такая конфигурация, только мало кому это интересно. На Speccy2010 максимум 28МГц и то с пропусками тактов. Так, что вопрос можно считать исчерпанным.

alone
26.06.2013, 14:01
нужна автономно щитающая 3D-карточка, это будет интересно.
Для этого нужно написать:
1. firmware (шейдеры).
2. драйвер (обсчёт и вывод полигонов).
3. 3D-движок (математика со всякими сортировками и отсечениями).
4. дему, которая всё это будет вертеть.
5. конвертор объектов из блендера для неё.

А также придумать дизайн демы, нарисовать сами объекты и 2D графику (нас кинул уже четвёртый художник), написать новый автосборщик и т.д. И это при том, что нет ни малейших идей об интерфейсах между каждой парой уровней.

---------- Post added at 13:01 ---------- Previous post was at 13:00 ----------


T80 на 50МГц вместо реального на плате, вряд ли заработает.
KOE сказал заработает, значит заработает. Он кандидат наук, а не радиолюбитель.

introspec
26.06.2013, 14:02
NeoGS в зубы.

Ждал этого ответа. Получается, графика у нас АТМ, звук у нас NeoGS, и процессор вот теперь, на 50МГц, "почти Z80". Т.е., теперь официально, тут от "Sinclair ZX Spectrum" один Х остался.

Как говорится, приятно познакомиться, меня зовут Борис Карлофф, а вас?

http://mainnovationmanagement.co.uk/wp-content/uploads/2012/07/frankenstein.jpg

Я за новые 8-битные платформы, это прикольно, это стимулирует. Не понимаю только, зачем пытаться их встраивать через задний проход.

alone
26.06.2013, 14:05
Т.е., теперь официально, тут от "Sinclair ZX Spectrum" один Х остался.

Чушь не гони. Весь старый софт будет работать как работал.

sq/skrju
26.06.2013, 14:06
Сделайте верккзеуг под это дело, и тогда мы будем делать демы по это железо.

introspec
26.06.2013, 14:08
Чушь не гони. Весь старый софт будет работать как работал.
Да, но весь новый софт не будет иметь со спектрумом ничего общего, ни по мышлению, ни по организации. Никакой приемственности, очевидно же.
Я, например, за те же деньги лучше свой андроид попрограммирую.

alone
26.06.2013, 14:11
Да, но весь новый софт не будет иметь со спектрумом ничего общего, ни по мышлению, ни по организации.
Новый софт будет писаться с помощью всё того же старого тулчейна и запускаться всё на тех же старых платах, которые просто перепрошьют.

---------- Post added at 13:11 ---------- Previous post was at 13:10 ----------


Я, например, за те же деньги лучше свой андроид попрограммирую.
Ты и так под спек ничего не пишешь.

introspec
26.06.2013, 14:13
Ты и так под спек ничего не пишешь.
Сильнее скажу. Под твой тулчейн писать тоже некому.

alone
26.06.2013, 14:21
Под мой тулчейн пишут как минимум LVD и VNN. А под Sjasm ещё больше.

psb
26.06.2013, 14:25
При 2-3 ГГц ты будешь думать не о хрусте с фиксированным деревом, а об арифметическом кодировании.
жирновасто...


Т.е., теперь официально, тут от "Sinclair ZX Spectrum" один Х остался.
браво! :)))) но вот не все это понимают...


Сделайте верккзеуг под это дело, и тогда
и тогда народ будет говорить: фу, понаделали ламерства! что за дема без кодера, анимация какая-то...

---------- Post added at 16:25 ---------- Previous post was at 16:23 ----------

и это, хорош пиписьками-то мериться, больше пишешь, меньше пишешь... весь вопрос в том, возможна ли +1 софтина хотя бы потенциально или нет.

Blade
26.06.2013, 14:27
Два варианта комплектации:
1. Z80 @ 50 MHz вместо обычного. Старые программы работают с ним прозрачно.
2. Z80 @ 50 MHz как дополнительное устройство.
Почему Z80, а не Cortex-A8 например?

alone
26.06.2013, 14:30
Потому что, во-первых, мы делаем 8-битный компьютер, во-вторых, тулчейн заточен под Z80, а в-третьих, надо иметь и прямую, и обратную совместимость.

scl^mc
26.06.2013, 14:32
Потому что такие конфигурации практически не используются разработчиками. Примеры - Sega 32X, Sega Saturn, ZX+NeoGS.
а где гарантия, что это же не постигнет конфигурацию с 50mhz?

---------- Post added at 14:32 ---------- Previous post was at 14:32 ----------


Потому что такие конфигурации практически не используются разработчиками. Примеры - Sega 32X, Sega Saturn, ZX+NeoGS.
а где гарантия, что это же не постигнет конфигурацию с 50mhz?

introspec
26.06.2013, 14:33
4 такта это если Z80 в халте висит. Если он чем то полезным занят, то и 21 может быть.
Если думать как обычный спектрумовский программист - это не проблема.
В противном случае, конечно, это может создать неудобства.

---------- Post added at 11:33 ---------- Previous post was at 11:32 ----------


Под мой тулчейн пишут как минимум LVD и VNN. А под Sjasm ещё больше.
Один, два, много?

alone
26.06.2013, 14:36
а где гарантия, что это же не постигнет конфигурацию с 50mhz?
Попробуй писать под один проц и под два и сравни.

Shaos
26.06.2013, 14:46
Z80 в FPGA это уже эмуляция :v2_wink2:

Hacker VBI
26.06.2013, 14:47
ткните дураку ссылку что за тулчейн от Элоун и за верккзеуг?

---------- Post added at 13:47 ---------- Previous post was at 13:46 ----------

alone, а можно статью как у бриза про видео, для ламера?

alone
26.06.2013, 14:49
Z80 в FPGA это уже эмуляция
Программно неотличимо. А юзеру нет дела до надписей на чипах.


ткните дураку ссылку что за тулчейн от Элоун и за верккзеуг?
Unreal Speccy + ALASM + трд тулзы типа ESN.

char
26.06.2013, 14:52
Для этого нужно написать:
1. firmware (шейдеры).
2. драйвер (обсчёт и вывод полигонов).
3. 3D-движок (математика со всякими сортировками и отсечениями).
4. дему, которая всё это будет вертеть.
5. конвертор объектов из блендера для неё.

А также придумать дизайн демы, нарисовать сами объекты и 2D графику (нас кинул уже четвёртый художник), написать новый автосборщик и т.д. И это при том, что нет ни малейших идей об интерфейсах между каждой парой уровней.[COLOR="Silver"]


охи, ахи и жалобы на судьбинушку горькую были и будут всегда...

для начала, достаточно написать простейше:
1. автозаброс блока данных в карту
2. поворот принятых массивов точек
3. сортировка в лоб
4. вывод полигонов на экран
все неоднократно отвелосипедено в демках

добавить еще заброс в карту внутренних процедур от пользователя для генераций / обработки текстур в самой карте ...

и - уперед, "даже распоследние буржуи на 48к бейсике" могут бацать игры, демки с 3D объектами и окружением...

дальше, по желанию, уже допиливать, ускорять, понтоваться заменами сортировок ради 5 процентного ускорения... ;)

Blade
26.06.2013, 14:53
Потому что, во-первых, мы делаем 8-битный компьютер,
Какая разница в варианте 2 (Z80 как доп. устройство) сколько там бит? И для Z80 нет нормальных С компиляторов.

Z80 в FPGA это уже эмуляция :v2_wink2:
Это не эмуляция, это Z80-совместимый процессор.

alone
26.06.2013, 15:07
alone, а можно статью как у бриза про видео, для ламера?
Вывод графики - далеко не самая сложная часть игры. Это на 48K это была самая сложная часть, и то не всегда. А на АТМ нет никаких проблем ни с памятью, ни со скоростью, ни с лучом.

У тебя есть две экранных области. Пока одна видна, ты заполняешь другую. Потом видна другая и ты заполняешь первую. Переключаются 3-м битом порта #7ffd, как и на 128K.

Одна экранная область лежит в 1 и 5 страницах, другая в 3 и 7 страницах. Ты можешь подключить страницу в любую четверть памяти Z80. Для этого есть порты #3ff7, #7ff7, #bff7 и #fff7. Туда надо писать номер страницы XOR #7f. Содержимое младших битов порта #7ffd при этом игнорируется.

Каждая экранная область в режиме EGA делится на 4 части по 8000 (40*200) байт. В одной части лежат пиксели X mod 7 = 0,1, в другой 2,3, в третьей 4,5, в четвёртой 6,7. Таким образом, полный столбец всегда целиком доступен через элементарный ADD HL,DE (DE=40).

В каждом байте лежит 2 пиксела: %RLRRRLLL (представь, что это байт атрибутов).

Каждый из 16 цветов можно задать. Для этого надо выставить на бордере нужный номер цвета (цвета 8..15 задаются через порт #f6) и потом записать в порт #ff значение для этого цвета в формате %grbG11RB.

---------- Post added at 14:07 ---------- Previous post was at 14:02 ----------


1. автозаброс блока данных в карту
Каких данных и в каком формате?


2. поворот принятых массивов точек
Ты целиком уровень с монстрами собрался в карту закидывать?


3. сортировка в лоб
Всех полигонов уровня?


4. вывод полигонов на экран
Опять всех?

Shaos
26.06.2013, 15:20
Это не эмуляция, это Z80-совместимый процессор.

А - да, эмуляция Z80-совместимого виртуального процессора :)


Программно неотличимо. А юзеру нет дела до надписей на чипах.

Если юзеру нет дела до надписей, то он сидит на писи в эмуляторе и ничуть от этого не страдает ;)

alone
26.06.2013, 15:25
Страдает. Звук засран и видео дёргается. И запускается минуту, а то и больше. И жужжит.

char
26.06.2013, 15:27
>>1. автозаброс блока данных в карту
>Каких данных и в каком формате?

всех нужных объектов.
3 координаты на точку.
текстуры.
пользовательские процедуры.

>>2. поворот принятых массивов точек
>Ты целиком уровень с монстрами собрался в карту закидывать?

для демок / игр - объекты.
можно вращать не все, а выбранный набор.
в чем проблема?

>>3. сортировка в лоб
>Всех полигонов уровня?

карта занимается выводом пачек повернутых объектов.

для строгающих очередной вульф, пущай отдельно рассчитывают массив расположения объектов, например.
вращая карточкой же.

>>4. вывод полигонов на экран
>Опять всех?

это уже как будет угодно заклинателю.
по списку нужных / рассчитанных / повернутых объектов.
на выбор.

Titus
26.06.2013, 15:31
Страдает. Звук засран и видео дёргается. И запускается минуту, а то и больше. И жужжит.

Перестань запускать эмулятор через Карлсона.

alone
26.06.2013, 15:32
>>1. автозаброс блока данных в карту
>Каких данных и в каком формате?
всех нужных объектов.
3 координаты на точку.
С какой точностью?


текстуры.
С какой привязкой к полигонам?


пользовательские процедуры.

На каком языке?


для демок / игр - объекты.
можно вращать не все, а выбранный набор.
Каким образом выбранный?


карта занимается выводом пачек повернутых объектов.
В каком порядке?


по списку нужных / рассчитанных / повернутых объектов.
Кто и как составит этот список?

char
26.06.2013, 15:37
все это детали, которые решает конкретный реализатор карточки при ее создании.

Shaos
26.06.2013, 15:41
Страдает. Звук засран и видео дёргается. И запускается минуту, а то и больше. И жужжит.

Обычный юзер не обладает столь тонким слухом и столь острым взглядом :)

А жужжание и скорость загрузки можно исправить - PC без вентилятора и с SSD давно существуют...

P.S. IMHOmode=ON
Проц должен быть настоящим (Z80 до сих пор производятся)
Музыкальный сопроц должен быть настоящим
Остальное не столь важно...
IMHOmode=OFF

ZEK
26.06.2013, 15:59
Он кандидат наук, а не радиолюбитель.
аминь

ZEK
26.06.2013, 16:11
глюк

TSL
26.06.2013, 16:43
Потому что такие конфигурации практически не используются разработчиками.
Детекчу неуметеля многопроцессорных систем и сбрасывателя НГС, а также синхронизатора модок с демкой.

а то, знаете ли, TSL любит гонять на мотоцикле на 120 км/ч, а поддерживать его конфу вместо него никто не будет.
И тебе - не сдохнуть :)

У ниасиляторов. А у тех, кто умеет собирать, она собирается в 20.84 МГц, tco 49.1 нс. И это ещё без конвейера.
Реквестирую тесты корки з80. Поскольку там будут 50% фейлов всех тестов, предсказамусываю игнор на этот реквест.


KOE сказал заработает, значит заработает. Он кандидат наук, а не радиолюбитель.
Он - школота и нацист.

А на АТМ нет никаких проблем ни с памятью, ни со скоростью, ни с лучом.
Конечно, при фпс=5. Больше ты там не вытянешь на реальном коде, а не на 1.5 демоэффектах. Сделаешь полноэкранный шутор на 50фпс?

---------- Post added at 15:43 ---------- Previous post was at 15:42 ----------



Совсем устраняет, или "как правило" устраняет?
Я конечно извиняюсь, но как это возможно "совсем"?

introspec
26.06.2013, 16:49
Я конечно извиняюсь, но как это возможно "совсем"?
Ну я в том смысле спросил, что на "взрослых" процессорах кэша бывает всё же поменьше, чем памяти. Бывает, попадаешь, бывает, не очень. Но на нашем "игрушечном" процессоре памяти так мало, что я готов вообразить себе кэш на всю адресуемую в данный момент память. Why the hell not. Поэтому и уточнил.

TSL
26.06.2013, 16:55
Ну, если в качестве основной памяти использовать СРАМ, тогда при скорости доступа к ней томожений не будет, она по сути и будет кешем.
На пентеве же стоит ДРАМ, а он имеет рандомный доступ 7МГц. Кеш накрывает последние 512 адресов (адрес физический 22 бита, не 64к), с которых было чтение. Если з80 ломится в адрес, который лежит в кеше - он не формирует цикл доступа к ДРАМ.
По тестам (http://tslabs.info/forum/viewtopic.php?p=1077#p1077) - вполне эффективно.

alone
26.06.2013, 17:03
Реквестирую тесты корки з80. Поскольку там будут 50% фейлов всех тестов, предсказамусываю игнор на этот реквест.
Запрос отклонён. Отказано в доступе.


Он - школота и нацист.
Он патриот и не маразматик.


Сделаешь полноэкранный шутор на 50фпс?
Под твою вундервафлю пишут игры с двумя спрайтами.

TSL
26.06.2013, 17:13
Не пройдет и полгода как Алон сумеет запустить тест корки на "своем" "проце". Ждем-с.

Blade
26.06.2013, 17:20
Под твою вундервафлю пишут игры с двумя спрайтами.
На АТМконфе даже с одним спрайтом 50 фпс не будет.

Robus
26.06.2013, 18:26
50 MHz это не Speccy. Поэтому не нужна совместимость со старым софтом. Главное сделать что-то одно, не меняющееся со временем, а только дополняющееся. Должна быть одна комплектация ! Должен быть один стандарт. Не называйте spectrum spectrum'ом, если это уже не spectrum. У меня дома стоит Pentevo, я не могу практически ничего на ней запустить из разряда софта для Pentevo. Поскольку выясняется что софту нужно - NeoGS или NemiIDE или новая прошивка или прошивка TSConf или TurboSound или TurboSoundFM, и пошло-поехало-уехало. В итоге у меня на флешке валяется около 20 каких-то игр и пару демок под Pentevo, ни одну из которых я запустить не смог.

Если не будет создано что-то единое, которое будет работать у всех одинаково, то всегда будет спор о том, у кого лучше болт, а у кого хуже гайка. Вместо того что бы друг друга обливать грязью, ОБЪЕДИНИТЕСЬ и создайте единую платформу с единым СВОИМ языком, СВОИМ звуком и СВОЕЙ графикой. Но один раз и все вместе. Главное не надо к Speccy прикручивать инопланетные болты, это уже сделали один раз в 1981 году.

TSL
26.06.2013, 18:37
Аминь вэ шаббат. Так и сделаем. Приступать когда?

Hacker VBI
26.06.2013, 18:39
подписываюсь.

ибо
out #FF77 = %1x1111xx01110111
(A0=A2=A4=1; A3=A7=0)
Значения шины данных:
D0 - RG0 \
D1 - RG1 > переключение экранных режимов.
D2 - RG2 /
RG0=1 RG1=1 RG2=0 - обычный sinclair режим 256x192 пикселей
RG0=0 RG1=1 RG2=0 - аппаратный мультиколор 640x200 пикселей
RG0=0 RG1=0 RG2=0 - EGA 320x200 (16 цветов) пикселей
RG0=0 RG1=1 RG2=1 - текстовый режим 80x25 символов

vs

#00AF(175) — VConfig. Видеорежим. Биты 0-1 – режим графики, биты 6-7 – размер рамки (разрешение).
#01AF(431) — VPage. Видеостраница. Диапазон 0-255. Для режима 16 цветов должна быть кратна 8, для режима 256 цветов – кратна 16.
#02AF(687) и #03AF(943) — XOffsL и XOffsH. Младшая (8 бит) и старшая (1 бит) часть смещения изображения по горизонтали.
#04AF(1199) и #05AF(1455) — YOffsL и YOffsH. Младшая и старшая часть смещения изображения по вертикали.
#0FAF(4015) — Border. Цвет бордера.
#15AF(5551) — FMAddr. Выбор адреса и включение маппинга внутренней памяти альтеры (палитра и спрайтовые регистры) в адресное пространство Z80 для записи.

- это не гуд

Valen
26.06.2013, 18:59
Вопрос:
можно ли было, впилить минимальный блиттер в бэйз-конфу pentevo ?

---------- Post added at 17:59 ---------- Previous post was at 17:53 ----------


Вместо того что бы друг друга обливать грязью, ОБЪЕДИНИТЕСЬ и создайте единую платформу

Я вот согласен.
Но на практике, получается, что человек, делает то, что понимает,
то что он хорошо осознаёт.
Если какой-то концепт "не ложится" кому-то в мозги,
(по тем или иным причинам)
то его (этот концепт), ну никак в голову ему не вложить.

TSL
26.06.2013, 19:02
В бейзе места много - можно было бы.

introspec
26.06.2013, 19:18
Кеш накрывает последние 512 адресов (адрес физический 22 бита, не 64к), с которых было чтение. Если з80 ломится в адрес, который лежит в кеше - он не формирует цикл доступа к ДРАМ.
По тестам (http://tslabs.info/forum/viewtopic.php?p=1077#p1077) - вполне эффективно.
Моя мысль была такая, что наличие кэша может, потенциально, сильно усложнить счёт тактов. Попал - одни такты, промазал - другие. Можно пытаться спланировать работу с памятью так, чтобы учесть ещё и это. Но аlone, конечно, прав склоняя существительно "рукоблудство" в этом контексте. С таймером почти всё то же самое можно делать более комфортно, плюс - запас на будущее, т.к. коды привязанные к таймеру не будут, по идее, ускоряться на более быстрых процессорах.

TSL
26.06.2013, 19:25
Слушай, если тебе нужны точные времянки, то 3.5МГц пентагон/резинка.
В любых нормальных системах никто такты не считает. Для этого есть таймеры.

shurik-ua
26.06.2013, 19:28
Моя мысль была такая, что наличие кэша может, потенциально, сильно усложнить счёт тактов. Попал - одни такты, промазал - другие.

лучше сделать как на х86 - тупо счётчик с каждым тактом увеличивающийся на 1 - только разрядов поменьше - там 64 а здесь и 32 хватит )

introspec
26.06.2013, 19:28
В любых нормальных системах никто такты не считает. Для этого есть таймеры.
Здрасьте, приехали! Так я именно с этой мыслью в разговор и влез.
А мне тут стали доказывать, что таймер нахрен никому не сдался. И всё закружи...

TSL
26.06.2013, 19:29
Вспомнил: была книга по интелу 386. В ней для всех инструкций были приведены формулы рассчета тактов (попадание в кеш/граница слова и т.д.) Можно просчитать то же самое и для тсконфового кеша. Кодинг становится еще жостче, тока успевай проявлять мастерство! Ведь в этом сила спектрума, не так ли?

introspec
26.06.2013, 19:33
Можно просчитать то же самое и для тсконфового кеша. Кодинг становится еще жостче, тока успевай проявлять мастерство! Ведь в этом сила спектрума, не так ли?
Ты много тут на форуме активных кодеров видишь? Вот тебе и ответ на твой вопрос :)

TSL
26.06.2013, 19:35
Да я какбы ответ знаю. А потому для ввел INT с программируемой позицией относительно начала фрейма.
А еще хотел сделать аналог амижного коппера, но он не влез.

introspec
26.06.2013, 19:38
А потому для ввел INT с программируемой позицией относительно начала фрейма.
Да, я прочёл, грамотно. И текстмод грамотный. И графика вменяемо расширена, всё вокруг 6912. Жалко в сутках часов всего 24.

Кстати, о коппере. А что будет с TS конфой если щёлкать видеорежимом посреди кадра?

TSL
26.06.2013, 19:41
1. 6912 опционально отключаемо и оно вообще для галочки.
2. Щелкать можно как угодно, порты режимов (почти все) актуализируются по началу следующей строки, чтоб не было разрывов с лучом.
Зачем так сделано - слишком много параметров иногда надо поменять, проц за гориз. бланк этого сделать не успевает.

introspec
26.06.2013, 19:46
1. 6912 опционально отключаемо и оно вообще для галочки.
Тем не менее, это скорее плюс, чем минус.


2. Щелкать можно как угодно, порты режимов (почти все) актуализируются по началу следующей строки, чтоб не было разрывов с лучом.
Я бы это тоже занёс в плюс. Все, кому нужно, могут на этом месте сделать разные полезные выводы :)

TSL
26.06.2013, 19:58
Ну ессно в плюс! на это потрачено туча регов для ре-латча.

---------- Post added at 18:56 ---------- Previous post was at 18:48 ----------

Вот пример:
http://tslabs.info/forum/download/file.php?id=28

---------- Post added at 18:58 ---------- Previous post was at 18:56 ----------

Тут 4 инта в кадре и 3 граф.режима (16ц + 6912 + текстмод). Бейсик кстате работает нормально, забыл для скриншотов энтеры понажимать.

psb
26.06.2013, 20:53
Вместо того что бы друг друга обливать грязью, ОБЪЕДИНИТЕСЬ и создайте единую платформу с единым СВОИМ языком, СВОИМ звуком и СВОЕЙ графикой. Но один раз и все вместе.
не получится. главный активист (по борьбе с ветряными мельницами) - alone, он больше всех что-то продвигает, пробивает и агитирует. так вот он не будет делать что-то кроме как для АТМ, ибо он затратил на него уже 10 лет работы и выкидывать это вникуда не собирается. сам так сказал. так что быть или АТМу, или ничему. а всё, что имеет в себе режим спека - это спек... бгг

haywire
26.06.2013, 21:03
> Вспомнил: была книга по интелу 386. В ней для всех инструкций были приведены формулы рассчета тактов (попадание в кеш/граница слова и т.д.)

Очень интересная книга. Особенно, если учесть, что у 386 нет ни кеша, ни конвеера - обычный тупой проц с жесткой растактовкой. А на не выровненном доступе к оперативке Интел не тормозил никогда. Суперскалярная архитектура - это Пентиум, в нём же и появилась эта замечательная инструкция, возвращающая значение счётчика тактов.

alone
27.06.2013, 00:28
это не гуд
Не гуд иметь два порта переключения видеорежимов вместо одного и два порта включения турбо вместо одного. Мы шли в направлении выпиливания #eff7 (поиск софтов и их переделка под АТМ). А TS Labs решил, что он самый умный, и сделал ТРЕТИЙ порт для одного и ТРЕТИЙ порт для второго, ни с чем не совместимые. И заодно 25-й способ переключения страниц.

ZEK
27.06.2013, 00:36
Очень интересная книга. Особенно, если учесть, что у 386 нет ни кеша, ни конвеера
Есть такая зеленая от "8086 до Intel Pentium" или как то так, вот там огромные таблицы по тактам, опкодам, префиксам, суффиксам и модификаторам (еще как то звались приблуды lock, rep итд, непомню уже), помнится что начиная с 80386 в книге были битики помеченные как "читайте приложение H" а в этом приложении - только для партнеров по запросу и после подписания соглашения о неразглашении, еще там алгоритм работы процов был на псевдокоде для разных режимов работы, после этой книги я окончательно понял что такое красивая система команд проца а что такое intel

TSL
27.06.2013, 01:18
Очень интересная книга. Особенно, если учесть, что у 386 нет ни кеша, ни конвеера - обычный тупой проц с жесткой растактовкой. А на не выровненном доступе к оперативке Интел не тормозил никогда.
Хммм, приветствуются пруфы. Насчет кэша, вижу, что кэши таки были внешние. А насчет выравнивания - извините, либо конвеер, либо тупняк на границах двродов при чтении >8 бит даты. Но если конвеер, то тут точно не жоцкая растактовка.

А TS Labs решил, что он самый умный
Пруф обратного или прямо, прямо, а там лес :rolleyes:

ZEK
27.06.2013, 01:21
в 80386 есть как миниум кеш таблицы трансляции адресов и кеш дескрипторов сегмента

TSL
27.06.2013, 01:29
А TS Labs решил, что он самый умный
Отвлечемся на психоанализ автора цитаты.
Налицо совковый синдром. Суть: в детстве били по голове и вколачивали ценности. В результате воспитуемый теряет наглушь собственное мнение, легко следует за вождями, до хрипоты защищает вбитые в башку ценности и называет это поцреотизмом.
Спасибо, денег не надо.

bigral
27.06.2013, 01:35
По идее быстрый проц можно использовать для эмуля более медленного НО 32bit проца. Уже были приколы в сетке с запуском Linux на avr и IBM xt на mcs-51

psb
27.06.2013, 02:30
По идее быстрый проц можно использовать для эмуля более медленного НО 32bit проца.
а не проще сразу 32бит проц впилить вместо этого изврата?

BYTEMAN
27.06.2013, 02:37
а не проще сразу 32бит проц впилить вместо этого изврата?
вово, тот же кортекс...

NovaStorm
27.06.2013, 09:17
>тот же кортекс
А потом вкорячивать туда Linux и наслаждаться тормозами...
Проще уж сразу свисток на каком-нибудь rk3188 и получить сразу всё, вот только зачем оно...

Hacker VBI
27.06.2013, 09:37
50мгц нужно.
интересно, в каком виде оно будет: Zilog Z80000 ?

Atari
27.06.2013, 11:18
наслаждайтесь

shurik-ua
27.06.2013, 15:32
после этой книги я окончательно понял что такое красивая система команд проца а что такое intel

но с другой стороны странно что там нет таких привычных команд как CALL Z, addr и RET Z (где Z - любой флаг). ))

haywire
27.06.2013, 17:18
в 80386 есть как миниум кеш таблицы трансляции адресов и кеш дескрипторов сегмента

Таких кешей нет не только в i386, таких кешей вообще не существует.

---------- Post added at 17:18 ---------- Previous post was at 17:12 ----------





А насчет выравнивания - извините, либо конвеер, либо тупняк на границах двродов при чтении >8 бит даты.


Не всё так просто. Если запрошенные данные умещаются в пакетный цикл, то выравнивание никакой роли не играет. (С) Крис Касперски, "Техника потимизации программ. Эффективное использование памяти." А



Хммм, приветствуются пруфы.


Пруфы, прошу прощения, чего ? Бремя доказательства лежит на утверждающем. Если я говорю, что кешей нет, это значит, что не я должен искать пруфы о том, что их нет, а тот, кто утвержает, что они есть, должен показать, где они.

ZEK
27.06.2013, 17:24
таких кешей вообще не существует
ну да, в доку лень глянуть? выложили на 2 сообщения выше


5.2.5 Page Translation Cache

For greatest efficiency in address translation, the processor stores the
most recently used page-table data in an on-chip cache. Only if the
necessary paging information is not in the cache must both levels of page
tables be referenced.

haywire
27.06.2013, 17:25
после этой книги я окончательно понял что такое красивая система команд проца а что такое intel


Это у Интел-то красивая система команд штоле ?! ЛОЛ ! Красивая система команд - у настоящих CISC процессоров, например, у m68k, а асcемблер Интел - убожище, которое матерят абсолютно все, кто поработал с нормальным ассемблером.

TSL
27.06.2013, 19:37
Не всё так просто. Если запрошенные данные умещаются в пакетный цикл, то выравнивание никакой роли не играет. (С)
А если не умещаются?
Не силён в интелах, но на АРМах в тхумб2 обращаться по мизалайнам можно, но на это тратится 2 обращения.
Я не знаю, есть ли в 386 конвееризация и предикшены, но совершенно очевидно, что и в случае мизалайна, и в случае непредсказанного бранча, и в случае отсутствия данных в конвеере количество тактов будет разным.
Об этом я и говорил.

ZEK
27.06.2013, 19:45
Да таже байда в intel не выровненные данные больше тактов занимают, в доке так и написано, и еще в 80386 это первый intel где конвеер появился и когда переключаешся в защищенный режим следкющей инструкцией после установки бита PM надо делать far jump что бы конвеер почистился и загрузился дескриптор сегмента CS в кеш

TSL
27.06.2013, 22:06
alone:
Так и не получен список вещей, которые ты выкоцал из корки Z80, чтоб разогнать некст до 20мгц на асексе1.

Atari
27.06.2013, 22:15
вот еще капелька ...

когда дойдете до 486, то у нас есть ;)

alone
28.06.2013, 22:29
Я уже говорил, что я выкоцываю: DAA и всё с ним связанное, регистр IR и всё с ним связанное и левофлаги. Ещё некоторые приклеенные на соплях команды работы с sp и ещё что-то по мелочи. Заодно перенумерованы регистры и переделаны кое-какие дешифраторы и муксы.

Во всяком случае, выброшенное - это рюшечки, которые не влияют на производительность кода. И совместимость с 8080 вроде как полностью осталась (были планы на CP/M).

Когда будут завершены работы - не знаю. Недоделанный вариант выдаётся на руки только членам NedoPC.

TSL
28.06.2013, 22:44
Понятно. А авторскую лицензию читал? Спроси у него, хоть для приличия, как он к этому отнесется. И да, я бы на твоем месте в деме указал автора исходной корки.

Barmaley_m
10.07.2013, 15:02
Во всяком случае, выброшенное - это рюшечки, которые не влияют на производительность кода. И совместимость с 8080 вроде как полностью осталась (были планы на CP/M).
Большое количество CP/M софта требует Z80. Кроме того, команда DAA присутствовала в 8080. Не следует думать, что ею никто не пользуется. Помимо защит, эта команда очень красиво применяется в алгоритме преобразования 4-битного числа в шестнадцатеричную цифру в коде ASCII:

ADD A,90H
DAA
ADC A,40H
DAA

Какие именно "приклеенные на соплях" команды работы с SP и "левофлаги" выпиливаются?

psb
10.07.2013, 15:44
Не следует думать, что ею никто не пользуется.

alone ей не пользуется, этого достаточно :)))

newart
10.07.2013, 18:02
Не следует думать, что ею никто не пользуется.
Я использовал в драйвере мышки, во всех своих проектах где есть мышка.

TSL
10.07.2013, 20:20
А как див реализовали?

alone
16.09.2013, 15:23
Помимо защит, эта команда очень красиво применяется в алгоритме преобразования 4-битного числа в шестнадцатеричную цифру в коде ASCII:

ADD A,90H
DAA
ADC A,40H
DAA
Во-первых, здесь достаточно одной DAA:
CP 10
CCF
ADC A,"0"
DAA

Во-вторых, это не то место кода, которое надо оптимизировать по скорости.

jerri
16.09.2013, 16:13
alone, с уже существующим софтом чего делать будешь?

psb
16.09.2013, 16:15
это не то место кода, которое надо оптимизировать по скорости.
вся эта тема - не то, чем надо заниматься... %)

TSL
16.09.2013, 16:17
Тю, кто еще не понял, объясняю: уважаемый сэр Алоний делает проц для своей демки. Теперь модно делать свои процы для демок. И "существующий софт" ему до лампочки.

---------- Post added at 15:17 ---------- Previous post was at 15:15 ----------

Поправочка: не "делает свой проц", а "обпиливает чужой".
В этом разница между Алонием и lft, например.

alone
16.09.2013, 16:30
уважаемый сэр Алоний делает проц для своей демки.
Для одной демки мне не интересно. А существующий софт и так будет работать.


Поправочка: не "делает свой проц", а "обпиливает чужой".
В этом разница между Алонием и lft, например.
И какой же проц сделал lft?

Buyan
16.09.2013, 16:59
И какой же проц сделал lft?
Видимо об этом (http://www.linusakesson.net/scene/parallelogram/index.php) речь идет

TSL
17.09.2013, 00:26
Да, об нём.
----
Ну и какой же софт будет работать в НГС с кастрированным з80?
Зе линк что ли?