LINUX.ORG.RU

Как могло бы выглядеть меню системной дискеты ZX Spectrum'а

 


2

2

Сабж. Это настоящий скриншот эмулятора. А, вот, содержимое образа дискеты помимо загрузчика - фейк.
PS. Оригинальный скриншот не прошёл требования по размерам, поэтому, был наложен на чёрный фон.

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 1)
Ответ на: комментарий от LLIypuk

Точнее он и обзавелся более серьезной графикой. На картине же два цвета на знакоместо :)

LLIypuk
()
Ответ на: комментарий от Binary

Да ничерта там не было, что ты упёрся? Просто последовательной сменой цвета бордюра давала полоску где-то пикселей в 16-20, хотя мои сведения сильно не точные.

там таких маленьких полосок даже без учёта синхронизации не получалось. Даже если полоски выводить МАКСИМАЛЬНО ЧАСТО. (да и «20 пикселей» это много, там всего 256 было. На пару букв разве что хватит).

и что вы спорите? эмуляторы есть - дайте пруф на демку.

drBatty ★★
()
Ответ на: комментарий от Binary

Ну тут тоже проблема: с кастомными ромами никогда не знаешь, что отвалится, да и их ведь тоже несколько банков.

у меня была оригинальная. Там в ванили есть дырка, на отладчик хватило.

drBatty ★★
()
Ответ на: комментарий от drBatty

дык такими и пошло. ZX был сделан на архитектуре Z80, который является слегка улучшенным клоном i8080.

Фигасе, у вас «слегка»... Одно питание вместо трёх, встроенная регенерация памяти, богатый набор прерываний, второй полный регистровый файл, куча высокоуровневых инструкций. И вообще, самый массовый процессор всех времён и народов, как бы :)

mv ★★★★★
()
Ответ на: комментарий от drBatty

там таких маленьких полосок даже без учёта синхронизации не получалось. Даже если полоски выводить МАКСИМАЛЬНО ЧАСТО. (да и «20 пикселей» это много, там всего 256 было. На пару букв разве что хватит).

Ты, я смотрю, за Спектрумом недостаточно много сидел. Кто сидел порядком, тот эту бегущую строчку на бордюре сам писал. Демки в конце 90-х каждая первая и буквы, и фигуры всякие по бордюру гоняли.

mv ★★★★★
()
Ответ на: комментарий от drBatty

Вот и подумай, как перекинуть содержимое, если памяти ДАЖЕ 512К?

Мегабайтный SIMM только ленивый не ставил. С турбированной ВГ93, хитрожопым драйвером (в каком-то коммандере, например, был) и правильно отформатированным диском (смещение один или сколько там секторов между дорожками) всё копировалось в один проход и без потерь оборотов.

mv ★★★★★
()
Ответ на: комментарий от mv

Одно питание вместо трёх

при чём тут архитектура?

встроенная регенерация памяти

которая НЕ использовалась ни в одном из ZX-spectrum.

богатый набор прерываний

ЕМНИП тоже никому не нужный.

второй полный регистровый файл

да, была такая фича. Помогала конечно, но как и любой черезжопный костыль - не сильно. Такая фича была-бы годна для многозадачности(двухзадачности), но во первых там не было этого, во вторых - для двух задач нужно ТРИ пула - про супервизор ты забыл? Или у тебя задача+супервизор? Зачем?

куча высокоуровневых инструкций.

это типа «перенос строки»? А ты разве не в курсе, что всякие push|pop быстрее работали, и именно ими и реализовывали графику в более-менее играбельных играх, по типу batty?

И вообще, самый массовый процессор всех времён и народов, как бы

это не сделало его архитектуру какой-то уникальной. Тупик эволюции, надо было 16и битные пилить, чем intel и занималась. В итоге - твой ZX на свалке истории, а мой 8086 до сих пор на коне - 95% CPU до сих пор отлично выполняют код 8086. Это плохо конечно, но такова жизнь.

drBatty ★★
()
Ответ на: комментарий от mv

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

угу. А ещё вирусы паяльником из 565РУ5 выжигали. Я помню.

Мегабайтный SIMM только ленивый не ставил. С турбированной ВГ93, хитрожопым драйвером (в каком-то коммандере, например, был) и правильно отформатированным диском (смещение один или сколько там секторов между дорожками) всё копировалось в один проход и без потерь оборотов.

к мегабайтным SIMMам я прикупил i80486. да, я не настолько задрот.

drBatty ★★
()
Ответ на: комментарий от drBatty

там таких маленьких полосок даже без учёта синхронизации не получалось. Даже если полоски выводить МАКСИМАЛЬНО ЧАСТО. (да и «20 пикселей» это много, там всего 256 было. На пару букв разве что хватит).

256 там было в основной рамке, бордюр, он, внезапно, несколько шире. Ну да, букв там влезало не много, ну и что? Это делает бегушку не бегушкой? Я сам писал такую бегушку (по чьему-то примеру, правда), так что она существует, инфа 100% :)

и что вы спорите? эмуляторы есть - дайте пруф на демку.

а что тебе давать? ты ж скажешь, а вдруг эмулятор реализует ту самую фантомную железку, которая делает это возможным? %)

Binary ★★★★★
()
Ответ на: комментарий от Belomir

Бо́льшая часть дискет были копиями, гулявшими по рукам.

а я отдавал оригиналы ☺

drBatty ★★
()
Ответ на: комментарий от drBatty

это типа «перенос строки»? А ты разве не в курсе, что всякие push|pop быстрее работали, и именно ими и реализовывали графику в более-менее играбельных играх, по типу batty?

Не было там никаких переносов строки, были блочные операции копирования и сравнения, ещё блочные операции ввода-вывода, и, вроде, ещё что-то со сдвигами, щас уже точно не помню. LDIR, действительно, работал много дольше push'ей, и графику действительно рисовали стеком, но такая отрисовка требует очень много оперативы, и где скорость критична не была, LDIRы использовались в хвост и гриву. А ещё несколько команд LDI ставили в цикл и тоже получали выигрыш.

Binary ★★★★★
()
Ответ на: комментарий от Binary

256 там было в основной рамке, бордюр, он, внезапно, несколько шире. Ну да, букв там влезало не много, ну и что? Это делает бегушку не бегушкой? Я сам писал такую бегушку (по чьему-то примеру, правда), так что она существует, инфа 100% :)

бордюр - да, шире. Я тебе больше скажу - если ZX разогнать, он будет ещё шире, ибо там частота точек жёстко с основной завязана. Я 100500 раз слышал про эти бегушки, причём от разных людей. И что? Про инопланетян я тоже 100500 раз слышал, это доказывает их существование? (заметь, я не говорю «их нет», я говорю - я не видел, и не думаю, что это вообще в принципе возможно. Но кто знает?)

а что тебе давать? ты ж скажешь, а вдруг эмулятор реализует ту самую фантомную железку, которая делает это возможным? %)

дык есть же вроде эмуляторы с открытым кодом? Вроде были.

drBatty ★★
()
Ответ на: комментарий от drBatty

бордюр - да, шире. Я тебе больше скажу - если ZX разогнать, он будет ещё шире, ибо там частота точек жёстко с основной завязана. Я 100500 раз слышал про эти бегушки, причём от разных людей. И что? Про инопланетян я тоже 100500 раз слышал, это доказывает их существование? (заметь, я не говорю «их нет», я говорю - я не видел, и не думаю, что это вообще в принципе возможно. Но кто знает?)

Что значит «разогнать ZX»? Увеличить частоту проца? Так не точек больше станет, а просто рисовать можно будет более узкие полоски.

Про инопланетян — улыбнуло.

дык есть же вроде эмуляторы с открытым кодом? Вроде были.

UnrealSpeccy надо использовать, но он виндовый с вайном были когда-то проблемы. Код открыт, но ты правда будешь его смотреть? :)

Binary ★★★★★
()
Ответ на: комментарий от Binary

Не было там никаких переносов строки, были блочные операции копирования и сравнения,

ну я о них и говорю. Они для строчек придумывались изначально. А не для спрайтов. Для спрайтов они плохо подходили.

LDIR, действительно, работал много дольше push'ей, и графику действительно рисовали стеком, но такая отрисовка требует очень много оперативы

откуда там «много оперативы»? там кода было больше, чем памяти ☺

LDIRы использовались в хвост и гриву. А ещё несколько команд LDI ставили в цикл и тоже получали выигрыш.

просто код на асме упрощался и укорачивался. Иногда даже и ускорялся. Но всё равно - костыли. push для спрайтов тоже костыль конечно, но это лишь говорит об убогости архитектуры Z80. Тупик эволюции.

drBatty ★★
()
Ответ на: комментарий от Binary

Что значит «разогнать ZX»? Увеличить частоту проца? Так не точек больше станет, а просто рисовать можно будет более узкие полоски.

точек больше не станет, строчек тоже больше не станет (стандарт тв никто не отменил до сих пор), точки будут меньше, а бордюр - больше. Но рисовать на нём всё равно ничего не получится. Только полоски. И то, если полозки узкие, то они бежать будут непонятно как.

