I2C byte to port register on atTiny44

Hello, I’m trying to make a very simple I2C slave module with an atTiny44 that simply reads a data byte to PORTA.

I’ve tried to adapt the slave_reciever example from the wire.h library.

this is my rudimentary code

#include <Wire.h>

void setup() {

  DDRA = DDRA | B10001111;    //sets all pins to out except 4,5,6 for serial communication
  Wire.begin(8);                // join i2c bus with address #8
  
}


void loop() {
  Wire.onReceive(receiveEvent); // register event
}


// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany) {
  int x = Wire.read();    // receive byte as an integer
  PORTA = byte(x);         // print the integer
}

and this is the error I get:

/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/Wire/Wire.cpp: In member function 'void TwoWire::setClock(uint32_t)':
/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/Wire/Wire.cpp:85:3: error: 'TWBR' was not declared in this scope
   TWBR = ((F_CPU / frequency) - 16) / 2;
   ^
Using library Wire at version 1.0 in folder: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/Wire 
exit status 1
Error compiling.

I’ve tried adapting the TinyWireS.h and the tinySPI.h libraries, but to no avail. TinyWireS.h only seems to work with the atTiny5, and I’m at a loss for how to use tinySPI.h, which is ostensibly forked to use on the tiny4’s…

In case you’re wondering, I want to run several steppers off of one microcontroller for a CNC wire cutting machine, and there are not enough pins to run them all.

thanks!