MiSTer PCXT

User avatar
remax
Posts: 32
Joined: Sun Nov 21, 2021 8:24 pm
Has thanked: 12 times
Been thanked: 13 times

Re: MiSTer PCXT

Unread post by remax »

Yeah, i met similar errors but can't pinpoint to what exactly it relates.
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 »

flynnsbit wrote: Wed Jul 06, 2022 9:10 pm Juko is fast for sure. I have a somewhat solid setup with DOS 5, 4DOS as the command shell loading into emm, FREESP, UMB+LTEMM, MyMenu and I just transferred about 100 games to it. I am slowly working through testing but I am still running into Drive C disk errors that force me to restart the core. simple things like editing config.sys or autoexec.bat can cause a general failure reading drive c.

I've been debugging serdrive and I can see some crc errors but I can't figure out if it is me or the core. I moved all my setup local instead of over the network and that helped a bit.

Are any of you having stability issues with the disk still? "General failure writing drive C. Abort, Retry, Ignore, Fail?"

It seems to only happen when I use an app that needs to swap to memory with LTEMM loaded, but I am not positive on that yet.
I am too. When I run the game and go back to Dos, I get an error and I have to restart the core.
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: MiSTer PCXT

Unread post by flynnsbit »

Couple of testing sessions, I don't think it is LTEMM though it seemed less likely to happen without it running.





11 min in on Testing 2 you can see the drive failures. It could simply be the instability of the COM hosting of the drive image that is causing it. It will be really hard to build anything for people with the disks like this. (again, unless someone has figured out how to stabilize it and this is just me).

Super cool progress on the core.

I'll pause for now on my side to let things stabilize a bit or if someone takes a crack at hosting the .vhd to 300h through the HPS side instead of the COM port.
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 added the possibility to activate the Tandy graphics from the OSD, until now it didn't work because they were activated by register. A Tandy ROM is required for this to work, as the BIOS needs to support the new video modes:

https://github.com/spark2k06/PCXT_MiSTe ... ec3e6ad131


The BIOS from PCjr doesn't work, you have to download the first revision of Tandy 1000:

http://retrograde.inf.ua/tandyroms.htm

In addition, there are also problems with the keyboard in this BIOS, so you should add in the AUTOEXEC.BAT whatever you want to test, until it is solved.

On the other hand, there is another problem with the Tandy sound, the sound module needs to be checked as it is not working properly. There are also the ghost lines that appear in the Tandy BIOS text mode, more things to fix.
Attachments
PCXT_PREBETA_1_3_04.zip
(1000.1 KiB) Downloaded 150 times
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: MiSTer PCXT

Unread post by flynnsbit »

Archive.org "tanfiles".

You're welcome. :D

=== Games:

Most of the games are preconfigured for enhanced Tandy/PCjr graphics and
audio. Furthermore, most of these games should run fine on any Tandy 1000,
although some may be sluggish on a 4.77MHz processor.

Games that *required* unreasonably fast Tandys to run at all, like a 12MHz
80286, have been removed. This includes some of the more demanding 3D titles,
like Stunts.

There is a directory called GAMES/TECH which has a .zip of games that have
interesting programming or optimized special-effects. They are included as a
curiosity.
User avatar
LamerDeluxe
Top Contributor
Posts: 1239
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 887 times
Been thanked: 284 times

Re: MiSTer PCXT

Unread post by LamerDeluxe »

Paging @kathleen :D
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: MiSTer PCXT

Unread post by thorr »

Very excited to see the Tandy development start! Thanks a bunch.
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: MiSTer PCXT

Unread post by flynnsbit »

XT IDE configured to boot directly from the COM1 address and skip auto detection of the other controllers. It speeds up the boot process a tiny bit for now. Of course this will need to be re-done when HDD/FDD is added. You can regenerate your base bios with this using the python script if you want it built in. I changed the color scheme so you would know it is the one that removed the other controllers.
Attachments
ide_xtl.zip
(7.9 KiB) Downloaded 124 times
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

I can't wait for this to get floppy or hdd support :)

Are both implementations related, or is it it easier to just do floppy first? That would allow having simple boot disks to make it easier mount an hdd via serial.
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 made a number of improvements to the prebeta 1.3:

https://github.com/spark2k06/PCXT_MiSTe ... e_beta_1_3

Default loading of BIOS + XTIDE in EC000 from boot.rom is now possible, the first 64Kb will be loaded in F000 and up to 16Kb thereafter in EC00.

boot.rom up to 64Kb + 16Kb for XTIDE
Essential for BIOSes that require the whole F000 segment, like Tandy or IBM.

Dummy LPT1
Necessary to pass tests in some BIOS, such as the latest Tandy 1000 revisions.

Update of ROM download scripts
XTIDE support is given to those ROMs that must be loaded on EC000, and Tandy ROMs are added.
flynnsbit wrote: Thu Jul 07, 2022 7:14 pm XT IDE configured to boot directly from the COM1 address and skip auto detection of the other controllers. It speeds up the boot process a tiny bit for now. Of course this will need to be re-done when HDD/FDD is added. You can regenerate your base bios with this using the python script if you want it built in. I changed the color scheme so you would know it is the one that removed the other controllers.
Interesting! I suggest you make a pull request on the prebeta 1.3 branch, replacing the file with the same name as the folder with the one you share. This way, we have a record of the users who contribute to this project ;-)
Newsdee wrote: Fri Jul 08, 2022 3:16 am I can't wait for this to get floppy or hdd support :)

Are both implementations related, or is it it easier to just do floppy first? That would allow having simple boot disks to make it easier mount an hdd via serial.
The logical way would be floppy first, but the really interesting way would be ide via VHD or physical SD card. However, even if we have floppy, as long as we don't have IDE, the initial mount from the script in the Linux part of MiSTer is essential.
Attachments
PCXT_PREBETA_1_3_05.zip
(993.75 KiB) Downloaded 124 times
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 »

With the bios Tandy 1000 HX, the core starts to show memory check ! Thanks :)
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 »

wark91 wrote: Fri Jul 08, 2022 5:38 am With the bios Tandy 1000 HX, the core starts to show memory check ! Thanks :)
Correct, but then it won't boot because it fails the keyboard test. The only BIOS that ignores keyboard operation is the first revision of the Tandy 1000, however, then the keyboard cannot be used.
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

spark2k06 wrote: Fri Jul 08, 2022 4:38 am as long as we don't have IDE, the initial mount from the script in the Linux part of MiSTer is essential.
Where should I get serdrive for the linux side?
Is it just a binary from the xtide page?

Edit: answering my own question... :D it's in this post
viewtopic.php?p=54369&hilit=serdrive#p54369
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 »

Newsdee wrote: Fri Jul 08, 2022 7:06 am
Edit: answering my own question... :D it's in this post
viewtopic.php?p=54369&hilit=serdrive#p54369
This thread is already very big, but I think it deserves your attention from beginning to end, however, in the Mounting the disk image section of the project's README I also discuss it ;-)
breiztiger
Top Contributor
Posts: 468
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 35 times
Been thanked: 99 times

Re: MiSTer PCXT

Unread post by breiztiger »

CPC-Power Staff
breiztiger
Top Contributor
Posts: 468
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 35 times
Been thanked: 99 times

Re: MiSTer PCXT

Unread post by breiztiger »

config.sys

with LTEMM you can add /n to pass the test

DEVICEHIGH=C:\UTIL\LTEMM.EXE /p:A000 /x /n
CPC-Power Staff
breiztiger
Top Contributor
Posts: 468
Joined: Sun May 24, 2020 7:17 pm
Has thanked: 35 times
Been thanked: 99 times

Re: MiSTer PCXT

Unread post by breiztiger »

Landmark 2.0 work but report as a 2mhz

landmark 6.00 crash

a strange thing ... pcxt core seem to "view" keyboard windows keypresse ?!? when landmark crash, press windows key beep

CCT 1.00 detect the clock rate at 0.0 MHz
CPC-Power Staff
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

Finally joined the cool kids club :D managed to get pre-beta 1.3 running with Juko ST BIOS and a custom 20MB hdd.

A few comments:
  • CGA mode ignores forced_scandoubler=1, so I can't use the core with an LCD VGA screen. Can that be fixed?
  • MDA mode does work on the VGA screen (probably because it's already 31khz?)
  • For CGA composite, maybe you can reuse the logic in the Apple II core? (not perfect but might work well enough)
  • Jill of the Jungle hardware detection seems to hang
  • I've never realized this, but many games look MUCH better on Amber monochrome mode. Maybe they were optimized for it!
I've only tried a handful of games, but it's so great to see early CGA games running so nicely at the right speed,
without having to fiddle with settings or slowdown TSRs!
prehist.png
prehist.png (10.32 KiB) Viewed 5068 times
goody.png
goody.png (8.83 KiB) Viewed 5068 times
digger.png
digger.png (7.2 KiB) Viewed 5068 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 »

Newsdee wrote: Fri Jul 08, 2022 3:28 pm Finally joined the cool kids club :D managed to get pre-beta 1.3 running with Juko ST BIOS and a custom 20MB hdd.

A few comments:
  • CGA mode ignores forced_scandoubler=1, so I can't use the core with an LCD VGA screen. Can that be fixed?
  • MDA mode does work on the VGA screen (probably because it's already 31khz?)
  • For CGA composite, maybe you can reuse the logic in the Apple II core? (not perfect but might work well enough)
  • Jill of the Jungle hardware detection seems to hang
  • I've never realized this, but many games look MUCH better on Amber monochrome mode. Maybe they were optimized for it!
I've only tried a handful of games, but it's so great to see early CGA games running so nicely at the right speed,
without having to fiddle with settings or slowdown TSRs!

prehist.pnggoody.pngdigger.png
Try setting vga_scaler=1, vsync_adjust=0 and see if it works.
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

spark2k06 wrote: Fri Jul 08, 2022 7:59 pm Try setting vga_scaler=1, vsync_adjust=0 and see if it works.
Sure that works for now, but I lose the ability to use dual resolutions.
(I mostly keep HDMI at 1080p for my video capture card)

I notice that the standard MiSTer video_mixer is commented out in the code... integrating that at some point would fix it.
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 »

Newsdee wrote: Sat Jul 09, 2022 1:16 am
spark2k06 wrote: Fri Jul 08, 2022 7:59 pm Try setting vga_scaler=1, vsync_adjust=0 and see if it works.
Sure that works for now, but I lose the ability to use dual resolutions.
(I mostly keep HDMI at 1080p for my video capture card)

I notice that the standard MiSTer video_mixer is commented out in the code... integrating that at some point would fix it.
I think I have already tried to make changes in this respect and it didn't work well, possibly just out of ignorance. I suggest you to test by yourself, and if you find a good solution, make a pull request in the prebeta branch, after review I will gladly accept it ;)
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

flynnsbit wrote: Wed Jul 06, 2022 11:21 pm Couple of testing sessions
I tried to use MyMenu from the Shareware Pack as a test... but it really didn't like the core's DOS environment.
Are there settings I could tweak or would it require changes to MyMenu code?

(I imagine that I'd have to give up long filenames, for example)
mymenu.png
mymenu.png (18.5 KiB) Viewed 4851 times
flynnsbit
Top Contributor
Posts: 552
Joined: Sun May 24, 2020 8:07 pm
Has thanked: 185 times
Been thanked: 310 times
Contact:

Re: MiSTer PCXT

Unread post by flynnsbit »

Newsdee wrote: Sat Jul 09, 2022 2:17 am
flynnsbit wrote: Wed Jul 06, 2022 11:21 pm Couple of testing sessions
I tried to use MyMenu from the Shareware Pack as a test... but it really didn't like the core's DOS environment.
Are there settings I could tweak or would it require changes to MyMenu code?

(I imagine that I'd have to give up long filenames, for example)

mymenu.png
It's LFN=T being set and DOSLFN or LFNDOS not running. If you set LFN=F in the mymenu.ini it will fix it. BBond and I are working through some stuff with MyMenu to see what is optimal for the core.

FYI, disk errors are the biggest issue I see. You can bomb the serial connection and cause the keyboard to basically start only accepting every other key by running ATTRIB on the file system.
User avatar
Newsdee
Top Contributor
Posts: 873
Joined: Mon May 25, 2020 1:07 am
Has thanked: 104 times
Been thanked: 239 times

Re: MiSTer PCXT

Unread post by Newsdee »

spark2k06 wrote: Sat Jul 09, 2022 2:11 am I suggest you to test by yourself, and if you find a good solution, make a pull request in the prebeta branch, after review I will gladly accept it ;)
I tired... but no luck :( I get a blank screen (OSD works just not the internal video)

Code: Select all

wire video_MDA = status[4];
wire [2:0] scale = status[16:15];
wire [2:0] sl = scale ? scale - 1'd1 : 3'd0;
wire       scandoubler = (scale || forced_scandoubler);
wire [7:0] R,G,B;
assign R = {video_MDA  ? r : raux, 2'b0};
assign G = {video_MDA  ? g : gaux, 2'b0};
assign B = {video_MDA  ? b : baux, 2'b0};
video_mixer #(.LINE_LENGTH(650), .GAMMA(1)) video_mixer
(
	.*,
	.hq2x(scale==1),
	.freeze_sync()
);
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 »

Newsdee wrote: Sat Jul 09, 2022 8:42 am
spark2k06 wrote: Sat Jul 09, 2022 2:11 am I suggest you to test by yourself, and if you find a good solution, make a pull request in the prebeta branch, after review I will gladly accept it ;)
I tired... but no luck :( I get a blank screen (OSD works just not the internal video)

Code: Select all

wire video_MDA = status[4];
wire [2:0] scale = status[16:15];
wire [2:0] sl = scale ? scale - 1'd1 : 3'd0;
wire       scandoubler = (scale || forced_scandoubler);
wire [7:0] R,G,B;
assign R = {video_MDA  ? r : raux, 2'b0};
assign G = {video_MDA  ? g : gaux, 2'b0};
assign B = {video_MDA  ? b : baux, 2'b0};
video_mixer #(.LINE_LENGTH(650), .GAMMA(1)) video_mixer
(
	.*,
	.hq2x(scale==1),
	.freeze_sync()
);
As I said, I have been trying to improve it, but for the moment we will have to make do with what we have. It will get better in that respect.
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 »

I found something strange when I played the Tetris (Spectrum HoloByte) game. That's what breaks the graphics. The first time you upload a core with a hdd.img mount, I didn’t have this symptom. There seems to be something wrong with the core, so please check it out.
Attachments
20F11FF4-CAB9-4FC3-9204-90DD0AF14F31.jpeg
20F11FF4-CAB9-4FC3-9204-90DD0AF14F31.jpeg (4.61 MiB) Viewed 4663 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 »

suww37 wrote: Sat Jul 09, 2022 2:16 pm I found something strange when I played the Tetris (Spectrum HoloByte) game. That's what breaks the graphics. The first time you upload a core with a hdd.img mount, I didn’t have this symptom. There seems to be something wrong with the core, so please check it out.
Please try the versions in the release folder and tell me just which one starts to fail.
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: Sat Jul 09, 2022 2:31 pm
suww37 wrote: Sat Jul 09, 2022 2:16 pm I found something strange when I played the Tetris (Spectrum HoloByte) game. That's what breaks the graphics. The first time you upload a core with a hdd.img mount, I didn’t have this symptom. There seems to be something wrong with the core, so please check it out.
Please try the versions in the release folder and tell me just which one starts to fail.
Now that I check it out, it doesn't matter if it's vesion. The level 6 and level 9 backgrounds are especially crashed.
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 »

beta 1.3

https://github.com/spark2k06/PCXT_MiSTe ... 45d237b7a4
  • Unified chipset clock at 100 MHz.
  • Changed read signal to uart module.
  • Changed cen_opl2 signal.
  • Improved access speed to SDRAM.
  • Control sdram refresh execution timing.
  • Fixed KF8237.
  • Wired between Timer 1 output and DMA0 request.
  • Fix VRAM CGA and loader for XTIDE.
  • IBM5160 BIOS downloader.
  • Fix indentations in make_boot_with_ibm5160.
  • Tandy graphics selectable from the OSD.
  • EMS pages frame update.
  • fix a comment on addressable memory.
  • boot.rom up to 64Kb + 16Kb for XTIDE.
  • Dummy LPT1.
  • Update of ROM download scripts.
  • Simple improvements to PCXT.sdc.
  • Correct use of address_enable_n signal in ports and memory accesses.
  • Initial improvements in Tandy sound implementation.
  • Improvements to the implementation of Tandy video
In this version, in addition to the Tandy mode, the palette switching feature also works:



The graphics module has some room for improvement:
  • Text mode based on 225 lines instead of 200, has one duplicated line per character that shouldn't be.
  • Tandy's 320x200x16 video mode has two additional vertical lines that should not be there.
I start a new prebeta 1.4 branch:

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

@kitune-san, I have tried to improve the implementation of the tandy sound module by following a little bit the methodology you have used in other modules:

https://github.com/spark2k06/PCXT_MiSTe ... 0052703e0f

Despite some improvement, as you can see in the video, the sound is still distorted... you can compare it with another video where you can see how it should sound:

https://www.youtube.com/watch?v=ersh8Yz-CC8&t=35s

Can you think of a way to fix it?

On the other hand, a user told me that although the direct clock of the sdram works well, in many of the MiSTer cores there is a small offset as explained here:

https://github.com/mist-devel/mist-boar ... on-4-sdram

What do you think about it?
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 »

spark2k06 wrote: Sun Jul 10, 2022 5:40 am
@kitune-san, I have tried to improve the implementation of the tandy sound module by following a little bit the methodology you have used in other modules:

https://github.com/spark2k06/PCXT_MiSTe ... 0052703e0f

Despite some improvement, as you can see in the video, the sound is still distorted... you can compare it with another video where you can see how it should sound:

https://www.youtube.com/watch?v=ersh8Yz-CC8&t=35s

Can you think of a way to fix it?
I haven't seen this thread in a while.
It is great progress.

One thing I noticed.
If you need a ready signal, you can do the following.

in Chipset.sv.

Code: Select all

    READY u_READY (
        ...
        .io_channel_ready (io_channel_ready & memory_access_ready & tandy_snd_rdy),
        ...
And I don't think the edge signal for the write signal within Peripherals.sv is necessary. Because it is done within sn76489_latch_ctrl.vhd.
Post Reply