Arduino - Bluesmirf: Trouble reading Serial

So there's no way of getting the SoftwareSerial to work? I kinda need two modems on one of the arduinos. I think its weird that it can send and receive when modules are connecting to each other but not when I read them.

Anyways, here are the codes when using the Hardware Serial (RX/TX)

MASTER CODE

int LED_GREEN = 6;
int LED_YELLOW = 7;

int buttonPin = 4;
int ledPin = 12;
int buttonState = 0;

int val = 0;

void setup() {
  pinMode(LED_YELLOW, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);

  Serial.begin(115200);
  Serial.print("$$");

  digitalWrite(LED_YELLOW, HIGH);
  delay(500);
  digitalWrite(LED_YELLOW, LOW);
  delay(50);
  digitalWrite(LED_YELLOW, HIGH);
  delay(500);
  digitalWrite(LED_YELLOW, LOW);
  delay(50);
  digitalWrite(LED_YELLOW, HIGH);
  delay(500);
  digitalWrite(LED_YELLOW, LOW);
  delay(50);

  delay(100);
  Serial.println("SM,1");
  delay(100);

  digitalWrite(LED_YELLOW, HIGH);
  digitalWrite(LED_GREEN, HIGH);
  delay(500);
  digitalWrite(LED_YELLOW, LOW);
  digitalWrite(LED_GREEN, LOW);
  delay(50);

  Serial.println("C,000666643C3D");
  delay(100);
  Serial.println("---");


// initialize LED pin and pusbutton
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);


}

void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();
    Serial.println(val);
    delay(2000);
  }  
}

SLAVE CODE

int LED_RED = 5;
int LED_GREEN = 6;

int value_BT = 0;

int ledPin = 11;

void setup() {
  pinMode(LED_RED, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);
  
  Serial.begin(115200);
  Serial.print("$$");
  
  digitalWrite(LED_GREEN,HIGH);
  delay(500);
  digitalWrite(LED_GREEN,LOW);
  delay(50);
  
  delay(100);
  Serial.println("SM,0");  
  delay(100);
  
  digitalWrite(LED_RED,HIGH);
  digitalWrite(LED_GREEN,HIGH);
  delay(500);
  digitalWrite(LED_RED,LOW);
  digitalWrite(LED_GREEN,LOW);
  delay(50);

  
  Serial.println("---");
  
  pinMode(ledPin, OUTPUT);

}

void loop() {
  delay(2000);
  Serial.print(1);
  delay(2000);

  
}