Вот нам тут всем и объясни, что не так. Заодно и про ZXULAX поведай, чего таишь то?
Вид для печати
Да всё так, ты действуешь по шаблону. Сначала предлагаешь "объясни, попробуем реализовать" (точно так же начинал и со мной), потом будешь игнорировать письма в личку, потом то, что понял из объяснений, и что показалось тебе полезным, тихо адаптируешь к своим поделкам (не лучшим образом). А потом заявишься гадить в тему к автору объяснений, хвастаясь, что у тебя уже всё якобы готово намного лучше.
Сам, всё сам. Привыкай решать сложные задачи своим умом.
Сегодня что-то из теории поддается здравому смыслу и практической реализации, а что-то так и останется здесь, возможно навсегда. Что-то получается хуже, что-то лучше.
Скрытый текст
Стараюсь так и делать. Чего и всем желаю.
Да нету там 100500 спектрумов. Это больше абстракция, 8 параллельных спектрумов, хотя одна из реализаций на DivGMX так и делалась, но изначально в эмуляторе Spec256 есть один дополнительный графический сокомпьютер, работающий по принципу "одна команда - много данных" над дополнительными графическими данными, по байту на каждый бит памяти Спектрума, соответственно, 1 байт памяти Спектрума - 8 байт графической памяти сокомпьютера. Он выполняет обычные команды Z80 из памяти Спектрума, но над данными из своей памяти, соответственно, регистры его графпроцессора 8байтовые вместо 8битных. Это позволяет довольно просто раскрасить многие монохромные игры, да и цветные сделать 256 цветными и без клэшинга. Самое приятное - код игры вообще не меняется, просто ищутся графические данные и раскрашиваются - на каждый бит один из 256 цветов. Это, с помощью соответствующих инструментов, может сделать даже непрограммист, чем эта схема и хороша.
На мой взгляд, Spec256 очень интересная концепция, которую я бы поддержал программно, но она ещё очень сырая. Лично мне хотелось бы не 3,5мгц, а 14, не 128к, а мегабайт, три ay, работу с образами tr-dos х 8, и физическое воплощение не в виде платки, а полноценного компа с хорошей клавиатурой в красивом корпусе.
SaNchez, на новой ревизии ZX-EVO которую сейчас проектирует Mick & TSL будет другая FPGA, большая. Зареквести опциональную поддержку режима.
Spec256 сырой, но самое главное, что он уже работает и его можно доработать.
Про новый модульный концепт в клавиатурном корпусе я уже здесь и на TS форуме неоднократно писал, но был послан, что не приятно. Для себя, я его сделаю, и он будет намного лучше того, что уже сделано, но это потребует значительных финансовых затрат и времени на разработку, т.к. делается в одиночку.
Сейчас пока выбрал более универсальное и простое решение - DivGMX с возможностью реализации на нем ts-conf, pentagon, spec256 и возможно даже next (сейчас закрыты исходники). Знаю точно, что реализовать spec256 или next на новой zx-evo rev.d не получится, ну не дотягивает она аппаратно, а значит на ней не будет работать софт для spec256 и next.
Я на это обращал внимание, но получил лишь ироничные насмешки, дескать, вам и так дар богов снизошел, а вы тут ерепенитесь, еще и какой-то корпус вам подавай! У вас что, нету говна и палок, лобзика и фанерки, или руки из жопы растут? :)
Имеет место некоторая профессиональная деформация, предположение по-умолчанию что если я так могу и умею, то значит и все так могут и умеют. Причем множество людей вообще не желает притрагиваться ни к паяльникам, ни к проводам, не желают городить какие-то ящики, выпиливать дыры под разъемы и т.д. А среди них запросто могут быть талантливые программисты. Поэтому есть мнение, что для пресловутого Некста игр выйдет в разы больше, именно по причине готовности компьютера для конечного пользователя.
Всего-лишь одна небольшая оптимизация и дороги больше не нужны.
Давай я тебе DivGMX отправлю, посмотришь на Spec256 и сравнишь. Дарить уже не хочу, так-как у многих потом охота пропала напрочь реализовывать свои концепции :) не хотелось бы ещё потерять и ZXULAX. Больше не знаю как помочь :(
Многие другого мнения, поэтому в добавок к теории и концепции есть эмулятор и аппаратная реализация. А что есть по ZXULAX?
Все неудобства Spec256 отключаются нажатием одной кнопки, возвращая прежний так всем полюбившийся клешинг и стандартные цвета, тем самым дают возможность теоретикам побеждать клешинг исключительно на Ютубе и в аналогичных темах.
- - - Добавлено - - -
В общем всё понятно, к сожалению здесь не получиться ничего реализовать, жаль. Придется вам спонсировать и поддерживать zx spectrum next.
Что можно оптимизировать в компьютере для упрощения сборки и уменьшения себестоимости чтобы сделать его массовым ?
Сделать только три спековских плоскости вместо четырех, убрать музыкальный сопроцессор и клавиатуру. Оставить только BEEPER и джойстик. У Спектрума такое разнообразие джойстиков, что усложняет игры. Упростим и оптимизируем. Сделать единый новый порт джойстика с двумя кнопками без инверсии. Легче всего подключить геймпад от SEGA 16 BIT. Так подключал в LENINGRAD-2012. Но в новом компьютере достаточно будет одного порта без инверторов. Все игры переделывать под новый режим графики и под новый джойстик. Чтобы был единый стандарт.
Новые игры должны запускаться по кнопке джойстика или после настройки этим же джойстиком без громоздкой клавиатуры.
BORDER надо убрать, чтобы легче было выводить звуки через BEEPER. Рамку сделать черным. Усложнять можно только новый графический режим из трех плоскостей и коммутатор памяти. Так как это имеет максимальную пользу и на это стоит тратить. Все остальное железо для игр особо не нужно и без него можно обойтись.
Меры по упрощению программирования и оптимизации железа приведут к увеличению распространения компьютера и резкому повышению количества новых игр. После этого можно будет организовывать конкурсы с призами на лучшую игру "FOR METEOR".
Если компьютер только для новых игр, то Z80 можно разогнать до 14 MHz для упрощения написания игр.
У SEGA геймпада легко можно только вариант с двумя кнопками сделать на одном порту К555АП6. Остальный кнопки просто так не прочитать. Надо схему на АТМЕГе типа SUPER JOYSTICK PORT2. Это приведет к усложнению схемы и удорожанию компьютера.
Если имеет смысл удорожания, тогда лучше подключить геймпад от SONY PLAYSTATION 2. Только там разъем нестандартный. Придется отрезать и менять на DB-09.
Ну вот Атари тоже было проще видимо в далеких годах, а потом остальным было проще заюзать готовое решение, к которому уже понаделано куча готовых джойстиков. А в итоге получили одну кнопку и три неиспользуемых бита на целой пачке компов. Что как бы неудобно.
С помощью атмеги можно читать все 12 кнопок SEGA и передавать в Z80 через 2 порта. Если SONY, то там кроме кнопок еще и аналоговые джойстики, которые тоже могли бы пригодиться в современных играх.
Конечно, если у старого джойстика только одна кнопка, то приходилость клавиатуру использовать или оптимизировать игру для работы от одной кнопки.
Вопрос в другом, для скольких нужен корпус и какой, и где производить? с приемлемой ценой? а клавиатура? есть мысли?
Сделай тему, давай обсудим, кустарно, несколько штук сделать можно, как экслюзив.
http://androidarts.com/Amiga/ZX.htm
- - - Добавлено - - -
Ну например серьезно подойти к теме,
Ждем новую версию ZXM-Phoenix, ZX-EVO, еще люди ждут свои предзаказы ZX-NEXT. Как считаешь, какие шансы у "Идельного Спектрума"? а еще есть, замечательный "Карабасик-128" :)
И да, чем закончился сей замечательный проект?
http://blog.retroleum.co.uk/electron...ticles/v6z80p/
Ну и конечно, есть еще 3 проекта, ZX ULAX,SPEC256 и TS-CONF
И?
Ох мечты ваши девичьи. Вот прям вижу как сотни молодых, новых и свежих талантливых программистов, художников и музыкантов, рвя на себе тельняшки, наперегонки ринутся скупать вновь обретенную платформу и писать россыпи великолепных игр, конкурируя за приз на лучшую игру. Оптимизм 200%.
- - - Добавлено - - -
В ссылке сверху есть примеры действительно привлекательных дизайнов корпуса.
Это надо связываться с литьем из пластика либо 3д печатью. Опять же, под какой форм-фактор плат? Тут же все кто в лес, кто по дрова. Если под Пентагон то корпус может оказаться неоправданно широким для более компактных клонов типа Ленинграда. Как быть с платами расширения, которые в корпус "слим" явно не лезут, либо по примеру классического ZX торчат сзади, что тоже не очень гуд. Вопросов много и не очень понятно, как создать более-менее универсальное решение.
Насчет клавиатуры - существует решение по подключению произвольной клавиатурной матрицы через кастом контроллер на AVR с интерфейсом PS/2 https://sourceforge.net/projects/ps2avr/ которое позволит использовать современные стандартные ноутбучные клавиатуры, например. Я хочу попробовать сделать прототип такого корпуса-мутанта, если что получится - покажу. Не знаю, стоит ли оно создания отдельной темы.
vlad, да, такие лучше чувствуются и удобнее нажимаются.
Пока за основу взять такую раскладку битов в порте геймпада SEGA MEGADRIVE:
D0 - RIGHT
D1 - LEFT
D2 - DOWN
D3 - UP
D4 - C (FIRE)
D5 - B (EXT)
D6 - 1
D7 - 1
Если ни одна кнопка не нажата из порта будет читаться FF. При нажатии соответствующий бит будет 0. Старые игры переделаем под эту логику работы.
Пока сделать простой порт на одном АП6 и в играх использовать две кнопки FIRE и EXT. В дальнейшем, если потребуется усложним модуль геймпада, добавим еще один или несколько портов. При этом адрес и расположение кнопок в этом порте оставим без изменений для работы старых новых игр.
Вторую кнопку джойстика надо назвать EXT. Использовать для расширенного режима (EXTENDED MODE) джойстика..
Если в игре достаточно двух кнопок, то EXT можно ипользовать как вторую кнопку джойстика.
Если надо много дополнительных кнопок, то вместо них нажимем EXT + одно из четырех направления или FIRE.
У всех своя ниша, и все они не в теме "идеального". zxm-phoenix и harlequin это просто клоны, их надо много и разных, популярность у них была есть и будет но они далеки от "идеального". ZX-EVO, tsconf, retroleum, zx-next это fpga монстры (по сути те же китайские fpga dev board) в которых BRAM!, мегабайты быстрой памяти, частоты свыше сотни Mhz внутри, потенциал тянуть игры "как на Амиге" (это явно уже не zx spectrum, это просто средство позволяющее воспроизвести с максимальной точностью (круче чем софт эмуль) любое ретро но потерявшее при этом всю "ламповость"). Так что... ниша есть. Но конечно если выпустить плату использующую мегабайты импортного SRAM-а то это будет никакой не "идеал" а очередная поделка.
- - - Добавлено - - -
Не открою тайны если скажу что на 2-х атмегах можно вообще весь спектрум сделать в ps2 клавиатуре... Но тут вопрос? это все про "идельный" спектрум чтоли? Очнись на рубуже 80-х небыло никакик AVR-ов... MCS-48 максимум что надо да и то для всей ps2 клавиатуры а не для 1 джойстика.
Я уже писал, какие компоненты считаю оптимальными.
Для меня проще поставить одну микросхему кэш 32Кx8, чем 8 шт РУ5 и потом иметь проблему с регенерацией и нагревом платы.
FLASH лучше, чем ПЗУ c ультра-фиолетовым стиранием.
АТМЕГА лучше других микроконтроллеров, так как ... да не важно, я ее выбрал, нравятся они мне по сравнению с другими.
DIP микросхемы проще паять и разводить платы, но если их количество получится большое, то придется использовать CPLD или FPGA.
Спековский экран после исправления всех ошибок для меня лучше, чем блиттер. Да и большинству старых программистов программное рисование спрайтов привычнее.
Не я проектировал gamepad SEGA. Я бы внутри него поставил две К555КП11 для чтения 12 кнопок. ATMEGA48 может опрашивать PS/2 клавиатуру и 2 сега геймпада. Не важно, что у нее внутри. Мы будем использовать ее как цифровой автомат для преобразования интерфейсов и передачи данных. Ее возможности и мощность не имеет значение. Важнее удобство в работе и программировании. Считай, что это БИС типа ВГ75 или ВГ93. Но имея 12 кнопок на геймпаде можно убрать клавиатуру, которую так не любят многие и сделать управление стандартным. Единый джойстик, одни и те же подпрограммы работы с ним. Упрощение для программистов и игроков. У нас же компьютер игровой, а не учебный. Клавиатура не нужна. Раз PS/2 не нравится не будет никакой и нет проблем с корпусом и размером клавиатуры.
Возможно Z80 сам сможет в последовательном виде загружать данные из геймпадов SEGA или SONY, но тут могут возникнуть потери времени на передачу данных, а если данные будет готовить атмега, то Z80 сможе по байтам их читать и быстро обрабатывать. Тут надо уточнить, сколько времени займет чтение из джойстика. Да и не стоит делать программные задержки, так как Z80 может работать на разных частотах. Вдруг мы захотим 14 MHz или 20.
Оригинальные компы и наши клоны -это и есть ZX -Spectrum, та самая масса софта, уже написанного и еще который будет написан, именно софт определяет популярность платформы, а не "железка" бесполезная.
И следующий тезис, будет очень простым-наш проект, никак не мешает софтописателям, хотя и основан на FPGA. Хочешь -поставь в Феникс или Эво, везде, где есть системный разъем, хоть в Карабас-128, хочешь в оригинальный 128. Хочешь бери сразу оригинальный комп на FPGA, не хочешь, бери эмулятор.
А все остальное будет нишей, с парой игр и демок и никаким боком к ZX-Spectrum отношения иметь не будет.
И писать для него будут, как для "Ириши", т.е никак
Что уже решено на текущий момент - модули:
1. Z80 DIP-40 3.5 MHz + новый коммутатор памяти.
2. RAM 128K + FLASH картридж вместо основного ПЗУ.
3. Модуль геймпада SEGA вместо коллекции джойстиков и PS/2 клавиатуры.
4-6. Графика. 3 улучшенных спековских экрана/плоскости на отдельных модулях. Выходы RGBI и сигнал прозрачности c каждого модуля.
7. Модуль TV развертки и смеситель плоскостей графики.
8. Звук. BEEPER + YAMAHA (опционально).
Осталось шину уточнить.
Для упрощения модернизации и изготовления самодельных модулей предлагается кросс-плата из 10 разъемов PBD-80. Бюджетный вариант. Ответные части PLD-80R легкодоставаемые и дешевые двухрядные угловые гребенки. Позволяют легко спаять самодельный модуль на макетке. 1 контакт гнезда забит обрезком штыря и используется в качестве ключа. 2 контакт не используется. Остальные 78 описаны ниже.
Сигналы:
40 - почти все с Z80
4 - тактовые 14, 7, 3.5, 1.75 MHz
15 - RBGI и сигнал прозрачности с трех плоскостей графики
2 - сигналы записи значиний в счетчики по-горизонтали и вертикали
4 - тип памяти в окне
8 - номер страницы памяти в окне
5 - пока свободные
Даже разработчики Спринтера, сейчас заплакали от твоих "идеальных" идей.
лучший спектрум уже есть
это пентагон плюс GS
Спорить не буду, главное найди пару человек, которые будут писать под комп, по игрушке в месяц. Тогда будем считать, что все получилось как надо.
- - - Добавлено - - -
Вот это сейчас звучит, несколько неуместно в контексте "идеального Спектрума":v2_crazy::v2_dizzy_yes::v2_diz zy_doctor:
Если сделать компьютер легким для программирования, то любой желающий сможет попробовать написать игру.
zst, при всём уважении, но у тебя неправильное восприятие процесса создания игры. Графический движок - это самая простая, понятная и приятная для написания часть игры. Жесть начинается дальше. Я ради интереса в mff засёк, сколько у меня заняло написание основного кода игры, без учёта графического движка, звукового движка, и всяких мелких подпрограмм, которые кочуют из проекта в проект - примерно 500(!) часов. Кстати на ПейСи, при использовании, например, unity, у проекта такого-же масштаба метрики будут такие-же.
Я понимаю, что кроме графики есть сюжет, обработка событий, управление врагами и препятствиями. Я только могу облегчить программисту управление графикой и памятью чтобы они не ограничивали игру. Ты ведь сам знаешь, что на старом Спектруме нельзя делать скроллинг цветного фона, нельзя делать скроллинг черно-белого фона на весь экран, нельзя в одном атрибуте выбрать два цвета разной яркости и т.п. ограничения. Талант и способность довести замысел игры до конца графика конечно не заменит, но появятся новые игры, которые нельзя было написать до этого, пока было ограничения в графике и управлении памятью.
Например, нельзя было сделать полноэкранную ходилку или леталку с плавным скроллингом цветного фона. А в Идеальном Спектруме или эмуляторе это можно будет сделать достаточно легко.
Дружище, они не появятся, чтобы сделать более менее вменяемое, нужна команда, лиц заинтересованных или мативированных. А ты своим "идеалом", только вносишь еще одного монстра в мир ZX, причем заведомо мертво рожденного. Пишите под обычный Спек, этого достаточно, чтобы платформа жила и дышала. Все остальное исключительно по желанию.