mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-26 18:29:54 +00:00
Added cbm.h
This commit is contained in:
parent
fa9736d15b
commit
d79b654e94
61
src/main/kc/include/cbm.h
Normal file
61
src/main/kc/include/cbm.h
Normal file
@ -0,0 +1,61 @@
|
||||
// Commodore Kernal functions
|
||||
// See http://www.c64os.com/post/c64kernalrom#iec_acptr
|
||||
// Compatible with https://github.com/cc65/cc65/blob/master/include/cbm.h
|
||||
|
||||
// Constants to use with cbm_open() for opening a file for reading or writing without the need to append ",r" or ",w" to the filename.
|
||||
#define CBM_READ 0 /* default is ",p" */
|
||||
#define CBM_WRITE 1 /* ditto */
|
||||
#define CBM_SEQ 2 /* default is ",r" -- or ",s" when writing */
|
||||
|
||||
// IEC
|
||||
// Read one byte from talking device
|
||||
unsigned char cbm_k_acptr (void);
|
||||
|
||||
unsigned char cbm_k_chkin (unsigned char FN);
|
||||
void cbm_k_ciout (unsigned char C);
|
||||
unsigned char cbm_k_ckout (unsigned char FN);
|
||||
void cbm_k_clall (void);
|
||||
void cbm_k_clrch (void);
|
||||
unsigned char cbm_k_getin (void);
|
||||
unsigned cbm_k_iobase (void);
|
||||
void cbm_k_listen (unsigned char dev);
|
||||
unsigned char cbm_k_readst (void);
|
||||
void cbm_k_scnkey (void);
|
||||
void cbm_k_second (unsigned char addr);
|
||||
|
||||
// Set logical file number, device number and secondary address
|
||||
// lfn: logical file number
|
||||
// dev: device number
|
||||
// sa: secondary address
|
||||
void cbm_k_setlfs(unsigned char lfn, unsigned char dev, unsigned char sa);
|
||||
|
||||
// Set filename or command string
|
||||
// name: file name
|
||||
void cbm_k_setnam (const char* name);
|
||||
|
||||
// Open logical file
|
||||
unsigned char cbm_k_open (void);
|
||||
|
||||
// Close logical file
|
||||
// lfn: Logical file number
|
||||
void cbm_k_close (unsigned char lfn);
|
||||
|
||||
// Load or Verify data
|
||||
// flag: load=0, verify=1
|
||||
// addr: pointer to start address
|
||||
// returns pointer to last byte loaded
|
||||
char* cbm_k_load(unsigned char flag, char* addr);
|
||||
|
||||
// Save memory to disk/tape
|
||||
// start: pointer to start address
|
||||
// end: End address
|
||||
// return:
|
||||
unsigned char cbm_k_save(char* start, char* end);
|
||||
|
||||
|
||||
void cbm_k_settim (unsigned long timer);
|
||||
void cbm_k_talk (unsigned char dev);
|
||||
void cbm_k_tksa (unsigned char addr);
|
||||
void cbm_k_udtim (void);
|
||||
void cbm_k_unlsn (void);
|
||||
void cbm_k_untlk (void);
|
Loading…
Reference in New Issue
Block a user