<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.temlib.org/AtariForumWiki/index.php?action=history&amp;feed=atom&amp;title=LIST_2_7.TXT</id>
	<title>LIST 2 7.TXT - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.temlib.org/AtariForumWiki/index.php?action=history&amp;feed=atom&amp;title=LIST_2_7.TXT"/>
	<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=LIST_2_7.TXT&amp;action=history"/>
	<updated>2026-07-26T22:27:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=LIST_2_7.TXT&amp;diff=14657&amp;oldid=prev</id>
		<title>&gt;Zorro 2: Created page with &quot;&lt;pre&gt;     **********************************************************************     *                                                                    *     *               CO...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=LIST_2_7.TXT&amp;diff=14657&amp;oldid=prev"/>
		<updated>2016-12-22T14:36:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt;     **********************************************************************     *                                                                    *     *               CO...&amp;quot;&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;
    *               COURS D'ASSEMBLEUR 68000 SUR ATARI ST                *&lt;br /&gt;
    *                                                                    *&lt;br /&gt;
    *                   par Le F‚roce Lapin (from 44E)                   *&lt;br /&gt;
    *                                                                    *&lt;br /&gt;
    *                 Listing num‚ro 2 / Cours num‚ro 7                  *&lt;br /&gt;
    *                                                                    *&lt;br /&gt;
    **********************************************************************&lt;br /&gt;
&lt;br /&gt;
    *  Test r‚solution, car si on est en haute et que l'on essaye de *&lt;br /&gt;
    *  passer en basse, paf!  RESET !                                *&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #4,-(SP)              num‚ro fonction  Getrez()&lt;br /&gt;
           TRAP      #14                   appel Xbios&lt;br /&gt;
           ADDQ.L    #2,SP                 correction pile&lt;br /&gt;
           CMP.W     #2,D0                 haute ?&lt;br /&gt;
           BEQ       CHARGE                oui, donc on charge tout de&lt;br /&gt;
                                           suite&lt;br /&gt;
&lt;br /&gt;
    * Puisqu'on est pas en haute, on force en basse r‚solution&lt;br /&gt;
    * on note d'abord en mettant … 1 un drapeau de signalement&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #1,RESOLUTION&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #0,-(SP)              basse r‚solution&lt;br /&gt;
           MOVE.L    #-1,-(SP)             adresse ‚cran inchang‚e&lt;br /&gt;
           MOVE.L    #-1,-(SP)             adresse ‚cran inchang‚e&lt;br /&gt;
           MOVE.W    #5,-(SP)              fonction Setscreen()&lt;br /&gt;
           TRAP      #14                   du X bios&lt;br /&gt;
           ADDA.L    #12,SP                correction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Ouverture du fichier image&lt;br /&gt;
&lt;br /&gt;
  CHARGE   MOVE.W    #0,-(SP)              ouverture en lecture&lt;br /&gt;
           MOVE.0L   #NOM_FICHIER,-(SP)    adr nom du fichier&lt;br /&gt;
           MOVE.W    #61,-(SP)             fonction Fopen()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDQ.L    #8,SP                 correction pile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * D0 contient le Handle ou bien un num‚ro d'erreur n‚gatif&lt;br /&gt;
