Serial.Read() requires 128 offset

I'm experiencing an offset that I can't explain. Sending ASCII codes or the ASCII Char from realterm, to the serial monitor. I am seeing a pattern develop, that allows me to see. 0,3,5,6,9,:,<,?,A,B,D.... The missing char are getting offset by 128 or basically, adding 128 somehow. Attached is a png of the code, realterm and monitor. Any suggestions, or how to detect this and correct it? Thank you.

Please POST your code.
Use code tags.

#include <SoftwareSerial.h>
//#define bit4800delay 188
SoftwareSerial mySerial(7, 6); // RX, TX
void setup()
  // put your setup code here, to run once:
{
  mySerial.begin(4800);    
   // Config: Async, even parity, 2 stop bits & 7 data bits
   // UCSR0C = B00100000;  //E parity
   // UCSR0C = B00000100;  //7 word len
   // UCSR0C = B00001000;  //2 stop bits
  UCSR0C = B00011100;  //UCSR0C UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn ATmega168/328 
 
  mySerial.println("Hello, world ?" );
    //Serial.begin(4800,SERIAL_7E2);
    //Serial.begin(4800);
   Serial.begin(9600);
   Serial.println("Goodnight moon!");
}

void loop()
{
  // put your main code here, to run repeatedly:
  if (mySerial.available())
    Serial.print(mySerial.read());
      // Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.print(Serial.read());
     //  mySerial.write(Serial.read());

 if (Serial.available()>0)
    Serial.print(mySerial.read()); 
    Serial.print("\t");
    
    Serial.println(Serial.read()); 
      delay(1000);
}

Most people use serial with No parity, 8 data bits and 1 stop bit. You've set up your hardware serial for something different. The parity bit is what's adding 128.

I don't think there are options in SoftwareSerial that will allow you to use parity. I think it only does N,8,1. I could be wrong.

Yes it is an odd com rate, but its on a very expensive instrument, I had no success getting help with the library edit so I'm working the register directly. I will look at that parity bit closer. Thank you

retexas:
Yes it is an odd com rate, but its on a very expensive instrument, I had no success getting help with the library edit so I'm working the register directly. I will look at that parity bit closer. Thank you

SoftwareSerial doesn't use the hardware serial registers. You can't change SoftwareSerial to use even parity by changing some unrelated register.

And the hardware serial library (aka the "Serial" class) already supports different word sizes and parity, so you don't have to fiddle with the registers directly when you use that library. Why don't you use the (hardware) Serial class to talk to your instrument and the SoftwareSerial class to talk to your PC?

Christop , thanks! Considering this is my first project that sounds like a great idea, just not real sure how to get there! Any suggestions how to approach this? The pc side is only for debug thru the serial monitor and loading code. eventually want to load the device results to an sd card.

You will need a serial-to-USB converter to talk to the software serial with your PC. These are usually sold under the name "FTDI Cable" because of the FTDI chip inside. Do not get an RS232-to-USB converter as that works on a different voltage. If you have a spare Arduino, you can use that instead of an FTDI cable.