cpu speeds - cayce-msx/msxpp-quick-ref GitHub Wiki

CPU Speeds

A few notes on CPU speeds & frequencies, clocks and bus/cartridge frequencies.

  • F12 toggles between 3.58 MHz, 5.37 MHz and current Custom Speed
    • the Custom Speed can be set using SETSMART -04 through SETSMART -0A for 4.10MHz-8.06MHz.
    • 8.06MHz is the default custom speed at power up
    • 8.06MHz is also called "Turbo 10MHz", which derives from the original OneChipMSX hardware
    • in fact, the Custom Speed does NOT reflect a real CPU frequency! It's an approximation. It is simulated by slowdown (2-8 rounds, depending on the speed setting) of the base (actual) 10.74MHz CPU frequency
      • hence "Turbo 10MHz"
      • note that this is half of the VDP clock, at 21.47727MHz
        (3.58 & 5.37 MHz are a sixth & a quarter of that VDP clock, respectively)
      • the external (cartridge) system bus runs at full speed (10.74MHz) when in this mode - unless it has been forced to 3.58 MHz using SETSMART -40
    • All "custom speed" approximated 'frequencies' have been benchmarked on blueMSX and openMSX
  • tPANA or Turbo Pana(sonic): sets CPU clock 5.37MHz - SETSMART -41
    • Turbo Pana redirect mode: redirects Turbo Pana I/O to the current Custom Speed.
      This allows games to reach 8.06 MHz or other frequencies using port 41h ID8 (e.g. HRA's CHGCPU or games patched with FRS' TurboFix), making them OCM-compatible without software patch.
    • Turbo Pana mode (5.37MHz; SETSMART -41) differs a lot from Custom Speed 5.39MHz (SETSMART -07): both CPU and external clock run at different speeds between the two modes, and Turbo Pana does not involve simulation by slowdown
  • tMegaSD or Turbo MegaSD: a hybrid clock for fast SD card access, combined with any CPU clock/speed
    • ON by default; SETSMART -0B turns it OFF
    • Automatically activates 8.06MHz fast loading even with CPU at 3.58MHz or 5.37MHz
    • some cartridges are incompatible with this
  • for better compatibility, cartridge slots can run at 3.58MHz - SETSMART -40
    • E.g., Philips Music Module does not support tMegaSD; requires 3.58MHz
      • SETSMART -030B40 will set CPU & bus at 3.58MHz and switch TurboMegaSD off
      • Note that it is possible to 'patch' your Music Module for this - by soldering.
        It's discussed at MRC - without a solution.
        Hans Oranje has done this privately, without a published schema.

OCM-SDBIOS Pack tool CPUSPEED.COM can also be used to switch between CPU speeds, and set tPana/tMegaSD modes. It does not support external bus modes - use SETSMART 3F/40.

Applicable SETSMART commands

03 Set Standard Speed 3.58MHz
04 Set Custom Speed 4.10MHz
05 Set Custom Speed 4.48MHz
06 Set Custom Speed 4.90MHz
07 Set Custom Speed 5.39MHz
08 Set Custom Speed 6.10MHz
09 Set Custom Speed 6.96MHz
0A Set Custom Speed 8.06MHz (aka "Turbo 10MHz") (default)

01 Set Turbo Pana Redirection OFF (default)
02 Set Turbo Pana Redirection ON

0B Set Turbo MegaSD OFF
0C Set Turbo MegaSD ON (default)

3F Sync External Bus Clock to CPU Speed (default)
40 Set External Bus Clock 3.58MHz

41 Set Turbo Pana 5.37MHz

CPUSPEED commands

/a  3.58MHz plain (safe mode for incompatible cartridges)
/b  3.58MHz with tMegaSD (fast disk access)
/c  3.58MHz with tPana Redirect (apps/games enabling Turbo Pana will run at Custom Speed)
/d  5.37MHz regular Turbo Pana (like Panasonic MSX2+ FS-A1*X models)
/d  5.37MHz with tMegaSD (fast disk access)
/0  3.58MHz with tMegaSD and tPana Redirect
/1  approx. 4.10MHz with tMegaSD and tPana Redirect  (SMART cmd $04)
..          ..                                                   ..
/7  approx. 8.06MHz with tMegaSD and tPana Redirect  (SMART cmd $0A)
/r  restore default (dipswitch settings)
⚠️ **GitHub.com Fallback** ⚠️