adfExplorer
can be used to read from and write to virtual Amiga Disks,
a.k.a Amiga Disk Files (ADF).
You can install the development version of adfExplorer from r-universe with:
install.packages("adfExplorer", repos = c("https://pepijn-devries.r-universe.dev", "https://cloud.r-project.org"))
Or install the latest version from CRAN:
install.packages("adfExplorer")
The Commodore Amiga was a home computer that relied heavily on it’s build-in 3.5 inch floppy disk drive in the late eighties and early nineties. The Amiga was a popular system which nowadays can be accurately emulated on modern machines. A problem with the emulation of the Amiga is that most modern machines no longer have floppy disk drives. And if they do, they are usually physically not able to read Amiga formatted disks. To overcome this problem, the Amiga Disk File (ADF) was created. Such files are a virtual representation of a floppy disks which can be used in emulation.
Emulating the Commodore Amiga hardware is, as far as I can tell, legal. However, the Amiga had its operating system stored on a read only memory chip. Which is commonly referred to as the kickstart. This kickstart software is still protected by copyright law. Licensed copies can be bought legally from AmigaForever. The same is true for much of the Amiga software, which is still protected by copyright.
Note that for analysing ADF files with the adfExplorer
package you
don’t need the kickstart software. Just make sure the ADF files you use
contain data or software for which you own (or don’t need) a licence.
This package will allow you to analyse Amiga Disk Files (ADF) with the R scripting language. It can also be used to transfer files from and to ADF in batches, e.g. for preparing disks for emulation purposes.
The focus will be on the older Amiga operating systems (i.e., OS 3.x and less), as I am most familiar with those systems. In newer versions floppy disks became less important anyway. Note that this package cannot read extended ADF files containing information on the disk’s Modified Frequency Modulation (MFM). This information is typically only required for copy protected disks and is therefore out of the scope of this package.
library(adfExplorer)
#>
#> Attaching package: 'adfExplorer'
#> The following objects are masked from 'package:base':
#>
#> readBin, readLines, writeBin, writeLines
## First setup a connection to a virtual device
adz_file <- system.file("example.adz", package = "adfExplorer")
my_device <- connect_adf(adz_file)
## Open a connection to a file on the virtual device
fcon <- adf_file_con(my_device, "DF0:s/startup-sequence")
## Read from the file
my_startup <- readLines(fcon, warn = FALSE)
## Close the file
close(fcon)
## Close the virtual device
close(my_device)
The adfExplorer
package is an R interface around the ADFlib
library. The package would not have
been possible without the work of Laurent Clévy, Tomasz Wolak) and many
other
contributors of
ADFlib.
Please note that the adfExplorer project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.