[A89] Re: A tale of much horror


[Prev][Next][Index][Thread]

[A89] Re: A tale of much horror



Hey If you want others to debug your code then comment it better.

I am suspicios that this:

*src+addr

should be: *(src+addr)


The one and only cheerio

-Samuel S





Quoting JudeCN@aol.com:

> AAARRGH!  Why won't this work?!?
> 
> // C Source File
> // Created 9/1/2003; 9:13:03 PM
> 
> #define USE_TI89              // Compile for TI-89
> #define USE_TI92PLUS          // Compile for TI-92 Plus
> #define USE_V200              // Compile for V200
> 
> #define ENABLE_ERROR_RETURN   // Enable Returning Errors to AMS
> 
> #define OPTIMIZE_ROM_CALLS    // Use ROM Call Optimization
> 
> #define MIN_AMS 205           // Compile for AMS 2.05 or higher
> 
> #define SAVE_SCREEN           // Save/Restore LCD Contents
> 
> #include <tigcclib.h>         // Include All Header Files
> #include "ExtGraph.h"
> 
> void scroll(char *src, char *dest, short nr_lines, short
> src_line_len, short 
> dest_line_len) {
>   short addr;
>   short i;
>   int start, fin;
>     for(i=0; i<nr_lines; i++) {
>         start = i*(src_line_len>>3); fin =
> i*(src_line_len>>3)+(dest_line_len>
> >3);
>         for(addr=start; addr<fin; addr++) {
>             *dest++ = *src+addr;
>         }
>         *dest += (src_line_len - dest_line_len)>>3;
>     }
> }
> 
> 
> 
> // Main Function
> void _main(void)
> {
>     unsigned short sprite[] = {
>         0b0111111111111110,
>         0b0100000000000010,
>         0b0110000000110110,
>         0b0100000000000010,
>         0b0111111111111110,
>     };
>     char *ptr = malloc(16*60);
>     memset(ptr, 0, 16*60);
>     PortSet(ptr, 240*2-1, 15);
>     int i=0;
>     for(i=0; i<240*2-16; i+=16) {
>         Sprite16(i, 0, 5, sprite, ptr, SPRT_XOR);
>     }
>     PortSet(LCD_MEM, 239, 127);
>     clrscr();
>     short x = 0;
>     scroll(ptr, LCD_MEM, 16, 240*2, 240);
>     while(1) {
>         if(_keytest (RR_LEFT) && x > 0) {
>             x--;
>             clrscr();
>             scroll(ptr+x, LCD_MEM, 16, 240*2, 240);
>         }
>         if(_keytest (RR_RIGHT) && x < 240) {
>             x++;
>             clrscr();
>             scroll(ptr+x, LCD_MEM, 16, 240*2, 240);
>         }
>         if(_keytest (RR_CLEAR)) {
>             free(ptr);
>             exit(0);
>         }
>     }
> }
> 
> This small program is supposed to test the scroll() function, which
> grabs a 
> clip from a buffer and puts it to another buffer.  Whenever I try
> this, I don't 
> get an error, but I get garbage displayed on the video buffer.  CAN
> SOMEONE 
> TELL ME WHAT'S WRONG???
> 
> Jude Nelson
> 


-- 
23 He (Elisha) went up from there to Bethel; and while he was going up 
on 
the way, some small boys came out of the city and jeered at him saying, 
"Go away, baldhead!  Go away, baldhead!  24 When he turned around and 
saw 
them, he cursed them in the name of the lord.  Then two she-bears came 
out 
of the woods and mauled forty-two of the boys.  25 From there he went 
on 
to Mount Carmel, and then returned to Samaria.

	- 2 Kings 2: 23-25



References: