Drawing a monochrome Nokia 3310 screen and a few menus would be a fairly easy nostalgia project. nokia-dct3-emulator chooses the much less reasonable problem: boot real DCT3 phone firmware by modelling the hardware that the code expects to find underneath it.1
Its README lists the MAD2 platform ASIC, CCONT power controller, a TMS320C54x DSP, LCD controllers, keypad matrix, SIM and internal or external EEPROM.1 The project can run as WebAssembly in a browser or through a native SDL interface. The firmware itself is not in the repository. Users have to provide their own .fls image.
That is more than a distribution precaution. The project makes an implementation constraint explicit: the firmware is not patched. There are no forced self-test results and no trampolines inserted to hop over missing behaviour. The emulator instead tries to produce the hardware states and exchanges that the original software expects.1

The network side makes the emulator especially unusual. The README describes a synthetic GSM cell carrying registration, calls, SMS and, on suitable models, a data path for WAP.1 Capabilities depend on firmware and DSP generation. Its compatibility table should therefore be read as the project’s own test status, not an independent certification. The reference 3310 build is listed with calls and SMS, while models with the relevant browser and radio path can reach WAP.
The emulation also reaches into parts of a phone that rarely appear in nostalgic recreations. Its MBUS service bus can be exposed over a virtual serial port. The project says unmodified period Nokia service tools can then connect to the emulated handset, read its IMEI, inspect or rewrite EEPROM and issue the same service commands they used with physical hardware.1
The limitations section is long, which is reassuring. Some models do not pass every test, features depend on the DSP engine, a documented deviation clears EF_LOCI from the SIM on boot by default, and the bridge to a physical SIM has additional constraints.1
So this project is not merely preserving what a Nokia looked like. It is trying to preserve the relationship between firmware and the machine the firmware assumed existed around it. That leads back to the same awkward lesson as many old networked devices: a binary image by itself is only half an object. Understanding it may require rebuilding the material world that answers back.
