MiSTer PCXT
-
- Top Contributor
- Posts: 401
- Joined: Wed May 18, 2022 11:20 am
- Has thanked: 127 times
- Been thanked: 412 times
Re: MiSTer PCXT
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 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 257 times
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
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.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.
As far as I'm concerned, you can pull request to the prerelease branch without any problem
-
- Top Contributor
- Posts: 401
- Joined: Wed May 18, 2022 11:20 am
- Has thanked: 127 times
- Been thanked: 412 times
Re: MiSTer PCXT
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.
I believe this has been improved with this fix.
Also, the last melody is now played.
AREA5150 has not been confirmed. Sorry.
-
- Top Contributor
- Posts: 401
- Joined: Wed May 18, 2022 11:20 am
- Has thanked: 127 times
- Been thanked: 412 times
Re: MiSTer PCXT
Sorry, This problem appears to have already been fixed.
This is not an improvement due to my changes
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.
-
- Posts: 20
- Joined: Mon May 25, 2020 5:16 am
- Has thanked: 5 times
Re: MiSTer PCXT
@spark, @MicroLab, @kitune-san
I'm closely following the development of this core.
Congratulations on the achievements done so far!
I'm closely following the development of this core.
Congratulations on the achievements done so far!
-
- 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
What a friendly thing to say! Thank you friendly.joe!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!
-
- Top Contributor
- Posts: 468
- Joined: Sun May 24, 2020 7:17 pm
- Has thanked: 35 times
- Been thanked: 99 times
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
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:
I've done several tests, and everything seems to work fine... in fact, the implementation is much simpler than SDRAM.
Thanks!
https://github.com/MiSTer-devel/PCXT_Mi ... e/exp-sram
For MiSTer to work, a dual SDRAM/SRAM memory module is required:
I've done several tests, and everything seems to work fine... in fact, the implementation is much simpler than SDRAM.
@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?kitune-san wrote:
Thanks!
- pgimeno
- Top Contributor
- Posts: 710
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: MiSTer PCXT
I haven't tried myself either, but the method as described by flynnsbit in that post is wrong. Here's what I'd try: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
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
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
-
- Top Contributor
- Posts: 552
- Joined: Sun May 24, 2020 8:07 pm
- Has thanked: 185 times
- Been thanked: 310 times
- Contact:
Re: MiSTer PCXT
Good call, it was the device and not the folder. It had been a while since I tried it.pgimeno wrote: ↑Wed Aug 31, 2022 12:31 pmI haven't tried myself either, but the method as described by flynnsbit in that post is wrong. Here's what I'd try: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
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
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
I update the COM2 experimental branch on USER_IO port with the latest prerelease developments: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
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.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: MiSTer PCXT
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.
Re: MiSTer PCXT
https://everything2.com/title/Mouse+protocolCaldor 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.
Protocol looks simple, but I am a humble developer, no core knowledge
Re: MiSTer PCXT
@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.
https://github.com/somhi/PCXT_DeMiSTify Non-MiSTer ports
https://github.com/sockitfpga/PCXT_SoCkit SoCkit FPGA (MiSTer) port
https://github.com/sockitfpga/PCXT_SoCkit SoCkit FPGA (MiSTer) port
Re: MiSTer PCXT
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.
Re: MiSTer PCXT
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 252 times
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
Some games that I have tested now graphically work perfectly:
- Bubble Bobble
- Arkanoid
- Xenon 2
- Gods
Re: MiSTer PCXT
I tested this core.
I feel much better.
Death track-> working, but very slow
bubble bobble -> freezing
ski or die -> no working
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
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.
Re: MiSTer PCXT
I got Bubble Bobble working by holding the shift key while DOS was booting to skip all my config settings.suww37 wrote: ↑Sun Sep 04, 2022 1:28 pmI tested this core.
I feel much better.
Death track-> working, but very slow
bubble bobble -> freezing
ski or die -> no working
Re: MiSTer PCXT
@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.
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.
https://github.com/somhi/PCXT_DeMiSTify Non-MiSTer ports
https://github.com/sockitfpga/PCXT_SoCkit SoCkit FPGA (MiSTer) port
https://github.com/sockitfpga/PCXT_SoCkit SoCkit FPGA (MiSTer) port
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: MiSTer PCXT
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.
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.
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
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
https://github.com/MiSTer-devel/PCXT_Mi ... e/main/hdd
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.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.
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: MiSTer PCXT
New update with support for 4 x 32Kb pages in 320x200x16 mode:
Now the Lemmings game, much better :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)
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: MiSTer PCXT
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.spark2k06 wrote: ↑Mon Sep 05, 2022 5:33 amI have it configured this way, and no problem... even removing the /n option (used to skip the test):
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: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
https://github.com/MiSTer-devel/PCXT_Mi ... e/main/hdd