Ch4ist0 wrote: The problem is that the soft works normally but on the screen you can't see the whole thing, it cuts off most of it and you can't do anything from the screen....
I've looked in the sources and I can clearly see that in this program the display is rigidly written for 128x64 resolution. It is mainly about the DisplayUI.h file.
That's why it will cut you off and without a thorough rewrite of that (and possibly DisplayUI.cpp) you won't do it with one magic move. Because it simply wasn't intended by the author.
He wrote under 128x64 and you want to display it on 64x48.
So cursorily looking at the sources, I'm not saying it can't be done (especially when it comes to menus). But you also have to experiment a bit and possibly accept compromises.
The main difficulty lies in fitting the content in.
The author has chosen a font to fit about 5 lines of 18 characters each in a fixed width font:

.
and now while I find it realistic to achieve five lines on the display with D1 e.g. character height 8 plus 1 for spacing and using characters that don't "stick down" like j, q, p, y etc. . Which, by the way, the author has taken into account because he uses, as far as I can see, only capital letters for the menu on the OLED.
But fitting 18 characters on a 64pix line is hardly feasible, as it would be less than 4 pixels per character, i.e. completely unreadable. It would be possible to use a proportional font, but then the number of possible characters per line would depend on the content of a particular inscription. That is, whether there are more narrow letters such as I, J or wide letters such as W, M. But this does not save much.
When it comes to the menu itself, for example, reducing the number of characters per line is not a problem. For example, there is no need for the item "PACKET MONITOR", as this name can be easily shortened.
It is worse with a list where there could be longer subtitles, e.g. a list of SSIDs or something like that, but I do not know, I have not looked at the sources and I have not seen this design in person. Maybe truncating such content would not be a tragedy and maybe it would be possible to break longer lines (this library from OLED has such functionality). But this already needs to be assessed in the context of a working device.
So that's it in a nutshell. To make this device support the display from D1 you need at least:
- set the esp8266-oled-ssd1306 library correctly to work with a resolution of 64x48.
It is possible that you already have this done, as I look above here.
- Realign the constants in the DisplayUI.h file to the new resolution. At least the highlighted ones, e.g. lineHeight should be 9 to keep five lines:

.
- generate another font using the method given in the library for OLED, instead of the DejaVu_Sans_Mono_12 used. Smaller in height and width and still readable (but it's a matter of experimentation) e.g. Roboto_Mono_Thin_10 and change the calls in DisplayUI.cpp (by the way, change the reference to the built-in font ArialMT_Plain_24 to e.g. ArialMT_Plain_10, as it may not fit either).
- shorten long names that may appear on the display like "PACKET MONITOR" etc. . These names are in the language.h file. However, only some of the subtitles defined there are related to the OLED display (certainly the ones starting with "D_" and some other ones that may appear on the OLED indirectly, e.g. specifying some parameters, e.g. "WPA2") and need to be shortened (so that they do not fit into the file). ) and need to be abbreviated (so that, for example, you do not touch the chicken).