MiSTer PCXT

kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: MiSTer PCXT

Unread post by kitune-san »

I have modified KF8253 timer.
I am hoping this fix will improve the sound of the demo.

I will send a pull request if all is well.
Attachments
PCXT.zip
(1.14 MiB) Downloaded 131 times
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

kitune-san wrote: Tue Aug 30, 2022 11:43 am I have modified KF8253 timer.
I am hoping this fix will improve the sound of the demo.

I will send a pull request if all is well.
I can't tell you if it improves the sound, but I have tried the area5150 and 8088MPH demos and they work and sound fine. With some speed variations at times, but I put it down to serdrive and the read limit at 460.8Kbps.

As far as I'm concerned, you can pull request to the prerelease branch without any problem ;)
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: MiSTer PCXT

Unread post by kitune-san »

Previously, the melody did not play properly in two parts on 8088MPH.
I believe this has been improved with this fix.
Also, the last melody is now played.

AREA5150 has not been confirmed. Sorry.
kitune-san
Top Contributor
Posts: 401
Joined: Wed May 18, 2022 11:20 am
Has thanked: 127 times
Been thanked: 412 times

Re: MiSTer PCXT

Unread post by kitune-san »

Sorry, This problem appears to have already been fixed.
This is not an improvement due to my changes
kitune-san wrote: Tue Aug 30, 2022 1:13 pm Previously, the melody did not play properly in two parts on 8088MPH.
I believe this has been improved with this fix.
friendly.joe
Posts: 20
Joined: Mon May 25, 2020 5:16 am
Has thanked: 5 times

Re: MiSTer PCXT

Unread post by friendly.joe »

@spark, @MicroLab, @kitune-san

I'm closely following the development of this core.
Congratulations on the achievements done so far!
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: MiSTer PCXT

Unread post by MicroCoreLabs »

friendly.joe wrote: Tue Aug 30, 2022 2:55 pm @spark, @MicroLab, @kitune-san

I'm closely following the development of this core.
Congratulations on the achievements done so far!
What a friendly thing to say! Thank you friendly.joe!
User avatar
Juri
Posts: 46
Joined: Sun May 24, 2020 6:49 pm
Has thanked: 12 times
Been thanked: 4 times

Re: MiSTer PCXT

Unread post by Juri »

How to use this core? i only get a splas/disclaimer screen. thanks
JF
breiztiger
Top Contributor
Posts: 427
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 23 times
Been thanked: 93 times

Re: MiSTer PCXT

Unread post by breiztiger »

CPC-Power Staff
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

In order to facilitate the port to other SRAM-only FPGA projects, I have created a new branch and adapted it to SRAM:

https://github.com/MiSTer-devel/PCXT_Mi ... e/exp-sram

For MiSTer to work, a dual SDRAM/SRAM memory module is required:
sramisterium1.jpg
sramisterium1.jpg (43.21 KiB) Viewed 10562 times
I've done several tests, and everything seems to work fine... in fact, the implementation is much simpler than SDRAM.
kitune-san wrote:
@kitune-san, however, would you mind taking a look at this new branch in case you identify any improvement points in the SRAM driver implementation?

Thanks!
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: MiSTer PCXT

Unread post by pgimeno »

Caldor wrote: Tue Aug 30, 2022 7:01 am Did you try the symlink method? If you go to the Linux prompt on the MiSTer after connecting a USB floppy drive, you should be able to make a symlink to the floppy drive and if you then name that symlink something like floppydrive.img and place it in the PCXT or AO486 folder you should be able to mount that file in either of the cores and access whatever floppy is active in the drive. It probably still has some issues, since the controller in the core wont be the same as the controller for the USB drive... and I do not know if it can work with a bootable floppy.

I have not tried it myself yet, but I have read it being suggested a few times. If I test it myself, and it works for me, I will make a video about it.

Update:
Ah, seems to not be without issues. Flynnsbit wrote about his test of the symlink method. I guess for this to work fully, it will need support from the core and probably MiSTer Main and even then it might not be a good solution.
viewtopic.php?p=59252#p59252
I haven't tried myself either, but the method as described by flynnsbit in that post is wrong. Here's what I'd try:

1. Unmount the floppy if it's mounted (not sure if Linux will try to auto-mount it when it's connected; if it does, you will need to unmount it every time you reboot the MiSTer).
2. Create a symlink to the device (not the mount point folder!)
Note: there's no need to create an empty file at all. That serves no purpose, and may cause the `ln -s` command to fail.

For example, if the device is /dev/fd0:

umount /dev/fd0
ln -s /dev/fd0 /media/fat/games/ao486/floppy.img
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: MiSTer PCXT

Unread post by Caldor »

