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 ; ; установка/снятие резидента ; MEMOO EQU $-1 DEFW INIT DEFW 0 LD A,#FF MEMO1 EQU $ LD HL,CLOCKF LD C,#1E RST #10 RET INIT CP #FE LD A,#00 JR Z,__DEL LD A,#FF MEMO2 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 CLOCKЧ ; вывели часы POP AF ; тут "C" попадает в "F" - теперь bitO в CarryF LD LX,A ; сохраним минуты LD L," " ; пробел (для мигания точек) JR C,CLOCK7 ; определение не/чётных сек. для мигания LD L,":" CLOCK7 CALL CLOCK12 ; выводим пробел или точки LD A,LX ; восстановили минуты... ; ; вывод цифр ; CLOCKЧ LD B,#2F ;"0"-1 CLOCKS INC B SUB 10 JR NC,CLOCKS ADD A,#3A ;"0"+10 EX AF,AF' LD L,B CLOCKB CALL CLOCK12 EX AF,AF' ; ; вычисление адреса фонта в ROM-48, конечно можно печатать ; и через ядро isdos'а, но так гораздо быстрее... ; CLOCKб 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 CLOCKЗ LD A,(HL) LD (DE),A INC L INC D DJNZ CLOCKЗ ; для экономии места пожертвуем ~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 MEMOO,MEMO1,MEMO2 Ну а ниже приводится файл, в котором зазипованы готовые часы под ISDOS и исходник для ALASM'a. Сначала файл надо выгрузить, затем разUUEчить, потом pacHOBETutb, и наконец распаковать в ZXUN- ZIP'е. ──────────────────────────линия отреза────────────────────────── section 1 of 1 of file zsclock1.$z < iS-UUE 1.00 by MK > begin 644 zsclock1.$z MбE-C;&]C:S%:25`5"``);`=:ЧV-L+FAL<$,``,P!`BT!!ZNSY`,`&X($$8Q# M+GT:->G2K<6W7E:Y'GOX=>#?.V:-,BIЗ:L.!ЧEZ]7NOбJ>VG#KVKSRX:=^Z MF8<+!B^Z-/CPJ-:/Z1(FS(8-)X<7#[HU:-&K48L&[SYN.I%OЗUHUN_%LP>I M&K1JD*Y#KS_?VCб+LSV:]8@4;=&;1XUJ/2`&ORX=бVHBKK]2;M.K</H@6K% M.I;MV[%K8RC?4##XЧD&'].M%91720:W@OL[?[/;RK;('.7[TZO$@VZNBSNY= M-K14G7C($95S07FIH+2JV[1#WRR]W!/S86W*;*U!M@1IЗEU%!#бYHP^]&E1= MB^!>I8I@`,B&*(>F!%G4*IOX_=OHEЗ%?M&7;L&G9Z@2I%Z_;LG2!IGЧ;MFU9 M%TJC9NF^H;Z&FI:9Z:+VG:Q#$W`."&`UIЗ8VPN<F5SOU##D@`!D@"+A>#Z M``!=PP``/OA;L,.'M?)_OX^`"@"/OA;L,.'M?)```^`ЗTR;/`/C(R;,A M&U@1'%@!!``ZS<-W[;`6(,^)Q7L1&T#-H/QWбN(#@"+CK-L/=?08O!-8* M,/O&.@AHS;/#"&F`"DI*7S&/&<&"$I^$BPЧ$/H<4<E5;D-O`4W__Y[#<<-W MPY+#KL.#PT_#SL-EPUIЗ8VQO8VLQSP``N@`!=0`O%@4?`P"UЗAW+UBS:MG!Y M#O4)LH7PKTN#+SVZ-бCQ[$&*!IET*M&GЧUE(<]2L2[=V+<J:BM>W8]?&J->& M"OZYW+)S_@$(]?9/-2M/)/<=?CRKDFW1JT:).G5[T$&91IT:M.3883>)DVO MX81>M.OSH/X]O'CPKEб7RGM:ЧV-L;V-K,4@``#("8D%!7@I.`,`MЧX=R_;M MV+ЧQD8`#^?_!GL@G&#_?[O'N_=O#SN8-5N!.H#M!7@8=?CW(UZY)@TPZM271 MIU-!DE[]'@ЗбMYPZ]*EЧJ$F?.@6)ЧKSKU>QSNP89ЗOBIЗ:L.3<D2I.C2X,.C M(C^F2Y@P=?R/OGJO1:U"@?^I42K;*=^R:=BT;'6"U(O7;5FZO-.Z#=NVK,NQ M;]M@3_4-]37B/6?-ES1MXORW]QGV)QJб;IGJ8^;,B6/I;[J4"=-ES)HZ:<+0 M'H9V5]&L79MN=?<B28M&/1JT>/8BSG*0[56#!]UZ7-JS+MWZ'5&#)@V^='C0 M)-Y-VZO7KQHT:Y!!ВЧК]&COFBV-:)DA$R!Q*UOбKPNЧ!B++@693M'>H?'UX< MT[L65?_+<$TO'GSI$$U_&CбIK*O.^X5-BS9!GWE`DBUC&L2<U&E2J@<QC]!7 MA-0%UF<YTJC1!-:X]L70"^>Y5"FЗX<N-;+M+:/6=2@[0#%BЗUM!?>*74#[ M1>JI_A56%XB?Y=>O1(LR.1I:QM$.P9HQ#=@#,='E->@Z_/GXXL^CSMS$;XFJ M#CNE>@+(L?ES9KAEZ'554O;HC!SSX/1ЧDI-ЗV'9$+T$??%/>O?CP[T$X/@'[ MHV[SYD&?:OR>OKЗJ:U)C]MZ!G=З5VF,93J&GSG!TP'KЗWCF.+9'@4T=WOЧ) MT@YX/@*1^4R9`<*NV'M(UЗF=XQP&ZT.D$4X.BP>/.OOXH)[ZC)*>ZASX-J MH]:H`]5G'5D39TPAЧ-OF,W?X5^R+=CU*KT^W!@7DT!SЧKD'T*?K#T?,A]!;$ M>R)ENB(.30^>)<T:0]$QR)*G2)@IR"V_TGMU:5-22J@8>W&RS:NZЗЗOTЗб,N M]ROH?0]%ESN::@GIGP;]&KPKHA:55%ETU"PA1"]Z?ЗGбJ$@6]Q)GAU$,!?R M[*RBV#.ZR+/ETЗ$XTR>[7*=/<CбI8Q?CбKK9Y1]/+J2[<ZL():<]"#Z&I7 MQ';$9<9@-SB7MKHPK!%'9LFXT/"#'1..<'CCP,_N^#*KZ(*71^+,$1U57!15 MSA81O47$X*ZVV+B<:CEJSECI"[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,бFY8NC&D?&E:NW+Q&P#+8NSY>X(#.=[J>/@OZ162; MGЗVЧV-%J?OGWH@MLOЧ<ET])LUIKб5+QKF[0@^-TBOO)4=_$5O>JHG%05V" MT(=7@#77@;бKR*>43,>4*4"*A%`6-XGJRH:V'>D.151V;!8@--FЧMJ!%L[B_ M`1,PSG9PSE?8$C7_.]9W(_6+A"GB,5=`SбN:#OB^(.P`D?."O$:7%UTЗHNL` MCJE!"Z!+80_38'8!JOQT`V;I^P?B7(A8F#85]CO@EDX_W)JI1Z)!DG<ER'9% ME_JT:4N:.`@M.$2DSRбB/2)E^^P1789^;/!2L^P@W]UW?=JY9-_.`:S<&[?O M0#76#]2<%.6(X'GITBY=NA@UW$946K^!4@ЗSQYQ`WJE&XLKADJЗSD<@97I( ML];-,T`)FS@S<HX7H_MOЧT"2CMQ,],XB@WQCW<V/4-H#15M5.бJOбEZPQZ? MYB)M2@BF^++?EG.<40G!)$<,OIN"N)%CTNLO?K!]6$<67;-.=PO[YU`DZWR M[M.7'NWJ*.K5)3&&YXF9"F.JUM9ЧIF*9IJ`T#=QJ^F41SCбG.-+R^,7+,91- MJ`3O<WZ;T]FSMY_!J@1H;!1G`-F@ЧIбC>':0/4$:91IT*I*ONU"I28BI7(< M%CT%Q'83F"*.-&KSH`R?DFSS"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 ──────────────────────────линия отреза──────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября