MiSTer PCXT

User avatar
wark91
Core Developer
Posts: 334
Joined: Sun May 24, 2020 8:34 pm
Has thanked: 447 times
Been thanked: 95 times

Re: MiSTer PCXT

Unread post by wark91 »

Sorry ... !
akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 496 times
Been thanked: 467 times

Re: MiSTer PCXT

Unread post by akeley »

Alright, I've dragged my 31KHz monitor out. The core displays fine out of the box, just need to change Aspect Ratio to Full Screen as per usual.

IMG-20220731-213721.jpg
IMG-20220731-213721.jpg (7.27 MiB) Viewed 8516 times

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

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 »

Archon is my favorite game, and one of the first programs I try when testing a new core! I enjoy watching the demo to see who wins: The computer or the computer! :)
Mills
Posts: 90
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 32 times

Re: MiSTer PCXT

Unread post by Mills »

Chol wrote: Sun Jul 31, 2022 3:33 pm Thanks for your input so far. I had no success with the CBM PC-I, but I got the CBM PC-10 BIOS to boot after padding the file with 32kb of zeros at the beginning:
pcxt-pc10.jpg

So that was half a success. I learned that this is not a good idea at all and will stop further approaches. :D
I tried that bios and I inserted the xtide at the first 12kb, it boots and tells me to press f1, then it should start xtide and load the img, But keyboard is not working :(.
jordi
Posts: 282
Joined: Thu Jun 11, 2020 10:11 am
Has thanked: 112 times
Been thanked: 87 times

Re: MiSTer PCXT

Unread post by jordi »

Mills wrote: Mon Aug 01, 2022 12:47 pm
Chol wrote: Sun Jul 31, 2022 3:33 pm Thanks for your input so far. I had no success with the CBM PC-I, but I got the CBM PC-10 BIOS to boot after padding the file with 32kb of zeros at the beginning:
pcxt-pc10.jpg

So that was half a success. I learned that this is not a good idea at all and will stop further approaches. :D
I tried that bios and I inserted the xtide at the first 12kb, it boots and tells me to press f1, then it should start xtide and load the img, But keyboard is not working :(.
I guess that computer doesn't have an special feature like Tandy has, so better use 86box for it as commented before.
Mills
Posts: 90
Joined: Mon Jun 08, 2020 2:52 pm
Has thanked: 15 times
Been thanked: 32 times

Re: MiSTer PCXT

Unread post by Mills »

kitune-san wrote: Wed Jul 27, 2022 3:35 pm @spark2k06
Timing constraint violations have been overlooked for a long time.
I have a suggestion to resolve the timing constraint violation.
I have considered two methods. You can choose one or the other.

1. Change the chipset frequency to 50 MHz for the PLL output.
https://github.com/kitune-san/PCXT_MiST ... hz-chipset

2. Insert F/Fs between combination circuits that cause delays. (E.g. before and after the RAM block)
https://github.com/kitune-san/PCXT_MiST ... adjustment
I compiled both versions.
1. The 50mhz one, worked as the previous versions, and landmark test showed a 4.99mhz 8088 :). There are still some volume issues with the opl2 chip.

2.This second version has an issue because pc speaker and opl2 produce distorted noises.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

I have updated the prebeta 2.0 branch with all the changes proposed by @newsdee regarding the video, plus those proposed by @kitune-san with the 50Mhz chipset, which is the one I have observed to be more stable:

https://github.com/spark2k06/PCXT_MiSTe ... rebeta-2.0

I also update the turbo version but here the SDRAM is still unstable...

https://github.com/spark2k06/PCXT_MiSTe ... -2.0-turbo

...so I suggest to keep using the prebeta 1.5 turbo version, release 04:

viewtopic.php?p=56624#p56624

Also remember that in order to use the OSD's integrated disk image selection option, you need to use the modified Main_MiSTer with integrated serdrive:

viewtopic.php?p=56797#p56797

It is not updated with the modifications of the latest official version, but you can see the changes here:

https://github.com/spark2k06/Main_MiSTe ... a2b5c41dc8
Attachments
PCXT_PREBETA_2_0_02.zip
(1.07 MiB) Downloaded 236 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

prebeta 2.0 branch update:

Overscan removal
  • Missing lines are recovered on the right in CGA
https://github.com/spark2k06/PCXT_MiSTe ... a9e86f9ad5

The ghost line problem in Tandy 320x200x16 mode, a common problem in the original Graphics Gremlin project on which it is based, has not yet been solved.

Below is a video of the Area 5150 demo run in this PCXT project for MiSTer:



MrMartian wrote: Thu Jul 28, 2022 6:28 pm I will toss my hat in and say I'm working on adding true IDE support compatible with XT-IDE to this. VHDL/Verilog I understand, the MiSTer framework for accessing data I'm still reading through...
Have you made any progress on this, I haven't wanted to make any improvements to the serdrive integrated in Main yet because I was waiting to see if IDE was available, and it would be work that would be discarded.
Attachments
PCXT_PREBETA_2_0_03.zip
(1.06 MiB) Downloaded 157 times
dontbugster
Posts: 1
Joined: Sun May 24, 2020 8:36 pm

Re: MiSTer PCXT

Unread post by dontbugster »

Doesn't this provided some interface to it?
https://opencores.org/projects/sdcard_m ... controller
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

dontbugster wrote: Thu Aug 11, 2022 6:59 am Doesn't this provided some interface to it?
https://opencores.org/projects/sdcard_m ... controller
I have seen several controllers, this one too. However, I have not found a way to make it "fit" into this project.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

prebeta 2.0 branch update:

Setting timings for tandy_16_gfx mode

https://github.com/spark2k06/PCXT_MiSTe ... 2a53b69829

No more ghost lines in Tandy's 320x200x16 mode :D
no_ghost_lines_tandy.jpg
no_ghost_lines_tandy.jpg (153.62 KiB) Viewed 7703 times
Soon, I will revise the latest stable version of the 1.5 turbo prebeta, to add this improvement.
Attachments
PCXT_PREBETA_2_0_04.zip
(1.07 MiB) Downloaded 179 times
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 »

Great improvements @spark2k06!!!
I'm adapting those to Sockit (MiSTer) and NeptUNO (DeMiSTify).

By the way, congratulations to Kitune-San. Last changes in prebeta 2.0 reduces considerably the worst case slack timings.
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 »

Below is a video of the Area 5150 demo run in this PCXT project for MiSTer:
I'm happy to see that the MCL86 is able to run this new demo for the most part.
User avatar
wark91
Core Developer
Posts: 334
Joined: Sun May 24, 2020 8:34 pm
Has thanked: 447 times
Been thanked: 95 times

Re: MiSTer PCXT

Unread post by wark91 »

Thanks ! It is great !
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 »

I'm having good vibrations on the new core since prebeta 2.0 changes which led to more relaxed timings.

Now on a Cyclone IV FPGA I'm getting around -9ns worst case slack in comparison to -18ns I had before.
Before I couldn't even load the original IBM BIOS as the keyboard was not working. Now working Ok.
Compilation time has also reduced from more than 12 to 8 minutes.

This must be changed in a prior beta, but just noticed now the increase in the UART clock. Now I can also use serdrive at 460.8 in NeptUNO FPGA.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

I have created a new branch based on the prebeta-2.0-turbo branch, in this case I have named it prebeta-2.0-turbo-stable:

https://github.com/spark2k06/PCXT_MiSTe ... rbo-stable

I've just removed the last 50Mhz chipset and SDRAM related improvements made by kitune-san, so that we get the stability back and at the same time take advantage of the latest Tandy mode display improvements.

I attach the binary so you can use it, I recommend to set the frequency to 14.318Mhz and save the configuration, as I remember that at 4.77Mhz in this version the UART does not work at 460.8Kbps, having to lower it to half:
tandy_14_318_mhz.jpg
tandy_14_318_mhz.jpg (164.45 KiB) Viewed 7433 times
Attachments
PCXT_PREBETA_2_0_TURBO_01.zip
(1.07 MiB) Downloaded 185 times
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 »

Hi. Long time no see.

I have improved the READY signal.
This results in a clock cycle equivalent to PC/XT.
Attachments
PCXT.rbf
(3.2 MiB) Downloaded 223 times
AmintaMister
Posts: 313
Joined: Thu Sep 16, 2021 10:54 pm
Has thanked: 840 times
Been thanked: 51 times

Re: MiSTer PCXT

Unread post by AmintaMister »

Hi all!

I've tried to automatically mount the serial drive at MiSTer startup with:

Code: Select all

# Startup PC-XT serdrive
[[ -e /media/fat/Scripts/pcxt_uart_hdd.sh ]] && /media/fat/Scripts/pcxt_uart_hdd.sh
in "linux/user-startup.sh" but it doesn't work, why?
bbond007
Top Contributor
Posts: 531
Joined: Tue May 26, 2020 5:06 am
Has thanked: 87 times
Been thanked: 211 times

Re: MiSTer PCXT

Unread post by bbond007 »

AmintaMister wrote: Fri Aug 12, 2022 5:10 pm Hi all!

I've tried to automatically mount the serial drive at MiSTer startup with:

Code: Select all

# Startup PC-XT serdrive
[[ -e /media/fat/Scripts/pcxt_uart_hdd.sh ]] && /media/fat/Scripts/pcxt_uart_hdd.sh
in "linux/user-startup.sh" but it doesn't work, why?

I have no idea why it does not work, but In my opinion that is not the ideal hack as it will conflict with all other cores UART functionality.

I'd suggest editing /sbin/uartmode and altering the script:

Code: Select all

#!/bin/bash

kill_all() {
        rm -f /tmp/uartmode*
        rm -f /tmp/ML_BAUD
        rm -f /tmp/PCXT_SERDRIVE
        killall midilink
        killall pppd
        killall agetty
        killall login
        killall mt32d
        killall fluidsynth
        killall mpg123
        killall serdrive
}

conn_speed=115200
[ -f /tmp/UART_SPEED ] && conn_speed=$(cat /tmp/UART_SPEED)
[ -f /tmp/CORENAME ] && core_name=$(cat /tmp/CORENAME)

if [ "$core_name" = "PCXT" ]; then
        kill_all
        sleep 1
        echo "1" >/tmp/PCXT_SERDRIVE
        taskset 1 /media/fat/games/PCXT/serdrive -c 1 -b 460.8Kb /media/fat/games/PCXT/hdd.img &
        exit 0
fi

echo "ttyS1: "$conn_speed
This fix will (hopefully) give you the results you want and (probably) should not screw up the UART functionality of other computer cores...
uartmode.zip
(923 Bytes) Downloaded 216 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

New prebeta 2.0 updates:
  • Fix READY signals, by @kitune-san
  • Memory map selection according to video mode
Thanks to this change, some parts of the area5150 demo that didn't look right, like the dancing elephant, are now displayed correctly:
area5150_elephant_before.jpg
area5150_elephant_before.jpg (101.19 KiB) Viewed 6929 times
area5150_elephant_after.jpg
area5150_elephant_after.jpg (80.54 KiB) Viewed 6929 times

Thanks @somhi for noticing this detail.

On the other hand, I have extended the serdrive feature integrated in the MiSTer Main:
Main_MiSTer_PREBETA_2_0_02.jpg
Main_MiSTer_PREBETA_2_0_02.jpg (104.98 KiB) Viewed 6929 times
AmintaMister wrote: Fri Aug 12, 2022 5:10 pm Hi all!

I've tried to automatically mount the serial drive at MiSTer startup with:

Code: Select all

# Startup PC-XT serdrive
[[ -e /media/fat/Scripts/pcxt_uart_hdd.sh ]] && /media/fat/Scripts/pcxt_uart_hdd.sh
in "linux/user-startup.sh" but it doesn't work, why?
Now, it is not only possible to load an HDD image, but it can also be saved in the settings, so you don't have to worry about the script, because the feature is integrated in Main ;)

Lines must be added to the MiSTer.ini configuration file:

Code: Select all

[PCXT]

uart_baudrate=460800   ; 115200, 230400 or 460800
uart_hdd_cyl=62
uart_hdd_sect=63
uart_hdd_head=16
As long as we don't have a real IDE on XTIDE, this is the most friendly solution... however, before I make a pull request to sorgelig to bring it to the official Main, there are still some things to do.

We still need to be able to add FDD image for serdrive, and we would have to rework these changes to make them cleaner, I don't have a deep knowledge of the Main project either, maybe you can give me a hand here, @bbond007:

https://github.com/spark2k06/Main_MiSTe ... t_serdrive

For example, right now when selecting the image, although it is applied, it hides the menu, and it would be nice to see how it has been applied keeping the menu active.

In addition, the code has several warnings that need to be checked. And I would also like to replace F12 as Win+F12 to access the menu, like ao486 does... I have to check how that works.

Once all these problems are solved and the pull request from Main is accepted by sorgelig, I hope to make this prebeta 2.0 official as beta 2.0 as well, in order to reach more users.
Attachments
PCXT_PREBETA_2_0_TURBO_02.zip
(1.08 MiB) Downloaded 185 times
MiSTer_PREBETA_2_0_02.zip
(548.21 KiB) Downloaded 170 times
PCXT_PREBETA_2_0_05.zip
(1.06 MiB) Downloaded 201 times
AmintaMister
Posts: 313
Joined: Thu Sep 16, 2021 10:54 pm
Has thanked: 840 times
Been thanked: 51 times

Re: MiSTer PCXT

Unread post by AmintaMister »

Thanks a lot @bbond007 and @spark2k06!
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 194 times

Re: MiSTer PCXT

Unread post by Malor »

If I understood sorgelig correctly, he won't accept this core until the IDE controller works. He seemed pretty horrified by the serdrive idea.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

Malor wrote: Sat Aug 13, 2022 1:02 pm If I understood sorgelig correctly, he won't accept this core until the IDE controller works. He seemed pretty horrified by the serdrive idea.
Well integrated in the Main, except that it will take up a bit more than usual, I don't see what the drawback could be, the serdrive would only be active when the core running... for other cores, it wouldn't have any repercussions.

It is clear that the ideal is real IDE, but as long as we don't have it (it seems easy to implement, but it is not), it is the best we have at the moment.
dmckean
Posts: 310
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 396 times
Been thanked: 95 times

Re: MiSTer PCXT

Unread post by dmckean »

spark2k06 wrote: Sat Aug 13, 2022 1:53 pm
Malor wrote: Sat Aug 13, 2022 1:02 pm If I understood sorgelig correctly, he won't accept this core until the IDE controller works. He seemed pretty horrified by the serdrive idea.
Well integrated in the Main, except that it will take up a bit more than usual, I don't see what the drawback could be, the serdrive would only be active when the core running... for other cores, it wouldn't have any repercussions.

It is clear that the ideal is real IDE, but as long as we don't have it (it seems easy to implement, but it is not), it is the best we have at the moment.
Have you looked into his suggestion of trying to integrate the floppy drive from the Atari ST into this core?
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

dmckean wrote: Sat Aug 13, 2022 2:03 pm Have you looked into his suggestion of trying to integrate the floppy drive from the Atari ST into this core?
I have already looked at several projects, yes, that one too. They're all proving to be a real challenge for me, unfortunately... one day we'll have some integrated, for sure, but at least for the moment they're proving to be unattainable for me.
dmckean
Posts: 310
Joined: Sat Jan 16, 2021 7:03 am
Has thanked: 396 times
Been thanked: 95 times

Re: MiSTer PCXT

Unread post by dmckean »

spark2k06 wrote: Sat Aug 13, 2022 2:07 pm
dmckean wrote: Sat Aug 13, 2022 2:03 pm Have you looked into his suggestion of trying to integrate the floppy drive from the Atari ST into this core?
I have already looked at several projects, yes, that one too. They're all proving to be a real challenge for me, unfortunately... one day we'll have some integrated, for sure, but at least for the moment they're proving to be unattainable for me.
Floppy support is probably the quickest way to get the core accepted into Main as IDE will most likely take longer. Unfortunately, it's proven difficult to recruit anyone to help with it.
Malor
Top Contributor
Posts: 860
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 64 times
Been thanked: 194 times

Re: MiSTer PCXT

Unread post by Malor »

I'd help if I could, but I barely know a resistor from a capacitor.

The Amiga/Minimig core has two-controller, four-channel IDE emulation you might be able to poach. I think it may be pretty complete, because the virtual drives on Minimig work very well.

That's probably all 16-bit, though, and adapting it to run on an 8-bit bus might be painful.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: MiSTer PCXT

Unread post by spark2k06 »

New Main with floppy disk loading support via integrated serdrive:
boot_b.jpg
boot_b.jpg (84.08 KiB) Viewed 6570 times
To boot by floppy disk, you must press the 'B' key... loads booters without problems, here is an interesting website with many booters games.

http://retrograde.inf.ua/index2.htm
Attachments
MiSTer_PREBETA_2_0_03.zip
(548.21 KiB) Downloaded 161 times
akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 496 times
Been thanked: 467 times

Re: MiSTer PCXT

Unread post by akeley »

Great news about the FDD support. Look for "gruby ibm" on archive.org, it's probably the most complete MSDOS floppy collection out there (in various formats).

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

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 »

Thank you . Now I think the most important thing left is mouse support.
Post Reply