-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
110 lines (80 loc) · 3.3 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```
# AmigaFFH
The Amiga File Format Handler package (AmigaFFH) is designed to interpret file formats that were native
to [Commodore Amiga](https://en.wikipedia.org/wiki/Amiga) machines.
In combination with the adfExplorer package this package can be used to interpret older file formats that
were native to the Commodore Amiga. The focus of this package will be on the older system (Amiga OS <= 3.0).
This will allow you to analyse and interpret these files in the scripted environment of R.
In the sections below there are some prominent examples of supported file formats. For a more detailed
overview, please consult the package documentation (`?AmigaFFH`)
## Installation
> Get CRAN version
```{r eval=FALSE}
install.packages("ProTrackR")
```
> Get development version from R-Universe
``` r
install.packages("ProTrackR", repos = c('https://pepijn-devries.r-universe.dev', 'https://cloud.r-project.org'))
```
## Usage
Below there are some ultra-short demostrations of a selection of supported Amiga file types
### IFF
The Interchange File Format (IFF) is and was a file container that could hold any kind of data.
Below is an example of a bitmap image stored as such a file.
```{r iff, fig.width=5, fig.height=4}
library(AmigaFFH)
example.iff <-
system.file("ilbm8lores.iff", package = "AmigaFFH") |>
read.iff()
par(bg = "black")
plot(example.iff, interpolate = FALSE)
```
### AmigaBasic
[AmigaBasic](https://en.wikipedia.org/wiki/Amiga_Basic) is a simple interpreted programming
language for the early Commodore Amiga's. Its code was stored in a binary format to save
disk and memory space. Below an example of how to read such a file.
```{r basic}
system.file("demo.bas", package = "AmigaFFH") |>
read.AmigaBasic()
```
### Amiga File Icons
On the Amiga, file icons were stored as separate files. Below an example of
how to create such a file.
```{r icons, fig.width=3, fig.height=3}
icon <- simpleAmigaIcon()
plot(icon, interpolate = FALSE)
```
### Amiga Fonts
The Commodore Amiga used bitmap fonts to display texts. The package comes with an
example object that can be stored as an Amiga Font file.
```{r fonts, fig.width=7, fig.height=4}
data(font_example)
plot(font_example, interpolate = FALSE)
```
### System configuration
The `systemconfiguration` file was used to store some system preferences (screen resolution, font,
default printer, etc.). It was loaded during the boot process. The exaple below shows how to create
such a file.
```{r sysconfig}
simpleSysConfig()
```
## Developmental status
It has been years since the initial release of this package. Since it's release
a lot has changed in R and in my skill set. I still have plans for this package,
but this requires drastic changes. Therefore, I will only apply minimal maintenance
to this package. Meanwhile I will work on a complete overhaul which will be released
in due time as a new package. This new package will:
* have the same or similar features as the current package.
* will implement modern R features and try to adhere to
[tidyverse](https://www.tidyverse.org) principles.
* implement rendering procedures in C++ giving the package a speed boost.
But until then, please enjoy the current package as is.