Some time ago, a compiler and linker optimization was enabled (LinkTimeOptimization). It makes smaller code, but the Adafruit libraries got larger anyway.
I looked at this code: https://github.com/alojzjakob/Tamaguino/tree/master/Tamaguino-noInputResistor
I can not make that smaller.
That is good enough!
In the Arduino IDE 2.1.0 with the newest Adafruit libraries, I get this:
Sketch uses 31826 bytes (98%) of program storage space.
Global variables use 524 bytes (25%) of dynamic memory
Then it should be able to run (with the newest Adafruit libraries) in the Wokwi simulator, and it does!
I made these changes:
// - Buttons have now INPUT_PULLUP
// - Array in getItem() is now static
// - Added SCREEN_WIDTH and SCREEN_HEIGHT
// - Changed declaration of 'display' object
Question: What shall I do with the round() ? replace it with a cast to int ?
You might not know that I made this Issue: round() macro in Arduino.h · Issue #76 · arduino/ArduinoCore-API · GitHub