
So you told me you want to run Windows on a Calculator - beefhash
https://www.imbushuo.net/blog/archives/725
======
tropo
The calculator market is controlled by TI. They push textbook makers to be TI-
specific. TI is constrained largely by test security requirements, which vary
a bit. For example in France TI had to add a blinking LED to indicate test
mode, which disables some features. The ACT prohibits an algebra system, but
the SAT allows it.

If not for that, and the disinterest TI has in doing cool stuff, imagine what
could be done.

Architecturally, the calculator could be a PC with SVGA. It could run a clone
CPU with features as recent as the Pentium III era without needing a patent
license, though 8088 is adequate and it is likely that TI could get good
pricing from AMD or Intel. Putting all the non-volatile storage in a MicroSD
card that sticks out above the screen would allow some test security; if that
gets pulled out then the calculator reboots into the built-in software.

------
rvz
> Sarah has summarized ARMv7 architectural requirements for running Windows.
> The requirements have changed a bit across years, so here is my new summary
> on this:
    
    
      System processor: ARMv7-A compatible processor with VFPv3+VFP HalfPrec, VFPv4 is also okay
      Memory: At least 256MB of RAM (can probably do less)
      Peripherals:
          - System timer (either architectural or vendor-specific)
          - ARM Generic Interrupt Controller (GIC) or Broadcom Interrupt Controller on BCM2835/2836/2837, both CPU and 
      Distributor Interface. GICv2 or higher is required if GIC is present and declared.
          - Framebuffer
          - Supported UART, either NS16550, BCM283x or some vendor-specific IP (in the case of Qualcomm and NXP)
          - Firmware: UEFI 2.3 or higher
    

What an absolutely magnificent and clever hack. I have seen similar ports like
this for the Raspberry Pi 3 [0] also running Windows 10 (actual Desktop) and
the Nintendo Switch [1] also running Windows too.

This is all due to U-Boot having support for UEFI firmware on ARM devices
running ARMv7 and ARMv8 and allowing any other UEFI supporting OSes to reuse
these UEFI compatible ARM drivers to load its kernel + the device tree. The
moment you see projects like this, make you think about how things work at a
low-level.

[0] [https://github.com/WOA-Project/WOA-Deployer-Rpi](https://github.com/WOA-
Project/WOA-Deployer-Rpi)

[1] [https://www.windowslatest.com/2019/03/04/developer-tests-
win...](https://www.windowslatest.com/2019/03/04/developer-tests-
windows-10-on-nintendo-switch/)

