ZX Light #0B
03 ноября 1999 |
|
ERASERAREAsoftSiberian Aliance "На свете нет ничего важнее мелочей." (с) Ш. Холмс Вот поэтому и появился в нашей газетке этот небольшой раздельчик. Здесь будут печататься различные доработки и переделки программ, позволяющие сделать работу с ни- ми немного удобнее. И конечно будут печа- таться способы устранения небольших глюч- ков, оставленных авторами специально для нас:). Сегодня в этом разделе программа, кото- рую знают почти все (или вообще все) коде- ры - ALASM 4. 1 . Это самый удобный асм для машин с памятью выше 128 килобайт, но y него есть и некоторые недостатки, как, впрочем, и в любой другой проге. Например в версии с 42 символами в строке скроллинг текста значительно медленнее чем в 64-сим- вольной версии. Это благодаря тому, что в 42-символьной версии используется команда LDIR в п/п скроллинга. И если заменить LDIR на цепочку LDI, то можно ускорить скроллер примерно на 30 тысяч тактов. И, конечно, можно ускорить п/п печати (но это как-нибудь в другой раз). Для ускорения надо проделать следующие изменения в программе: 1. С адреса #BFOO занести последова- тельность: LDI ; 32 штуки RET 2. С адреса #87D6 ввести последователь- ность: LD С, D LD (HL), 0 CALL #BFOO Этот участок программы очищает одну строку экрана. 3. С адресов #875A и #8785 ввести такие строчки: LD С, #20 CALL #BFOO А этот участок отвечает за перенос ли- нии на одно знакоместо вверх и вниз соот- ветственно. Это были адреса для ALASM`а со шриф- том 6x8. Для версии с символами 6x7 пиксе- лов изменения точно такие же, только адре- са другие: 1. #BFOO 2. #87EF 3. #8766 и #8791 Изменения вносятся точно такие же. Еще один недостаток этого асма (с сим- вoлами 6x7 и 6x8) - запакованный символь- ный набор. И если вам надоело на него смотреть, а других шрифтов нету то советую заглянуть в приложение к этому номеру. Там вы найдете около десятка шрифтов, готовых к установке в ALASM 6x8. Все шрифты пере- деланы (и чуток перерисованы) мной из сим- вольных наборов, прилагавшиxся к ZX-ASM`y Кроме того, там вы найдете и программку для перевода стандартных шрифтов (2048 байт или 8 секторов) в ALASM`овский фор- мат. Прога конечно написана неказисто, но свои функции выполняет исправно. Если вы часами сидите в асме, то сле- дyющая доработка вам наверняка пригодится. Она выделяет текущую строку цветом paper, отличным от того, который установлен во всем асме. Благодаря чему вы четко видите на какой строке находится курсор. Это очень удобно при просмотре больших листин- гов. Итак, для внедрения доработки потре- буется написать небольшую программку: ORG #BFЧ1 PUSH DE ;сохраняем регистры которые могут PUSH BC ;быть покосячены PUSH AF LD HL,#5800 ;адрес в атрибутах, по которому OLD_ADR EQU $-2 ;красили строку последний раз CALL ERS_LN ;стерли выделение BALDA LD HL,(#8OBF) ;здесь координаты курсора ADD HL,HL ;рассчитываем адрес в атрибутах ADD HL,HL ADD HL,HL LD H,#1б ADD HL,HL ADD HL,HL LD (OLD_ADR),HL ;для стирания при след. вызове LD А,#4F ;цвет полосы, ставить лучше ;такой, чтобы было видно, но в ;глаза не бросалось. CALL PRINT ;печать полосы POP AF ;восстановим что сохраняли POP BC POP DE LD HL,(#C023) ;a это то, вместо чего мы запи- ;xaem вызов этой п/п RET ERS_LN LD А,(IX+б2) ;цвет заданный в сетупе PRINT LD D,H LD Е,L INC Е LD BC,#1F LD (HL),А ; JP #33C3 ;LDIR: RET в ПЗУ BASIC 48. Затем эту прогу запихать в ALASM по ад- ресу указанному в ORG и заменить три байта в теле асма по адресу: - #9F0C в версии с символами 4x8; - #9FOF в версии с символами 6x8. Для версии с символами 6x7 эта дoрабoт- ка не npokahaet, т. к. там 27 строк текста (или 26:)) при 22 атрибутных строках. Если вы сделали первую доработку ассем- блера (ускорение), то вместо JP #33С3, можно поставить JP #BFO2 - там находится 31 штука LDI. Аналогично можно поступить и в ALASM`е с символами 4x8, только адрес другой: JP #8733. * * * На мой взгляд в некоторых программах со стрелочным интерфейсом имеется один ма- ленький недостаток - не очень симпатичная стрелка. Я решил этот недостаток nonpa- вить. А посему в сегодняшнем номере, в приложении вы найдете целую кучу стрелок всевозможных форм и размеров и даже нес- колько вращающихся стрелок. Если же вам не На мой взгляд в некоторых программах со стрелочным интерфейсом имеется один ма- ленький недостаток - не очень симпатичная стрелка. Я решил этот недостаток nonpa- вить. А посему в сегодняшнем номере, в приложении вы найдете целую кучу стрелок всевозможных форм и размеров и даже нес- колько вращающихся стрелок. Если же вам не понравится ни одна из имеющихся там стре- лок, то вы можете путем несложных преобра- зoваний довести спрайты до нужной вам фор- мы. Все стрелки нарисованы мной в замеча- тельном редакторе спрайтов Sprite EDitor (SED final). Надеюсь эти стрелы кому-ни- будь понадобятся. На сегодня мелoчевки больше нет. К сле- дующему номеру еще что-нибудь найдем:).
Other articles:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 21 November