Proton
#44
31 июля 1998 |
![]() |
Кодинг - Часы для ISDOS'а под SMUC...
╔══════════════════════════════════════════════════════════════╗ ║ Кодинг. ║ ╙──────────────────────────────────────────────────────────────╜ (C) EVP-SOFT Всем привет. Написал вот часы для ISDOS'а под SMUC..., а как только поставлю себе на GRM м/с ВИ1, то сделаю и под нее... ; ; Часы под IS-DOS для ZS-SCORPION (только со SMUC), версия 1.00 ; (C) EVP-SOFT, E-Mail: zxnet@iname.com To: 500:95/468 ; ; Date: 1998.07.20.15:40 ; ; Часы можно "двигать" по экрану, меняя адреса ; по меткам ADR_A1, ADR_A2 и ADR_P ; ; ; ORG 50000,0 ; ; установка/снятие резидента ; MEM00 EQU $-1 DEFW INIT DEFW 0 LD A,#FF MEM01 EQU $ LD HL,CLOCKF LD C,#1E RST #10 RET INIT CP #FE LD A,#00 JR Z,__DEL LD A,#FF MEM02 EQU $ __DEL LD HL,CLOCKF LD C,#1E RST #10 RET DEFW 0 ; ; счётчик 50-и INT'ов, что-бы меньше тормозить, часы ; читаются только один раз в секунду ; CLOCKF LD A,1 CLOCK1 EQU $-1 DEC A CLOCK8 LD (CLOCK1),A RET NZ LD A,#32 ; #32=50 CLOCK9 LD (CLOCK1),A ; ; установка атрибутов циферблата ; ADR_A1 LD HL,#581B ; адрес атрибутов первого знакоместа ADR_A2 LD DE,#581C ; DE=HL+1 LD BC,4 CLOCK11 LD A,(CLOCK10 ) ; там лежит цвет для UniColor'а LD (HL),A LDIR ; ; запрос времени, ; выход C - сек ; B - мин ; E - час ; L - день недели ; LD D,#20 ; а если было бы #21 - то вых. ЧИС,МЕС,ГОД RST 8 ; сам запрос DEFB #89 ; ; вывод времени ; PUSH BC ; сохраним мин/сек LD A,E ; часы для печати ADR_P LD DE,#401B ; адрес верхней строки первого знакоместа CLOCKA CALL CLOCK4 ; вывели часы POP AF ; тут "C" попадает в "F" - теперь bit0 в CarryF LD LX,A ; сохраним минуты LD L," " ; пробел (для мигания точек) JR C,CLOCK7 ; определение не/чётных сек. для мигания LD L,":" CLOCK7 CALL CLOCK12 ; выводим пробел или точки LD A,LX ; восстановили минуты... ; ; вывод цифр ; CLOCK4 LD B,#2F ;"0"-1 CLOCK5 INC B SUB 10 JR NC,CLOCK5 ADD A,#3A ;"0"+10 EX AF,AF' LD L,B CLOCKB CALL CLOCK12 EX AF,AF' ; ; вычисление адреса фонта в ROM-48, конечно можно печатать ; и через ядро isdos'а, но так гораздо быстрее... ; CLOCK6 LD L,A CLOCK12 LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL LD A,H ADD A,#3C LD H,A ; ; вывод символа на экран ; LD B,8 LD C,D CLOCK3 LD A,(HL) LD (DE),A INC L INC D DJNZ CLOCK3 ; для экономии места пожертвуем ~110 тактов INC E ; для следующего вывода LD D,C RET ; ; настройка цвета для UniColor'а ; DEFB "UnCo" ; метка DEFB 1 ; количество цветов CLOCK10 DEFB #F8 ; сам цвет (#F8 = FLASH1,BRIGHT1,...) ; ; таблица адресов настройки резидента ; DEFW #FFFF DEFW CLOCK7,CLOCK8,CLOCK9,CLOCKA,CLOCKB,CLOCK11 DEFW MEM00,MEM01,MEM02 Ну а ниже приводится файл, в котором зазипованы готовые часы под ISDOS и исходник для ALASM'a. Сначала файл надо выгрузить, затем разUUEчить, потом расHOBETить, и наконец распаковать в ZXUN- ZIP'е. ──────────────────────────линия отреза────────────────────────── section 1 of 1 of file zsclock1.$z < iS-UUE 1.00 by MK > begin 644 zsclock1.$z M6E-C;&]C:S%:25`5"``);`=:4V-L+FAL<$,``,P!`BT!!ZN5Y`,`&X($$8Q# M+GT:->G2K<6W7E:Y'G0X=>#?.V:-,BI3:L.!4EZ]7N06J>VG#KVK5RX:=^Z MF8<+!B^Z-/CPJ-:/Z1(FS(8-)X<7#[HU:-&K48L&[5YN.I%03UHUN_%LP>I M&K1JD*Y#KS_?VC6+L5V:]8@4;=&;1XUJ/2`&ORX=6VHBKK]2;M.K</H@6K% M.I;MV[%K8RC?4##X4D&'].M%91720:W@OL[?[/;RK;('.7[TZO$@VZNBSNY= M-K14G7C($95S07FIH+2JV[1#WRR]W!/S86W*;*U!M@1I3EU%!#6YHP^]&E1= MB^!>I8I@`,B&*(>F!%G4*I0X_=0HE3%?M&7;L&G9Z@2I%Z_;LG2!IG4;MFU9 M%TJC9NF^H;Z&FI:9Z:+VG:Q#$W`."&`UI38VPN<F5S0U##D@`!D@"+A>#Z M``!=PP``/OA;L,.'M?)_OX^`"@"/OA;L,.'M?)```^`3TR;/`/C(R;,A M&U@1'%@!!``ZS<-W[;`6(,^)Q7L1&T#-H/QW6N(#@"+CK-L/=?08O!-8* M,/O&.@AHS;/#"&F`"DI*7S&/&<&"$I^$BP4$/H<4<E5;D-O`4W__Y[#<<-W MPY+#KL.#PT_#5L-EPUI38VQO8VLQ5P``N@`!=0`O%@4?`P"U3AW+UB5:MG!Y M#O4)LH7PKTN#+SVZ-6CQ[$&*!IET*M&G4UE(<]2L2[=V+<J:BM>W8]?&J->& M"OZYW+)S_@$(]?9/-2M/)/<=?CRKDFW1JT:).G5[T$&91IT:M.3883>)DV0 MX81>M.O5H/X]O'CPKE67RGM:4V-L;V-K,4@``#("8D%!7@I.`,`M4X=R_;M MV+4QD8`#^?_!GL@G&#_?[O'N_=O#SN8-5N!.H#M!7@8=?CW(UZY)@TPZM271 MIU-!DE[]'@36MYPZ]*E4J$F?.@6)4KSKU>Q5NP893OBI3:L.3<D2I.C2X,.C M(C^F2Y@P=?R/0GJ01:U"@?^I42K;*=^R:=BT;'6"U(O7;5FZ0-.Z#=NVK,NQ M;]M@3_4-]37B/6?-ES1MXORW]QGV)QJ6;IGJ8^;,B6/I;[J4"=-ES)HZ:<+0 M'H9V5]&L79MN=?<B28M&/1JT>/8BSG*0[56#!]UZ7-JS+MWZ'5&#)@V^='C0 M)-Y-VZ07KQHT:Y!!B4K]&C0FBV-:)DA$R!Q*U06KPN4!B++@693M'>H?'UX< MT[L65?_+<$TO'G5I$$U_&C6IK*O.^X5-BS9!GWE`DBUC&L2<U&E2J@<QC]!7 MA-0%UF<YTJC1!-:X]L70"^>Y5"F3X<N-;+M+:/6=2@[0#%B3UM!?>*74#[ M1>JI_A56%XB?Y=>O1(LR.1I:QM$.P9HQ#=@#,='E->@Z_/GXXL^C5M5$;XFJ M#CNE>@+(L?ES9KAEZ'554O;HC!SSX/14DI-3V'9$+T$??%/>O?CP[T$X/@'[ MHV[5YD&?:OR>OK3J:U)C]MZ!G=35VF,93J&GSG!TP'K3WCF.+9'@4T=WO4) MT@YX/@*1^4R9`<*NV'M(U3F=XQP&ZT.D$4X.BP>/.O0XH)[ZC)*>ZA5X-J MH]:H`]5G'5D39TPA4-OF,W?X5^R+=CU*KT^W!@7DT!S4KD'T*?K#T?,A]!;$ M>R)ENB(.30^>)<T:0]$QR)*G2)@IR"V_TGMU:5-22J@8>W&RS:NZ33OT36,N M]R0H?0]%ESN::@GIGP;]&KPKHA:55%ETU"PA1"]Z?3G6J$@6]Q)GAU$,!?R M[*RBV#.ZR+/ET3$XTR>[7*=/<C6I8Q?C6KK9Y1]/+J2[<ZL():<]"#Z&I7 MQ';$9<9@-SB7MKHPK!%'9LFXT/"#'1..<'CCP,_N^#*KZ(*71^+,$1U57!15 M5A81O47$X*ZVV+B<:CEJ5ECI"[8<@Y%4'K9)GM"913'E:OL<G6(R'BS/,*= MNI=SZU1'%X1=JT;E1Q`Y2)$'/63,:08PBG'9ON8T:P<<ET;)0[[Q$-PPN*)Z M4<PU^D41%?UE)/FY,6FY8NC&D?&E:NW+Q&P#+8N5Y>X(#.=[J>/@OZ162; MG3V4V-%J?0GWH@MLO4<ET])LUIK65+QKF[0@^-TB0O)4=_$5O>JHG%05V" MT(=7@#77@;6KR*>43,>4*4"*A%`6-XGJRH:V'>D.151V;!8@--F4MJ!%L[B_ M`1,PSG9PSE?8$C7_.]9W(_6+A"GB,5=`S6N:#OB^(.P`D?."O$:7%UT3HNL` MCJE!"Z!+80_38'8!JOQT`V;I^P?B7(A8F#85]CO@EDX_W)JI1Z)!DG<ER'9% ME_JT:4N:.`@M.$2DSR6B/2)E^^P1789^;/!2L^P@W]UW?=JY9-_.`:S<&[?O M0#76#]2<%.6(X'GITBY=NA@UW$946K^!4@3SQYQ`WJE&XLKADJ3SD<@97I( ML];-,T`)FS@S<HX7H_M04T"2CMQ,],XB@WQCW<V/4-H#15M5.6JO6EZPQZ? MYB)M2@BF^++?EG.<40G!)$<,OIN"N)%CTNL0?K!]6$<67;-.=PO[YU`DZWR M[M.7'NWJ*.K5)3&&YXF9"F.JUM94IF*9IJ`T#=QJ^F41SC6G.-+R^,7+,91- MJ`3O<WZ;T]FSMY_!J@1H;!1G`-F@4I6C>':0/4$:91IT*I*0NU"I28BI7(< M%CT%Q'83F"*.-&KSH`R?DF5S"D>%<6$.KM7@F>):78HW:-Q&-,YC.D@QK10 M%H!$3L3$<#@+F<N*62P<(``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` :```````````````````````````````````` ` end sum -r/size 31781/3228 section (from "begin" to "end") sum -r/size 58472/2321 entire input file ──────────────────────────линия отреза──────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 9 декабря