Skip to main content

Featured

Python Multi-core / GPU Digital Phosphor Rendering of Huge Waveform Data

Most modern oscilloscopes are marketed as Digital Phosphor Oscilloscope (DPO) because the waveform shown on those scopes looks night-and-day compared to their old counterparts.   DPO vs DSO, from Tektronix TDS784D marketing materials This is because although the traditional DSO can capture data at a blazling fast speed, they lacked the processing bandwidth to show them on the display: It may be able to capture 100 million waveform data for one trigger point and store it in the sample memory, but the monitor only has say 1024 pixels wide. DSO simply throw away most of the points, resulting in an ugly aliased apperarance with 1bit per pixel.   To achieve the nice and smooth look of a DPO, what we want to do is to down sample the 100 million points to 1024 pixels wide with a correct down sampling algorithm.  Recently I've been working with some huge waveform captures with more than 1G points. Plotting such data with the beloved matplotlib will result in an ugl...

Hacking a CASIO fx-5800p Programmable Calculator

 Some information about the internals of fx-5800p, a cute programmable calculator that was very popular in the surveying market in China in the past.

1. SoC

Dieshot

  • SoC Markings: OKI ML610901B (CPU, RAM, Mask ROM, LCD Driver)
  • Flash: 29LV800CBT (Only half of the Flash ROM is being used)
  • RAM: 62256
  • Oscillator: Unknown, probably embedded.
  • The oscillation frequency can deviate by quite a lot during serial communication. It's probably an RC or on-chip RC oscillator.

2. OS Update & Data Encoding

“OS” refers to the binary data residing in the external Flash ROM. In fact, most of the core math, hardware access, communication, and maintenance functions are hard-wired inside the SOC (Mask-ROM). The font set and the power-off screen are also in the Mask-ROM.
From what I know so far, the UI, statistics, and programming functions are probably in the external flash, which can be reprogrammed.
To enter the OS Update menu:

  1. Shutdown the device using [SHIFT]+[AC/ON]
  1. Hold [MODE]+[7], Press [AC/ON]
  1. Press [⬅️], then [9]
You’re now in the maintenance menu, press [2] for OS Update functions. (Warning: you may accidentally delete your OS, be careful. Self-test or OS Update will cause a memory clear)


OS Update Process

Notice the data transmission is scrambled. It's probably some early form of bitstuffing.

3. et cetera

Some photos



Comments