<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://atariki.krap.pl/index.php?action=history&amp;feed=atom&amp;title=TD_Line%3A_wy%C5%82%C4%85czenie_i_w%C5%82%C4%85czenie_z_poziomu_programu</id>
	<title>TD Line: wyłączenie i włączenie z poziomu programu - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://atariki.krap.pl/index.php?action=history&amp;feed=atom&amp;title=TD_Line%3A_wy%C5%82%C4%85czenie_i_w%C5%82%C4%85czenie_z_poziomu_programu"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TD_Line:_wy%C5%82%C4%85czenie_i_w%C5%82%C4%85czenie_z_poziomu_programu&amp;action=history"/>
	<updated>2026-10-24T10:09:20Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=TD_Line:_wy%C5%82%C4%85czenie_i_w%C5%82%C4%85czenie_z_poziomu_programu&amp;diff=33576&amp;oldid=prev</id>
		<title>KMK o 20:52, 4 paź 2013</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=TD_Line:_wy%C5%82%C4%85czenie_i_w%C5%82%C4%85czenie_z_poziomu_programu&amp;diff=33576&amp;oldid=prev"/>
		<updated>2013-10-04T20:52:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;TD Line jest programem dla [[SpartaDOS]] i [[SpartaDOS X]], wyświetlającym na dodatkowej linii ekranu bieżący czas i datę. Niekiedy zachodzi potrzeba tymczasowego, automatycznego wyłączenia działania TD Line, na przykład na czas ładowania programu wyświetlającego jakąś czołówkę.&lt;br /&gt;
&lt;br /&gt;
== SpartaDOS 3.x ==&lt;br /&gt;
W SpartaDOS 3.x służy do tego celu umieszczony pod adresem $FFC6 (pod ROM-em) wektor VTDON. Wywołanie wygląda następująco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 portb = $D301&lt;br /&gt;
 vtdon = $FFC6&lt;br /&gt;
 ;&lt;br /&gt;
 td_off lda portb&lt;br /&gt;
        pha&lt;br /&gt;
        and #$fe&lt;br /&gt;
        sta portb&lt;br /&gt;
        ldy #$00      ;$00 - OFF, $01 - ON&lt;br /&gt;
        jsr vtdon&lt;br /&gt;
        pla&lt;br /&gt;
        sta portb&lt;br /&gt;
        rts&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpartaDOS X ==&lt;br /&gt;
W SpartaDOS X powyższy sposób też działa, ale tylko pod następującymi warunkami:&lt;br /&gt;
&lt;br /&gt;
* że pamięć pod ROM-em istnieje;&lt;br /&gt;
* że wektory się tam znajdujące nie zostały zniszczone przez program korzystający z tej pamięci (np. [[Turbo BASIC XL]]).&lt;br /&gt;
&lt;br /&gt;
Dlatego najlepiej, zamiast wspomnianym wektorem, posłużyć się [[symbol]]em I_TDON. Robi się to następująco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 jext_on  = $07f1&lt;br /&gt;
 jext_off = $07f4&lt;br /&gt;
 jfsymbol = $07eb&lt;br /&gt;
 ;&lt;br /&gt;
 td_off lda #&amp;lt;sym&lt;br /&gt;
        ldx #&amp;gt;sym&lt;br /&gt;
        jsr jfsymbol&lt;br /&gt;
        beq exit        ;exit if no symbol found (= no TD loaded)&lt;br /&gt;
        sta ptr+1&lt;br /&gt;
        stx ptr+2&lt;br /&gt;
        tya&lt;br /&gt;
        jsr jext_on&lt;br /&gt;
        ldy #$00        ;$00 - off, $01 - on&lt;br /&gt;
 ptr    jsr $0000&lt;br /&gt;
        jmp jext_off&lt;br /&gt;
 exit   rts&lt;br /&gt;
 ; symbol name, space-padded to 8 characters&lt;br /&gt;
 sym   .byte &amp;#039;I_TDON  &amp;#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Należy zadbać, żeby podprogram znalazł się poza obszarem przełączania banków pamięci ($4000-$7FFF). Dodatkowo, sposób ten będzie działał dopiero w SpartaDOS X w wersji 4.40 albo nowszej.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>KMK</name></author>
	</entry>
</feed>