First post, by middlenibble
- Rank
- Newbie
Hi all,
I'm trying to configure a MartyPC box which performs like an 8088 at 8 MHz but can't make it work. It's either 4.77 MHz or something above that via the turbo button. I appreciate any insight.
Hi all,
I'm trying to configure a MartyPC box which performs like an 8088 at 8 MHz but can't make it work. It's either 4.77 MHz or something above that via the turbo button. I appreciate any insight.
Turbo should be 7.3MHz. In what way are you seeing it way above that?
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc
I'm using the ibm5160_xtide config.
Without turbo, Topbench scores 4 and classifies the box as an Intel 8088 @ 4.77 MHz.
With turbo, the box scores 13 as an NEC V3 @ 8MHz.
middlenibble wrote on 2026-02-20, 14:18:I'm using the ibm5160_xtide config.
Without turbo, Topbench scores 4 and classifies the box as an Intel 8088 @ 4.77 MHz.
With turbo, the box scores 13 as an NEC V3 @ 8MHz.
That's not incredibly far off the mark, although I'm not sure why it's picking up an NEC for that. Do we have results to compare to from a real 8MHz system?
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc
FWIW turbo is upwards of 14 MHz for me.
World's foremost 486 enjoyer.
keenmaster486 wrote on 2026-02-20, 18:08:FWIW turbo is upwards of 14 MHz for me.
It really shouldn't be. Can you take a screenshot of your performance window with turbo on?
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc
I apologise for the confusion - I had tampered with MartyPC's the source code. Here's the results from the v0.4.1 tag on turbo. I'm still using the ibm5160_xtide config.
GloriousCow wrote on 2026-02-21, 01:47:keenmaster486 wrote on 2026-02-20, 18:08:FWIW turbo is upwards of 14 MHz for me.
It really shouldn't be. Can you take a screenshot of your performance window with turbo on?
Here you go.
For what it's worth this has been very useful for my current project, and I have been kind of hoping this kind of "clock tripling" behavior could be retained in future versions even if it's not what it's supposed to be doing right now.
World's foremost 486 enjoyer.
Ah, right, I wanted a faster CPU at some point in development so I changed the clock divisor to 1, and that got checked in. Alas.
If you want to set it back to 3 for a more realistic experience, here's the line to change.
https://github.com/dbalsom/martypc/blob/28134 … _config.rs#L406
cpu_turbo_factor: ClockFactor::Divisor(1),
change that to
cpu_turbo_factor: ClockFactor::Divisor(3),
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc
GloriousCow wrote on 2026-02-22, 01:34:change that to […]
change that to
cpu_turbo_factor: ClockFactor::Divisor(3),
Thanks! In my setup that locked turbo to the default speed (4.77MHz), a divisor of 2 sets it to 7.16MHz. Slightly slower than what I was going for but it'll do 😀
GloriousCow wrote on 2026-02-22, 01:34:Ah, right, I wanted a faster CPU at some point in development so I changed the clock divisor to 1, and that got checked in. Al […]
Ah, right, I wanted a faster CPU at some point in development so I changed the clock divisor to 1, and that got checked in. Alas.
If you want to set it back to 3 for a more realistic experience, here's the line to change.
https://github.com/dbalsom/martypc/blob/28134 … _config.rs#L406cpu_turbo_factor: ClockFactor::Divisor(1),change that to
cpu_turbo_factor: ClockFactor::Divisor(3),
Neat. Could there be a "Super turbo" option in the future? A clock of 14.31 MHz brings MartyPC to about the performance of a slow 286, which has been useful to me.
World's foremost 486 enjoyer.
middlenibble wrote on 2026-02-22, 07:36:GloriousCow wrote on 2026-02-22, 01:34:change that to […]
change that to
cpu_turbo_factor: ClockFactor::Divisor(3),Thanks! In my setup that locked turbo to the default speed (4.77MHz), a divisor of 2 sets it to 7.16MHz. Slightly slower than what I was going for but it'll do 😀
You could set the base clock to 24MHz to get a normally 8MHz CPU, the main issue will be that the PIT and CGA will run too fast. Eventually I do want to be able to support multiple crystal sources.
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc
GloriousCow wrote on 2026-02-22, 16:36:You could set the base clock to 24MHz to get a normally 8MHz CPU, the main issue will be that the PIT and CGA will run too fast. Eventually I do want to be able to support multiple crystal sources.
If a single source is easier to implement, you might also go the route of the FE2010A systems like the Schneider Euro PC. Those systems use a 28.6MHz primary clock, and can get to 2*4.77 = 9.54MHz by changing from /6 to /3. There also is an intermediate option, IIRC 7.16, which is /4. The net effect of /6 and /4 is already available in MartyPC right now (as /3 and /2), but doubling the primary clock allows a virtual /1.5.
mkarcher wrote on 2026-02-22, 19:50:GloriousCow wrote on 2026-02-22, 16:36:You could set the base clock to 24MHz to get a normally 8MHz CPU, the main issue will be that the PIT and CGA will run too fast. Eventually I do want to be able to support multiple crystal sources.
If a single source is easier to implement, you might also go the route of the FE2010A systems like the Schneider Euro PC. Those systems use a 28.6MHz primary clock, and can get to 2*4.77 = 9.54MHz by changing from /6 to /3. There also is an intermediate option, IIRC 7.16, which is /4. The net effect of /6 and /4 is already available in MartyPC right now (as /3 and /2), but doubling the primary clock allows a virtual /1.5.
Good info to know - I don't think there will be an issue implementing multiple crystals, just haven't gotten around to it yet.
MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc