A Real PC XT Core Perhaps?
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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:
* 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:
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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:
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 :
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
- Newsdee
- Top Contributor
- Posts: 845
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 101 times
- Been thanked: 223 times
Re: A Real PC XT Core Perhaps?
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.
- Newsdee
- Top Contributor
- Posts: 845
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 101 times
- Been thanked: 223 times
Re: A Real PC XT Core Perhaps?
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
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
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
Thanks! I'll keep it in mind for future releasesNewsdee 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
-
- Top Contributor
- Posts: 567
- Joined: Fri Jan 22, 2021 4:36 pm
- Has thanked: 74 times
- Been thanked: 273 times
Re: A Real PC XT Core Perhaps?
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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 ... PCEM with CGA graphics board, too.
Edit: Apparently, in the DosBox configuration it is possible to change the graphics card, but by default it is set to SVGA:
However, there are several games that use the mentioned special palette... apart from Double Dragon, we have for example Tapper or Solomon's Key:
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
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
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
-
- 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?
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)
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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.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 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?
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 wrote: ↑Wed Jan 19, 2022 9:33 am Here are colours for real composite CGA:
https://int10h.org/blog/2018/06/taking- ... tv-screen/
Re: A Real PC XT Core Perhaps?
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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
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
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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.
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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:
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
Looks like sorgelig is going to take a look at the core
https://github.com/MiSTer-devel/Main_Mi ... 1032938435
https://github.com/MiSTer-devel/Main_Mi ... 1032938435
Newsdee wrote: ↑Tue Dec 28, 2021 1:34 pmDefinitely 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?
Loving it!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 pmDefinitely 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/
-
- Top Contributor
- Posts: 450
- Joined: Sun May 24, 2020 7:17 pm
- Has thanked: 24 times
- Been thanked: 95 times
- kathleen
- Top Contributor
- Posts: 415
- Joined: Fri Jun 26, 2020 4:23 am
- Location: Belgium
- Has thanked: 228 times
- Been thanked: 137 times
Re: A Real PC XT Core Perhaps?
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.
かすりん
- Newsdee
- Top Contributor
- Posts: 845
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 101 times
- Been thanked: 223 times
Re: A Real PC XT Core Perhaps?
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.
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
I have found out the reason why several Dinamic games like Army Moves have graphical glitches like this:
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.
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?
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.
- spark2k06
- Core Developer
- Posts: 871
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 963 times
Re: A Real PC XT Core Perhaps?
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
-
- Top Contributor
- Posts: 1323
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 438 times
- Been thanked: 424 times
Re: A Real PC XT Core Perhaps?
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?
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