Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Nextor shouldn't block sector I/O to MAPDRV drives when FAT12 disk images are used #43

Closed
sdsnatcher opened this issue Feb 22, 2020 · 4 comments
Labels
bug Something isn't working fixplemented This bug has already been fixed/this feature has already been implemented in a released version

Comments

@sdsnatcher
Copy link

sdsnatcher commented Feb 22, 2020

Nowadays, Nextor blocks sector I/O to FAT16 partitions, as a safety measure.
But, weirdly enough, it's also blocking sector I/O to MAPDRV drives of FAT12 disk images. This causes DOS2 programs that rely on sector I/O to fail.

For example: These are the results when you try to run the demo of the game F-Nano2' on Nextor 2.1.0RC1:

  • Copy the files to a folder on a FAT12 partition: Runs fine
  • Copy the files to a folder on a FAT16 partition: Fails because sector I/O is blocked
  • Use EMUFILE: fails because the game requires DiskBIOS2
  • Use MAPDRV: fails because sector I/O is blocked

You can download the demo of F-Nano2' here.

@Konamiman
Copy link
Owner

Konamiman commented May 31, 2020

Hello, thanks for your report. Just to be sure:

  • By "blocks sector I/O" what do you mean exactly? The RDABS function call maybe?
  • By "MAPDRV drives of disk images" do you mean mounting a disk image file in a drive?
  • How does it fail exactly?

@Konamiman Konamiman added the question Further information is requested label May 31, 2020
@sdsnatcher
Copy link
Author

By "blocks sector I/O" what do you mean exactly? The RDABS function call maybe?

Yes, when I opened the ticket I had _RDABS (2Fh) and _WRABS (30h) BDOS functions in mind.

I'm not sure if PHYDIO is also affected.

By "MAPDRV drives of disk images" do you mean mounting a disk image file in a drive?

Exactly. To be able to play DOS2 disk games, i.e.

How does it fail exactly?

I don't remember the details now, but IIRC, RDABS/WRABS just returned an error code (A>0) without doing anything else.

@Konamiman
Copy link
Owner

Hi, this is a bug, the RDABS/WRABS and RDDRV/WRDRV calls are supposed to work fine on drives with mounted files. Thanks for reporting.

@Konamiman Konamiman added bug Something isn't working and removed question Further information is requested labels Jun 14, 2020
@Konamiman Konamiman added the due in next version This will be fixed/implemented in the next version label Jul 11, 2020
Konamiman added a commit that referenced this issue Jul 26, 2020
- Fix: broken RAM disk (introduced in RC1).
- Fix: disk errors for old MSX-DOS 1 file functions in BASIC crash the computer (#59).
- Add: new flag returned by LUN_INFO allows to instruct Nextor to ignore devices when searching devices for automatic device to drive mapping (#54).
- Fix: files can't have 3 or 4 in their names in DOS 1 mode (#55).
- Fix: after booting directly yo BASIC by pressing 3, CALL SYSTEM doesn't work.
- Fix: slot disable keys don't work on real MSX computers (#49).
- Add: new boot key, pressing N at boot time disables all the Nextor kernels present.
- Add: default DPB gets a fixed address of 7BAAh in banks 0 and 3, so it can be customized reliably.
- Add: PROMPT routine made available to drivers at address 41E8h (#42).
- Fix: the DOS 1 variables "data buffer changed" and "redirect console output to printer" were not zeroed when switching to DOS 1 mode at boot time.
- Fix: can't change volume name when there are long filename entries in the root directory (#57).
- Fix: absolute sector read/write functions not working properly when a file is mounted to a drive (#43).
- Fix: bad sector buffer management when writing to a mounted file causing data corruption on the mounted file (#58).
- Fix: drive parameters not updated on first access to a drive after a media change if the driver provides drive mapping via DRV_CONFIG, causing bad data read (#45).
@Konamiman Konamiman added fixplemented This bug has already been fixed/this feature has already been implemented in a released version and removed due in next version This will be fixed/implemented in the next version labels Aug 1, 2020
@Konamiman
Copy link
Owner

Fixed in v2.1.0

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working fixplemented This bug has already been fixed/this feature has already been implemented in a released version
Projects
None yet
Development

No branches or pull requests

2 participants