80 lines
2.2 KiB
C
80 lines
2.2 KiB
C
#ifndef FLOSSIEC_H
|
|
#define FLOSSIEC_H
|
|
|
|
// When building you can use various defines to change the behaviour
|
|
|
|
// FLOSSIEC_BORDER=1 Enable border flashing while loading
|
|
// FLOSSIEC_NODISPLAY=1 Disable the display while loading
|
|
// FLOSSIEC_NOIRQ=1 Disable IRQ during load
|
|
// FLOSSIEC_CODE=cseg Code segment to be used, when defined
|
|
// FLOSSIEC_BSS=bseg BSS segment to be used, when defined
|
|
|
|
// Initialize the fastloader to be used without the kernal
|
|
bool flossiec_init(char drive);
|
|
|
|
// Shutdown the fastloader when used without the kernal
|
|
void flossiec_shutdown(void);
|
|
|
|
// Open a file for read with the fastloader without the kernal.
|
|
// The file has to be read to completion before you can close
|
|
// it again,
|
|
bool flossiec_open(char track, char sector);
|
|
|
|
// Close a file after reading
|
|
void flossiec_close(void);
|
|
|
|
|
|
// Initialize the fastloader to be used with the kernal
|
|
bool flosskio_init(char drive);
|
|
|
|
// Shutdown the fastloader when used with the kernal
|
|
void flosskio_shutdown(void);
|
|
|
|
|
|
// Open a file for read with the fastloader with the kernal
|
|
// The file has to be read to completion before you can close
|
|
// it again,
|
|
bool flosskio_open(char track, char sector);
|
|
|
|
// Close a file after reading
|
|
void flosskio_close(void);
|
|
|
|
|
|
// Track and sector start of a file
|
|
struct floss_blk
|
|
{
|
|
char track, sector;
|
|
};
|
|
|
|
// Map a comma separated list of filenames to an array of
|
|
// block start positions by reading the directory, using the
|
|
// kernal.
|
|
bool flosskio_mapdir(const char * fnames, floss_blk * blks);
|
|
|
|
// Map a comma separated list of filenames to an array of
|
|
// block start positions by reading the directory, without the
|
|
// kernal.
|
|
bool flossiec_mapdir(const char * fnames, floss_blk * blks);
|
|
|
|
// Check for end of file while reading
|
|
inline bool flossiec_eof(void);
|
|
|
|
// Get one char from uncompressed file
|
|
inline char flossiec_get(void);
|
|
|
|
// Get one char from compressed file
|
|
inline char flossiec_get_lzo(void);
|
|
|
|
// Read a section of a file into memory up to size bytes,
|
|
// returns the first address after the read
|
|
char * flossiec_read(char * dp, unsigned size);
|
|
|
|
// Read and expand section of a file into memory up to size
|
|
// bytes, returns the first address after the read
|
|
char * flossiec_read_lzo(char * dp, unsigned size);
|
|
|
|
|
|
#pragma compile("flossiec.c")
|
|
|
|
#endif
|