Generate 120Hz signal on output pin

I want to generate 120Hz signal on output pin . i don't know how to use tone() library and I will implement this code on ATtiny13A/ATtiny45 .

Can some point in right direction?.

Thanks.
EDIT : I wrote this code. I am using another Pin as delayPin , this will be a LED basically, when the system powers on LED will glow for 3 seconds and then 120Hz wave should be generated from 3rd PIN.

int delayPin=4;

void setup()
{
 
  pinMode(delayPin,OUTPUT);
  digitalWrite(delayPin,HIGH);
  delay(3000);
  digitalWrite(delayPin,LOW);
  
}

void loop()
{
  tone(3,120);
}

Blink without delay - but also somewhat precisely:

unsigned long currentMicros;
unsigned long previousMicros;
unsigned long duration = 4164UL; // (1/120Hz)/2 in microseconds, 0.00416666666
unsigned long elapsedMicros;
void setuo(){
pinMode (2,  OUTPUT); // assumes PortD Bit 2 is D2
}
void loop(){
currentMicros = micros(); // capture current "time"
elapsedMicros = currentMicros - previousMicros; // how much has passed
if (elapsedMicros >= duration){  // enough time passed, change output
previousMicros = previousMicros + duration; // set  for next time check
PIND = 0b00000100; // toggle output by writing to Input register
} // end time check
} // end loop

"Three I/O memory address locations are allocated for each port, one each for the Data Register – PORTx, Data Direction Register – DDRx, and the Port Input Pins – PINx. The Port Input Pins I/O location is read only, while the Data Register and the Data Direction Register are read/write.
However, writing a logic one to a bit in the PINx Register, will result in a toggle in the corresponding bit in the Data Register."

Maybe do as two passes - one that is 4164, 2nd that is 4168
(1/(.004164 + .004168)) = 120.019Hz