An SC61860 bug since 25 years

Incredible — a bug in the SC61860 CPU used in classic Sharp devices has been fixed after 25 years!

Usually, a CPU bug is spotted quickly because everything crashes. But this one was a subtle side effect in batch instruction processing.

When I requested a batch of 0xFF, the loop exited without doing anything, instead of executing 256 times.

Turns out, it was just a while () {} that needed to be replaced with a do {} while ().

Now, the LC-3 compiler works correctly — it’s the one that uses 0xFF batches, unlike the standard ROM which never does.

It took me ages to find this bug, I was so convinced my algorithm was solid. obviously, after 25 years of faithful service…

PockEmul OS Requirements

There is one aspect that I have been neglecting since the release of PockEmul, which concerns the minimum OS versions supported by PockEmul.

This needs to change because I have too many issues testing different versions.

So starting from PockEmul 2.10, here are the different platforms that will be supported by PockEmul:

  • Android 8 (API 26) or higher, only on arm64-v8a (64-bit).
    No more 32Bit official release.
    I might release the APK for Android 7.1 and higher on pockemul.com, but without support.
  • iOS 14 or higher, architecture armv8(arm64).
  • Windows 10 (18098 or later), Windows 11 x86_64
  • macOS 11 or higher x86_64

Feel free to share your thoughts.

PockEmul issues and features requests

This post will list all current issues in PockEmul. Don’t hesitate to post in comments your features request.

Issues

VersionPlatformIssueFixed in
2.9.1AllIn the Settings, when the default value of a switch is ON, it is not displayed. If you want to force it OFF, toggle it to ON then OFF. 2.9.2
2.9.0AllCasio VX. Need to press ALL RESET to initialize memory2.9.1
2.9.0AllCasio VX, key IN not working2.9.1
2.8.1AllPC-1600 emulation broken2.9.0
2.8.1AndroidUnable to Start PockEmul Store for new customers. What a stupid bug !!
PockEmul 2.8.2 will be released ASAP.
2.8.2
2.8.1AllPC-1403 + CE-140F: issue on PRINT# commandInvestigate
2.8.0AllCanon X-07 function keys issue2.8.1
2.8.0AndroidOn android 13 fresh install, PockEmul ask for write permission at each startup.2.8.1
2.8.0Android32bit release crash.2.8.1
2.7.0AllThe combo Sharp PC-E500, CE-140f, CE-126p is not workingStill investigating. Very strange bug.

Features requests

  • New model HP-71B
  • Improve UI behavior:
    • Save the screen orientation in the session
    • Auto Power ON the calculator
    • Add option to fix the position on screen: done in 2.9.0
    • Add “Force Phone Behavior” in settings. Even on a tablet on one device will be on screen at a time. done in 2.9.0
  • Keyboard simulator with overclock up to 100x: done in 2.9.0

PockEmul 2.9.1 New Release

Dear PockEmul’s fans, we are pleased to announce the new PockEmul release.

It corrects some issues reported after PockEmul 2.9.0 release.

  • Sharp PC-1500, PC-1500A and Tandy PC-2: updated to SYSTEM ROM A04.
  • Casio VX-3, VX-4 and FX-870p: key IN was not managed.
  • Casio VX-3, VX-4 and FX-870p: An ALL RESET is no longer necessary after a Factory Reset.
  • Force orientation settings was applied at startup with several seconds delay. It is now applied immediately.
  • on Unlink peripheral , PockEmul ask for confirmation.
  • To avoid unexpected Context Menu popup, it is not shown if a Key is nearby .
  • Activate Log at next startup in settings.
    If PockEmul crash on a specific feature, you can enable logs. Then you execute the feature. A the next startup, the log file is automatically sent to PockEmul Server. It will help us to better understand the issue.