/[projet1]/public/oric/routines/rasterization/linebench/Main.c
Defence Force logotype

Diff of /public/oric/routines/rasterization/linebench/Main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

users/dbug/rasterization/linebench/Main.c revision 46 by dbug, Wed Mar 25 21:32:32 2009 UTC public/oric/routines/rasterization/linebench/Main.c revision 258 by thrust26, Sun Feb 7 14:05:11 2010 UTC
# Line 27  Line 27 
27    
28  // ============================================================================  // ============================================================================
29  //  //
30  //                                                                      Externals  //                                                                      Externals
31  //  //
32  // ============================================================================  // ============================================================================
33    
# Line 36  Line 36 
36  //  //
37  // ===== Display.s =====  // ===== Display.s =====
38  //  //
39  extern unsigned char CurrentPixelX;             // Coordinate X of edited pixel/byte  extern unsigned char CurrentPixelX;             // Coordinate X of edited pixel/byte
40  extern unsigned char CurrentPixelY;             // Coordinate Y of edited pixel/byte  extern unsigned char CurrentPixelY;             // Coordinate Y of edited pixel/byte
41    
42  extern unsigned char OtherPixelX;               // Coordinate X of other edited pixel/byte  extern unsigned char OtherPixelX;               // Coordinate X of other edited pixel/byte
43  extern unsigned char OtherPixelY;               // Coordinate Y of other edited pixel/byte  extern unsigned char OtherPixelY;               // Coordinate Y of other edited pixel/byte
44    
45    
46  //  //
47  // ===== Buffer.s =====  // ===== Buffer.s =====
48  //  //
49  void DrawLine();  void DrawLine();
50    void DrawLine8();
51    void DrawLine8_toptobottomandlefttoright();
52    
53  //  //
54  // ===== Clip.s =====  // ===== Clip.s =====
# Line 63  extern int LargeX; Line 65  extern int LargeX;
65  extern int LargeY;  extern int LargeY;
66    
67    
68    void test0()
69    {
70            int i;
71    
72            // Testing all positions from top left
73            for (i=0;i<=239;i++)
74            {
75                    CurrentPixelX=0;
76                    CurrentPixelY=0;
77                    OtherPixelX=i;
78                    OtherPixelY=199;
79    
80                    DrawLine8();
81                    //DrawLine8_toptobottomandlefttoright();
82            }
83    
84            /*
85            // TopLeft to BottomRight
86            CurrentPixelX=0;
87            CurrentPixelY=0;
88            OtherPixelX=239;
89            OtherPixelY=199;
90            */
91    
92            /*
93            // TopLeft to BottomRight - diagonal
94            CurrentPixelX=1;
95            CurrentPixelY=0;
96            OtherPixelX=199;
97            OtherPixelY=199;
98            */
99    
100            /*
101            // BottomLeft to TopRight
102            CurrentPixelX=0;
103            CurrentPixelY=199;
104            OtherPixelX=239;
105            OtherPixelY=0;
106            */
107    
108            /*
109            // TopRight to BottomLeft
110            CurrentPixelX=239;
111            CurrentPixelY=0;
112            OtherPixelX=0;
113            OtherPixelY=199;
114            */
115    
116            //DrawLine();
117            //DrawLine8();
118    
119            while (1);
120    }
121    
122    
123    void line_mike_8()
124    {
125            int i;
126    
127            for (i=0;i<239;i++)
128            {
129                    OtherPixelX=i;
130                    OtherPixelY=0;
131                    CurrentPixelX=239-i;
132                    CurrentPixelY=199;
133    
134                    DrawLine8();
135            }
136            for (i=0;i<199;i++)
137            {
138                    OtherPixelX=0;
139                    OtherPixelY=i;
140                    CurrentPixelX=239;
141                    CurrentPixelY=199-i;
142    
143                    DrawLine8();
144            }
145            /*
146            for (i=0;i<239;i++)
147            {
148                    CurrentPixelX=i;
149                    CurrentPixelY=0;
150                    OtherPixelX=239-i;
151                    OtherPixelY=199;
152    
153                    DrawLine8();
154            }
155            for (i=0;i<199;i++)
156            {
157                    CurrentPixelX=0;
158                    CurrentPixelY=i;
159                    OtherPixelX=239;
160                    OtherPixelY=199-i;
161    
162                    DrawLine8();
163            }
164            */
165    }
166    
167    
168  void line_mike()  void line_mike()
169  {  {
170          int i;          int i;
171    
172            /*
173                    CurrentPixelX=0;
174                    CurrentPixelY=0;
175                    OtherPixelX=0;
176                    OtherPixelY=199;
177    
178                    DrawLine();
179                    */
180    
181                    /*
182            while (1)
183            {
184                    LargeX0=0;
185                    LargeY0=0;
186                    LargeX1=239;
187                    LargeY1=199;
188    
189                    DrawClippedLine();
190            }
191            */
192    
193            /*
194            while (1)
195            {
196            for (i=30;i<50;i++)
197            {
198                    LargeX0=i;
199                    LargeY0=0;
200                    LargeX1=239-i;
201                    LargeY1=199;
202    
203                    DrawClippedLine();
204            }
205            }
206            for (i=0;i<199;i++)
207            {
208                    LargeX0=0;
209                    LargeY0=i;
210                    LargeX1=239;
211                    LargeY1=199-i;
212    
213                    DrawClippedLine();
214            }
215            */
216    
217            for (i=0;i<239;i++)
218            {
219                    OtherPixelX=i;
220                    OtherPixelY=0;
221                    CurrentPixelX=239-i;
222                    CurrentPixelY=199;
223    
224                    DrawLine();
225            }
226            for (i=0;i<199;i++)
227            {
228                    OtherPixelX=0;
229                    OtherPixelY=i;
230                    CurrentPixelX=239;
231                    CurrentPixelY=199-i;
232    
233                    DrawLine();
234            }
235            /*
236            for (i=0;i<239;i++)
237            {
238                    CurrentPixelX=i;
239                    CurrentPixelY=0;
240                    OtherPixelX=239-i;
241                    OtherPixelY=199;
242    
243                    DrawLine();
244            }
245            for (i=0;i<199;i++)
246            {
247                    CurrentPixelX=0;
248                    CurrentPixelY=i;
249                    OtherPixelX=239;
250                    OtherPixelY=199-i;
251    
252                    DrawLine();
253            }
254            */
255    
         /*        
                 CurrentPixelX=0;  
                 CurrentPixelY=0;  
                 OtherPixelX=0;  
                 OtherPixelY=199;  
   
                 DrawLine();  
                 */  
                   
         for (i=0;i<239;i++)  
         {  
                 LargeX0=i;  
                 LargeY0=0;  
                 LargeX1=239-i;  
                 LargeY1=199;  
                   
                 DrawClippedLine();  
         }  
         for (i=0;i<199;i++)  
         {  
                 LargeX0=0;  
                 LargeY0=i;  
                 LargeX1=239;  
                 LargeY1=199-i;  
                   
                 DrawClippedLine();  
         }  
         /*  
         for (i=0;i<239;i++)  
         {  
                 OtherPixelX=i;  
                 OtherPixelY=0;  
                 CurrentPixelX=239-i;  
                 CurrentPixelY=199;  
   
                 DrawLine();  
         }  
         for (i=0;i<199;i++)  
         {  
                 OtherPixelX=0;  
                 OtherPixelY=i;  
                 CurrentPixelX=239;  
                 CurrentPixelY=199-i;  
   
                 DrawLine();  
         }  
         */  
256  }  }
257    
258    
259  void line_basic()  void line_basic()
260  {  {
261          unsigned char i;          unsigned char i;
262          for (i=0;i<239;i++)          for (i=0;i<239;i++)
263          {          {
264                  curset(i,0,3);                  curset(i,0,3);
265                  draw(239-i-i,199,2);                  draw(239-i-i,199,2);
266          }          }
267          for (i=0;i<199;i++)          for (i=0;i<199;i++)
268          {          {
269                  curset(0,i,3);                  curset(0,i,3);
270                  draw(239,199-i-i,2);                  draw(239,199-i-i,2);
271          }          }
272  }  }
273    
274    
275  void test()  void test()
276  {  {
277          unsigned int delay;          unsigned int delay;
278                    
279          while (1)          while (1)
280          {          {
281                  // Mike routine first                  // Judd routine first
282                  printf("\nMike test: ");                  printf("\nMike 8bit: ");
283                  *(unsigned int*)0x276=0;                  *(unsigned int*)0x276=0;
284                  line_mike();                  line_mike_8();
285                  delay=65536-(*(unsigned int*)0x276);                  delay=65536-(*(unsigned int*)0x276);
286                  printf(" duration (in 100th of second): %d",delay);                  printf(" duration: %d",delay);
287                                                                    /*
288                  // Basic routine second                  // Mike routine first
289                  printf("\nBasic: ");                  printf("\nMike 16bit: ");
290                  *(unsigned int*)0x276=0;                  *(unsigned int*)0x276=0;
291                  line_basic();                  line_mike();
292                  delay=65536-(*(unsigned int*)0x276);                  delay=65536-(*(unsigned int*)0x276);
293                  printf(" duration (in 100th of second): %d",delay);                  printf(" duration: %d",delay);
294          }  
295                    // Basic routine second
296                    printf("\nBasic: ");
297                    *(unsigned int*)0x276=0;
298                    line_basic();
299                    delay=65536-(*(unsigned int*)0x276);
300                    printf(" duration: %d",delay);
301                    */
302            }
303  }  }
304    
305    
306    
307    
308  void main()  void main()
309  {        {
310          GenerateTables();          GenerateTables();
311          hires();          hires();
312    
313          test();          test();
314            //test0();
315  }  }
316    
317    

Legend:
Removed from v.46  
changed lines
  Added in v.258

  ViewVC Help
Powered by ViewVC 1.1.26