Работа над ошибками ZX-Guide #1, статья "Этюды" Сообщение от Valeron: ------------------------------------------ Прошу прощения за беспокойство, может быть, по пустяку, но на всякий случай хочу сообщить,что в ZX-Guide #1 в разделе"Этю─ ды" опубликована процедура печати 42 сим─ вола в строке,и у вас,должно быть,опечатка произошла,потому что в том варианте проце─ дура каждый второй символ накладывает на предыдущие. Проанализировав логику работы, я заменил строку LD A,2 RRCA .... на LD A,#80 RRCA .... Должно быть, вы уже исправляли эту опе─ чатку, но я просмотрел остальные выпуски этого журнала и не нашёл там упоминания этой опечатки. Кроме того, на zxdn лежит статья из этого номера и тоже с этой опе─ чаткой. Сама процедура очень изящна, я не сразу в неё врубился, мне понадобилось больше часа, но когда я понял, как она работает - меня словно громом поразило! Такого эсте─ тического кайфа от программы я еще никогда не получал! Такая маленькая и шустрая,про─ тив тех простыней, которые я исписывал и был уверен что у меня точно ничего лишнего в процедуре нету. В общем, СПАСИБО Вам огромное! ------------------------------------------ Было очень приятно увидеть такой отзыв - ведь это значит, что журнал продолжают читать спустя много лет! Действительно, в процедуре была ошибка. Журнал на сайте ис─ правил. * * * Info Guide #10, статья про аккумуляторы: Сообщение от Lvd: ------------------------------------------ В целом статья полезна. Замечания, глобальные и мелкие: 1. Автор утверждает, что при сильном токе заряда ключ в аккуме может сдохнуть из-за постоянной коммутации. Не согласен. В не─ которых импульсных сетевых источниках пи─ тания полевые ключи работают на частотах 0.1-1 МГц и не дохнут. Ключ скорее сдохнет просто от перегрева из-за токовой перегру─ зки. 2. Любой химический источник тока основан на окислительно-восстановительных реакци─ ях, которые при заряде (если он возможен для данного источника) идут в одну сторо─ ну, а при разряде - в другую. Литий-ионные батареи - не исключение.В них,правда,окис─ ление и восстановление происходят не с ли─ тием,а с другими элементами (комплексы ли─ тия с переходными металлами,которые и под─ вергаются окислительно-восстановительным реакциям на катоде и аноде), а литий же служит лишь переносчиком этих комплексов в электролите. Подробнее можно прочитать про всю эту кухню на сайтах: http://en.wikipedia.org/wiki/ Lithium_ion_battery, http://www.e-articles.info/e/a/title/ The-Lithium-Ion-Battery/, http://en.wikipedia.org/wiki/ Lithium_battery, вообще про химические источники тока (по- русски): http://www.krugosvet.ru/articles/ 106/1010640/1010640a1.htm, http://www.chemport.ru/ chemicalcurrentsources.shtml Кстати, из ссылок на википедию можно почерпнуть и полезные советы, касающиеся продления срока службы литий-ионных акку─ муляторов, в том числе и в ноутбуках. Если автор любит писать про аккумулято─ ры, то хотелось бы от него видеть статью про свинцово-кислотные,с теорией,с практи─ кой, с рассмотрением типов таких аккумуля─ торов,с разрядно-зарядными характеристика─ ми, алгоритмами заряда и т.д. ------------------------------------------ * * * Inferno Guide #5, статья про Hrum/Hrust В описании заголовка архива Hrip (оно было взято из оригинальной документации) имеется ошибка. Сообщение с описанием этой ошибки было найдено в архиве эхоконферен─ цииCODE.ZXсетиZXNetза 2003 год: http://code-zx1.zxnet-archive.ru/id/798 ------------------------------------------ В файле HRIP_DOC.WRD из комплекта пос─ тавки HRIP 1.05 содержится следующее: === cut === Архив начинается следующим заголовком: IDARCH DB "HRi" ;индентификатор IDALL DB 0 ;количество файлов в ; архиве (используется в ; Hrip'е при дополнении ; архива, чтобы не ; было больше 255 файлов) SMESH DB 0 ;см. далее (BYTE) LAST DW 0 ;см. далее (SECS) CAT DB 0 ;1 - каталог присутствует ; в архиве ;0 - каталог отсутствует Следующая формула показывает, как можно определить конец архива (в байтах от нача─ ла архива): END_ARCH=[LAST]*256-(256-[SMESH]) bytes Расположение каталога, если таков прису─ тствует, можно определить по этой формуле: START_CAT=[LAST]*256 bytes То есть каталог находится на последнем секторе после архива. Как можно понять из двух перечисленных формул - между концом архива и началом каталога есть свободное место < 256 байт. Вот здесь и проявляется "заточка" под TR-DOS. Такая простая реали─ зация сделана для того, чтобы каждый жела─ ющий мог открыть архив с каталогом (тем более что каталог почти похож на TR-DOS- овский). === cut === В действительности формула для вычисле─ нияEND_ARCH (т.е. длины архива в байтах, без учёта каталога) должна выглядеть так: END_ARCH=[LAST]*256-(256-[SMESH]) bytes, если SMESH>0; END_ARCH=[LAST]*256 bytes, если SMESH=0. Или так: END_ARCH=[LAST-1]*256+[SMESH]) bytes, если SMESH>0; END_ARCH=[LAST]*256 bytes, если SMESH=0. Без ветвления формула может быть запи─ сана так: END_ARCH=[LAST]*256- ((256-[SMESH]) mod 256) bytes. Вычисление END_ARCH на ассемблере (по─ лучаем результат вHL:A ): LD HL,(LAST) LD A,(SMESH) AND A JR Z,$+3 DEC HL ВычислениеEND_ARCH-1 может быть короче и быстрее: LD HL,(LAST) LD A,(SMESH) DEC HL DEC A С уважением, Иван Рощин. ------------------------------------------ Чтобы исключить ошибки в описании фор─ матов Hrum и Hrust 1.x (такое описание труднопроверяемо, см.Errata в Info Guide #7), сошлюсь на документацию на эти фор─ маты в комплекте поставки упаковщика mhmt. Alone Coder