Наверное ИР32 (аналог ИР26 но с ОК)?
Вид для печати
Да. ИР32.
Как насчет параметров для символьного режима ? Не в этом компьютере, так в другом. Пока для ТЗ.
Если для монитора 640x480 60 Hz, то лучше и текстовой режим туда вписать. Символы размером 16x8. Тогда влезет 30 строк по 80 символов.
- - - Добавлено - - -
Закажу себе пока Z8S18020VEC. И микросхемы пока буду использовать К555.
вполне годный режим. Туда и стандартный 80х25 нормально впишется, и еще место на строку состояния/команд останется (или что-то для многооконного меню).
А что с цветами для текстового режима? Он будет? какого вида?
Но только я голосую за отдельный видеоадаптер вменяемой сложности (карта в слоте), даже если при этом придется отказаться от аппаратных скроллингов.
И предлагаю еще добавить один 8-битный регистр (аналогично: 4+4), который всему экранному пространству будет добавлять некое цветовое смещение - простейший аналог палитр. Тупо дополнительные константные биты в RR-смесителе цветности, которые можно программировать. Ибо обычные 16с+16с схемы очень ядовитые из-за небольшого количества цветов (и как результат - большого шага градиента между ними). Цена вопроса - одна ИР22.
- - - Добавлено - - -
Т.е. допустим, у меня кадр с 16 цветами и в целом все устраивает, но красный и желтый ввиду их ядовитости хотелось бы приглушить. Меняю содержимое этого регистра и получаю что надо.
- - - Добавлено - - -
Кроме того, этот регистр добавляет такую фичу: можно заполнить все посимвольные атрибуты цвета константой ("цветовое смещение" несут теперь они) и вообще их более не трогать, а цвет букв и фона всего экрана выставлять одной командой записи в этот регистр (этакий цветной монохром - быстрый как монохром). Этот режим хорош для CP/M где из коробки поддержки цветов нет (программы его не программируют), но он не лишний (для приятности восприятия).
Система будет работать надежнее, меньше греться, можно будет использовать DIP микросхемы для любителей ретро. У Z180 маппер имеет ограничение 1 Мбайт. Поэтому границы настроить на 0000, 8000 и C000. Тогда можно будет пользоваться моим маппером без ограничений размера памяти. Я вот думаю может MP3 + MIDI микросхему подключу. Ей надо много памяти для звуков, а у Z180 DMA есть.
- - - Добавлено - - -
Может тогда уж палитру придумать 4->15 битов. Из двух микросхем кэша.
А может ставить сразу 32-битовый, широкой распространёности и хорошей доступности (с компайлером Си) ?
Тот-же M68K или любой из ARM-ов.
(Банками клацать немного надоело, большую программу неудобно делать.)
Ну тогда сразу взять "малинку" и не париться.
Наверно ты прав, можно что-то придумать
Делал такое в своем клоне CP/M. Для драйверов или крупных многостраничных программ писаных на ассемблере достаточно удобно пользовать, но компиляторы ЯВУ такое обрабатывать не умеют (если только не написать компилятор самому), а практически любое реалистичное портирование на наши 8 бит в современном мире - это С.
Кросс платформенный Си под Z80/180 вроде поддерживают Big модель памяти. Сам не пробовал. Но как я понял там заточено по простые маперы памяти. И понятно, что под наши зоопарки маперов не особо подходят.
Я как-то смотрел sdcc, максимум чего можно добиться это что оно просто будет само вставлять типа как "макрос" врубления нужной страницы при обращении в дальнюю память или при вызове far jmp... НО все это дело прийдется в проге самой уже планировать изначально, т.е. изначально указать компилеру какой сегмент кода в каком банке будет лежать или какие данные в каком банке. Возникает вообще вопрос это реально кто-то использует? или просто эксперементальная фича в альфа версии у которой нет шанса быть доведенной до ума.
Ну короче, такого автоматизма какой был достигнут на системах pdp-11 или MS-DOS, там где просто пишешь код и хранишь данные в сегментах, а потом link-ер может это все слепить "по разному" (да еще и с overlay-ами) НЕТУ! Да оно и понятно почему - изза того что вся эта штука с overlay-ами очень сильно завязана на linker\loader встроенный либо в саму OS либо завязанным на железо и встраеваемый в exe-шник самим link-ером.
Остановился на том, что надо писать отдельные модули (код+данные), которые ничего не знают ни о памяти ни о страницах, они просто могут манипулировать своими локальными данными используя свои процедуры. После того как все нужные модули будут написанны прийдется написать отдельный мини-kernel который будет связывать все эти модули в кучу, он будет знать как, кого и куда загружать, кому и куда надо вписать адреса вызовов, где и сколько выделить стека. Таким образом делается все вручную от начала до конца, а раз так то про встроенный z180 мапер можно забыть (ну т.е. он то по моще может и такой же самый как у pdp-11 или i8088, но чтоб его применить надо написать по новой rt11 или msdos для z180).
bigral, почитывая мануалы к коммерческим компиляторам (sdcc не обсуждается) у меня сложилось мнение, что Z180 мапер таки можно использовать из коробки. Тут другое. Все эти компиляторы рассчитаны на генерирование кода для неких промышленных контролеров (в разрезе использования big модели памяти). А так да. Даже для CP/M (продвинутых клонах с ОЗУ > 64Kb) придется строить костыли разной сложности. И таких примеров костылей в интернете можно найти не мало.
в чем выражаются костыли? например?
Например для eZ80, все из коробки и СP/M там уже давно есть. И других ОS и ZDS бесплатный.
И даже кабель отладочный уже давно "поломали"-он вообщем то нужен только для eZ80 c флэшем на борту.
что останавливает? отсутствие железок-платы?
Не надо мне высылать. Я тоже идеей eZ80 не проникся. Z180 - совместим с Z180. Найду для макета. Пока макет на Z80 6 MHz надо сделать.
Для быстрой работы Z180 надо делать два модуля. Основной 4M на быстрой памяти SRAM без задержек и второй для дополнительных данных на SDRAM. А с какой максимальной скоростью будет работать модуль RAM на базе FPGA и SDRAM 32M ? Наверно уже на 14 MHz надо будет тормозить Z180.
Или основной модуль 1M статики, второй 4 М статики, третитй 32M динамики.
Или основной модуль 128К статики, второй 1 М статики, третитй 32M динамики.
...
Надо выбрать размер базового модуля RAM, которого хватит для работы игр.
Надо сразу ориентироваться на возможность портирования SYMBOS на компьютер "CHELYABINSK". Еще надо выбрать накопитель для SYMBOS. Загружать можно с картриджа. Но нужен еще интерфейс с HDD или SD или USB-FLASH. Посоветуйте модуль, который можно использовать в этом компьютере.
Автор этой ОС очень неохотно делится исходниками (хотя вроде по слухам такие единичные случаи и были), большинство портов что есть сделаны им самим. Там в-общем и к прикладному ПО подход такой же: "вот такую модель планирования памяти я придумал, а кому не нравится - валите нафиг, я сам всё напишу". Собственно, оттого в этой ОС и программ всего 9 штук.
В качестве SD мне очень нравится решение с аппаратным регистром. Я даже нарисовал такую схему (лучшую на мой взгляд из имеющихся на DIP-россыпухе, т.е. сохранен дух эпохи при простоте, универсальности реализации SPI и максимальной для 8-биток скорости работы) с намерением собрать и использовать (более простые но и более тормозные схемы подключения SD я уже успешно использую), но застрял на этапе макетирования (МГТФ-ить усидчивости не хватает), а моделировать в Протеусе я не умею. Но на первый взгляд, должно работать.
Если это касается самого факта попытки применить SDRAM то я поддерживаю такие смайлы. Зачем SDRAM для ретро-платформы? (хотя автор упорно не хочет ответить на вопрос, а вообще ретро ли это, ссылаясь на то что разговор идет на уровне концепции которую потом хоть в 155ла3 хоть в cyclone5 гы гы).
565ру6/5/7 наше все!
Сложно обсуждать поток мыслей топик кастера. Пора ему сделать хотя бы один шаг. И сделать реальную штуку с минимальной обвязкой.
И тут все начнется а ПО, и так далеее. А так пофонить можно конечно. Злой я.
- - - Добавлено - - -
bigral, Окстись какой MSX? Ты чего-то попутал. В этой дискуссии.
Сделать мир лучше с метеор-ом. Ага. Пойду я лучше соберу FM-штуку и слушателя добавится - один. И может еще добавится один музыкант FM, хотелось бы.
- - - Добавлено - - -
Не хочется – цель топик кастера – огласить. Мне понятно (личное мнение).
- - - Добавлено - - -
bigral, ты рихтовал? Я да. Поверь лутше родится заново=) ничего не рихтуется (хи хи в кишках все разное). Это другая история.
Кто нибудь знает, как с ним связаться - где ссылка на его координаты? Надо посоветоваться о характеристиках компьютера, которые подходят для SYMBOS.
Спасибо, значит надо для макетирования еще ИР24 купить.Цитата:
В качестве SD мне очень нравится решение с аппаратным регистром. Я даже нарисовал такую схему (лучшую на мой взгляд из имеющихся на DIP-россыпухе, т.е. сохранен дух эпохи при простоте, универсальности реализации SPI и максимальной для 8-биток скорости работы) с намерением собрать и использовать (более простые но и более тормозные схемы подключения SD я уже успешно использую), но застрял на этапе макетирования (МГТФ-ить усидчивости не хватает), а моделировать в Протеусе я не умею. Но на первый взгляд, должно работать.
Память более 4 Мб на ру5 не сделать. И медленная она. Надо не более 50 ns для Z80 на 20 MHz для статики без WAITов. Большие объемы только у SDRAM. Сам не хочу, но если потребуются большие объемы, то придется на SDRAM. Почему никто не говорит какой объем для базового модуля RAM ?
А какую минимальную конфигурацию ? Какие взять базовые характеристики модулей ? У меня есть плата с 10 слотами SL-98 для макетирования и макетки к ней. Потом моджно будет поменять разхем. А пока использовать то, что есть. Некоторые микросхемы для макетов еще надо купить. КЭШ, ИР24, ИР32. Часть деталей есть, заказал генераторы 25.175 для VGA 640x480 60 Hz. Постепенно все собирается как из мозаики. Планирую заказать печатные платы VGA VIDEODAC.
Поправьте, если я ошибусь. Про MSX2 почитал. И вот, какое у меня сложилось мнение. В MSX было 128К RAM и упрощенный маппер. В MSX2 памяти 64К, но добавили маппер. Маппер странный и не очень удобный. Слот в MSX2 - это всего лишь комбинация типа памяти в четырех окнах по 16К. В слоте 1 уровня комбинация 00 - это ПЗУ BASIC+ BIOS. Комбинация 11 - это переход к слоту второго уровня. 01 и 10 - картриджи и другие внешние устройства.
2 уровень - 00 = ПЗУ, 11 - ОЗУ до 4 Мб c включение произвольной страницы в любое окно. При этом для всех четырех байтов в ячейке с адресом FFFF !!! Я не понимаю, зачем такие сложности. Я делаю тоже произвольное включение, тоже в 4 окна, тоже по 16 К, тоже до 4Mб. Но я это упрощаю и делаю более удобным. Убрал выбор слота второго уровня из ячейки с адресом FFFF. Убрал вообще слоты. Убрал ПЗУ на плате, улучшил выбор страницы в окне. Стало намного проще. Кроме этого, вместо слотов двух уровней в моем маппере возможность в любом окне выбрать любой блок памяти. При этом можно устанавливать в физические слоты блоки RAM и ROM. Каждый блок размером до 4 Мбайт.
Организация памяти не совсем удобная и ограничена размерами RAM и ROM. Не целесообразно копировать полностью маппер MSX2, так потребуется копировать все ROM. Мне подсказали, что у MSX2 хороший маппер. Я изучил, убрал лишнее и усовершенствовал. Получился универсальный маппер без ограничений.Цитата:
Что если абстрагироваться от v9958 и рассмотреть такой себе msx без видеоконтроллера, чем не устраивает?
Мне посоветовали зарезервироваь адреса устройств ввод с адресами 00-3F для Z180. Я посчитал это разумным, изучил Z180 и выбрал Z8S18020 для макетирования на будущее.
Мне сказали, что в MSX2 есть огнаничение по порта из-за однобайтовой адресации. Я усовершенствовал. Сделал возможным зарезервировать адреса для Z180, часть адресов для будущего расширени зарезервировал за шеснандцатибитными портами, а большую часть оставил под однобайтными портами для упрощения написания программ. А вы справшиваете, какие недостатки у MSX2 и что спланировал я.
Чтобы было ПО надо адаптировать CP/M для этого компьютера, портировать игры ZX Spectrum с одновременным ускорением устранением клешинга и договориться с автором SYMBOS для адаптации под новый ретро-компьютер. Кроме этого я старался спроектировать компьютер так, чтобы программистам было удобно писать новые программы для компьютера "CHELYABINSK".
Я предлагаю продумать подключение микросхемы MP3+Gentral Midi в качестве одного из модулей.
Да говори. Цель - на основе опыта нескольких делсятилетий сделать хороший ретро-компьютер с большими возможностями. Устранить недостатки существующих компьютеров.Цитата:
Не хочется – цель топик кастера – огласить. Мне понятно (личное мнение).
Подготовленные для макетирования материалы:
https://www.radikal.kz/images/2018/0...NSK-001.md.jpg
Сводка портов компьютера "CHELYABINSK"
Распределение портов:
00-3F - внутренние порты Z8S180 (64 порта). Не использовать для портов компьютера.
40-4F - 16 битные порты (4096 портов).
50-FF - 8 битные порты (176 портов).
Порты F4-FF желательно зарезервировать для конфигурации "Ориона-128".
Для упрощения конверсии игр с ZX Spectrum можно оставить такие же адреса AY(FD) , клавиатуры (FE) и BEEPERa (FE), KEMPSTON JOYSTICK и MOUSE (DF).
Однобайтные порты очень удобно использовать. Не надо загружать BC. Можно использовать эти регистры для более полезных вещей и ускорения работы подпрограммы. Например, чтобы установить текущий атрибут можно использовать команды:
LD A,(BC) ; загрузка атрибута из области данных
OUT (ATTR),A ; запись в порт атрибута
А для включения некоторых часто используемых режимов просто:
OUT (MODE3),A ; без загрузки A
Порты ввода:
FE - клавиатура как у ZX Spectrum. старший байт указывает номер ряда.
FF - чтение состояния 256 портов вывода с восьмибитной адресацией. старший байт указывает номер восьмибитного порта.
Порты вывода:
DE - управление скоростью Z80
DF - Kempston joystick and mouse
E0 - младший байт номера режима экрана
E1 - старший байт номера режима экрана
E2 - номер графического экрана
E3 - номер символьного экрана
E4 - номер шрифта
E5 - PAPER
E6 - INK
E7 - ATTR
F0 - номер страницы памяти в окне 0
F1 - номер страницы памяти в окне 1
F2 - номер страницы памяти в окне 2
F3 - номер страницы памяти в окне 3
F4 - номер устройства в окне 0
F5 - номер устройства в окне 1
F6 - номер устройства в окне 2
F7 - номер устройства в окне 3
F8 - смещение слоя по-горизонтали младший байт DXL
F9 - смещение слоя по-горизонтали старший байт DXH
FA - смещение слоя по-вертикали DY
FB - не использовать
FC - управление видеокартой METEOR (0 - запись в память видеокарты разрешена, 1 - запись запрещена)
FD - AY
FE - BEEPER
FF - не использовать
серьезно? а какие порты использует ZX? афигенная афигешная афигея, уж прости честный троллинг.Цитата:
Для упрощения конверсии игр с ZX Spectrum можно оставить такие же адреса AY(FD) , клавиатуры (FE) и BEEPERa (FE), KEMPSTON JOYSTICK и MOUSE (DF)
ага
ага как будто это важно на частоте 14MГц минимум и SRAM.Цитата:
Однобайтные порты очень удобно использовать. Не надо загружать BC.
В итоге и не MSX, и не ZX, еще хочу посмотреть сколько и чего ты адаптируешь и особенно на использование 32МB памяти, да даже 4.
Хочу просто напомнить, что единственная платформа, которая "выжимает все соки из железа" и имеет поддержку/SDK, благодаря разработчикам -это TS-CONF, хочешь сказать, что осилишь?
У кемпстон джойстик два адреса 1F и DF. Так как в новом компьютере порты 00-3F зарезервированы под Z180, остается только один DF.
Скорость увеличивают не для того, чтобы ее потом зря тратить. Подпрограммы рисования должны быть максимально быстрые. Поэтому будут использоваться однобайтовые порты. Тебе жалко чтоли ? Их 176. Зачем тебе двухбайтовые ?
Наверно базовый модуль RAM можно сделать 4 Мбайта, как в ZX-EVO.
Я не обладаю такими навыками как TS-LABS, но это не мешает мне разрабатывать такой компьютер, какой хочу. Таких людей на форуме много. Каждый делает то, что хочет.
Наиболее быстрая текстообработка получается с текстовым адаптером. Сравните скорость в КОРВЕТЕ, где при ролике глаз ничего не успевает заметить и ролик в СПЕЦИАЛИСТЕ, где можно заснуть во время ролика. И для качественной текстообработки нужна не только скорость вывода и ролика, но и качество фонта.Цитата:
Сообщение от zst
Минимально приемлемый фонт - с матрицей 7*10, но лучше 8*12. Иметь 80 символов в строке совершенно незачем. При 80-ти символах символы мелкие, зрение портится. Для набора просто текстов достаточно 64 символа в строке. Но т.к сейчас писать просто тексты на 8-ми разрядке не требуется, а удобно лишь иметь возможность писать или редактировать исходники программ, то достаточно текстового режима 53 символа в 21-ой строке.
На СПЕЦИАЛИСТЕ и ОРИОНЕ вообще нет нормальной текстообработки, дикая тормознутость и убогий фонт (а зрение и без того хреновое). Потому в начале 90-тых сделал несколько текстовых адаптеров и попробовав разные форматы экрана, в итоге пришёл к выводу, что наиболее практичный формат это 53 символа в 21-ой строке. Этого достаточно как для комментариев в ассемблерных исходниках, так и для программ на ЯВУ.
При этом удобный кварц в 9 МГЦ, красивый и главное разборчивый фонт 8*12 не портящий зрение, в адресном пространстве на экран тратится менее 2 кб и годится самое тормозное ОЗУ 565 РУ2 (а для 64 символов в строке скорости 565 РУ2 уже не хватает, оттого в КОРВЕТЕ и пришлось ставить ОЗУ 132 РУ4, что скоростной аналог 565 РУ2).
Текстовый адаптер не обязан быть синхронным с тактом CPU. Это я к тому, что нет необходимости встраивать текстовый адаптер в сам компьютер. Это приведёт к громоздкости и в итоге до реала дело так и не дойдёт. Пусть видеочасть будет определяться видео режимом ZX-Spectrum.
Достаточно предусмотреть одну карту памяти, где формируется выборка на желаемую экр.область в 2 кб. На слот надо вывести две цепи - /CS 2 кб и /MEMDI (Memory disable), отключающий все устройства на основной плате. Тогда при установке платы текстового адаптера в слот, цепи /CS 2 кб и /MEMDI автоматически замыкаются и текстовая экранная память оказывается в адресном пространстве.
У меня к этому личный корыстный интерес, т.к если выпустить печатные платы текстового адаптера, то его захотят поиметь пользователи тормозных рэтро-компьютеров не имеющих нормальной текстообработки (а это все компьютеры кроме КОРВЕТА и ЮТ88). Сейчас я пользуюсь тормозным СПЕЦИАЛИСТОМ, отчего при ролике экрана на нём постоянно засыпаю и падаю со стула. Потому и стал снова думать о полезности текстового адаптера.