UnrealSpeccy надо использовать, но он виндовый с вайном были когда-то проблемы. Код открыт, но ты правда будешь его смотреть?

дык это такая НЁХ, для которой там отдельный файл всунут. Сложно будет пройти мимо.

Где демка?

drBatty ★★
()
Ответ на: комментарий от drBatty

ну я о них и говорю. Они для строчек придумывались изначально. А не для спрайтов. Для спрайтов они плохо подходили

LDIR в процессоре для строчек? %) Ничо ты мастер пошутить. Ты вообще что-нибудь писал на Z80?

откуда там «много оперативы»? там кода было больше, чем памяти ☺

Не распарсил.

просто код на асме упрощался и укорачивался

По-твоему, один LDIR сложнее, чем 20 LDI в цикле? Да вы, батенька, эстет!

Но всё равно - костыли. push для спрайтов тоже костыль конечно

он далеко не только для спрайтов использовался. В принципе вывести fullscreen картику за один int было возможно только через стек.

лишь говорит об убогости архитектуры Z80

Подумай ещё.

Binary ★★★★★
()
Ответ на: комментарий от drBatty

точки будут меньше, а бордюр - больше

я вообще не понимаю, что для тебя точка на бордюре? ты же не можешь её непосредственно адресовать.

точек больше не станет, строчек тоже больше не станет (стандарт тв никто не отменил до сих пор)

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

дык это такая НЁХ, для которой там отдельный файл всунут. Сложно будет пройти мимо.

Где демка?

Так ты найди файл сначала, а потом демка будет, окей? :))

Binary ★★★★★
()
Ответ на: комментарий от drBatty

Для спрайтов они плохо подходили.

Нормально подходили, с ограничениями конечно. Вывод строки в несколько LDI, следующая - LDD.

push для спрайтов тоже костыль конечно

Сам ты костыль =Р
Спрайты pop'ались.

я говорю - я не видел, и не думаю, что это вообще в принципе возможно.

Ну например -
http://zxaaa.untergrund.net/get.php?f=DEMO4/dihalt2012.zip

GAMer ★★★★★
()
Ответ на: комментарий от Binary

Просто последовательной сменой цвета бордюра давала полоску где-то пикселей в 16-20

OUT (n),A - 11 тактов
OUT (C),r - 12
OUTI, которой и делались в основном скроллеры - 16.
Каждый такт - 2 пикселя на бордюре.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

ну значит с порядком я угадал :) Спасибо за уточнение.

Binary ★★★★★
()
Ответ на: комментарий от Binary

LDIR в процессоре для строчек? %) Ничо ты мастер пошутить. Ты вообще что-нибудь писал на Z80?

при чём тут именно Z80? Ну хорошо, зачем тогда CPIR?

По-твоему, один LDIR сложнее, чем 20 LDI в цикле? Да вы, батенька, эстет!

по моему код с LDIR/LDD проще кода с MOV A,(HL); MOV (DE),A; INC HL; INC DE; DEC BC. Во всяком случае - короче.

В принципе вывести fullscreen картику за один int было возможно только через стек.

говорит об убогости архитектуры Z80

Подумай ещё.

тебе разве не понятно, или ты фанатег?

drBatty ★★
()
Ответ на: комментарий от drBatty

при чём тут именно Z80?

И действительно, причем? Ах да, ведь речь о нём. LDIR используют далеко не только в графике. Но экран им очищать в четыре строки на асме неплохо было, да :)

по моему код с LDIR/LDD проще кода

ну так то да, CISC же. Только я вообще не понял, какие к LDIR претензии?

тебе разве не понятно, или ты фанатег?

ты постоянно смешиваешь несмешиваемые понятия в одну кучу, а я оказывается фанатик, ну-ну.

Binary ★★★★★
()
Ответ на: комментарий от GAMer

Каждый такт - 2 пикселя на бордюре.

дык сколько ты там букв на бордюре смог нарисовать? В 32 пикселя, ежели в букве как минимум 6 пикселей, + 1 дырка, а всего 256 точек? У меня одна буква получилась.

drBatty ★★
()
Ответ на: комментарий от Binary

И действительно, причем? Ах да, ведь речь о нём.

команды обработки строк не только в Z80 есть. И это не его ноу хау.

ну так то да, CISC же. Только я вообще не понял, какие к LDIR претензии?

временные характеристики УГ - слишком долго работают твои команды, можно было-бы и побыстрее. Особенно LDIR(и остальные в цикле). Ясно видно, что сделаны «для галочки». Нафига было делать LDIR, которая suxx у нужного количества LDI? Сложно было сделать параллельный декремент как в PUSH/POP? Выходит - сложно, выходит - та же архитектура как в 8080, только с свистоперделками.

