PCXT Core 10Mhz CPU Speed Possible?

suww37
Posts: 173
Joined: Sun Apr 17, 2022 2:24 am
Has thanked: 7 times
Been thanked: 15 times

PCXT Core 10Mhz CPU Speed Possible?

Unread post by suww37 »

Currently, the cpu speed of the pcxt core can be adjusted in three steps: 4.77Mhz, 7Mhz, and 14Mhz. By the way, the xt pc I used a long time ago had a cpu speed of 10Mhz. I want to recreate this CPU speed, but I wonder if this is possible in the pcxt core now.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

suww37 wrote: Thu Nov 03, 2022 12:59 pm Currently, the cpu speed of the pcxt core can be adjusted in three steps: 4.77Mhz, 7Mhz, and 14Mhz. By the way, the xt pc I used a long time ago had a cpu speed of 10Mhz. I want to recreate this CPU speed, but I wonder if this is possible in the pcxt core now.
It may be possible, register your request here:

https://github.com/MiSTer-devel/PCXT_MiSTer/issues
suww37
Posts: 173
Joined: Sun Apr 17, 2022 2:24 am
Has thanked: 7 times
Been thanked: 15 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by suww37 »

spark2k06 wrote: Thu Nov 03, 2022 6:31 pm
suww37 wrote: Thu Nov 03, 2022 12:59 pm Currently, the cpu speed of the pcxt core can be adjusted in three steps: 4.77Mhz, 7Mhz, and 14Mhz. By the way, the xt pc I used a long time ago had a cpu speed of 10Mhz. I want to recreate this CPU speed, but I wonder if this is possible in the pcxt core now.
It may be possible, register your request here:

https://github.com/MiSTer-devel/PCXT_MiSTer/issues
Thank you . I've posted this in the github issue.
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 195 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Malor »

An entirely different solution might be to look at the Monotech NuXT; it's a $320 unit that's basically the "best possible XT". It supports an 8088 or NEC V20 CPU, an optional 8087, has onboard VGA and IDE, and ISA slots. Its top speed is 9.5Mhz, which is why your request for 10MHz reminded me of it.

The Mister's PCXT core may well get pretty close, but that's almost exactly what you're asking for. If $320 (and scaring up a VGA monitor and sound card) doesn't put you off, it would probably fit your use case closer than anything else I've seen.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

It is also not necessary to make a NuXT/micro8088 clone. It is interesting to have an additional and intermediate speed option between what we have right now, without the need to remove the 14.318Mhz one 🙂
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 195 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Malor »

I hope the PCXT core will someday match the NuXT, but it using an actual 8088 (or V20) means that it's not even a clone, it's more or less the original thing. (sans mucking about with MFM and RLL disks, anyway. Those things sucked.) It has physical ISA ports and everything.
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Caldor »

Malor wrote: Fri Nov 04, 2022 10:58 am I hope the PCXT core will someday match the NuXT, but it using an actual 8088 (or V20) means that it's not even a clone, it's more or less the original thing. (sans mucking about with MFM and RLL disks, anyway. Those things sucked.) It has physical ISA ports and everything.
What does it do if it uses an actual 8088 CPU? It is a new PCXT motherboard?
bbond007
Top Contributor
Posts: 531
Joined: Tue May 26, 2020 5:06 am
Has thanked: 87 times
Been thanked: 211 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by bbond007 »

Malor wrote: Fri Nov 04, 2022 10:58 am (sans mucking about with MFM and RLL disks, anyway. Those things sucked.)
Back in the day I had a bunch of MicroScience 85MB MFM drives that I reformatted with RLL controller to over 100MB - overclocking your storage, that was the part that did not suck :)
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 195 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Malor »

My first hard drive was, um, I think it was a used Miniscribe 30MB. It was a double-height 5.25" drive, and it sounded like a jet engine when it started spooling up.

I didn't have any docs because I bought it used, so I assumed it was RLL because it was 30MB. This turned out to be grievously wrong; running it in RLL mode was Not A Good Idea. I mean, it looked like it worked fine, but then the data got corrupted. It turned out to be a 30MB MFM drive, and I had to buy a new controller to make it work properly. Fortunately, they weren't horribly expensive, but I didn't make a lot back then, and the mistake was kind of painful.

