Page 28 of 47

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 12:11 pm
by wark91
For Hercule, It is already said on some previous comments, the PCXT is based on this project for video part.
Hercule maybe on the roadmap :
https://github.com/schlae/graphics-gremlin#future-plans

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 12:12 pm
by spark2k06
suww37 wrote: Mon Jul 18, 2022 12:02 pm Turbo mode is supported on the pcxt core and tandy mode is also supported. Now all that's left is the built-in pcxt IDE module, not the IDE com port script. I believe this will happen soon as well. Another thing I desperately want is Hercules graphic card mode, not the MDA. I haven't heard that the Hercules FPGA has been implemented yet. I'm not a developer, so I don't have much knowledge of this field. I wonder if it's a difficult process to put Hercules in the pcxt core, so if you try a little bit, it can be implemented like Tandy. If it's difficult, can you tell how long it takes?
Simple it is certainly not, as I have already commented on occasion, I consider myself a puzzle builder in this field... not a manufacturer of pieces, although I have been able to create some very simple ones, what you are asking for is certainly out of my reach.

Also, I'm not so sure that we are that close to an IDE implementation via VHD or floppy.

In any case, any experienced developer is welcome if he decides to dedicate time to develop the missing parts, of course the work done so far by @kitune-san is worthy of admiration, so let's take this for what it is, a hobby... pressures are never good, patience 8-)

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 12:28 pm
by suww37
spark2k06 wrote: Mon Jul 18, 2022 12:12 pm
suww37 wrote: Mon Jul 18, 2022 12:02 pm Turbo mode is supported on the pcxt core and tandy mode is also supported. Now all that's left is the built-in pcxt IDE module, not the IDE com port script. I believe this will happen soon as well. Another thing I desperately want is Hercules graphic card mode, not the MDA. I haven't heard that the Hercules FPGA has been implemented yet. I'm not a developer, so I don't have much knowledge of this field. I wonder if it's a difficult process to put Hercules in the pcxt core, so if you try a little bit, it can be implemented like Tandy. If it's difficult, can you tell how long it takes?
Simple it is certainly not, as I have already commented on occasion, I consider myself a puzzle builder in this field... not a manufacturer of pieces, although I have been able to create some very simple ones, what you are asking for is certainly out of my reach.

Also, I'm not so sure that we are that close to an IDE implementation via VHD or floppy.

In any case, any experienced developer is welcome if he decides to dedicate time to develop the missing parts, of course the work done so far by @kitune-san is worthy of admiration, so let's take this for what it is, a hobby... pressures are never good, patience 8-)
I'm sorry if you thought of this as pressure. I never intention that. I was just wondering how likely it was. I'm grateful to you and kitune-san for this kind of results.

I believe that Hercules mode will also be done by someone if I wait patiently.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 12:34 pm
by sharklodon
Hi, @flynnsbit
flynnsbit wrote: Sun Jul 17, 2022 10:48 pm Resolution:
If you create an IMG/VHD file container directly from serdrive command using "./serdrive -n 500MB 500.img" as an example, then fdisk, format, install the os to that container from something like AO486, then you will not get any disk errors or bad command checksums from serdrive. Also, this will set the CHS geometry to the default expected by the command so you wont have to specify it in the pcxt_uart_hdd script. I tried creating a 512MB image using serdrive and that one had issues mounting so I pulled it down to exactly 500MB with no issues. I had issues with 10MB, 20MB, 200MB containers if created outside of this process.
How do you do this? I mean, format from ao486. After create 500.img using serdrive, I renamed to 500.vhd but I can't open it with ao486. Booting from A: and doing a format c:, it doesn't find c: drive (Invalid drive specification).

Thanks and best regards,
Shark

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 12:37 pm
by akeley
sharklodon wrote: Mon Jul 18, 2022 12:34 pm Booting from A: and doing a format c:, it doesn't find c: drive (Invalid drive specification).
You miss the fdisk step, I got stumped on this as well before.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 1:01 pm
by sharklodon
akeley wrote: Mon Jul 18, 2022 12:37 pm
sharklodon wrote: Mon Jul 18, 2022 12:34 pm Booting from A: and doing a format c:, it doesn't find c: drive (Invalid drive specification).
You miss the fdisk step, I got stumped on this as well before.
But I don't understand how you format the image. Because, fdisk is to format floppy drives and format is to format hdd.

Then, you rename to .vhd and you mound on ao486 as a hdd (ao486 can't mount .vhd as a floppy), or what do you do?
If I try to mount .img as a floppy, same issue, ao486 doesn't recognize as a floppy drive and I can't do a fdisk.

I created an image of 80MB with serdrive.

Thanks,
Shark

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 1:06 pm
by wark91
fdisk is not to format but to create partition.
1st create the partition with fdisk.
2nd format the partition.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 1:14 pm
by flynnsbit
sharklodon wrote: Mon Jul 18, 2022 1:01 pm
akeley wrote: Mon Jul 18, 2022 12:37 pm
sharklodon wrote: Mon Jul 18, 2022 12:34 pm Booting from A: and doing a format c:, it doesn't find c: drive (Invalid drive specification).
You miss the fdisk step, I got stumped on this as well before.
But I don't understand how you format the image. Because, fdisk is to format floppy drives and format is to format hdd.

Then, you rename to .vhd and you mound on ao486 as a hdd (ao486 can't mount .vhd as a floppy), or what do you do?
If I try to mount .img as a floppy, same issue, ao486 doesn't recognize as a floppy drive and I can't do a fdisk.

I created an image of 80MB with serdrive.

Thanks,
Shark
1. create the disk using serdrive
2. make sure the disk has a vhd extension and move it to your AO486 directory
3. have a primary disk mounted to 0-0 that has fdisk, a dos system of your choosing, and format commands.
4. you can also use an installer like MS-DOS 6.22 from the floppy and in that case you would mount the vhd you created to 0-0 (make sure and set the floppy to boot in the AO486 hardware menu option or it wont ever boot the floppy install)
5. boot the system (from floppy or a pre-configured DOS VHD in 0-0), you should land at dos
6. run fdisk. select the appropriate disk, then select option 1 to create a partition
7. reboot
8. back to dos format d: (if this is your second disk) or format c: if you booted with a floppy and it is your primary disk 0-0
9. if you are trying to use any of my pre-built images for the boot drive, you need to run "assign" with no options to temporarily remove the D: mapping I have in the autoexec which takes over the D: drive.
10. copy the DOS directory over to you newly formatted drive and anything else you want.
11. set the pcxt_hdd_mount.sh script to mount the drive you just created (good time to increase the transfer speed to 460K in the script if you havent), and put yours in the location it expects /games/PCXT/hdd.img
12. Run the script
13. Run the core.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 1:15 pm
by jordi
See how many booters! Floppy support will be great.
http://retrograde.inf.ua/index2.htm

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 1:43 pm
by suww37
flynnsbit wrote: Mon Jul 18, 2022 1:14 pm
sharklodon wrote: Mon Jul 18, 2022 1:01 pm
akeley wrote: Mon Jul 18, 2022 12:37 pm
You miss the fdisk step, I got stumped on this as well before.
But I don't understand how you format the image. Because, fdisk is to format floppy drives and format is to format hdd.

Then, you rename to .vhd and you mound on ao486 as a hdd (ao486 can't mount .vhd as a floppy), or what do you do?
If I try to mount .img as a floppy, same issue, ao486 doesn't recognize as a floppy drive and I can't do a fdisk.

I created an image of 80MB with serdrive.

Thanks,
Shark
1. create the disk using serdrive
2. make sure the disk has a vhd extension and move it to your AO486 directory
3. have a primary disk mounted to 0-0 that has fdisk, a dos system of your choosing, and format commands.
4. you can also use an installer like MS-DOS 6.22 from the floppy and in that case you would mount the vhd you created to 0-0 (make sure and set the floppy to boot in the AO486 hardware menu option or it wont ever boot the floppy install)
5. boot the system (from floppy or a pre-configured DOS VHD in 0-0), you should land at dos
6. run fdisk. select the appropriate disk, then select option 1 to create a partition
7. reboot
8. back to dos format d: (if this is your second disk) or format c: if you booted with a floppy and it is your primary disk 0-0
9. if you are trying to use any of my pre-built images for the boot drive, you need to run "assign" with no options to temporarily remove the D: mapping I have in the autoexec which takes over the D: drive.
10. copy the DOS directory over to you newly formatted drive and anything else you want.
11. set the pcxt_hdd_mount.sh script to mount the drive you just created (good time to increase the transfer speed to 460K in the script if you havent), and put yours in the location it expects /games/PCXT/hdd.img
12. Run the script
13. Run the core.
How do I use a serdrive? Are you running on pcxt core dos?

"Serdrive" is neither "serdrive.exe" nor "sedrive.com" file.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:25 pm
by Newsdee
spark2k06 wrote: Mon Jul 18, 2022 8:39 am @newsdee, please check the monochrome colour change in the MDA output, since the last changes it looks too dark.
Sent you a pull request with a fix for it
--
PCXT_mdafix.rbf
(3.08 MiB) Downloaded 169 times

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:28 pm
by Newsdee
suww37 wrote: Mon Jul 18, 2022 1:43 pm How do I use a serdrive? Are you running on pcxt core dos?
"Serdrive" is neither "serdrive.exe" nor "sedrive.com" file.
serdrive is the unix binary on MiSTer - the same command you use to mount the image on COM

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:31 pm
by flynnsbit
FYI, serdrive can also mount floppy disks just fine. They need to be at the very end of the command like this.

Code: Select all

../PCXT/serdrive -v 1 -c 1 -b 460.8Kb hdd.vhd ./floppy/PCDOS2K.img
You can then have xt-ide boot from A if you hit 'a' during the boot sequence. You can also hot swap the floppy disk drive if you ctrl-c out of serdrive and then resetart it with a new floppy disk image. Just make sure you have zero disk activity going when you do this. You could corrupt a disk drive, so use at your own risk.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:37 pm
by sharklodon
Hi @flinnsbit,

I created .img file running serdrive command on the MiSTer:

Code: Select all

/media/fat/games/PCXT# ./serdrive -n 80MB 80.img
SerDrive - XTIDE Universal BIOS Serial Drive Server
Copyright (C) 2012-2013 by XTIDE Universal BIOS Team
Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY
v2.0.0 Beta 3 (Jun 23 2022)

Created file '80.img', geometry 158:16:63, size 77.77 MB
80.img: Hard Disk with 159264 LBA sectors, size 77.77 MB (CHS geometry 158:16:63)
ERROR: Serial port '(null)' not found
/media/fat/games/PCXT# 
I mounted as c: (renamed to .vhd). But running a MsDOS 6.22 installation (floppy drive), installation doesn't detect any c: drive to install it.

I don't know where is the issue.

Which version of serdrive are you using? My serdrive version is v2.0.0 Beta 3 (Jun 23 2022). Do you know if this version could cause the issue?

Regards,
Shark

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:40 pm
by flynnsbit
sharklodon wrote: Mon Jul 18, 2022 2:37 pm Hi @flinnsbit,

I created .img file running serdrive command on the MiSTer:

Code: Select all

/media/fat/games/PCXT# ./serdrive -n 80MB 80.img
SerDrive - XTIDE Universal BIOS Serial Drive Server
Copyright (C) 2012-2013 by XTIDE Universal BIOS Team
Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY
v2.0.0 Beta 3 (Jun 23 2022)

Created file '80.img', geometry 158:16:63, size 77.77 MB
80.img: Hard Disk with 159264 LBA sectors, size 77.77 MB (CHS geometry 158:16:63)
ERROR: Serial port '(null)' not found
/media/fat/games/PCXT# 
I mounted as c: (renamed to .vhd). But running a MsDOS 6.22 installation (floppy drive), installation doesn't detect any c: drive to install it.

I don't know where is the issue.

Which version of serdrive are you using? My serdrive version is v2.0.0 Beta 3 (Jun 23 2022). Do you know if this version could cause the issue?

Regards,
Shark
you still have to run the dos command

Code: Select all

fdisk
and create a primary partition before dos will install. This is the same as it was 40 years ago. Welcome to DOS. :D

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:41 pm
by thisisamigaspeaking
suww37 wrote: Mon Jul 18, 2022 12:02 pm Turbo mode is supported on the pcxt core and tandy mode is also supported. Now all that's left is the built-in pcxt IDE module, not the IDE com port script. I believe this will happen soon as well. Another thing I desperately want is Hercules graphic card mode, not the MDA. I haven't heard that the Hercules FPGA has been implemented yet. I'm not a developer, so I don't have much knowledge of this field. I wonder if it's a difficult process to put Hercules in the pcxt core, so if you try a little bit, it can be implemented like Tandy. If it's difficult, can you tell how long it takes?
suww37 wrote: Mon Jul 18, 2022 12:28 pm I'm sorry if you thought of this as pressure. I never intention that. I was just wondering how likely it was. I'm grateful to you and kitune-san for this kind of results.

I believe that Hercules mode will also be done by someone if I wait patiently.
Just a friendly tip, as you say you don't have intimate details of how things are being implemented or what is involved, so it doesn't make sense to believe anything is going to happen on the project in the future, as that implies having knowledge that it is likely to happen (soon or not). It might be better to say you hope so than you believe so, but I think we have both already clearly said in this thread what features we hope for and would like to see.

From my understanding this is being pieced together from already made components and not done from scratch. If it were done from scratch it would be an incredible amount of work. FPGA is not like writing regular computer software, and even that would take a lot of time. FPGA is more like designing electronics.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 2:49 pm
by sharklodon
Hi @flinnsbit,

I solved the issue. I created a file directly with .vhd extension (not .img ans rename it to .vhd). Then it works.

Thanks,
Shark

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 3:05 pm
by suww37
Newsdee wrote: Mon Jul 18, 2022 2:28 pm
suww37 wrote: Mon Jul 18, 2022 1:43 pm How do I use a serdrive? Are you running on pcxt core dos?
"Serdrive" is neither "serdrive.exe" nor "sedrive.com" file.
serdrive is the unix binary on MiSTer - the same command you use to mount the image on COM
How do I use unix binary in MiSTer?

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 3:08 pm
by Newsdee
suww37 wrote: Mon Jul 18, 2022 3:05 pm How do I use unix binary in MiSTer?
Press F9 on main MiSTer menu (core selection) to go into linux. User/Pwd is root:1
(for other shortcuts - see here viewtopic.php?p=10294#p10294 )

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 3:36 pm
by suww37
Newsdee wrote: Mon Jul 18, 2022 3:08 pm
suww37 wrote: Mon Jul 18, 2022 3:05 pm How do I use unix binary in MiSTer?
Press F9 on main MiSTer menu (core selection) to go into linux. User/Pwd is root:1
(for other shortcuts - see here viewtopic.php?p=10294#p10294 )
I don't know how to use linux. I would appreciate it if you could tell me the script that can create hdd 80MB.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 3:50 pm
by suww37
Newsdee wrote: Mon Jul 18, 2022 3:08 pm
suww37 wrote: Mon Jul 18, 2022 3:05 pm How do I use unix binary in MiSTer?
Press F9 on main MiSTer menu (core selection) to go into linux. User/Pwd is root:1
(for other shortcuts - see here viewtopic.php?p=10294#p10294 )
"./serdrive -n 80MB 80.img"
How do I run this command?

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 3:55 pm
by Newsdee
suww37 wrote: Mon Jul 18, 2022 3:50 pm "./serdrive -n 80MB 80.img"
How do I run this command?
Its almost the same as DOS...just switch to the pcxt folder afte going into Linux:

Code: Select all

cd /media/fat/games/
cd PCXT
then.type that command

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 4:03 pm
by arromdee
flynnsbit wrote: Sun Jul 17, 2022 10:48 pm I wanted to report back that I finally worked through the serdrive disk "Bad Command Checksum" that I have been plagued with from the start of this project.
What exactly does this mean? Do the other programs used to create the drive image not create a valid drive image? Do they create valid images but sedrdrive doesn't understand certain valid images?

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 4:17 pm
by flynnsbit
arromdee wrote: Mon Jul 18, 2022 4:03 pm
flynnsbit wrote: Sun Jul 17, 2022 10:48 pm I wanted to report back that I finally worked through the serdrive disk "Bad Command Checksum" that I have been plagued with from the start of this project.
What exactly does this mean? Do the other programs used to create the drive image not create a valid drive image? Do they create valid images but sedrdrive doesn't understand certain valid images?
Correct, what I am seeing is if I don't use serdrive to create the disk then serdrive itself will have issues while using said disk (specifically writing to said disk). I've worked through creating these with all other methods attached of all different sizes and always had instability. If I use serdrive itself to actually create the disk then I have yet to see any disk errors in the serdrive log with -v turned on. Try it yourself. you can see how I do it above.

But important to note, serdrive will still mount the other ones, they will boot, but you will see errors randomly. I could not nail now exact but It seemed to be clusters in the higher range. example:

Code: Select all

sector 165057
1st sector of 16 in cluster 10300

sector 191921 
cluster 11979

199249
cluster 12437

101569
cluster 6332

101825
6348

108001
6734

448609
28022
These clusters would all fail on my 200MB disk I created using 86Box.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 5:57 pm
by somhi
Hello,

Just a crazy idea... but would it be doable to try to recreate serdrive in VHL? In that case, one would load an image from the OSD and it will be managed by the serdrive module in the core, and that module would serve the data to the XTIDE Bios.

Could be as difficult as developing an IDE/floppy controller, but maybe some developer might find it easier to handle.

Here is the source: https://www.xtideuniversalbios.org/brow ... er/library

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 6:17 pm
by JamesH
Sorry to jump in, but does XTIDE actually use LBA? If it does not, the weird behaviour with a random image size was explained before, wasn't it? If I am not mistaken, unless one specifies disk image geometry explicitly (and it MUST match the actual image size), serdrive assumes 16 heads and 63 sectors, so the image MUST be allocated in chunks of 516096 bytes (16*63*512).

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 7:11 pm
by somhi
I just want to congratulate spark2k06, kitune-san, microcorelabs and everyone who is collaborating to make this core reality including the betatesters.

Yesterday I was very surprised to get one of my favourite Sierra games, Manhunter New York, working very well with Tandy video & sound!! (just missed the cursors working for the game to be playable).
Today I just got the Boulder booter working with Yuko+XTIDE (with Tandy bios it gives me Error 60h).

Regarding my contribution to this core, I've ported PCXT to the Arrow SoCkit FPGA board, which is a MiSTer very compatible board, so I'm testing it from this platform. https://github.com/somhi/PCXT_SoCkit

I've also started porting PCXT to other non-MisTER FPGAs (NeptUNO with Qmtech EP4CE55, Arrow DECA) thanks to the incredible work of Alastair M.Robinson developer of DeMiSTify.
PCXT could be ported without too much effort currently to any Altera FPGA with SDRAM and enough resources to handle the core, but unfortunately the current development in MiSTer is using too much BRAM for many FPGAs, and I'm experimenting higher timing issues as the core is getting more and more features.

I think the high BRAM resource usage I'm experimenting in Neptuno and Deca is the culprit of the high slack timings I'm getting in the multicorner timing analysis (e.g. worst case setup slack I'm getting in SoCkit is -13 ns and in Deca/Neptuno I'm getting like -18 ns). Also, a better managing of the clock domains I think should be done at some point, as microcorelabs pointed out in an ancient post.

Here is my repository for the non-MiSTer ports but I stopped updating the cores for the DeMiSTify boards until the core is more mature and some of my following requests are implemented:
  • Load BIOS and VRAM into SDRAM
  • Better management of the clock domains to reduce the timing issues
If the core could work in other FPGAs we could reach more developers who doesn't have a MiSTer or don't like to develop in MiSTer for the long compilation times [e.g. in my machine the non-MiSTer ports compile in 1/2 to 2/3 of the time required in MiSTer].

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 7:35 pm
by remax
One thing for sure : serdrive doesn't like too much live changing the CPU clock...
Sometimes it works, but most of the time it leads to timeouts...

Not that it matters when you're talking about an acurate emulator :-p

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 8:51 pm
by flynnsbit
JamesH wrote: Mon Jul 18, 2022 6:17 pm Sorry to jump in, but does XTIDE actually use LBA? If it does not, the weird behaviour with a random image size was explained before, wasn't it? If I am not mistaken, unless one specifies disk image geometry explicitly (and it MUST match the actual image size), serdrive assumes 16 heads and 63 sectors, so the image MUST be allocated in chunks of 516096 bytes (16*63*512).
You HAVE to set the CHS correctly if it is off standard or serdrive won't even mount it. It's an on or off scenario in that specific circumstance. In my case, I was being specific, adding the -g line, mounting it and having disk IO issues randomly. Examples stated above, even sometimes simply "EDIT CONFIG.SYS" and saving would Abort, Retry, Fail. Doing it my way has been 100% error free. A good way to see this is even in the boot up process: Watch the Bad checksums at this time stamp:
https://youtu.be/iaE4wVMR-Zw?t=35

Note, after doing it my way, I haven't had a single disk timeout, (A)(R)(F), or Bad checksum.

Take it with a grain of salt, and if you are monitoring your serdrive logs and not seeing the issues in the above video, you might be just fine. This is just where I got to.

Also I have had zero issues at 460K using the new core at 14Mhz, so not sure if that is what spark was running into or not? Mine seems just fine even if I switch between all three speeds.

Re: MiSTer PCXT

Posted: Mon Jul 18, 2022 8:52 pm
by NML32
somhi wrote: Mon Jul 18, 2022 7:11 pm Yesterday I was very surprised to get one of my favourite Sierra games, Manhunter New York, working very well with Tandy video & sound!! (just missed the cursors working for the game to be playable).
Yeah, the Tandy Keyboard needs some work.
I got the cursor keys to work with some Sierra games with the Tandy Bios by holding the Shift key down.