Thanks for the info... That is exactly what I am doing (although my 
screen size is 80 by 40 and with attribute bytes like dos used to be). 
This is actually just an FPGA project to learn with. Implementing a z80, 
a 640x480 vga core (text only so far), an SD card, etc. All running 
software compiled with sdcc hopefully :)

Thanks for more pointers!
Kevin

Richard Gray wrote:
> I gather from elsewhere that your target is a Z80? If so, you need at least 
> an '-mz80' on the command line, thus you would use...
>
> sdcc -mz80 putchar.c
>
> On your code - I would comment that you're using a '=' on your if comparison, 
> you probably mean '=='. I would simplify the pointer declarations too with a 
> typedef, then things might be clearer for the compiler. If you're declaring 
> an absolute address in memory, then you should use something like this array 
> declaration I used on a recent project...
>
> typedef unsigned char byte_t;
>
> volatile byte_t __at 0xD000 VideoRAM[25*40];
>
> The 'volatile' keyword may or may not be appropriate in your application, but 
> the '__at' allows you to declare an absolute address. The byte_t type I 
> declare is useful because 8-bit signed integers (chars) aren't all that 
> useful much of the time. If you need a signed integer, you will probably want 
> short or int.
>
> On Tuesday 05 May 2009 02:35:11 Kevin Zee wrote:
>   
>> I have gotten the libraries to build an am trying (unsuccessfully) to
>> make a custom putchar.c (I removed the putchar.s file). This is what I
>> have so far:
>>
>> #include "memory.h"
>> void putchar(char ch) {
>>     *(unsigned char *)pScreen = video;
>>     *(unsigned char *)pX = caratx;
>>     *(unsigned char *)pY = caraty;
>>
>>     char x;
>>     char y;
>>
>>     x = pX;
>>     y = pY;
>>
>>     pScreen += y * 160;
>>     pScreen += x * 2;
>>
>>     if (ch = 0x0d) {
>>         // Adjust the cursor position, checking to see if we need to
>> scrool the screen
>>
>>         return;
>>     }
>>
>>     return;
>> }
>>
>>
>> It gets errors on just about every line. The first error says syntax
>> error: token 'char' where I declare x. Then, everywhere that a variable
>> is mentioned, it says undefined identifier - even when I declare a variable
>>
>> the .h file is.
>> #ifndef MEMORY_H
>> #define MEMORY_H
>>
>> #define caratx 0x1FFE
>> #define caraty 0x1FFF
>> #define video  0x2000
>>
>> #endif
>>
>> I simply use "sdcc putchar.c" without quotes to compile.
>>
>> I have been trying for hours to get this thing to work. What am I doing
>> wrong?
>>
>>     
> <snip>
>
>
>   

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to