Читать 256 байт быстро можно и используя линии A0-A14. И записывая в регистр те же линии A0-A14.
Только в моем случае плюс в том, что можно использовать 155ТМ2, 155ТМ9, вместо ИР33, если не требуется большой объем.
Читать 256 байт быстро можно и используя линии A0-A14. И записывая в регистр те же линии A0-A14.
Только в моем случае плюс в том, что можно использовать 155ТМ2, 155ТМ9, вместо ИР33, если не требуется большой объем.
А вот нет... В своей программе я использую BIOS от HardWareMan'а - там и знакогенератор и свой и опрос клавиатуры (здесь не используется).[/QUOTE]
Вот тут почитай.
Аналог 374 регистра - это ИР23. У меня она и стоит. Можно использовать и с симметричными входами/выходами - К555ИР33.
Последний раз редактировалось b2m; 09.01.2013 в 11:12.
Я понимаю, что SHLD позволяет одной командуй рулить большим количеством адресных линий. Но был ряд причин, почему ROM диск был сделан именно таким, какой он есть.
1. Порт C можно управлять побитно, поэтому он наиболее удобен именно для сигналов управления.
2. ROM диск изначально рассчитывался на флэши, т.е. его можно обновлять с самого спеца.
3. Схема, если честно, не совсем моя, моя просто очередная реализация.
4. Не нравится чужое - сделай свое, лучше.
Да я не критикую. Просто подумалось, что если фиксировать старшие части адреса (а не средние), то можно было бы без регистра обойтись для маленьких объемов.
У меня сейчас только флешки 29F010. Вот думаю по одной в каждый компьютер поставить.
---------- Post added at 11:28 ---------- Previous post was at 11:26 ----------
Но ведь с точки зрения журнала, там знакогенератор должен быть. Может коммандер перенесем выше на 800h?
Последний раз редактировалось vinxru; 09.01.2013 в 12:32.
Как показала практика, мой вывод символа нормально принимает любое расположение знакогенератора. Вот визуализация рабочего кода:
В своем коде, я планировал оставить 128 байт на таблицу точек входа в разные сервисы, а следом за ними, с адреса 0080 расположить фонт. За фонтом уже собственно идут сами сервисы. И это все должно лежать в ПЗУ и работать прямо оттуда, на ходу включая-выключая ПЗУ. таким образом, системная область C000 используется как шлюз и, соответственно, в нее можно "запихать" больше расширенного сервиса, не теряя полной программной совместимости со старым софтом. Это была основная задумка. И хотя данная схема разрабатывалась для стандартного специалиста (МХ у меня появился поздно и я особо на нем не наработал человекочасы), но оно так же применимо и к МХу.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Могу перенести в любое место. Всего код занимает 5639 байт. В каком месте он будет расположен всё равно.
Поправка: не коммандер, а External Flash Disk - зашивается сразу в ПЗУ. У коммандера функций больше и работает он только в МХ. Планирую запускать с ROM-диска пользователя.
У меня ПЗУ-х нет. Есть только две на 128 Кб. Думаю как быть.
Можно поставить ПЗУ на 128 Кб, но программ туда не особо много программ влезет. Даже если архивацию добавить.
Можно поставить ATMega + SD, но надо шевелить мозгами и писать меню. Хорошо, что меню можно на Си писать.
---------- Post added at 19:21 ---------- Previous post was at 19:20 ----------
И еще один вопрос к сообществу.
Что может быть неисправно в Специалисте, что 8 микросхем памяти выдают на тесте ошибку. При этом на экране нет глюков, как при записи, так и при чтении данных. Я даже адрес видеопамяти менял на адреса 0, 4000, 8000...
Разве что повреждения в области обратного хода и я их не вижу.
Я подозреваю какой то сбой счетчиков и неполную регенерацию памяти...
Скорее - неполная регенерация памяти. Регенерацией в Специалисте занимается вывод на экран, но если из-за особенностей адресации микросхем памяти она регенерируется не полностью, получишь идеальный экран и пропадающие данные в другом месте.
---------- Post added at 02:55 ---------- Previous post was at 02:46 ----------
Полагаю, подобная проблема может случиться, если перепутать RAS/CAS. Я точно не знаю, но вроде если видео перебирает все ряды, то регенерация будет полная, а если все колонки, то только там, где были считаны ряды.
У меня две платы. Вроде бы идентичные. И одна работает, другая нет.
Я начал перепаивать микросхемы.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)