A Real PC XT Core Perhaps?

For topics which do not fit in other specific forums.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Beta 0.4

* Many fixes, at the level of timer, pc speaker, cpu, etc ... thanks to the VGA fork for Mist by gyurco (Tapper game music now works too :) )
* Adlib support thanks to @jotego jtopl2 module

Soon...




On the other hand, I keep thinking about how to modify the behavior of the PUSH instruction so that it behaves as it would in an 8086/80186 ... I know the change would probably take place here, but not easy to change:

push.jpg
push.jpg (42.33 KiB) Viewed 9679 times
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Beta 0.4 now available in my repository of GitHub, both sources and updated binaries.
  • Many fixes, at the level of timer, pc speaker, cpu, etc ... thanks to the VGA fork for Mist by gyurco (Tapper game music now works too :) )
  • Adlib support thanks to @jotego jtopl2 module
  • Selectable processor speed with CTRL + ALT + Keypad (+ or -): 4.77Mhz (Initial), 9.54Mhz y 19,08Mhz, with bus base and cache speed at 4.77MHz
  • The output change from monochrome to color is now done with CTRL + ALT + Bloq Despl, instead of just Bloq Despl
User avatar
kathleen
Top Contributor
Posts: 409
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 224 times
Been thanked: 131 times

Re: A Real PC XT Core Perhaps?

Unread post by kathleen »

@spark2k06,
Thank you for continuing your hard work on this core. This is really appreciated.

かすりん

User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

I have already solved the issue of the behavior of the PUSH SP instruction, these would be the changes in the IP core:

https://github.com/spark2k06/next186lit ... 1c4c306d76

I save these changes in another branch for later, when I have several modifications, I join everything in the master branch.

So now it would behave like this:

Code: Select all

 MOV [SP-2],SP-2
 SUB SP,2
And therefore, with the same result as an 8086/186. In fact, not only does the Turbo Debugger no longer hang and it is recognized correctly, it is also correctly recognized by other programs such as CheckIT that previously detected a 286 :D :

cpu_186.jpg
cpu_186.jpg (59.75 KiB) Viewed 9677 times
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: A Real PC XT Core Perhaps?

Unread post by Newsdee »

spark2k06 wrote: Mon Jan 10, 2022 6:08 am [*] The output change from monochrome to color is now done with CTRL + ALT + Bloq Despl, instead of just Bloq Despl
By the way, Bloq Despl is Scroll Lock in Engligh keyboards :)

Amazing progress on the core! I hope to see it on MiSTer at some point... I do have a ZXUno but I haven't used it in a while.
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: A Real PC XT Core Perhaps?

Unread post by Newsdee »

Not sure if you have the LEs on the FPGA for it, but perhaps you could add GameBlaster (C/MS) support using Sorgelig's implementation of the SA1099 soundchip:
https://github.com/MiSTer-devel/ao486_M ... saa1099.sv

It was a niche card but it would fit well with the specialized theme of this core (with e.g. Tandy support)
Here are some sound recordings:
https://www.youtube.com/watch?v=ZwgZzuFXzLc
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Beta 0.5 now available in my repository of GitHub, both sources and updated binaries.
  • * Fix JTOPL2 module instances timings
    * Fix keyboard module instances timings, all keyboards are now detected again
    * Same behavior as a 8086/80186 with PUSH SP, correct identification of the CPU model by the programs
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Newsdee wrote: Sat Jan 15, 2022 10:43 am Not sure if you have the LEs on the FPGA for it, but perhaps you could add GameBlaster (C/MS) support using Sorgelig's implementation of the SA1099 soundchip:
https://github.com/MiSTer-devel/ao486_M ... saa1099.sv

It was a niche card but it would fit well with the specialized theme of this core (with e.g. Tandy support)
Here are some sound recordings:
https://www.youtube.com/watch?v=ZwgZzuFXzLc
Thanks! I'll keep it in mind for future releases :-)
Bas
Top Contributor
Posts: 518
Joined: Fri Jan 22, 2021 4:36 pm
Has thanked: 60 times
Been thanked: 225 times

Re: A Real PC XT Core Perhaps?

Unread post by Bas »

Gameblaster chips came as an add-on for Soundblaster 1.5 and was part of the package with the 1.0 so it was less niche than the actual Gameblaster product itself.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

In CGA 320x200x4 there is a palette where cyan changes to red activating the B&W bit, the CGA emulation that VGA cards have, and even DOSBOX doesn't render it well. TubeTime's Graphics Gremlin and the PCXT CGA core for ZXUno that uses it, of course yes :D ... PCEM with CGA graphics board, too.

bit2_cga_reg.jpg
bit2_cga_reg.jpg (28.8 KiB) Viewed 9049 times
ddragon1_red.jpg
ddragon1_red.jpg (99.72 KiB) Viewed 9049 times
ddragon1_cyan.jpg
ddragon1_cyan.jpg (111.13 KiB) Viewed 9049 times

Edit: Apparently, in the DosBox configuration it is possible to change the graphics card, but by default it is set to SVGA:

Code: Select all

machine=svga_s3
However, there are several games that use the mentioned special palette... apart from Double Dragon, we have for example Tapper or Solomon's Key:

tapper_red.jpg
tapper_red.jpg (152.27 KiB) Viewed 9049 times
solomon_red.jpg
solomon_red.jpg (168.03 KiB) Viewed 9049 times

But a simple search on Google Images shows how DosBox is used with the default settings, and there is therefore much unknown about how the developer intended these games to look like:

https://www.google.es/search?q=tapper+c ... =isch&sa=X

https://www.google.es/search?q=solomons ... c&tbm=isch
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: A Real PC XT Core Perhaps?

Unread post by akeley »

Here are colours for real composite CGA:

https://int10h.org/blog/2018/06/taking- ... tv-screen/
caffeinekid
Posts: 75
Joined: Wed Nov 04, 2020 10:03 am
Has thanked: 21 times
Been thanked: 14 times

Re: A Real PC XT Core Perhaps?

Unread post by caffeinekid »

It looks really good. Are there any plans for this on MiSTer as well as Uno? I imagine a lot of us here only have the one fpga option to run things on, like myself. (Until my ZX Next finally comes with it's possible spartan-7 according to the latest kickstarter update)
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

caffeinekid wrote: Wed Jan 19, 2022 2:53 pm It looks really good. Are there any plans for this on MiSTer as well as Uno? I imagine a lot of us here only have the one fpga option to run things on, like myself. (Until my ZX Next finally comes with it's possible spartan-7 according to the latest kickstarter update)
I don't have enough knowledge at the moment to make the port to MiSTer but I suspect that it won't be easy... proof of this is that otherwise, it would probably already be done. It requires effort, and I believe that for this reason there must be a significant interest on the part of those who have the capacity to carry it out.

I will continue to make improvements within my possibilities and the possibilities and resources of the ZXUno, which are much more limited than those of MiSTer.
Mills
Posts: 83
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 29 times

Re: A Real PC XT Core Perhaps?

Unread post by Mills »

akeley wrote: Wed Jan 19, 2022 9:33 am Here are colours for real composite CGA:

https://int10h.org/blog/2018/06/taking- ... tv-screen/
Any composite output should generate that colors on CRTs. If you use LCD, it will be easy on mister, because we can take the code for shadow masks to generate false colors according to the pixel arrangement.
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: A Real PC XT Core Perhaps?

Unread post by akeley »

Mills wrote: Wed Jan 19, 2022 8:59 pm Any composite output should generate that colors on CRTs.
Any?
Mills
Posts: 83
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 29 times

Re: A Real PC XT Core Perhaps?

Unread post by Mills »

akeley wrote: Wed Jan 19, 2022 9:23 pm
Mills wrote: Wed Jan 19, 2022 8:59 pm Any composite output should generate that colors on CRTs.
Any?
I don't really know, that's what I saw on youtube videos, they say false color is produced by the tv/monitor and the composite cable making strange things.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

I've removed the cache, which required reimplementing the 8-bit SRAM controller built into the ZXUno. My idea is to dispense with it to achieve a more accurate cycle and have more control of the clocks.

The core is not working now, something is not working and I still don't know what it is. I have carried out the simulation of the new SRAM module, both for writing and reading, I attach PDFs... the simulation results do not show errors in the timing of the signals and the results of din / dout, sram_a and sram_d.

Let's see if someone can think of something, it would be very appreciated because I've been stopped for a few days for this reason. The changes:

https://github.com/spark2k06/next186lit ... 95a8ed7463
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

I consider the task of removing the cache completely from this core to be ruled out.

The implementation of the cache and the BIU in the Next186 are excessively complex, any manipulation attempt is unsuccessful, destabilizing the entire system.

I'm going to give myself some time off with this core, because it's already exhausting, however the exact cycle with Next186 would be totally ruled out for now.

In the future, the ideal would be to integrate it with the Zet Processor project, or better yet, with the MCL86 to achieve the exact long-awaited cycle. But for my part at least, that will be in the long term... now it's time to change projects.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Release 1 now available at my GitHub repository, both sources and binaries updated.

Stable version and closing of the first development cycle. As it is not easy to remove the cache due to an important dependency on the operation of Next186, in the future the possibility of replacing it with the project MCL86 from MicroCoreLabs will be evaluated, with the idea of ​​achieving exact cycle core with an 8088, and optional turbo modes of operation:
  • Fixed keyboard crash on restart with CTRL + ALT + DEL
  • 80186 at 12Mhz by default, instead of 4.77Mhz
  • Option Throttle Down with CTRL + ALT + [-], to return to normal mode CTRL + ALT + [+]... useful for older games that run very fast. On restart it returns to normal mode automatically.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

Looks like sorgelig is going to take a look at the core :)

https://github.com/MiSTer-devel/Main_Mi ... 1032938435
Newsdee wrote: Tue Dec 28, 2021 1:34 pm
jordi wrote: Tue Dec 28, 2021 9:11 am This core would be a must in Mister, as a preservation project! I vote for porting it.
Definitely has a niche for early games that run on composite colors, if it could simulate the artifacting as is done with the Apple II core.
This page lists 57 games that support that mode: https://www.mobygames.com/attribute/she ... Id,29/p,4/
jordi
Posts: 225
Joined: Thu Jun 11, 2020 10:11 am
Has thanked: 87 times
Been thanked: 71 times

Re: A Real PC XT Core Perhaps?

Unread post by jordi »

spark2k06 wrote: Wed Feb 09, 2022 2:36 pm Looks like sorgelig is going to take a look at the core :)

https://github.com/MiSTer-devel/Main_Mi ... 1032938435
Newsdee wrote: Tue Dec 28, 2021 1:34 pm
jordi wrote: Tue Dec 28, 2021 9:11 am This core would be a must in Mister, as a preservation project! I vote for porting it.
Definitely has a niche for early games that run on composite colors, if it could simulate the artifacting as is done with the Apple II core.
This page lists 57 games that support that mode: https://www.mobygames.com/attribute/she ... Id,29/p,4/
Loving it!
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: A Real PC XT Core Perhaps?

Unread post by breiztiger »

Cool that sorg look at this core
CPC-Power Staff
User avatar
kathleen
Top Contributor
Posts: 409
Joined: Fri Jun 26, 2020 4:23 am
Location: Belgium
Has thanked: 224 times
Been thanked: 131 times

Re: A Real PC XT Core Perhaps?

Unread post by kathleen »

This is a very good news if Sorg is willing to look at the core, ! I really cross my fingers to have a real 8088 PC clone on the Mister. Hope to see the graphic cards from that era as well, like on the ZXuno, the CGA and in addition to this, the Hercule mono card for the applications.

かすりん

User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: A Real PC XT Core Perhaps?

Unread post by Newsdee »

The ao486 core has the FPGA space almost full, and is tricky to compile so annoying to work on. But I wonder, maybe these features could be added as compile-time toggles?

In other words, use the same codebase to produce both the regular ao486 core and a "ao186" core that only contains the alternate features (lower CPU speeds baked in, CGA/Hercules graphics cards, Tandy sound, etc). Added benefit would be to allow saving 2 sets of configurations when we want to use one setup or the other.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

I have found out the reason why several Dinamic games like Army Moves have graphical glitches like this:

photo_2022-02-15_08-57-12.jpg
photo_2022-02-15_08-57-12.jpg (48.33 KiB) Viewed 6974 times

It is definitely due to the cache. I have been able to verify it with the ao486 core, in which it is possible to deactivate it in real time. Specifically, if the L1 cache is disabled, the glitches disappear.

sorgelig finally doesn't seem to show any interest in porting the core to MiSTer because access to the secondary SD is required (at the moment) and it's not possible to use VHD, but please know that we are actively working to achieve port to MiSTer with secundary SD. Short of a few details like setting SET 1 of keyboard scancodes, which I've already solved, and migrating to 16 bit SDRAM, you're almost is done, not immediately because we are limited in time.

From that moment on, I am sure that the entire developer community will resolve the problems that are still pending, such as disabling the cache, among others.
held
Posts: 209
Joined: Sun Sep 26, 2021 2:18 pm
Has thanked: 27 times
Been thanked: 31 times

Re: A Real PC XT Core Perhaps?

Unread post by held »

spark2k06 wrote: Sat Jan 01, 2022 6:38 am I have made an analysis of a game that does not work in this core , the Tapper. In this case, we get to the menu screen and it is possible to modify the options, but when starting it, it hangs at this point:
I would not use a Tapper as a testcase. as this is a 3rd party conversion. Tapper is a self-booter, and archive.org isn't a reputable source. It might work but you could also be chasing conversion errors.
User avatar
spark2k06
Core Developer
Posts: 865
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: A Real PC XT Core Perhaps?

Unread post by spark2k06 »

held wrote: Tue Feb 15, 2022 10:43 am
I would not use a Tapper as a testcase. as this is a 3rd party conversion. Tapper is a self-booter, and archive.org isn't a reputable source. It might work but you could also be chasing conversion errors.
Thanks for the information. Anyway, these modified versions of games also come in handy for me to solve intrinsic problems of the core ;)

In any case, it was a case that I solved it :-)
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: A Real PC XT Core Perhaps?

Unread post by akeley »

held wrote: Tue Feb 15, 2022 10:43 am archive.org isn't a reputable source
A strange notion. Archive is a repository of individual sources. Some might be less or more "reputable" but it mostly means more or less known. In any case we shouldn't dismiss them out of hand.
held
Posts: 209
Joined: Sun Sep 26, 2021 2:18 pm
Has thanked: 27 times
Been thanked: 31 times

Re: A Real PC XT Core Perhaps?

Unread post by held »

akeley wrote: Tue Feb 15, 2022 1:41 pm
held wrote: Tue Feb 15, 2022 10:43 am archive.org isn't a reputable source
A strange notion. Archive is a repository of individual sources. Some might be less or more "reputable" but it mostly means more or less known. In any case we shouldn't dismiss them out of hand.
Not really, there are loads of incomplete, broken, badly patched, bad uploads there. Developing with those is an accident waiting to happen. Better to use originals or a verified source. However for an end user archive.org is like candy-land :D
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: A Real PC XT Core Perhaps?

Unread post by akeley »

held wrote: Tue Feb 15, 2022 5:06 pm Better to use originals or a verified source.
I totally agree ;)
Post Reply