Работа над ошибками
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
Other articles: