{"id":32207709,"url":"https://github.com/pepijn-devries/adfexplorer","last_synced_at":"2025-10-22T05:58:30.371Z","repository":{"id":47408203,"uuid":"396722267","full_name":"pepijn-devries/adfExplorer","owner":"pepijn-devries","description":"R package that allows exploring of Amiga Disk Files. Official release available via CRAN. Install using: install.packages(\"adfExplorer\")","archived":false,"fork":false,"pushed_at":"2025-09-05T19:43:31.000Z","size":5523,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-22T05:58:20.190Z","etag":null,"topics":["amiga","retrocomputing"],"latest_commit_sha":null,"homepage":"https://pepijn-devries.github.io/adfExplorer/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pepijn-devries.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-16T09:36:36.000Z","updated_at":"2025-09-05T19:40:30.000Z","dependencies_parsed_at":"2025-09-05T19:12:42.629Z","dependency_job_id":"3ad15544-0278-4f7b-8337-3f03c1485d80","html_url":"https://github.com/pepijn-devries/adfExplorer","commit_stats":{"total_commits":12,"total_committers":3,"mean_commits":4.0,"dds":"0.33333333333333337","last_synced_commit":"5fb85322fa42e8f9e0a2067b413302d8e4539ef1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pepijn-devries/adfExplorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepijn-devries%2FadfExplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepijn-devries%2FadfExplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepijn-devries%2FadfExplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepijn-devries%2FadfExplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pepijn-devries","download_url":"https://codeload.github.com/pepijn-devries/adfExplorer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pepijn-devries%2FadfExplorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280389299,"owners_count":26322507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amiga","retrocomputing"],"created_at":"2025-10-22T05:58:29.331Z","updated_at":"2025-10-22T05:58:30.363Z","avatar_url":"https://github.com/pepijn-devries.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# adfExplorer\n\n\u003c!-- badges: start --\u003e\n[![R-CMD-check](https://github.com/pepijn-devries/adfExplorer/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/pepijn-devries/adfExplorer/actions/workflows/R-CMD-check.yaml)\n[![adfExplorer status badge](https://pepijn-devries.r-universe.dev/badges/adfExplorer)](https://pepijn-devries.r-universe.dev/adfExplorer)\n[![version](https://www.r-pkg.org/badges/version/adfExplorer)](https://CRAN.R-project.org/package=adfExplorer)\n[![codecov](https://codecov.io/gh/pepijn-devries/adfExplorer/graph/badge.svg?token=COQ0P9CFWV)](https://app.codecov.io/gh/pepijn-devries/adfExplorer)\n![cranlogs](https://cranlogs.r-pkg.org/badges/adfExplorer)\n\u003c!-- badges: end --\u003e\n\n\u003cimg src=\"man/figures/logo.svg\" align=\"right\" height=\"139\" copyright=\"cc-sa\" alt=\"logo\" class=\"pkgdown-hide\" /\u003e\n\n`adfExplorer` can be used to read from and write to virtual Amiga Disks, a.k.a\nAmiga Disk Files (ADF).\n\n## Installation\n\nYou can install the development version of adfExplorer from [r-universe](https://pepijn-devries.r-universe.dev/adfExplorer) with:\n\n``` r\ninstall.packages(\"adfExplorer\", repos = c(\"https://pepijn-devries.r-universe.dev\", \"https://cloud.r-project.org\"))\n```\n\nOr install the latest version from CRAN:\n\n```r\ninstall.packages(\"adfExplorer\")\n```\n\n## Background\n\n### Amiga Disk Files\n\nThe Commodore Amiga was a home computer that relied heavily on it's\nbuild-in 3.5 inch floppy disk drive in the late eighties and early\nnineties. The Amiga was a popular system which nowadays can \nbe accurately [emulated](https://en.wikipedia.org/wiki/Amiga_emulation)\non modern machines. A problem with the emulation of the Amiga\nis that most modern machines no longer have floppy disk drives.\nAnd if they do, they are usually physically not able to read\nAmiga formatted disks. To overcome this problem, the Amiga Disk File\n(ADF) was created. Such files are a virtual representation of a\nfloppy disks which can be used in emulation.\n\n#### Legal notes\n\nEmulating the Commodore Amiga hardware is, as far as I can tell, legal.\nHowever, the Amiga had its operating system stored on a read only memory\nchip. Which is commonly referred to as the kickstart. This kickstart software\nis still protected by copyright law. Licensed copies can be bought legally\nfrom [AmigaForever](https://www.amigaforever.com). The same is true for much of the\nAmiga software, which is still protected by copyright.\n\nNote that for analysing ADF files with the `adfExplorer` package you don't\nneed the kickstart software. Just make sure the ADF files you use contain\ndata or software for which you own (or don't need) a licence. \n\n### The `adfExplorer` package\n\nThis package will allow you to analyse Amiga Disk Files (ADF) with\nthe R scripting language. It can also be used to transfer files\nfrom and to ADF in batches, e.g. for preparing disks for emulation \npurposes.\n\nThe focus will be on the older Amiga operating systems (i.e.,\nOS 3.x and less), as I am most familiar with those systems. In\nnewer versions floppy disks became less important anyway.\nNote that this package cannot read extended ADF files containing\ninformation on the disk's\n[Modified Frequency Modulation (MFM)](https://en.wikipedia.org/wiki/Modified_Frequency_Modulation).\nThis information is typically only required for copy protected disks\nand is therefore out of the scope of this package.\n\n## Example\n\n```{r example}\nlibrary(adfExplorer)\n\n## First setup a connection to a virtual device\nadz_file \u003c- system.file(\"example.adz\", package = \"adfExplorer\")\nmy_device \u003c- connect_adf(adz_file)\n\n## Open a connection to a file on the virtual device\nfcon \u003c- adf_file_con(my_device, \"DF0:s/startup-sequence\")\n\n## Read from the file\nmy_startup \u003c- readLines(fcon, warn = FALSE)\n\n## Close the file\nclose(fcon)\n\n## Close the virtual device\nclose(my_device)\n```\n\n## Acknowledgements\n\nThe `adfExplorer` package is an R interface around the [`ADFlib` library](https://github.com/lclevy/ADFlib).\nThe package would not have been possible without the work of Laurent Clévy,\nTomasz Wolak and many other\n[contributors](https://github.com/lclevy/ADFlib/blob/master/AUTHORS) of ADFlib.\n\n## Code of Conduct\nPlease note that the adfExplorer project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepijn-devries%2Fadfexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpepijn-devries%2Fadfexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpepijn-devries%2Fadfexplorer/lists"}