Next Previous Contents

## 4. Platform specific header files

Programs containing C16 specific code may use the `c16.h` or `cbm.h` header files. Using the later may be an option when writing code for more than one CBM platform, since it includes `c16.h` and declares several functions common to all CBM platforms.

Please note that most of the header file declarations from the `c16.h` header file are shared between the C16 and Plus/4 configurations. For this reason, most of it is located in a common header file named `cbm264.h`.

## 4.1 C16/C116 specific functions

There are currently no special C16/C116 functions.

## 4.2 CBM specific functions

Some functions are available for all (or at least most) of the Commodore machines. See the function reference for declaration and usage.

- cbm_close
- cbm_closedir
- cbm_k_setlfs
- cbm_k_setnam
- cbm_k_load
- cbm_k_save
- cbm_k_open
- cbm_k_close
- cbm_k_readst
- cbm_k_chkin
- cbm_k_ckout
- cbm_k_basin
- cbm_k_bsout
- cbm_k_clrch
- cbm_load
- cbm_open
- cbm_opendir
- cbm_read
- cbm_readdir
- cbm_save
- cbm_write
- get_tv

## 4.3 Hardware access

The following pseudo variables declared in the `c16.h` header file do allow access to hardware located in the address space. Some variables are structures, accessing the struct fields will access the chip registers.

`TED`

  The `TED` structure allows access to the TED chip. See the `_ted.h` header file located in the include directory for the declaration of the structure.

`COLOR_RAM`

  A character array that mirrors the color RAM of the C16 at $0800.

Next Previous Contents