1 REM Ins{nd av Kristoffer Eriksson <5357> 1986-07-09 20.57.34 ; Fil: DEMON40.ASM ; Av: Kristoffer Eriksson, "SKE" <5357>, 1986. ; ;-Ver--/-Datum----/-Sign-/-Kommentar---------------------------------- ; 1.00 / 86-07-08 / SKE / ; ; Rutinen, som l{gger sig permanent i minnet, st{ller med j{mna mellanrum ; om ABC806:ans bildsk{rm till dubbel teckenbredd. Spt.Tic: = 65525 ; R{knar 93-dels sekunder. Con.Wid: = 65364 ; Aktuell tkn/rad p} bildsk{rmen. Screenstart:= 30720 ; Bildminnet. AttrP: = 53 ; IO-port f|r attributminnet. ELattr: = 255 ; Attribut f|r dubbel bredd. Clockint: PUSH AF LD A,(Spt.Tic) ; Kolla att det {r dags igen. AND 15 JR NZ Clockret LD A,(Con.Wid) ; Kolla att det ska vara breda tecken. CP 41 JR NC Clockret PUSH HL PUSH BC PUSH DE IN A,(AttrP) PUSH AF LD HL,Screenstart+ (25 * 80) - 2 ; N{st sista position p} sk{rm LD D,ELattr LD C,25 Radloop: LD B,40 Tknloop: LD E,(HL) IN A,(AttrP) CP D ; Om attributet {r EL, beh|ver JR Z Loopcont ; vi inget g|ra. INC HL LD (HL),E ; Kopiera tecknet och attributet till DEC HL ; positionen bredvid. LD A,D OUT (AttrP),A ; S{tt dubbelbreddsattribut p} f|rsta. LD (HL),E Loopcont: DEC HL DEC HL DJNZ Tknloop DEC C JR NZ Radloop POP AF OUT (AttrP),A POP DE POP BC POP HL Clockret: POP AF $$Clockvek: JP 0 ; Hopp till den gamla rutinen l{ggs in. ;_ Initiering _ Clockvek: = 65494 Conwrite: = 11 HLbuf1: = 81 Y.Botm: = 65292 Y.Comtop: = 65328 Init: LD HL,(Clockvek) ; L{nka in det nya clockavbrottet. LD ($$Clockvek+1),HL LD HL,Clockint LD (Clockvek),HL LD HL,Init ; Skydda programmet fr}n |verskrivning. LD (Y.Botm),HL LD (Y.Comtop),HL LD HL,Itext LD BC,Itextend-Itext JP Conwrite Itext: DEFM "DEMON40 Ver 1.00 har laddats! Av Kristoffer Eriksson 1986." Itextend: