Page 3 of 4

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 08, 2022 8:07 am
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 11864 times

Re: A Real PC XT Core Perhaps?

Posted: Mon Jan 10, 2022 6:08 am
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

Re: A Real PC XT Core Perhaps?

Posted: Mon Jan 10, 2022 6:52 am
by kathleen
@spark2k06,
Thank you for continuing your hard work on this core. This is really appreciated.

Re: A Real PC XT Core Perhaps?

Posted: Tue Jan 11, 2022 6:57 am
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 11862 times

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 15, 2022 10:33 am
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.

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 15, 2022 10:43 am
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

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 15, 2022 2:07 pm
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

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 15, 2022 2:08 pm
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 :-)

Re: A Real PC XT Core Perhaps?

Posted: Sat Jan 15, 2022 3:33 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 5:40 am
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 11234 times
ddragon1_red.jpg
ddragon1_red.jpg (99.72 KiB) Viewed 11234 times
ddragon1_cyan.jpg
ddragon1_cyan.jpg (111.13 KiB) Viewed 11234 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 11234 times
solomon_red.jpg
solomon_red.jpg (168.03 KiB) Viewed 11234 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

Re: A Real PC XT Core Perhaps?

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

https://int10h.org/blog/2018/06/taking- ... tv-screen/

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 2:53 pm
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)

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 4:44 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 8:59 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 9:23 pm
by akeley
Mills wrote: Wed Jan 19, 2022 8:59 pm Any composite output should generate that colors on CRTs.
Any?

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 19, 2022 10:47 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Sun Jan 23, 2022 9:35 am
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

Re: A Real PC XT Core Perhaps?

Posted: Wed Jan 26, 2022 6:57 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Sun Jan 30, 2022 8:01 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Wed Feb 09, 2022 2:36 pm
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/

Re: A Real PC XT Core Perhaps?

Posted: Wed Feb 09, 2022 5:00 pm
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!

Re: A Real PC XT Core Perhaps?

Posted: Wed Feb 09, 2022 6:45 pm
by breiztiger
Cool that sorg look at this core

Re: A Real PC XT Core Perhaps?

Posted: Wed Feb 09, 2022 7:30 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Fri Feb 11, 2022 5:28 am
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.

Re: A Real PC XT Core Perhaps?

Posted: Tue Feb 15, 2022 8:07 am
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 9140 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.

Re: A Real PC XT Core Perhaps?

Posted: Tue Feb 15, 2022 10:43 am
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.

Re: A Real PC XT Core Perhaps?

Posted: Tue Feb 15, 2022 11:42 am
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 :-)

Re: A Real PC XT Core Perhaps?

Posted: Tue Feb 15, 2022 1:41 pm
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.

Re: A Real PC XT Core Perhaps?

Posted: Tue Feb 15, 2022 5:06 pm
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

Re: A Real PC XT Core Perhaps?

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