Skip to contents

Read and write AmigaBasicBMAP() binary file format.

Usage

read.AmigaBasicBMAP(file, disk = NULL)

write.AmigaBasicBMAP(x, file, disk = NULL)

Arguments

file

A character string of the filename of the Amiga Basic BMAP file to be read or written.

disk

A virtual Commodore Amiga disk from which the file should be read or written to. This should be an amigaDisk() object. Using this argument requires the adfExplorer package. When set to NULL, this argument is ignored.

x

A AmigaBasicBMAP() class object that needs to be stored.

Value

Returns an AmigaBasicBMAP() class object read from the file in case of read.AmigaBasicBMAP. Otherwise, invisibly returns the result of the call of close to the file connection. Or, when disk is specified, a copy of disk is returned to which the file is written.

Details

An Amiga Basic BMAP file maps the offset of routines in Amiga libraries and can be read as a comprehensive list and written back to a binary file using these functions.

Author

Pepijn de Vries

Examples

if (FALSE) {
## A small fragment of the dos.library BMAP would look like this:
dos.bmap <- as.AmigaBasicBMAP(list(
  xOpen = list(
    libraryVectorOffset = -30,
    registers = as.raw(2:3)
  ),
  xClose = list(
    libraryVectorOffset = -36,
    registers = as.raw(2)
  ),
  xRead = list(
    libraryVectorOffset = -42,
    registers = as.raw(2:4)
  )
))

## This will write the BMAP to a file:
write.AmigaBasicBMAP(dos.bmap, file.path(tempdir(), "dos.bmap"))

## This will read the same file:
dos.bmap.copy <- read.AmigaBasicBMAP(file.path(tempdir(), "dos.bmap"))
}