Skip to content
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

Implement missing ffs API calls #92

Open
26 tasks
stevesims opened this issue Oct 24, 2024 · 0 comments
Open
26 tasks

Implement missing ffs API calls #92

stevesims opened this issue Oct 24, 2024 · 0 comments
Milestone

Comments

@stevesims
Copy link
Contributor

We have blocked out in MOS a bunch of API calls to expose fatfs functionality. The jump table for fatfs API calls can be found in mos_api.asm at the label mos_api_block2_start:. Many of these API calls however currently return a "not implemented" result.

The following API calls are defined in our API, but not yet implemented:

  • ffs_api_fsync
  • ffs_api_fforward
  • ffs_api_fexpand
  • ffs_api_fgets
  • ffs_api_fputc
  • ffs_api_fputs
  • ffs_api_fprintf
  • ffs_api_ftell
  • ffs_api_fsize
  • ffs_api_ferror
  • ffs_api_dfindfirst
  • ffs_api_dfindnext
  • ffs_api_unlink
  • ffs_api_rename
  • ffs_api_chmod
  • ffs_api_utime
  • ffs_api_mkdir
  • ffs_api_chdir
  • ffs_api_chdrive
  • ffs_api_mount
  • ffs_api_mkfs
  • ffs_api_fdisk
  • ffs_api_getfree
  • ffs_api_getlabel
  • ffs_api_setlabel
  • ffs_api_setcp

NB is may not be appropriate to implement all of these calls. Some such as ffs_api_fputc essentially replicate functionality of existing mos_ APIs, and therefore would be low priority to implement. Some refer to fatfs functionality that our configuration on the Agon does not use, and therefore are already correctly returning "not implemented". Additionally some calls may require more arguments than we can readily accept with the eZ80's limited register set. We may/probably need to define a standard ABI for such calls requiring extra arguments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant