This is a 3DO Portfolio OS device driver which mimic the internal
device driver called raw
which abstracts access to memory with
custom read and write functions for accessing each type of memory
(DRAM, VRAM, NVRAM, ROM, and memory mapped devices.)
The primary difference is that this library allows unfettered access to the hardware without any authorization checks. Meaning you can read the ROMS, read or write to NVRAM directly rather than through the filesystem, and interact with any memory mapped hardware like MADAM, CLIO, SPORT, etc.
While useful for interacting with the system the primary purpose it to demonstrate building a device driver with supervisor privileges. For general interaction with hardware it would probably be best to leverage a folio. The dispatch overhead will be lower than using the IO subsystem as device drivers do.
See the svc_mem.h header
file
and the read_rom
and overwrite_folio_func
examples in the 3do-devkit
- Get 3do-devkit
source 3do-devkit/activate-env
make
make install
will install the header and library into 3do-devkit