SRAM? What is that? I am pretty sure the two modules I have are 128MB SDRAM with no SRAM on them.

Does any other cores require SRAM?
dmckean
Posts: 307
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 387 times
Been thanked: 95 times

Re: MiSTer PCXT

Unread post by dmckean »

Caldor wrote: Wed Aug 31, 2022 12:41 pm SRAM? What is that? I am pretty sure the two modules I have are 128MB SDRAM with no SRAM on them.

Does any other cores require SRAM?
spark2k06 wrote: Wed Aug 31, 2022 11:17 am In order to facilitate the port to other SRAM-only FPGA projects
flynnsbit
Top Contributor
Posts: 550
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 179 times
Been thanked: 307 times
Contact:

Re: MiSTer PCXT

Unread post by flynnsbit »

pgimeno wrote: Wed Aug 31, 2022 12:31 pm
Caldor wrote: Tue Aug 30, 2022 7:01 am Did you try the symlink method? If you go to the Linux prompt on the MiSTer after connecting a USB floppy drive, you should be able to make a symlink to the floppy drive and if you then name that symlink something like floppydrive.img and place it in the PCXT or AO486 folder you should be able to mount that file in either of the cores and access whatever floppy is active in the drive. It probably still has some issues, since the controller in the core wont be the same as the controller for the USB drive... and I do not know if it can work with a bootable floppy.

I have not tried it myself yet, but I have read it being suggested a few times. If I test it myself, and it works for me, I will make a video about it.

Update:
Ah, seems to not be without issues. Flynnsbit wrote about his test of the symlink method. I guess for this to work fully, it will need support from the core and probably MiSTer Main and even then it might not be a good solution.
viewtopic.php?p=59252#p59252
I haven't tried myself either, but the method as described by flynnsbit in that post is wrong. Here's what I'd try:

1. Unmount the floppy if it's mounted (not sure if Linux will try to auto-mount it when it's connected; if it does, you will need to unmount it every time you reboot the MiSTer).
2. Create a symlink to the device (not the mount point folder!)
Note: there's no need to create an empty file at all. That serves no purpose, and may cause the `ln -s` command to fail.

For example, if the device is /dev/fd0:

umount /dev/fd0
ln -s /dev/fd0 /media/fat/games/ao486/floppy.img
Good call, it was the device and not the folder. It had been a while since I tried it.
jordi
Posts: 225
Joined: Thu Jun 11, 2020 10:11 am
Has thanked: 87 times
Been thanked: 71 times

Re: MiSTer PCXT

Unread post by jordi »

Caldor wrote: Wed Aug 31, 2022 12:41 pm SRAM? What is that? I am pretty sure the two modules I have are 128MB SDRAM with no SRAM on them.

Does any other cores require SRAM?
It won't be required, it's just a compatibility branch
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

spark2k06 wrote: Sun Aug 21, 2022 5:56 pm I have added a second COM2 port (2F8h) experimentally, it now works on the USER_IO but I think a mouse could be implemented there... I would have to try to figure out how to do it:

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

20220821_194800-screen.png
I update the COM2 experimental branch on USER_IO port with the latest prerelease developments:

https://github.com/MiSTer-devel/PCXT_Mi ... s/exp-com2

Theoretically, you could connect a serial mouse to that port, but I haven't tried it... it might not work because I used the same clock as the UART used for COM1 and serdrive, faster than usual. However, if anyone wants to try using an RX/TX to USB signal adapter, there is this application I found for PC that might be interesting:

https://github.com/mborjesson/USB-Mouse-to-Serial

On the other hand, I have created another branch from this one to carry out a first attempt at PS/2 to serial mouse implementation from RX/TX signals, using in this case the MiSTer sources from the Atari ST core:

https://github.com/MiSTer-devel/PCXT_Mi ... xp-atmouse

You should be able to use these drivers for MS-Dos, but it didn't work for me:

http://www.ataripc.net/misc-software/

It is possible that the reason is the same as the one I mentioned before, the frequency of the serial port, which is the same as COM1 for serdrive... but I don't know if there is something else.

Maybe this implementation is too big for the purpose, but I understand that what needs to be implemented is a mouse-to-serial PS/2 signal converter... and the Atari ST implementation is the only one I've found.

I've left in this post all the progress I've made, in case someone manages to finish it off.
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: MiSTer PCXT

Unread post by Caldor »

Nice :) I have been hoping to see serial mouse support in AO486 because that would help support Settlers 1 and 2 in two player splitscreen mode. So if this works maybe it might be possible to port it to the AO486 core. Not sure who might be capable of doing that though. Probably Sorgelig, but he is usually busy. I have only a little experience with MiSTer Main development and so far looking into FPGA core coding has not gotten me anywhere. Or at least not anywhere that was productive enough to help with core development.
jordi
Posts: 225
Joined: Thu Jun 11, 2020 10:11 am
Has thanked: 87 times
Been thanked: 71 times

