кто б сомневался, что Челебяинск суровый город с суровым народом...:v2_wink::v2_clapp:
Вид для печати
А останется-ли теоретическая возможность сделать карту для Челябинска, реализующую спектрум порты, чтобы таки запускать оригинальные игры?
И останется-ли теоретическая возможность сделать карту для оригинального ZX Spectrum, чтобы запускать красивые "Челябинск" игры, без клешинга?
Чтобы запустить без изменения игры со Спектрума надо продублировать весь Спектрум: Z80 на частоте 3.5 MHz, INT 50 Hz, без VGA, с ПЗУ BASIC, 128К ОЗУ с портом управления ОЗУ и ПЗУ, TR-DOS или магнитофон, т.е. отключить все новое и вернуть все старое. Много ли это даст ? Наверно у многих по нескольку Спектрумов уже есть. Для старых игр
Чтобы игры без клешинга запускать на Спектруме надо выбрать, для какой модели делать, убрать развертку VGA, сделать INT 50 Hz, найти свободные, желательно однобайтовые порты, сделать коммутатор RGBI,SYNC, INT между новым и старым режимом, подключить их со старого компьютера или полностью продублировать старый режим.
Если делать новый, не совместимый с какой либо базой компьютер, есть смысл делать на ARM с внешней шиной, хоть компилятор будет.
Приставку - аналог компьютера в корпусе ATX ? И какая у нее конфигурация должна быть ?
Без ARM, STM32, USB, HDMI, SD, часов.
Мне больше нравятся VGA, SRAM, PS/2, ATMEGA.
- - - Добавлено - - -
Некоторые люди недолюбливают ARMы и FPGA. Любят прозрачность схемы.
Делать так на счетчиках, регистрах и логике. Максимум добавить SRAM. А синхроимпульсы сформировать с помощью FLASH.
Мне интересно сделать видеокарту VGA без FPGA.
Маппер MSX2 использует следующие адреса:
FC - страница памяти в окне 0000-3FFF
FD - страница памяти в окне 4000-7FFF
FE - страница памяти в окне 8000-BFFF
FF - страница памяти в окне C000-FFFF
Вопрос к специалистам по MSX2. Нужно ли оставлять именно эти адреса, или можно другие ?
Совместимость это всегда в плюс
Обсудим переделку биперного звука со спектрума.
Порт не тот, и тактовая частота процессора не та. Ну и чуть-чуть прерывания не по 50 герц.
Варианты:
1. Капитально и индивидуально переделывать программы.
2. Специальная "звуковая карта", позволяющая однообразить переделку звука. Например понижающая частоту процессора, или записывающая вывод как сэмпл, а потом его воспроизводящая самостоятельно.
3. Добавление особых способностей эмулирования, позволяющих войти в "защищённый режим". Такой режим, что при попытке процессором вывести нечто в любой порт, или достижением особого счётчика тактов нуля, произойдёт немаскируемое прерывание. В прерывании, прочитать счётчик, узнать, сколько осталось до конца мнимого кадра, подождать это реально по времени, вывести в реальный порт эти значения, и продолжить защищённый_режим. Возможно такая фишка поможет и ОС писателям многозадачность организовывать, чтобы задачи не сильно баловались.
С Новым Годом!
Не будут. База в MSX - слотово-страничная организация памяти (порт A8) и VDP (TMS9918A).
Вставлю свою копейку. Вот так с нуля делать комп да еще с такими амбициями, ну не знаю. Если бы дело касалось очередной поделки на Z80 c инета, да и ладно. Но тут как я понял, хотят сделать все и сразу.
По мне нужна базовая совместимость с любым компом, выбирайте выбор не такой и маленький.
Понятно. Тогда возвращаемся в CP/M и возвращаем на порт FE BEEPER. Бордера к сожалению не будет. Маппер в новых играх будет по другим адресам. Хотя можно оставить и на этих как в MSX2. BEPEER менять на звуки GM или MP3. Хотя звуки можно оставить и через BEEPER. 6 и 3.5 МHz не такая уж большая разница. Можно у Z80 две разные частоты сделать через тумблер. Или на будущее через мультиплекстор частоты 3.5 / 6 / 14 / 20 MHz.
Может тогда и INT 50 Hz оставить ? Тогда вместо VGA сделать SCART и цифровые выходы RBGI на видеоконвертер VGA.
То есть на частоте 3.5 MHz звуки переделывать не придется. А в турборежиме отключать тумблером по-вкусу.
- - - Добавлено - - -
Еще один вариант VGA 50 и 60 Hz через тумблер. Соответственно будет меняться INT 50 и 60 Hz.
Давай без картинок. Давай обсуждать. Мы ищем решение чтобы поменьше переделывать, но чтобы были и новые возможности. Со старым итак все понятно.
А если INT 60, а Z80 на 4 MHz ?
Но при 20 MHz звуки все равно будут другими.
Надо осваивать MIDI.
Как обеспечить выбор частоты Z80 ? Atmega+кнопки+индикатор ?
Допустим, что клешинг успешно побежден путем простой доработки игр со Спектрума.
Что дальше ? Если захотим написать новую ? Сможем ли мы сделать игру уровня SEGA ?
Разрешение экрана у нас будет 320x240. Цветов надо больше 15. Еще если посмотреть на сеговские игры, то можно увидеть, что у них обычно 3 слоя фона - за игроком 2 слоя и один слой перед игроком. Надо на будущее предусмотреть возможность расширения графики. Для этого видеокарту расположить на материнской плате. И добавить в ней 4 слота для возможности добавления четырех слоев. Для новых игр скроллинг нужен.
А чтобы не делать палитру каждую точку кодировать по 16 бит.
Каждый слой - это плата. На ней регистры смещения по-горизонтали и вертикали, счетчики, мультиплексторы, SRAM, выходные регистры.
Если в компьютере графика не нужна, то все четыре слоя не устанавливать.
Если только игры ZX Spectrum без клешинга, то установить слой 2.
Для простых новых игр слои 2 и 3.
Если для игр типа как на Сеге - все 4 слоя.
10ns SRAM - неспортивное поведение, почему тогда не vram (с внутренним сдвиговым регистром 256bit длинной) или не двухпортовка? Чтобы было интересно надо ограничиться только микрухами времен ссср. ПК 8002 жирный пример!
даешь 25МГц VGA на совке!
Схему ПК8002 не видел, но там более 100 микросхем было и возможности не очень. VGA не было, например.
Только на микросхемах из CCCР не получится. Мне надо емкую, быструю и дешевую SRAM 256Kx16бит. Синхроимпульсы для разных режимов планирую зашить во FLASH. ПЗУ не предлагать. Выходы RGBI надо делать на иностранной 74ACT, т.к. у советстких микросхем выходной ток маловат. Может в некоторых местах потребуется 74ACT.
- - - Добавлено - - -
Судя по таблице параметров микросхем, выпускаемых на белорусском заводе микросхемы LS работают до 30 MHz.
А что такого в этом vga? Для планируемого разрешения вполне себе pal ntsc хватит.
Считаете, что не стоит ? Будет глючить ? Хорошо, VGA убираем. Остается выход RGBI цифровой. INT 50 Hz.
- - - Добавлено - - -
А что с символьным экраном для CP/M 80x25 символов ?
Но, если будет аппаратный скроллинг с частотой 50 Hz, а современные телевизоры и мониторы работают на 60 Hz, не будет ли рывков при движении фона ?
Если делать сразу 60 Hz, то большая вероятность, что будет плавно.
Точки при VGA 640x480 60 Hz будут выдаваться на монитор с частотой 12.5 MHz в графическом режиме и 25 MHz в символьном. Может тогда символьный убрать, а рисовать символы в режиме 320х240 точек ?
По-моему текстовое разрешение 80x25 вполне себе доступно было на мониторах с 15khz разверткой. Современные телевизоры шарят 50hz. Кроме того есть опыт использования 50Hz с разными мониторами на ZXEVO. Но можно перейти на 60hz окончательно (думаю не осталось теликов которые не покажут 60hz).
Хорошая идея. И какую же частоту пикселов выбрать ? Может уточнить разрешение экрана для текстового.
Не, все-таки на мониторе изображение ровно 640х480 60 Hz. Пикселы квадратные.
Можно было бы 800х600, но как это изобразится на мониторе FULL HD 1920x1050 ?
640х480 просто увеличится в два раза.
Похоже придется от DIP микросхем отказаться и делать VGA-выход на FPGA. И пересмотреть разрешение экрана и развертку. Может сразу FULL HD с масштабированием для точного попадания в пикселы экрана.
народ впринципе привык к частоте пикселей в 7mhz... в идеале конечно пиксель должен стремится к идеальному квадратику
Задача становится слишком сложной. Совместить три разных компьютера:
1. ZX Spectrum с устранением клешинга.
2. Текстовой компьютер с CP/M.
3. Игровой компьютер, похожий на Сегу.
У каждого свои графические режимы, развертки, частоты, порты и т.п.
Не разделить ли их на три разных компьютера ?
- - - Добавлено - - -
Три разных проекта. В этой теме оставить игровой компьютер.
Какой я виду конфигурацию и возможности моего игрового компьютера:
Программирование близкое к программированию на ZX Spectrum-е. Рисование по 8 точек на байт. Обеспечить возможность переделки старых игр для устранения клешинга. Но графика с линейной адресацией с адреса 0000. Устранение клешинга осуществляется путем рисования одним цветом на байт. Возможность рисования нулевыми битами, единичными битами или обоими сразу. Перейти на VGA развертку, увеличить размер экрана, увеличить скорость Z80, добавить новый звук, автоматический скроллинг фона, увеличить количество цветов, новый маппер памяти, все порты однобайтовые, без ПЗУ c BASICом, старого режима графики с атрибутами.
Z80 на частоте 20 MHz
VGA 640x480 60 Hz
INT 60 Hz
Размер экрана 320x240 с масштабированием в 2 раза.
4 слоя графики с возможностью аппаратного скроллинга.
Внутри видеопамяти точка хранится как 16 бит. Старший бит - признак прозрачности.
VIDEODAC 3 цепочки R-2R по 5 битов.
ОЗУ 1 M с маппером типа MSX2 - 4 окна по 16 Кбайт.
ПЗУ на внешнем картридже. Адресация страниц FLASH картриджа тем же маппером.
Звук - микросхема General Midi +MP3
Клавиатура PS/2
Мышь PS/2
Геймпад от Sony Playstation 2
Частота Z80 возможно будет переключаться кнопками и индикатором на передней панели с помощью Атмеги, генераторов и мультиплексторов.
Предварительно: 3.5 / 6 / 10 / 12 / 14 / 20 MHz.
Повторюсь:
UM61256FK-15
W24257AK-15
и им подобные (их реально тьма)
Это ОЗУ 32к х8 (быстрые SRAM 15нс) из кэшей 386 (т.е. времен падения CCCP, как и заказывали). Узкие DIP (7.5мм) 28 ног с шагом ног 2,54 - идеально для пайки/разводки. Для получения разрядности данных x16 ставим таких две. С разбора думаю есть почти у каждого, если нет - регулярно продается на барахолке, вот например тема из последних (в этой теме они 35р. за штуку, но бывало и дешевле).
Т.е. вся плата видеоадаптера получится вся на DIP с МСХ примерно одного времени выпуска.
- - - Добавлено - - -
Есть и на Алиекспрессе, но дороже
Не попадались компьютеры на msp430, может на нем сделать компьютер?
Для символьного экрана хватит. Надо определиться еще с:
FLASH - какой объем и корпус предпочтительнее.
Разрешение и частоту кадров. С пиксельклоком 27.175 MHz есть 640x350 70 Hz 640x400 70 Hz
Размер символов. 16x8 или 14x8.
Где скачать готовый шрифт.
Можно символы размером 19х8 точек с разверткой 640х480 60 Hz.
Ребят - честное слово читать все не было времени но по поводу вопроса о совмещении трех разных компьютеров.
Что мешает взять идею Wing Lion примененную в спринтере и то что отличается - сделать в виде загружаемой в FPGA конфигурации ?
одновременно же ве ьри компа физически запускаться не будут ? что мешает нажав в стартовом меню нужную кнопку или выбрав нужный комп как либо еще - прогрузив за пол секунды в фпга начинку видеоконтроллера продолжить работать с нужным компом.
Это же позволит как угодно модифицировать конкретный видеоконтроллер без ущерба для остальных.
Если это уже предлагалось - можете просто не отвечать на мой вопрос. Дабы не тратить ваше время.
реконфигурация на мелкой логике, как бы сложновата
Я думал об этом. Можно через разъем типа DRB-9M подключать внешние картриджи с ConfROM для каждого модуля на FPGA. Можно в каждом картридже поставить по 2 ConfROM, прошить две разные конфигурации и при необходимости переключать тумблером. В шине один сигнал переключает конфигурации всех модулей - на FPGA и без FPGA. И мой любимый способ - тумблер выбора конфигурации на переднюю панель.
Если поставить по 4 ConfROM, то двумя тумблерами можно быстро переключать 4 разных конфигурации.
Если в шину добавить еще 3 сигнала, то можно будет с управляющего микроконтроллера подавать на модули байт параметров.
Если уж понесло в сторону FPGA и микроконтроллеров, то и конфигурировать ее тем же МК вычитав конфу с SD-шки, что религия не позволяет?
На кой ляд огород городить? А в момент отладки вообще удобней по JTAG-у цепляться.
Про невозможность "три компа" в одном флаконе. Ну как бы текстовый режим с CP/M и ZX-ом был уже в ATM (и железо NEXT-а теоретически позволяет тоже самое), это именно последней - "игровой части" не было. Я начал эту тему с вопроса: будет ли новый комп чем-то круче msx2+, это потому что в msx2+ вполе себе есть все чего когда либо желали спектрумисты да и вообще строители большенства 8bit компов. Современный atmega рядом с z80 смотрится как smart fortwo рядом с "инвалидкой", ради чего лепить это "бельмо на глазу", вполне себе "задачи для контроллера" решаются на mcs-48 и mcs-51, на крайняк еще на одном z80 (zx-next! и атм нам пример).
Но тема легко начинает дрифовать во флейм, а потому прошу ответить автора на вопросы:
1. Есть ли смысл лепить в один аппарат fpga с 10ns памятью и тут же рядом z80 с 5 вольтовым питанием? Если да то какой смысл, и чем ZX EVO хуже планируемого компа?
2. Описанная конфигурация нового компа (z80 20mhz + 10ns sram + много цветов на точку + ничего "прикольного"), ПРИ САМОМ ХОРОШЕМ РАСКЛАДЕ, будет примерно выглядеть как atari st (или что тоже самое примерно i8086-ПЭЦЭ 10mhz+vga). Это и есть цель нового компа?
Мне интересно сделать компьютер, в котором исправить недостатки графики ZX Spectrum:
Нелинейная адресация байтов на экране
2 цвета на знакоместо 8х8 точек, что приводит к клешингу
Адрес экрана с C000
FLASH и общая яркость у PAPER и INK.
Невозможность без мерцания обновить весь экран (в модели 48 К).
Наверно многие натыкались при программировании на эти ограничения.
Потом пойти дальше и улучшить возможности для написания игр. Увеличить скорость Z80, количество цветов, аппаратный скроллинг. При этом программисты смогут использовать опыт разработки для ZX Spectrum. Но возможностей будет больше и реализовать идеи будет легче. И делать расширение экрана не как раньше - массив точек для графического экрана с непосредственной записью каждой точки или аппаратные спрайты и тайлы. Я предлагаю записывать по 8 точек, без чтения-модификации-записи, просто добавить прозрачный цвет и аппаратный скроллинг фона.
Модульная конструкция для того, чтобы можно было модуль сделать на любой элементной базе: микросхемы DIP, SOIC, CPLD, FPGA, ATMEGA и т.п.
Всегда будет компьютер круче по возможностям. Я делаю улучшение старого компьютера до того уровня, до которого считаю достаточно и интересно. Примерно SEGA. При этом способ программирования Z80 остается как у ZX Spectrum. И можно будет доработать старые игры для улучшения графики как в эмуляторе ULAX.
Другие компьютеры мне не интересны. Может у них больше возможностей. У меня был Спектрум и я улучшаю его. Это мне интересно.
Самое главное - чтобы программисту не надо было много изучать для использования новых возможностей графики. Принцип рисования должен остаться похожим, но возможностей больше и убрать ограниния ZX Spectrum. Получится игровой комп.
Схема ULAX, описание, игры есть? Как вы его собираетесь делать?
Можете сказать, чем графика ULAX и техника раскраски существующих игр лучше чем в Spec256?
Вот вам для сравнения раскрашенная игра для Spec256 на DivGMX(хотите модульность - используйте крос-плату с несколькими слотами ZXBUS):
https://www.youtube.com/watch?v=oee7vwiIMJc
Для раскрашивания игр не требуется внесения изменений в код игры, есть возможность включения слоя фоновой графики, раскрашено более 20 игр.