Serial Communication Using ATMega128L
Assuming that you have loaded the UBRR0L and UBRR0H register with proper value, you have used the same compiler to compile both atmega128 and atmega8535, and there is no issue with the hardware which is used try to check the serial communication with direct register write operation. try to transmit single character successfully. like below

while(!(UCSR1A &amp; (1 &lt;&lt; UDRE1)));
UDR1 = 'A'; // it could be any character 


if above code works fine then check the printf and putchar code in your compiler library, and find out how those codes are modified to write character to serial port! if needed modify that printf and putchar code to suit atmega128. mmake sure that while modifying you keep the original code safer!