<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=Pl2_INTER_2.DOC</id>
		<title>Pl2 INTER 2.DOC - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=Pl2_INTER_2.DOC"/>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;action=history"/>
		<updated>2026-10-19T06:21:32Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7305&amp;oldid=prev</id>
		<title>AtariWikiSysop: 3 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7305&amp;oldid=prev"/>
				<updated>2018-06-03T23:01:03Z</updated>
		
		<summary type="html">&lt;p&gt;3 revisions imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:01, 3 June 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>AtariWikiSysop</name></author>	</entry>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7304&amp;oldid=prev</id>
		<title>Wongck at 15:25, 12 October 2011</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7304&amp;oldid=prev"/>
				<updated>2011-10-12T15:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 15:25, 12 October 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot; &gt;Line 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[ASM_Tutorial]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[ASM_Tutorial]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Programming&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ASSEMBLEUR 68000 sur ATARI ST Part 2&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wongck</name></author>	</entry>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7303&amp;oldid=prev</id>
		<title>Silver Surfer: Added category</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7303&amp;oldid=prev"/>
				<updated>2009-05-02T20:46:11Z</updated>
		
		<summary type="html">&lt;p&gt;Added category&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 20:46, 2 May 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot; &gt;Line 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[ASM_Tutorial]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[ASM_Tutorial]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Programming]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Silver Surfer</name></author>	</entry>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7302&amp;oldid=prev</id>
		<title>Zorro 2 at 15:07, 9 October 2006</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Pl2_INTER_2.DOC&amp;diff=7302&amp;oldid=prev"/>
				<updated>2006-10-09T15:07:04Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  suite sur les INTERRUPTIONS ...&lt;br /&gt;
  ---------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  14) TBCR :Identique Ã  TACR, sauf que ce regsitre controle le TIMER B&lt;br /&gt;
            ($FFFA1B)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  15) TCDCR:Vecteur bit ayant le mÃ¨me role que TACR et TBCR pour les&lt;br /&gt;
            TIMER C et TIMER D, mais ici seul le  DELAY MODE est dis-&lt;br /&gt;
            ponible.&lt;br /&gt;
            ($FFFA1D)&lt;br /&gt;
&lt;br /&gt;
            Les bits 0 Ã  2 sont râ€šservâ€šs au TIMER C&lt;br /&gt;
            Les bits 4 Ã  6 sont râ€šservâ€šs au TIMER D&lt;br /&gt;
&lt;br /&gt;
            Voir le tableau de TACR pour la signification des bits...&lt;br /&gt;
&lt;br /&gt;
            Je vous rappelle que nous n'utiliserons pas ces TIMERS car&lt;br /&gt;
            ils sont dâ€šjÃ  utilisâ€šs par le systÃ¨me Ã  l'origine.&lt;br /&gt;
&lt;br /&gt;
  16) Ã  19) TADR,TBDR,TCDR,TDDR (Ã  partir de $FFFA1F):&lt;br /&gt;
&lt;br /&gt;
      VoilÃ  les registres de DONNEES des 4 TIMERS ...&lt;br /&gt;
&lt;br /&gt;
  20) Ã  24) SRC,CR,RSR,TSR,DR (Ã  partir de $AFFF27):&lt;br /&gt;
&lt;br /&gt;
      Des registres qui ne sont pas utilisâ€šs par les TIMERS, et ils &lt;br /&gt;
      se contentent de controler les â€šmissions de caractÃ¨res...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Maintenant que vous Ã¨tes familiarisâ€š avec les diffâ€šrents registres&lt;br /&gt;
  du MFP 68901, vous pourrez commencer Ã  râ€šaliser vos premiers pro-&lt;br /&gt;
  grammes sous interruption.&lt;br /&gt;
&lt;br /&gt;
  Pour modifier un registre du MFP, il suffit de connaitre l'adresse&lt;br /&gt;
  du registre et d'y dâ€šposer les donnâ€šes qu'il faut.&lt;br /&gt;
&lt;br /&gt;
 - VoilÃ  comment il faut procÃ¨der pour mettre une routine sous &lt;br /&gt;
   interruption: &lt;br /&gt;
   &lt;br /&gt;
  --------------------------------------------------------------------        &lt;br /&gt;
  * On passe en MODE SUPERVISEUR pour pouvoir atteindre les registre&lt;br /&gt;
    du MFP.&lt;br /&gt;
  * On met Ã  0 le bit correspondant au TIMER utilisâ€š dans le registre&lt;br /&gt;
    IMR.(Avec en AND #BBB,destination ou un BCLR #BBB,destination)&lt;br /&gt;
  * On met Ã  0 le bit correspondant au TIMER utilisâ€š dans le registre&lt;br /&gt;
    ISR.&lt;br /&gt;
  * On met Ã  0 le bit correspondant au TIMER utilisâ€š dans le registre&lt;br /&gt;
    IPR.&lt;br /&gt;
  * On met Ã  0 le bit correspondant au TIMER utilisâ€š dans le registre&lt;br /&gt;
    IER.         &lt;br /&gt;
  * On installe notre routine:&lt;br /&gt;
&lt;br /&gt;
   .Soit en dâ€šposant l'adresse de notre routine directement dans le&lt;br /&gt;
    VECTEUR D'EXCEPTION correspondant au TIMER utilisâ€š:&lt;br /&gt;
    $134 pour le TIMER A, $120 pour le TIMER B, $114 pour le TIMER C,&lt;br /&gt;
    $110 pour le TIMER D (avec MOVE.L #ADRESSE,$vecteur)&lt;br /&gt;
    (Voir le Tableau des vecteurs d'exception)&lt;br /&gt;
&lt;br /&gt;
    Puis en modifiant directement les REGISTRES DE CONTROLE et DE DONNEE&lt;br /&gt;
    du TIMER en dâ€šposant les nouvelles valeurs aux adresses de ceux-ci.&lt;br /&gt;
    (Avec MOVE.B  #VALEUR,$adresse) &lt;br /&gt;
    (Voir les adresses des REGISTRES TACR,TBCR,TCDCR (CONTROLE) et les&lt;br /&gt;
    adresses des REGISTRES TADR,TBDR,TCDR,TDDR (DONNEE) )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
   .Soit en appelant une fonction de l'XBIOS qui le fait Ã  notre place:&lt;br /&gt;
    C'est la fonction XBTIMER de l'XBIOS.&lt;br /&gt;
  &lt;br /&gt;
    Les paramÃ¨tres Ã  passer sont:&lt;br /&gt;
&lt;br /&gt;
    L-M:Adresse de la routine    &lt;br /&gt;
    MOT:Valeur du registre de DONNEE&lt;br /&gt;
    MOT:Valeur de registre de CONTROLE&lt;br /&gt;
    MOT:Le code du TIMER (0=TIMER A,1=TIMER B,2=TIMER C,3=TIMER D)&lt;br /&gt;
    MOT:Code de la fonction = $1F&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
   Il faudra encore:&lt;br /&gt;
&lt;br /&gt;
  .Mettre le bit du registre IER correspondant Ã  notre TIMER Ã  1 (Pour&lt;br /&gt;
   valider notre routine sous interruption) &lt;br /&gt;
  .Mettre le bit du registre IMR correspondant Ã  notre TIMER Ã  1 &lt;br /&gt;
   &lt;br /&gt;
  ----------------------------------------------------------------------&lt;br /&gt;
   Et voilÃ , ma routine est installâ€še !!!&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
   La routine elle mÃªme:&lt;br /&gt;
   ---------------------&lt;br /&gt;
   La routine Ã  mettre sous interruption devra pouvoir s'exâ€šcuter &lt;br /&gt;
   entiÃ¨rement avant l'appel suivant du TIMER car sinon attention&lt;br /&gt;
   au plantage !!&lt;br /&gt;
   Celle-ci ne devra donc pas Ãªtre trop longue:&lt;br /&gt;
   On ne pourra pas par exemple mettre une routine qui demande 0,5 &lt;br /&gt;
   secondes pour s'exâ€šcuter entiÃ¨rement sous interruption et rÃ¨gler&lt;br /&gt;
   sa frâ€šquence d'appel Ã  0,007 secondes ...&lt;br /&gt;
 &lt;br /&gt;
   Votre routine sous interruption devra toujours se terminer par:&lt;br /&gt;
&lt;br /&gt;
    .Une mise Ã  0 du bit correspondant au TIMER utilisâ€š du registre ISR&lt;br /&gt;
     ,pour indiquer au MFP que la routine se termine.&lt;br /&gt;
&lt;br /&gt;
               --------------------------------&lt;br /&gt;
     Avec      BCLR  #5,$FFFA07 pour le TIMER A        (Sur ISRA)&lt;br /&gt;
     ou        BLCR  #0,$FFFA11 pour le TIMER B        (Sur ISRB)&lt;br /&gt;
&lt;br /&gt;
               --------------------------------&lt;br /&gt;
&lt;br /&gt;
    .Un RTE (Return From Exception)  &lt;br /&gt;
        ---&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  De plus, comme votre routine s'exâ€šcute Ã  intervals râ€šguliers, je vous&lt;br /&gt;
  dâ€šconseille fortement d'utiliser les registre DN ou AN (mÃ¨me SP) car&lt;br /&gt;
  ceci peut provoquer des changments brusques au niveaux des registres&lt;br /&gt;
  conscernâ€šs dans la programme principal.(Le programme sous interruption&lt;br /&gt;
  s'exâ€šcutant sans interrompre le programme principal, nous en verrons &lt;br /&gt;
  une trÃ¨s bonne illustration dans un prochain exercice)&lt;br /&gt;
&lt;br /&gt;
  Le programme sous interruption pourra toutefois faire appel Ã  des&lt;br /&gt;
  adresses du segment DATA ou BSS pour lire ou dâ€šposer des valeurs...&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  VoilÃ  pour la thâ€šorie, je vous conseille fortement de relire tout&lt;br /&gt;
  le chapitre Ã  fond car maintenant viennent les EXERCICES ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
          &lt;br /&gt;
                              -----------------&lt;br /&gt;
&lt;br /&gt;
  PIECHOCKI  Laurent&lt;br /&gt;
  8,Impasse Bellevue            Suite dans le fichier:EXOS_4.DOC &lt;br /&gt;
  57980  TENTELING                                    ----------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Back to [[ASM_Tutorial]]&lt;/div&gt;</summary>
		<author><name>Zorro 2</name></author>	</entry>

	</feed>