а я оказывается фанатик, ну-ну.

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

Каюсь - жрал. Когда другого ничего не было.

drBatty ★★
()
Ответ на: комментарий от drBatty

обработки строк

И всё-таки, причём тут строки?

временные характеристики УГ - слишком долго работают твои команды, можно было-бы и побыстрее. Особенно LDIR(и остальные в цикле). Ясно видно, что сделаны «для галочки». Нафига было делать LDIR, которая suxx у нужного количества LDI? Сложно было сделать параллельный декремент как в PUSH/POP? Выходит - сложно, выходит - та же архитектура как в 8080, только с свистоперделками.

Я никогда не говорил, что архитектура Z80 принципиально иная. Она такая же, но гораздо более удобная. LDIR не такой уж и медленный, минимум, быстрее пути в лоб. А то, что он в конкретных задачах не сработал, ну уж извините, думайте головой.

только фанатег может защищать унылое говно мамонта, которое давно сгнило само по себе, да и изначально было говном

Ты что-то путаешь. Я не защищаю, я исправляю твои косяки, которые на каждом шагу. Ты звон слышал, а где он не знаешь. И точно также происходит с бордюрной бегушкой: ты автоматически выдумываешь аргументы против, поэтому у тебя ничего не получается, а те, кто хотели её сделать, искали способы, как это сделать, и у них получилось. Чувствуешь разницу?

Binary ★★★★★
()
Ответ на: комментарий от Binary

И всё-таки, причём тут строки?

яхз. так называются блочные команды.

Я никогда не говорил, что архитектура Z80 принципиально иная. Она такая же, но гораздо более удобная. LDIR не такой уж и медленный, минимум, быстрее пути в лоб. А то, что он в конкретных задачах не сработал, ну уж извините, думайте головой.

ну а я говорил, что архитектура Z80 принципиально такая же, как 8080, и это не совместимость, это свистоперделки. Без которых можно и обойтись, и немногое потеряешь.

Ты что-то путаешь. Я не защищаю, я исправляю твои косяки, которые на каждом шагу. Ты звон слышал, а где он не знаешь. И точно также происходит с бордюрной бегушкой: ты автоматически выдумываешь аргументы против, поэтому у тебя ничего не получается, а те, кто хотели её сделать, искали способы, как это сделать, и у них получилось. Чувствуешь разницу?

ничего я не выдумываю, «бегущая строка из одной буквы», которая ещё и жутко дёргается - это бред какой-то. Классический пример задротства, вроде тетриса на sed. Да, я такой фигни не напишу. Просто потому, что не задрот. Я изначально вижу, что получится ненужная фигня. Если даже получится.

drBatty ★★
()
Ответ на: комментарий от drBatty

ну а я говорил, что архитектура Z80 принципиально такая же, как 8080, и это не совместимость, это свистоперделки. Без которых можно и обойтись, и немногое потеряешь.

Этой фразой ты ничего не сказал.

ничего я не выдумываю, «бегущая строка из одной буквы», которая ещё и жутко дёргается - это бред какой-то. Классический пример задротства, вроде тетриса на sed. Да, я такой фигни не напишу. Просто потому, что не задрот. Я изначально вижу, что получится ненужная фигня. Если даже получится.

Нет, ты выдумываешь, так как так и не посмотрел, а продолжаешь позориться.

Binary ★★★★★
()
Ответ на: комментарий от Binary

ну а я говорил, что архитектура Z80 принципиально такая же, как 8080, и это не совместимость, это свистоперделки. Без которых можно и обойтись, и немногое потеряешь.

Этой фразой ты ничего не сказал.

а что я должен был сказать? Дать ответ на основной вопрос? 42.

Нет, ты выдумываешь, так как так и не посмотрел, а продолжаешь позориться.

лень. Думаешь это нужно? Будет нефиг делать - буду ворошить говно мамонта.

drBatty ★★
()
Ответ на: комментарий от drBatty

В Z80 кроме того было еще 2 дополнительных 16-бит индексных регистра, битовые и сдвиговые операции для всех регистров.

Альтернативный набор регистров предназначался для обработчиков прерываний.

inoremap ★★
()
Ответ на: комментарий от inoremap

В Z80 кроме того было еще 2 дополнительных 16-бит индексных регистра, битовые и сдвиговые операции для всех регистров.

да. Были. IX и IY ЕМНИП. И сдвиги были, да.

Альтернативный набор регистров предназначался для обработчиков прерываний.

угу. ИМХО именно Z80 и доказал ненужность такого решения.

drBatty ★★
()
Ответ на: комментарий от drBatty

ежели в букве как минимум 6 пикселей

Не шесть, а три.
И ещё раз, 256px - ширина основного экрана, с бордюром - 384, полностью линия у пентагона - 448.

GAMer ★★★★★
()
Ответ на: комментарий от drBatty

«бегущая строка из одной буквы», которая ещё и жутко дёргается - это бред какой-то.

Нет, она не дёргается, дискретность рисования на бордюре 1 такт=2px. То есть рисовать можно горизонтальными линиями минимум по 22px(и то с ограничениями, по 24 - нормально), но изображение можно плавно двигать по 2px.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

На уж сразу.

жуть. И как я с таким жил?? Да, 3 буквы в виде шĜ можно было вывести, как я мог про такое забыть-то?

Не шесть, а три.

да, блин. ТРИ пикселя на букву. ППЦ

И ещё раз, 256px - ширина основного экрана, с бордюром - 384, полностью линия у пентагона - 448.

ЕМНИП 448-384 это то, чего не видно - обратный ход луча.

drBatty ★★
()
Ответ на: комментарий от drBatty

Не отождествляй Z80 с ZX-Spectrum. Последний имел множество архитектурных недостатков, связанных с минимизацией цены. Не надо проблемы спектрума переносить на сам Z80.

На этом разговор завершаю, ты сам уже расписался, что пустобрёх.

Binary ★★★★★
()
Ответ на: комментарий от drBatty

временные характеристики УГ - слишком долго работают твои команды, можно было-бы и побыстрее. Особенно LDIR(и остальные в цикле). Ясно видно, что сделаны «для галочки». Нафига было делать LDIR, которая suxx у нужного количества LDI? Сложно было сделать параллельный декремент как в PUSH/POP? Выходит - сложно, выходит - та же архитектура как в 8080, только с свистоперделками.

Видимо эти проблемы всплывают из-за того, что у Z80 4хбитное АЛУ.
Ну и в eZ80 это поправили, а в свободной реализации http://opencores.org/project,nextz80 LDxR вообще по три такта, при прочих мелких инструкциях по одному.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

Нет, она не дёргается, дискретность рисования на бордюре 1 такт=2px.

на эмуляторе может и не дергается, а не телевизоре «радуга» - дёргалось и вообще вело себя как говно. Особенно такие хаки, как этот твой бордюр. В принципе, если ЭТО подключить к моему LED на 32 дюйма - наверное годно получится, можно ещё разок ELITE пройти ☺

drBatty ★★
()
Ответ на: комментарий от drBatty

на эмуляторе может и не дергается, а не телевизоре «радуга» - дёргалось и вообще вело себя как говно.

Я думаю, это не телевизор виноват, а спектрум. Такой бордер невозможен там, где цикл M1 округляется до 4х тактов(и потому невозможна точность задержки в один такт, а бордюр скачет по 8 или больше пикселей). А это происходит ,внезапно, на оригинале и некоторых наших клонах, том же скорпионе, например.

GAMer ★★★★★
()
Ответ на: комментарий от Binary

Не отождествляй Z80 с ZX-Spectrum. Последний имел множество архитектурных недостатков, связанных с минимизацией цены. Не надо проблемы спектрума переносить на сам Z80.

не забывай, что сам по себе Z80 - это тупик для нищебродов. Путные пацаны юзали 80x86 в то время. (релиз 8086 пришёлся на 78й год ваще-то).

На этом разговор завершаю, ты сам уже расписался, что пустобрёх.

я вот только не понял - влез в спор, доказать что-то пытался… Что доказал-то? Что электрическую лампочку как вибратор можно юзать? Ну доказал, заюзал. Мне сказать уже нечего. И вам до свидания.

drBatty ★★
()
Ответ на: комментарий от GAMer

Видимо эти проблемы всплывают из-за того, что у Z80 4хбитное АЛУ.

даже так?

Ну и в eZ80 это поправили, а в свободной реализации http://opencores.org/project,nextz80 LDxR вообще по три такта, при прочих мелких инструкциях по одному.

было-бы годно, если туда на кристалл ещё памяти 64K и флешку на столько-же. Ну и тактовую частоту в 7GHz.

drBatty ★★
()
Ответ на: комментарий от GAMer

Я думаю, это не телевизор виноват, а спектрум. Такой бордер невозможен там, где цикл M1 округляется до 4х тактов(и потому невозможна точность задержки в один такт, а бордюр скачет по 8 или больше пикселей). А это происходит ,внезапно, на оригинале и некоторых наших клонах, том же скорпионе, например.

наверное именно потому я этого и не видел. А те демки у меня тупо не работали. У меня как раз был оригинал (ну почти).

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.