Re: MiSTer PCXT

Unread post by jordi »

Caldor wrote: Thu Sep 01, 2022 9:02 am Nice :) I have been hoping to see serial mouse support in AO486 because that would help support Settlers 1 and 2 in two player splitscreen mode. So if this works maybe it might be possible to port it to the AO486 core. Not sure who might be capable of doing that though. Probably Sorgelig, but he is usually busy. I have only a little experience with MiSTer Main development and so far looking into FPGA core coding has not gotten me anywhere. Or at least not anywhere that was productive enough to help with core development.
https://everything2.com/title/Mouse+protocol


Protocol looks simple, but I am a humble developer, no core knowledge
somhi
Posts: 88
Joined: Mon Jul 18, 2022 4:37 pm
Has thanked: 25 times
Been thanked: 25 times

Re: MiSTer PCXT

Unread post by somhi »

@MicroCoreLabs If you have any Altera board with SDRAM (or SRAM) and enough BRAM I think I could "easily" port the PCXT core to it. Let me know if you are interested in testing the core.
Mills
Posts: 83
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 29 times

Re: MiSTer PCXT

Unread post by Mills »

Last update solves some issues in area5150 demo, for example, vertical scrolls are 1 pixel at a time, super smooth 60 fps. Previous versions of the core had a 2 pixel scroll, which looked like 30 fps. Also the multi layer scene, looks bad at 4.77 Mhz and looks ok at 7 mhz.
Mills
Posts: 83
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 29 times

Re: MiSTer PCXT

Unread post by Mills »

This new version (by spark2k06) implements two page VRAM for tandy, it solves flickering in many games that use double buffer.
Attachments
PCXT_64Kb_Tandy.rbf
(3.45 MiB) Downloaded 103 times
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

Mills wrote: Sun Sep 04, 2022 10:29 am This new version (by spark2k06) implements two page VRAM for tandy, it solves flickering in many games that use double buffer.
Some games that I have tested now graphically work perfectly:

- Bubble Bobble
- Arkanoid
- Xenon 2
- Gods
suww37
Posts: 173
Joined: Sun Apr 17, 2022 2:24 am
Has thanked: 7 times
Been thanked: 15 times

Re: MiSTer PCXT

Unread post by suww37 »

spark2k06 wrote: Sun Sep 04, 2022 11:35 am
Mills wrote: Sun Sep 04, 2022 10:29 am This new version (by spark2k06) implements two page VRAM for tandy, it solves flickering in many games that use double buffer.
Some games that I have tested now graphically work perfectly:

- Bubble Bobble
- Arkanoid
- Xenon 2
- Gods
I tested this core.
I feel much better.
Death track-> working, but very slow
bubble bobble -> freezing
ski or die -> no working
User avatar
wark91
Core Developer
Posts: 334
Joined: Sun May 24, 2020 8:34 pm
Has thanked: 447 times
Been thanked: 94 times

Re: MiSTer PCXT

Unread post by wark91 »

Lemmings have better graphics but still some parts are not good.
20220904_155236-screen.png
20220904_155236-screen.png (235.67 KiB) Viewed 9575 times
Great improvements !
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

spark2k06 wrote: Sun Sep 04, 2022 11:35 am
Mills wrote: Sun Sep 04, 2022 10:29 am This new version (by spark2k06) implements two page VRAM for tandy, it solves flickering in many games that use double buffer.
Some games that I have tested now graphically work perfectly:

- Bubble Bobble
- Arkanoid
- Xenon 2
- Gods
To me Bubble Bobble, except for the music that is a little accelerated, works very well. But at least in Tandy it requires the core to run at least 7 Mhz.
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: MiSTer PCXT

Unread post by NML32 »

suww37 wrote: Sun Sep 04, 2022 1:28 pm
spark2k06 wrote: Sun Sep 04, 2022 11:35 am
Mills wrote: Sun Sep 04, 2022 10:29 am This new version (by spark2k06) implements two page VRAM for tandy, it solves flickering in many games that use double buffer.
Some games that I have tested now graphically work perfectly:

- Bubble Bobble
- Arkanoid
- Xenon 2
- Gods
I tested this core.
I feel much better.
Death track-> working, but very slow
bubble bobble -> freezing
ski or die -> no working
I got Bubble Bobble working by holding the shift key while DOS was booting to skip all my config settings.
somhi
Posts: 88
Joined: Mon Jul 18, 2022 4:37 pm
Has thanked: 25 times
Been thanked: 25 times

Re: MiSTer PCXT

Unread post by somhi »

@TheSonders has done a PS2 to Microsoft Serial module adapter. He does not have a way to test it on this core, so I'll test it in one of the deMiSTified FPGAs.
Here is the source code https://github.com/TheSonders/MouseConv ... eWrapper.v

I'm using COM2 but I have no idea what is the current speed of this port.
Currently I have a clk_uart2 of 1.84 MHz but that I don't know what is the equivalence in bps for this UART.

Anyone could let me know what the clk_uart MHz to bps correspondence is in this core ?

Microsoft mouse protocol should work at 1200 bps.
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: MiSTer PCXT

Unread post by Caldor »

It seems to me that the EMS RAM setting is reversed? If I enable it, it freezes at the EMS check. I should probably try another MiSTer Main. Which one is the recommended one for this core now?

I also have trouble with the highest speed setting. When I use it, it cannot read any disk images. Same as with the lowest setting.
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

Caldor wrote: Mon Sep 05, 2022 5:13 am It seems to me that the EMS RAM setting is reversed? If I enable it, it freezes at the EMS check. I should probably try another MiSTer Main. Which one is the recommended one for this core now?
I have it configured this way, and no problem... even removing the /n option (used to skip the test):

Code: Select all

FILES=40
BUFFERS = 30
DOS = HIGH, UMB
DEVICE=C:\UTIL\USE!UMBS.SYS C000-EC00
DEVICE=C:\UTIL\DOSMAX\DOSMAX.EXE /R+ /N+ /P-
DEVICEHIGH=C:\UTIL\LTEMM.EXE /p:A000 /x /n
SHELL=C:\UTIL\DOSMAX\SHELLMAX.COM C:\COMMAND.COM C:\ /E:256 /P
Set A000 in the OSD and try again, remember also to use drivers provided by me for EMS management, No special Main is required for this to work:

https://github.com/MiSTer-devel/PCXT_Mi ... e/main/hdd
20220905_072607-screen.png
20220905_072607-screen.png (152.42 KiB) Viewed 9312 times
Caldor wrote: I also have trouble with the highest speed setting. When I use it, it cannot read any disk images. Same as with the lowest setting.
The recommended UART speed for any CPU speed is 460.8Kbps... even so, serdrive can sometimes give problems, if that happens, reload the core... until we can get rid of serdrive in future.
User avatar
spark2k06
Core Developer
Posts: 864
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 961 times

Re: MiSTer PCXT

Unread post by spark2k06 »

wark91 wrote: Sun Sep 04, 2022 1:54 pm Lemmings have better graphics but still some parts are not good.
20220904_155236-screen.png

Great improvements !
New update with support for 4 x 32Kb pages in 320x200x16 mode:
PCXT:
- 4 x 32Kb pages for Tandy 320x200x16 mode (More Tandy games now working)
- VRAM resizing for MDA to 4Kb
- LPT port mapping fix
- Removed DSS/Covox support (Not feasible for this core)
Now the Lemmings game, much better :D :
20220905_071211-screen.png
20220905_071211-screen.png (512.07 KiB) Viewed 9300 times
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: MiSTer PCXT

Unread post by Caldor »

spark2k06 wrote: Mon Sep 05, 2022 5:33 am
Caldor wrote: Mon Sep 05, 2022 5:13 am It seems to me that the EMS RAM setting is reversed? If I enable it, it freezes at the EMS check. I should probably try another MiSTer Main. Which one is the recommended one for this core now?
I have it configured this way, and no problem... even removing the /n option (used to skip the test):

Code: Select all

FILES=40
BUFFERS = 30
DOS = HIGH, UMB
DEVICE=C:\UTIL\USE!UMBS.SYS C000-EC00
DEVICE=C:\UTIL\DOSMAX\DOSMAX.EXE /R+ /N+ /P-
DEVICEHIGH=C:\UTIL\LTEMM.EXE /p:A000 /x /n
SHELL=C:\UTIL\DOSMAX\SHELLMAX.COM C:\COMMAND.COM C:\ /E:256 /P
Set A000 in the OSD and try again, remember also to use drivers provided by me for EMS management, No special Main is required for this to work:

https://github.com/MiSTer-devel/PCXT_Mi ... e/main/hdd
Thanks :) I have been using this setup and your drivers. For some reason though I just had to disable the EMS setting and I still get the 2MB EMS RAM when its disabled. So it works normally if its turned off... but it might be some experimental version of MiSTer Main I am using. I will ensure I switch back to the latest official MiSTer Main. I was trying the experimental ones to try the different experimental versions of this core with AO486 floppy support and such.
Post Reply