А какието идеи на счет шрифто-кеша?
А какието идеи на счет шрифто-кеша?
Администратор сетевого сообщества nedoPC.org
Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)
Чтобы не вэйтилось это надо всю схему перелопачивать - и что много Пентагонов имеют это кэш?
Администратор сетевого сообщества nedoPC.org
Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)
Зато АТМ будет ещё ближе к бейзконфе зхэвы
P.S. Сменный шрифт лично мне очень нужен
Администратор сетевого сообщества nedoPC.org
Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)
яужо тожо придумал как его за использовать
хотя мну явно не хватит количества символов...
Если речь о SRAM кеш, то он нужен для MOD проигрывателей на Covox. В нем размещается код проигрывателя которорый работает в турбо режиме на 7мгц без waitов.
Вроде есть какието демы которые тоже его используют. И еще в него удобно было загрузить STS и по magic button в него выподать.
Согласен, интересная дискуссия получается. )))
Дело в том, что увы, при включенном в нулевом адресе странице ОЗУ невозможно сэмулировать ПЗУ и, например, заставить перейти в TR-DOS (включить теневые порты и переключиться с одной страницы ПЗУ на другую - уж не помню без схемы перед глазами - просто путем увеличения на 1 или 2 текущего номера выдаваемого на шину адреса страницы ПЗУ) через окно #3Dxx - схема переключения просто не обнаружит активный сигнал ROM и не запустится. Ну, плюс, нельзя защитить подменяемые оперативкой "типа ПЗУшные" страницы от записи. Поэтому, залив "по нулям" в такое ОЗУ копию Бейсика-48, после попытки так с ним работать, столкнетесь с порчей прошивки - я как-то на форуме дискутировал - там есть в бейсике косяки в виде записи в ПЗУ, котоыре в случае работы из ОЗУ портят код.
Да, и вэйты тоже. Кстати, из-за этого при доработке контроллера флопа до работы с HD_дискетами, драйвер для программирования ВГ93 должен расплагаться ИСКЛЮЧИТЕЛЬНО в ПЗУ. Ибо работа с турбированным контроллером возможна только в турборежиме, в скорости работы в ОЗУ при вэйтах не хватает. А в ПЗУ - пожалуйста. Поэтому, например, в ОС TASiS обычный драйвер работы в флопом располагается полностью в ОЗУ, без привязки к TR-DOS - он просто включает теневые порты и программирует ВГшку своими собственными подпрограммами (поэтому TASiS и не маунтится в ZX-Evolution). А вот драйвер для HD-дискет вынужденно "ныряет" в процедуры чтения/записи секторов в TR-DOS для безвэйтовой работы с ВГ...
Кстати, раньше, в старые моделях ATM-turbo 2 (без плюсика) версий v6.xx как раз была схема полноценной эмуляции ПЗУ в ОЗУ, в т.ч. с защитой записи в него. Делалось это через порты диспетчера памяти #xFF7. Сейчас этот порт имеет на"на борту" 6 битов, адресующих мегабайт памяти (хоть ОЗУ, хоть ПЗУ, даже если сигналов к ПЗУ больше 128Кб не подведено, теоретически "проводочками" в АТМ2+ можно мегабайт ПЗУ подрубить - программно все для этого есть, и в АТМ3 как раз это сделано), 1 бит - для признака совмещения с сигналами выборки 128Кб с порта #7FFD, ну а один последний бит - сигнал ROM - это выбор, в зависимости от значения адресации либо ОЗУ, либо ПЗУ. В версиях плат 6.хх через диспетчер можно было адресовать только 512Кб, т.е. использовались только 5 бит для адресации страниц. а "лишний" бит использовался для РАЗДЕЛЬНЫХ сигналов ROM и RAM, инвертированных относительно друг друга так, что установка или сброс ОБОИХ сигналов ОДНОВРЕМЕННО выбирало или ОЗУ или ПЗУ, а вот установка сигналов ВРАЗНОБОЙ (в какой-то одной из двух комбинаций - надо смотреть по схеме) включал ОЗУ в режиме ЭМУЛЯЦИИ ПЗУ - т.е. с "обманом" сигнала срабатывания перехода в TR-DOS и включением теневых портов через окно #3Dxx с одновременной защитой записи в эти страницы во включенных в указанных четвертях адресов. Это импользовалост МИкроАРТом как вариант удешевления в начале 90-х своих компьютеров - типа 64Кб ПЗУ 27с512 или уж тем более 128Кб ПЗУ 27с1000, мол, жутко редкие и дорогие, и если у вас денег не хватает, можно купить вариант с 2Кб ПЗУ, где стоит монитор-загрузчик с дискеты (фирменная дискета с прошивками прилагалась), который при старте компа грузил прошивку со страницами ПЗУ в ОЗУ, и затем переключался в режим работу ПЗУ.
Ну а в TURBO 2+ версий v7.xx эту фишку (видимо, уже в связи с удешевлением ПЗУ) убрали, зато расширив адресацию памяти до 1024Кб. И возвращать ее именно в таком виде, считаю, нецелесообразно (да и приведет к несовместимости с современным софтом, работающим с диспетчером памяти исходя из одного бита выборки ОЗУ/ПЗУ - включая прошивку xBIOS). Хотя сама по себе идея эмуляции ПЗУ с возможностью заливки прошивок очень интересна (в т.ч. для отработки новых версий ПЗУ, оперативной замены фонтов и проч.). Я лично это мыслю в виде "платки-нашлепки", вставляемой в панельку из-под "штатного" ПЗУ ATM-turbo-2+ (да хоть АТМ3), плюс дополнительные служебные сигналы с платы для организации дешифрации порта управления (IORQ, M1 и проч подобное). А на платен будут располагаться как штатное ПЗУ (до 1024Кб) так и SRAM (тоже до 1024Кб) и дешифратор порта, задачей которого будет обеспечение включения/отключения защиты записи в SRAM и переключение выборки при обращении от процессора к ПЗУ - то ли отдать управление именно ПЗУ, то ли SRAM....
Кстати, копал немного эту тему - если я все правильно понял, для безвэйтовости не надо перелопачивать аж всю схему. Если я прав (но тут нужен сторонний незамыленный взгляд), то даже в ATM-turbo 2+ (не говоря уже об АТМ3) цена вопроса пару корпусов логики и несколько перерезанных и перепаянных дорожек. Но чтобы изложить идею, позже, как дойдут руки, изложу в отдельном посте.
Если КЭШ в MOD-проигрывателях используется только ради безвэйтового турбо, тогда да, ничем не поможешь. А вот если ради дополнительного пространства для кода, тогда не проще ли просто влезть в код этого проигрывателя и подменить включение КЭШа на включение ОЗУ по нулевым адресам через АТМовский диспетчер памяти?
P.S. И да, MAGIC при наличие ОЗУ по нулевым адресам также не сработает, по той же изложенной выше причине, почему не получится сэмулировать там работу TR-DOS.
Ну, для перезаливаемого шрифта (и это замечательно!) и не требоуется МНОГО софта! Достаточно одной-двух утилиток в ОС TASiS или CP/M, которые заливают любой файл шрифта юзера, и все.
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
как по мне
цеплять sram + еще 5 корпусов на какойто перезаливаемый шрифт это расточительство (когда и так деталей огого)
тогда бы уже добавить еще немного (если конечно придумается вариант чтоб не перелапачивать все схему)
sram пожирнее и получить дополнительно безвайтовый кеш
ПЗУ-шка при наличии sram-а там просто 300 лет не нужна
просто будет занимать лишние место
вполне можно заполнить sram при старте компа
в придачу в атм3 места в пзу-шке навалом
вполне можно выделить страницу на инициализацию
(но при этом нужно как то обеспечить старт с этой страницы
так понимаю заменять 0-вую без последствий нельзя
тк ее может выбирать софтварь
нужно по ресету как то запускатьсо с другой страницы
которая заинициализирует шрифт и можот потом еще что то в вслед версиях)
перезаливаемый шрифт это конечно хорошо
но зачем в нагрузку тулить рф2 и дополнительную логику на переключение?
что бы было?
Последний раз редактировалось NEO SPECTRUMAN; 14.06.2019 в 19:49.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)