&lt;br /&gt;
           TST.W     D0                    compare … 0&lt;br /&gt;
           BLT       ERREUR                inf‚rieur donc erreur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * On sauve le handle du fichier&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    D0,D3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Saute les 34 octets du d‚but de fichier DEGAS&lt;br /&gt;
    * (2 octets d'en-t‚te, 32 de couleurs)&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #0,-(SP)              d‚cale … partir du d‚but de&lt;br /&gt;
                                           fichier&lt;br /&gt;
           MOVE.W    D3,-(SP)              handle du fichier&lt;br /&gt;
           MOVE.L    #34,-(SP)             nbr d'octets … sauter&lt;br /&gt;
           MOVE.W    #66,-(SP)             fonction Fseek()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDA.L    #10,SP              &lt;br /&gt;
           TST.W     D0                    test D0&lt;br /&gt;
           BLT       ERREUR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * D‚termine l'adresse de l'‚cran&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #2,-(SP)              fonction Physbase()&lt;br /&gt;
           TRAP      #14                   du xbios&lt;br /&gt;
           ADDQ.L    #2,SP                 correction pile&lt;br /&gt;
           MOVE.L    D0,A5                 sauve l'adresse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Charge l'image directement dans l'‚cran&lt;br /&gt;
&lt;br /&gt;
           MOVE.L    A5,-(SP)              adresse destination&lt;br /&gt;
           MOVE.L    #32000,-(SP)          nbr octets … lire&lt;br /&gt;
           MOVE.W    D3,-(SP)              handle du fichier&lt;br /&gt;
           MOVE.W    #63,-(SP)             fonction Fread()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDA.L    #12,SP&lt;br /&gt;
           TST.W     D0&lt;br /&gt;
           BLT       ERREUR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Chargement de la palette dans notre buffer palette&lt;br /&gt;
    * D'abord repositionner le pointeur fichier&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #0,-(SP)              d‚cale … partir du d‚but de&lt;br /&gt;
                                           fichier&lt;br /&gt;
           MOVE.W    D3,-(SP)              handle du fichier&lt;br /&gt;
           MOVE.L    #2,-(SP)              nbr d'octets … sauter&lt;br /&gt;
           MOVE.W    #66,-(SP)             fonction Fseek()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDA.L    #10,SP&lt;br /&gt;
           TST.W     D0                    test D0&lt;br /&gt;
           BLT       ERREUR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * Puis chargement&lt;br /&gt;
&lt;br /&gt;
           MOVE.L    #BUFFER_PAL,-(SP)     adresse destination&lt;br /&gt;
           MOVE.L    #32,-(SP)             nbr octets … lire&lt;br /&gt;
           MOVE.W    D3,-(SP)              handle du fichier&lt;br /&gt;
           MOVE.W    #63,-(SP)             fonction Fread()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDA.L    #12,SP&lt;br /&gt;
           TST.W     D0&lt;br /&gt;
           BLT       ERREUR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * On place maintenant cette palette avec Xbios (6)&lt;br /&gt;
&lt;br /&gt;
           MOVE.L    #BUFFER_PAL,-(SP)     adresse palette noire&lt;br /&gt;
           MOVE.W    #6,-(SP)              fonction SetPalette()&lt;br /&gt;
           TRAP      #14                   du XBIOS&lt;br /&gt;
           ADDQ.L    #6,SP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * On referme le fichier&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    D3,-(SP)              handle&lt;br /&gt;
           MOVE.W    #62,-(SP)             fonction Fclose()&lt;br /&gt;
           TRAP      #1                    du GEMDOS&lt;br /&gt;
           ADDQ.L    #4,SP&lt;br /&gt;
&lt;br /&gt;
           BRA       FIN                   et on se sauve&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * En cas d'erreur on vient ici&lt;br /&gt;
&lt;br /&gt;
  ERREUR   MOVE.L    #MESSAGE_ERREUR,-(SP) pr‚vient&lt;br /&gt;
           MOVE.W    #9,-(SP)&lt;br /&gt;
           TRAP      #1&lt;br /&gt;
           ADDQ.L    #6,SP&lt;br /&gt;
&lt;br /&gt;
  FIN      MOVE.W    #7,-(SP)              attend un appui touche&lt;br /&gt;
           TRAP      #1&lt;br /&gt;
           ADDQ.L    #2,SP&lt;br /&gt;
&lt;br /&gt;
           CMP.W     #0,RESOLUTION&lt;br /&gt;
           BEQ       NOT_MOYENNE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * Puisqu'on est en basse, on reforce en moyenne r‚solution&lt;br /&gt;
&lt;br /&gt;
           MOVE.W    #1,-(SP)              moyenne r‚solution&lt;br /&gt;
           MOVE.L    #-1,-(SP)             adresse ‚cran inchang‚e&lt;br /&gt;
           MOVE.L    #-1,-(SP)             adresse ‚cran inchang‚e&lt;br /&gt;
           MOVE.W    #5,-(SP)              fonction Setscreen()&lt;br /&gt;
           TRAP      #14                   du XBIOS&lt;br /&gt;
           ADDA.L    #12,SP                correction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  * Puis on quitte&lt;br /&gt;
&lt;br /&gt;
  NOT_MOYENNE&lt;br /&gt;
           MOVE.W    #0,-(SP)&lt;br /&gt;
           TRAP      #1&lt;br /&gt;
  *-------------------------------------------------------------*&lt;br /&gt;
      SECTION DATA&lt;br /&gt;
  MESSAGE_ERREUR     DC.B                  &amp;quot;D‚sol‚, erreur avec&amp;quot;,13,10&lt;br /&gt;
                     DC.B                  &amp;quot;le fichier &amp;quot;&lt;br /&gt;
  NOM_FICHIER        DC.B                  &amp;quot;A:\IMAGE.PI1&amp;quot;,0&lt;br /&gt;
&lt;br /&gt;
      SECTION BSS&lt;br /&gt;
  BUFFER_PAL         DS.W                  16&lt;br /&gt;
  RESOLUTION         DS.W                  1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Back to [[ASM_Tutorial]]&lt;br /&gt;
[[Category: ASSEMBLEUR 68000 sur ATARI ST Part 1 ]]&lt;/div&gt;</summary>
		<author><name>&gt;Zorro 2</name></author>
	</entry>
</feed>