And then, of course, I had to do the whole low-level format dance, typing in the known bad sectors into the horrible interface, and determining (through experimentation -- no docs) the sector interleave. I think the fastest mode ended up being 3:1. I had to try each interleave separately, doing a new low-level format, partitioning the drive, doing a high-level format, and then benchmarking. I had to do it at 1:1, 2:1, 3:1, and 4:1, which was finally slower than the prior figure. So then I redid it as 3:1, new partition, new high level format, install DOS, finally done. What a huge PITA those old drives were. Yuck.

Quite a few XTs got refitted with IDE controllers, I suspect. I didn't do that on mine, because it was a PC Bridgeboard inside an Amiga. I was a little suspicious of IDE when it first started shipping, but it didn't take me long to convert. And yay, no more thinking about sector interleave.

edit: oh, for the peanut gallery, MFM was the first encoding format on hard disks. RLL could put 50% more data onto the same platter, but it took better drive electronics to support it. Some existing MFM drives ran fine in RLL mode, which meant you could magically turn a 20MB drive into a 30MB one. Lots of people did this. My particular drive couldn't handle RLL encoding; it did 30MB the old fashioned way, by offering more physical space. Had it been good enough to support RLL, I could have put 45MB on it instead. No dice. I was stuck at 30.

second edit: I also remember being kind of proud that I could keep my entire software "world", everything I needed to use the machine daily, under ten megabytes, which gave me twenty entire megs for games, or, later, a BBS. That, um, didn't last.
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 195 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Malor »

I just remembered that interleave was a function of the controller, not the drive. My controller was new, but it probably didn't have much documentation, so I had to do all that experimentation.

A good/fast controller could read and write sectors from and to the drive sequentially. The slow one I bought needed to skip two sectors before it was ready to read another, so they had to be interleaved on the platter. (something like 1:?:?:2:?:?:3 -- all the sectors were on the cylinder, but arranged so that each was three sectors after the last.) This cut transfer speed to one-third, but running too tight an interleave was like 1/16th speed.

All that nonsense just went away with IDE. Everything was just 1:1 and you didn't have to worry about low-level formats anymore.
bbond007
Top Contributor
Posts: 531
Joined: Tue May 26, 2020 5:06 am
Has thanked: 87 times
Been thanked: 211 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by bbond007 »

Malor wrote: Sat Nov 05, 2022 7:05 am And then, of course, I had to do the whole low-level format dance, typing in the known bad sectors into the horrible interface, and determining (through experimentation -- no docs) the sector interleave. I think the fastest mode ended up being 3:1. I had to try each interleave separately, doing a new low-level format, partitioning the drive, doing a high-level format, and then benchmarking. I had to do it at 1:1, 2:1, 3:1, and 4:1, which was finally slower than the prior figure. So then I redid it as 3:1, new partition, new high level format, install DOS, finally done. What a huge PITA those old drives were. Yuck.
From my experience 1/2 height MFM drives typically had a better chance of working with RLL then the full.

You just could use SpinRite and it would find the optimum interleave, thoroughly test and map out bad blocks, etc...
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 195 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Malor »

Spinrite was new enough at the time that I'd never heard of it, and probably couldn't have afforded it anyway. And most of my friends were Amiga- or ST-based, so pirating it wouldn't have been easy, either.

I used it a lot later on, but on my very first hard drive, I had to do everything manually.

I still remember being suspicious of IDE. I knew how to do things properly, and I was distrustful that the hard drive companies would do a better job. I was quickly convinced otherwise, however.

Heh, another tidbit: you had to use the DOS debug command to jump directly into the ROM on the MFM controller to do a low-level format. The command was roughly like G=C800:5.... go at address C800 with argument 5.

Don't miss that any, but of course I do like to show off that I remember that crap. :-)
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Newsdee »

Malor wrote: Sun Nov 06, 2022 9:12 pm Don't miss that any, but of course I do like to show off that I remember that crap. :-)
This is the place to talk about that crap :)
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

As a matter of fact, nothing but 4.77 MHz can be considered cycle accurate.
The current 7MHz and 14MHz should be faster than they actually are.
Same would be true if 10 MHz were available.
This reason is that when 7MHz or 14MHz is selected, it forces BIU_CLK_COUNTER_ZERO in biu_max to 1.
If we want these to be cycle accurate, we need to change the decrement value of clock_cycle_counter for each selected clock.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

I think it would be nice to have 4.77, 7.16 and 9.58 MHz with cycle accuracy, and then an additional one with as much speed (Max. speed) as we can and without cycle accuracy... that would cover everything.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

Cycle accurate test. (And Added 10MHz)
Attachments
PCXT.zip
(1.21 MiB) Downloaded 125 times
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

spark2k06 wrote: Sun Nov 13, 2022 10:43 am I think it would be nice to have 4.77, 7.16 and 9.58 MHz with cycle accuracy, and then an additional one with as much speed (Max. speed) as we can and without cycle accuracy... that would cover everything.
Added cycle accurate switch.
Attachments
PCXT.zip
(1.21 MiB) Downloaded 125 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

kitune-san wrote: Sun Nov 13, 2022 11:44 am
spark2k06 wrote: Sun Nov 13, 2022 10:43 am I think it would be nice to have 4.77, 7.16 and 9.58 MHz with cycle accuracy, and then an additional one with as much speed (Max. speed) as we can and without cycle accuracy... that would cover everything.
Added cycle accurate switch.
Thank you. I will check it as soon as I can, the disabling of the cycle accuracy only makes sense with maximum speed, I will work on the menu in this sense.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

User avatar
pgimeno
Top Contributor
Posts: 710
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by pgimeno »

Is cycle accuracy beyond 4.77 MHz really important?

I mean, 4.77 MHz was the frequency of the original PC. Many authors adapted the speed of their programs to the speed they experienced in that computer, like they did in many other computers until that time, where basically all PCs, like all Spectrums, all C64s, all MSXs, etc. ran at the same speed.

But when faster models appeared, programmers quickly realized that they had to write their programs keeping in mind that they should run at any speed, and not at the specific speed of any of the faster models. I doubt there are any programs that only run properly on, say, a cycle-accurate 10 MHz core or emulator or real PC. Cycle accuracy is awesome for compatibility with real hardware in machines that were all made the same speed, but for any PC beyond the 4.77 MHz model, it's not so compelling.

For the same reason, I wonder if a 286 core makes sense at all, given that ao486 covers basically all of the needs that a 286 is capable of. Beyond the preservation of specific popular computers like the 5160 or the PS/2, I don't see a need for such a core.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

pgimeno wrote: Sun Nov 13, 2022 12:53 pm Is cycle accuracy beyond 4.77 MHz really important?

I mean, 4.77 MHz was the frequency of the original PC. Many authors adapted the speed of their programs to the speed they experienced in that computer, like they did in many other computers until that time, where basically all PCs, like all Spectrums, all C64s, all MSXs, etc. ran at the same speed.

But when faster models appeared, programmers quickly realized that they had to write their programs keeping in mind that they should run at any speed, and not at the specific speed of any of the faster models. I doubt there are any programs that only run properly on, say, a cycle-accurate 10 MHz core or emulator or real PC. Cycle accuracy is awesome for compatibility with real hardware in machines that were all made the same speed, but for any PC beyond the 4.77 MHz model, it's not so compelling.

For the same reason, I wonder if a 286 core makes sense at all, given that ao486 covers basically all of the needs that a 286 is capable of. Beyond the preservation of specific popular computers like the 5160 or the PS/2, I don't see a need for such a core.
I was thinking the same thing at first.
Sometimes individual frequencies are required, as in this topic, so I thought, well, I can try.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

kitune-san wrote: Sun Nov 13, 2022 1:10 pm
pgimeno wrote: Sun Nov 13, 2022 12:53 pm Is cycle accuracy beyond 4.77 MHz really important?

I mean, 4.77 MHz was the frequency of the original PC. Many authors adapted the speed of their programs to the speed they experienced in that computer, like they did in many other computers until that time, where basically all PCs, like all Spectrums, all C64s, all MSXs, etc. ran at the same speed.

But when faster models appeared, programmers quickly realized that they had to write their programs keeping in mind that they should run at any speed, and not at the specific speed of any of the faster models. I doubt there are any programs that only run properly on, say, a cycle-accurate 10 MHz core or emulator or real PC. Cycle accuracy is awesome for compatibility with real hardware in machines that were all made the same speed, but for any PC beyond the 4.77 MHz model, it's not so compelling.

For the same reason, I wonder if a 286 core makes sense at all, given that ao486 covers basically all of the needs that a 286 is capable of. Beyond the preservation of specific popular computers like the 5160 or the PS/2, I don't see a need for such a core.
I was thinking the same thing at first.
Sometimes individual frequencies are required, as in this topic, so I thought, well, I can try.
True, but if we can get it for free, why not? We're providing different versions of the same processor, someone might appreciate the speed they remember certain games running on their CPU model... and then we offer the maximum speed for everything else.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

Sorry, the 10 MHz clock was incorrectly set to 5 MHz.
A corrected version will be provided.
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by Newsdee »

pgimeno wrote: Sun Nov 13, 2022 12:53 pm For the same reason, I wonder if a 286 core makes sense at all, given that ao486 covers basically all of the needs that a 286 is capable of.
ao486 is finicky to downclock... so even with the PCXT core, there is a small niche for a 286 or 386 that can run between 15Mhz to 33Mhz.

Edit: its not just about Mhz speed too, some games would run better with a 16bit CPU; so we'd hit a limit with the XT at some point.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

Above 14 MHz cannot be raised due to the SDRAM module. SDRAM module needs to be improved.
Once the RAM is improved, it should be possible to raise it to 25 MHz.
Above that, the frequency of clk_chipset needs to be increased to 100MHz. However, this will be difficult as many timing errors are likely to occur.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by kitune-san »

kitune-san wrote: Sun Nov 13, 2022 2:16 pm Sorry, the 10 MHz clock was incorrectly set to 5 MHz.
A corrected version will be provided.
Fix version
Attachments
PCXT.zip
(1.23 MiB) Downloaded 175 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

I have merged the commits, and removed the cycle-accurate option to include it only in the maximum speed clock (I attach the binary):

https://github.com/MiSTer-devel/PCXT_Mi ... prerelease

cpu_speed.png
cpu_speed.png (4.06 KiB) Viewed 3522 times

The maximum speed option is currently based on a clock of 14.318Mhz without cycle-accurate, in the future this could be increased.

I change 10Mhz for 9.54MHz, but only at the text level... now it may be approximate, but that is the maximum real speed of the versions of the chip that were ready for it.
MicroCoreLabs wrote:
kitune-san wrote: Sun Nov 13, 2022 2:30 pm Above 14 MHz cannot be raised due to the SDRAM module. SDRAM module needs to be improved.
Once the RAM is improved, it should be possible to raise it to 25 MHz.
Above that, the frequency of clk_chipset needs to be increased to 100MHz. However, this will be difficult as many timing errors are likely to occur.
Even less than 25MHz could be the maximum limit imposed by the MCL86 architecture, if I'm not mistaken... I think @MicroCoreLabs said something about that.

In any case, more than enough for an Intel 8088-based CPU.
Attachments
PCXT-PRERELEASE.zip
(1.22 MiB) Downloaded 144 times
MicroCoreLabs
Core Developer
Posts: 96
Joined: Sun Jun 05, 2022 6:12 pm
Location: California
Has thanked: 6 times
Been thanked: 86 times
Contact:

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by MicroCoreLabs »

Even less than 25MHz could be the maximum limit imposed by the MCL86 architecture, if I'm not mistaken... I think @MicroCoreLabs said something about that.
Did I say that?

I covered this in a previous post, but you can achieve the greatest acceleration by changing the BIU to complete DRAM accesses outside of the local bus state machine.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by spark2k06 »

MicroCoreLabs wrote: Sun Nov 13, 2022 5:20 pm
Even less than 25MHz could be the maximum limit imposed by the MCL86 architecture, if I'm not mistaken... I think @MicroCoreLabs said something about that.
Did I say that?

I covered this in a previous post, but you can achieve the greatest acceleration by changing the BIU to complete DRAM accesses outside of the local bus state machine.
Thanks for the clarification, I didn't remember already ;-)
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: PCXT Core 10Mhz CPU Speed Possible?

Unread post by thorr »

Just to add to earlier about the need for speeds, some games do not work right if the PC is too fast. In ao486, sometimes you have to disable the caches to slow things down to get programs to work right such as the floppy version of Kings Quest 5 and the MT32 music sounding wrong, or The Black Cauldron joystick detection. On the flipside, faster speeds allow older PC's to run newer software better. In general some games and programs don't require a specific speed and benefit from faster speeds. I think replicating the speeds of actual XT's with Turbo options is totally worth it for the sake of hardware preservation if nothing else. I almost want to say there were 12 MHz XT's also, but I might be remembering wrong.
Post Reply