-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DOS unit tests 07 and 08 (C: copy/concatenate) are broken #350
Comments
The first ROM commit to have the problem seems to be b6a0f0c. |
I think I now know what's happening when doing a DOS file copy to some extent. AFAICT, the actual file copying is done by fat32_read and fat32_write in dos/fat32/fat32.s. It seems fat32_read uses a temporary storage buffer in RAM bank 1 where it puts the content of the file it's reading. Furthermore it looks like fat32_write tries to output the content of the same buffer to disk, but that it fetches data from the same memory address in RAM bank 0 instead. Even so, I have not yet a concrete bug fix. Just an idea of what might be going wrong. |
I managed to trick the X16 Kernal to do a correct file copy by the changes found in the above diff file "functions.diff.txt" |
This breaks in tests 07 and 08 (
C: COPY FILE
/C: CONCATENATE FILES
):unzip -o sdcard.img.zip
./x16emu -sdcard sdcard.img -warp -bas ../x16-rom/test/dos.bas
It reproduces also when disabling all other tests.
This has been broken since at least r39. Bisecting older ROMs needs more work because it needs an older emulator.
The text was updated successfully, but these errors were encountered: