Previous

Next

Bottom

Contents

Glossary

Index

 

Persistor CF1 User's Manual

Index

May 1999

Revision 1.00

 Persistor Instruments Inc.
© 1998 All rights reserved.

void

ASM_BIOS_CALL(vptr f)

<cf1bios.h>

MACRO DESC

void

ASM_BIOS_JMP(vptr)

<cf1bios.h>

MACRO DESC

void

ASM_PICO_CALL(vptr f)

<cf1pico.h>

MACRO DESC

void

ASM_PICO_JMP(vptr)

<cf1pico.h>

MACRO DESC

short

ATACapacity(ATADvr iodvr, ulong *sectors, ushort *spt, ushort *heads, struct ATADriveID **info)

<cf1bios.h>

Return the PC Card capacity in total sectors

short

ATAFormatSectors(ATADvr iodvr, ulong sector, void *buffer, short count)

<cf1bios.h>

Format sector(s)

bool

ATAMediaCheck(ATADvr iodvr)

<cf1bios.h>

Return true if hardware and media are available

short

ATAReadSectors(ATADvr iodvr, ulong sector, void *buffer, short count)

<cf1bios.h>

Read logical drive sector(s)

short

ATASectorInfo(ATADvr iodvr, ulong sector, void *buffer)

<cf1bios.h>

Read sectors hot count and erase status

short

ATASetPower(ATADvr iodvr, short reqPwr, short *cardMin, short *cardMax)

<cf1bios.h>

Set power versus performance values

short

ATASpecial(ATADvr iodvr, ulong sector, void *buffer, short count, short cmd, short iswrite, short feature)

<cf1bios.h>

Perform special ATA command

short

ATAWriteSectors(ATADvr iodvr, ulong sector, void *buffer, short count)

<cf1bios.h>

Write logical drive sector(s)

char*

AttribCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

BackROMCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

BaudCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

bool

BIACheckReady(bool waitready)

<cf1pico.h>

Return the current drive ready status, optionally wait

void

BIADrivePower(bool on)

<cf1pico.h>

Turn the BigIDEA switched power supply on or off

void

BIADriveReset(bool assert)

<cf1pico.h>

Assert/release the /DRVRES line

void*

BIAExp1(void *vp)

<cf1pico.h>

DESC

void*

BIAExp2(void *vp)

<cf1pico.h>

DESC

ATADvr

BIAGetDriver(BIADEV device)

<cf1pico.h>

Return the low level BigIDEA driver (for the ATA driver)

BIAST

BIAGetStatus(void)

<cf1pico.h>

Return the current drive status flags

char*

BIAGetStatusString(void)

<cf1pico.h>

Return the current drive status flags as 18 char string

bool

BIAInit(BIADEV device, ushort scms, ushort index, short nsAccess)

<cf1pico.h>

Initialize the BigIDEA hardware

vfptr

BIAInstallPreIOFunction(vfptr pf)

<cf1pico.h>

Install a function to call prior to low-level operations

bool

BIAPowerUp(bool waitready)

<cf1pico.h>

Power up the BigIDEA and spin up the drive

void

BIAReviseTiming(BIADEV device, ulong chkBsyDelay, ulong spinUpTimeout)

<cf1pico.h>

Setup the main delays and timeouts

void

BIAShutDown(void)

<cf1pico.h>

Turn off the drive and power down the BigIDEA

float

BIATempC(void)

<cf1pico.h>

Return BigIDEA temperature in degrees C

bool

BIOSAddChore(BIOSChore list[], ushort max, vfptr chore, ushort intReqLevel)

<cf1bios.h>

Add a bios interrupt chore

long*

BIOSGetSerNum(void)

<cf1bios.h>

Return the CF1 Serial Number

vptr

BIOSHandlerAddress(short drvrid)

<cf1bios.h>

Return a BIOS handlers actual address

void

BIOSInit(void)

<cf1bios.h>

Initialize the BIOS (performed automatically by PicoDOS)

vptr

BIOSPatchInsert(short drvrid, vptr newf)

<cf1bios.h>

Insert a new handler in the BIOS table

bool

BIOSRemoveChore(BIOSChore list[], ushort max, vfptr chore)

<cf1bios.h>

Remove a bios interrupt chore (NULL vfptr for all)

void

BIOSReset(void)

<cf1bios.h>

Reset the CF1

void

BIOSResetToAddress(ulong target)

<cf1bios.h>

Reset the CF1 and jump to specified address

void

BIOSResetToPBM(void)

<cf1bios.h>

Reset the CF1 and force to PBM

void

BIOSResetToPicoDOS(void)

<cf1bios.h>

Reset the CF1 and jump to 0xE10000 (PicoDOS)

void

BIOSReturn(void)

<cf1bios.h>

Simple BIOS call to test and compare call timing overhead

bool

BIOSVersionCheck(short ver, short rel, char *id, bool reset)

<cf1bios.h>

Confirm application and BIOS compatibility

char*

BootCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

BSDCapacity(ushort bsdid, ulong *sectors, ushort *spt, ushort *heads, struct ATADriveID **info)

<cf1pico.h>

Fetch the logical device capacity and geometry

short

BSDGetPartition(ushort bsdid)

<cf1pico.h>

Return the partition number associated with this BSD

short

BSDGetSSD(ushort bsdid)

<cf1pico.h>

Return the SSD ID associated with this BSD

ulong

BSDHiddenSectors(ushort bsdid)

<cf1pico.h>

Return the number of hidden sectors before data sectors

bool

BSDMediaCheck(ushort bsdid)

<cf1pico.h>

Return true if hardware and media are available

short

BSDReadSectors(ushort bsdid, ulong sector, void *buffer, short count)

<cf1pico.h>

Read logical device (LBA) sector(s)

short

BSDRegisterDevice(ushort ssdid, ushort prtn, ulong firstSect, ulong lastSect)

<cf1pico.h>

Register a new Block Storage Device

void

BSDReset(void)

<cf1pico.h>

Reset BSD tables and clear all registered devices

short

BSDValidate(ushort bsdid)

<cf1pico.h>

Validate the requested BSD ID

short

BSDWriteSectors(ushort bsdid, ulong sector, void *buffer, short count)

<cf1pico.h>

Write logical device (LBA) sector(s)

void

Byte2Swap(ushort x)

<cf1bios.h>

MACRO DESC

void

Byte4Swap(ulong x)

<cf1bios.h>

MACRO DESC

void

ByteBitClear(uchar byte, int bit)

<cf1bios.h>

MACRO DESC

void

ByteBitSet(uchar byte, int bit)

<cf1bios.h>

MACRO DESC

void

ByteBitTest(uchar byte, int bit)

<cf1bios.h>

MACRO DESC

char*

CaptureCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

CardChangeCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

cdrain(void)

<cf1bios.h>

MACRO uses CIOdrain()

void

CFAutoWrNoEra(bool on)

<cf1bios.h>

Enable automatic write to write without erase translation

bool

CFCardDetect(void)

<cf1bios.h>

Return true if a card is inserted

bool

CFDisallowWrite(void)

<cf1bios.h>

Return true if writing is disabled (always false

bool

CFEnable(bool on)

<cf1bios.h>

Enable or disable CompactFlash card to control power

ATADvr

CFGetDriver(void)

<cf1bios.h>

Return the low level CompactFlash driver (for ATA driver)

void

CFInit(void)

<cf1bios.h>

Initialize the CompactFlash hardware

short

cgetc(void)

<cf1bios.h>

MACRO uses CIOgetc()

short

cgetq(void)

<cf1bios.h>

MACRO uses CIOgetq()

short

cgets(char *buf, short len)

<cf1bios.h>

MACRO uses CIOgets

int

chdir(const char *path)

<unistd.h>

DESC

char*

CHDirCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

ushort

CheckSum16(uchar value, ushort runningSum)

<cf1bios.h>

Update a running 16 bit checksum

ushort

CheckSum16Block(const void *data, ulong len, ushort runningSum)

<cf1bios.h>

Compute a 16 bit checksum for a block of data

ulong

CheckSum32(uchar value, ulong runningSum)

<cf1bios.h>

Update a running 32 bit checksum

ulong

CheckSum32Block(const void *data, ulong len, ulong runningSum)

<cf1bios.h>

Compute a 32 bit checksum for a block of data

bool

chexdump(void *mem, ulong addr, short wsize, long bytecount)

<cf1bios.h>

MACRO uses CIOhexdump

char*

ChkdskCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

ciflush(void)

<cf1bios.h>

MACRO uses CIOiflush

void

CIOdrain(void)

<cf1bios.h>

Wait for all transmission to complete

short

CIOgetc(void)

<cf1bios.h>

Wait for, and return the next character

short

CIOgetq(void)

<cf1bios.h>

Return non-zero count if input data is available

short

CIOgets(char *buf, short len)

<cf1bios.h>

Input line with minimal editing features

bool

CIOhexdump(void *mem, ulong addr, short wsize, long bytecount)

<cf1bios.h>

Dump memory in hex and ASCII to the console

short

CIOiflush(void)

<cf1bios.h>

Flush any pending input data

void

CIOoflush(void)

<cf1bios.h>

Discard any queued transmit characters

short

CIOprintf(const char * format, ...)

<cf1bios.h>

Simple printf to console with no floating point

void

CIOputc(char c)

<cf1bios.h>

Send character (no '\n' to '\r'-'\n' translation)

void

CIOputs(const char *str)

<cf1bios.h>

Send string with C '\n' to '\r'-'\n' translation

short

CIOsprintf(char *s, const char *format, ...)

<cf1bios.h>

Simple sprintf to string with no floating point

void

CLEAR_OBJECT(void *obj)

<cf1bios.h>

Zero a variable, array, or structure

int

close(int fildes)

<unistd.h>

DESC

int

CmdCheckOptionChar(CmdInfoPtr cip, char c)

<cf1pico.h>

DESC

bool

CmdConfirm(char *prompt, char trueReply)

<cf1pico.h>

DESC

char*

CmdDispatch(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

CmdExpectRange(CmdInfoPtr cip, short index, long *start, long *end)

<cf1pico.h>

DESC

int

CmdExpectValue(CmdInfoPtr cip, short index, long *value)

<cf1pico.h>

DESC

int

CmdExtractArgValues(CmdInfoPtr cip, short first, short last, short radix)

<cf1pico.h>

DESC

short

CmdExtractAVDosSwitches(short argc, char **argv, char *fmt, ...)

<cf1pico.h>

DESC

short

CmdExtractCIDosSwitches(CmdInfoPtr cip, char *fmt, ...)

<cf1pico.h>

DESC

int

CmdIsDigit(short c, short base, short *val)

<cf1pico.h>

DESC

int

CmdIsNumber(char **s, long *value, short base)

<cf1pico.h>

DESC

char*

CmdParse(CmdInfoPtr cip)

<cf1pico.h>

DESC

ulong

CmdSetDateTime(char *prompt, ulong nowsecs)

<cf1pico.h>

DESC

void

CmdSetNextCmd(CmdInfoPtr cip, char *nextcmd)

<cf1pico.h>

DESC

char*

CmdStdBreak(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

CmdStdCmdTest(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

CmdStdErrText(short errID)

<cf1pico.h>

DESC

char*

CmdStdHelp(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

CmdStdInteractive(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

CmdStdLPGets(char *linebuf, short linelen)

<cf1pico.h>

DESC

char*

CmdStdPicoRun(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

CmdStdRun(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

CmdStdSetup(CmdInfoPtr cip, CmdTablePtr ctp, short (*altgets)(char *, short))

<cf1pico.h>

DESC

char*

CmdStringUpper(char *s)

<cf1pico.h>

DESC

void

coflush(void)

<cf1bios.h>

MACRO uses CIOoflush()

char*

CopyCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

cprintf(const char *format, ...)

<cf1bios.h>

MACRO uses CIOprintf with CF-LF

ushort

CPUReadInterruptMask(void):__d0

<cf1bios.h>

DESC

void*

CPUReadPC(void)

<cf1bios.h>

DESC

void*

CPUReadStackReg(void):__a0

<cf1bios.h>

DESC

ushort

CPUReadStatusReg(void):__d0

<cf1bios.h>

DESC

void*

CPUReadVBR(void):__a0

<cf1bios.h>

DESC

void

cputc(char c)

<cf1bios.h>

MACRO uses CIOputc(c)

bool

CPUTestAndSet(int x)

<cf1bios.h>

MACRO returns only 0 or 1

void

cputs(const char *str)

<cf1bios.h>

MACRO uses CIOputs with CF-LF

void

CPUWriteInterruptMask(ushort ipmask:__d0)

<cf1bios.h>

DESC

void

CPUWritePCjmp(void *jmp:__a0)

<cf1bios.h>

DESC

void

CPUWritePCjsr(void *jsr:__a0)

<cf1bios.h>

DESC

void

CPUWriteStackReg(ulong a7:__d0)

<cf1bios.h>

DESC

void

CPUWriteStatusReg(ushort sr:__d0)

<cf1bios.h>

DESC

void

CPUWriteVBR(void *vbr:__a0)

<cf1bios.h>

DESC

ushort

CRC16(uchar value, ushort runningCRC)

<cf1bios.h>

Update a running 16 bit CCITT CRC

ushort

CRC16Block(const void *data, ulong len, ushort runningCRC)

<cf1bios.h>

Compute a 16 bit CCITT CRC for a block of data

ulong

CRC32(uchar value, ulong runningCRC)

<cf1bios.h>

Update a running 32 bit CCITT CRC

ulong

CRC32Block(const void *data, ulong len, ulong runningCRC)

<cf1bios.h>

Compute a 32 bit CCITT CRC for a block of data

void

CRCInit(void)

<cf1bios.h>

Initialize the CRC tables

int

creat(const char *path, ulong mode)

<fcntl.h>

DESC

short

CS10GetWaits(void)

<cf1bios.h>

Return the wait states setting for CS10 at current clock

void

CS10isEClock(bool CS8isSync)

<cf1bios.h>

Define CS10 for its alternate ECLOCK function

void

CS10Options(bool canRead, bool canWrite, bool dsSync, short waits)

<cf1bios.h>

Define the CS10 R/W access and wait states

void

CS10Setup(ulong baseAddr, long size, bool is16bit)

<cf1bios.h>

Setup CS10 address range and access width

short

CS8GetWaits(void)

<cf1bios.h>

Return the wait states setting for CS8 at current clock

void

CS8Options(bool canRead, bool canWrite, bool dsSync, short waits)

<cf1bios.h>

Define the CS8 R/W access and wait states

void

CS8Setup(ulong baseAddr, long size, bool is16bit)

<cf1bios.h>

Setup CS8 address range and access width

short

CSCalcWait(ushort kHz, short nsAccess)

<cf1bios.h>

Return wait states at given freq. for device access time

void

CSGetSysAccessSpeeds(short *nsFlash, short *nsRAM, short *nsCF, short *nsBusAdj)

<cf1bios.h>

Return the device and bus wait timing

void

CSGetSysWaits(short *waitsFlash, short *waitsRAM, short *waitsCF)

<cf1bios.h>

Return the current wait states for the system memory

void

CSInit(void)

<cf1bios.h>

Setup automatic wait state adjustment

void

CSNotifyPostClockChange(void)

<cf1bios.h>

Adjust wait states after a clock change

void

CSNotifyPreClockChange(void)

<cf1bios.h>

Prepare wait states for a pending clock change

short

csprintf(char *s, const char *format, ...)

<cf1bios.h>

MACRO uses CIOsprintf no I/O, no CF-LF

void

CSSetSysAccessSpeeds(short nsFlash, short nsRAM, short nsCF, short nsBusAdj)

<cf1bios.h>

Define the device and bus wait timing

void

CSSetSysWaits(short waitsFlash, short waitsRAM, short waitsCF)

<cf1bios.h>

Set the system memory wait states

void

CSUpdateSysWaits(ushort kHz)

<cf1bios.h>

Update the Flash, RAM, and CS wait states

void

CTDAClearEventFlag(DoubleActionID sm)

<cf1bios.h>

Clear the counter event flag

vushort*

CTDADataRegA(DoubleActionID sm)

<cf1bios.h>

Return pointer to counter's data register A

vushort*

CTDADataRegB(DoubleActionID sm)

<cf1bios.h>

Return pointer to counter's data register B

void

CTDAEdgeSelect(DoubleActionID sm, bool posB)

<cf1bios.h>

Select the counter clock edge

void

CTDAFlipFlops(DoubleActionID sm, bool forceA, bool forceB)

<cf1bios.h>

Force the counter flip flop

bool

CTDAGetEventFlag(DoubleActionID sm)

<cf1bios.h>

Return the counter event flag

DoubleActionID

CTDAGetIDFromPin(short pin)

<cf1bios.h>

Return CF1 DASM ID associated with pin number

short

CTDAGetPinFromID(DoubleActionID sm)

<cf1bios.h>

Return CF1 pin number associated with DASM ID

void

CTDAInterruptFunction(DoubleActionID sm, vfptr ifp)

<cf1bios.h>

Insert the counter interrupt handler

void

CTDAInterruptLevel(DoubleActionID sm, short il, short iarb3)

<cf1bios.h>

Set the counter IRQ and ARB levels

vushort*

CTDAModeSelect(DoubleActionID sm, DASMModeID mode)

<cf1bios.h>

Select the counter operating mode

void

CTDAReloadOPWM(DoubleActionID sm, ushort le, ushort te)

<cf1bios.h>

Reload double action OPWM output

void

CTDASetupOPWM(DoubleActionID sm, bool busB, bool posB, short bits, ushort le, ushort te)

<cf1bios.h>

Setup double action OPWM output

void

CTDATimeBaseBusSelect(DoubleActionID sm, bool busB)

<cf1bios.h>

Select counters time base

void

CTDAWiredOrMode(DoubleActionID sm, bool wom)

<cf1bios.h>

Select wired or output mode

void

CTFRClearCOFFlag(void)

<cf1bios.h>

Clear the free running counter overflow flag

CounterClockSourceID

CTFRClockSource(void)

<cf1bios.h>

Return free running counter clock source

vushort*

CTFRCounterReg(void)

<cf1bios.h>

Return pointer to free running counter

TimeBaseBusID

CTFRDrivesBuses(void)

<cf1bios.h>

Return FRCSM bus driving status

void

CTFRDriveTimeBase(bool drive, bool busB)

<cf1bios.h>

FRC drives and select time base A or B

bool

CTFRGetCOFFlag(void)

<cf1bios.h>

Return the free running counter overflow flag

void

CTFRInterruptFunction(vfptr ifp)

<cf1bios.h>

Insert the free running counter interrupt handler

void

CTFRInterruptLevel(short il, short iarb3)

<cf1bios.h>

Set the free running counter IRQ and ARB levels

vushort*

CTFRSelectClockSource(CounterClockSourceID clksel)

<cf1bios.h>

Select free running counter clock source

void

CTMCClearCOFFlag(ModulusCounterID sm)

<cf1bios.h>

Clear the modulus counter overflow flag

CounterClockSourceID

CTMCClkSource(ModulusCounterID sm)

<cf1bios.h>

Return modulus counters Clock source

vushort*

CTMCCounterReg(ModulusCounterID sm)

<cf1bios.h>

Return pointer to modulus counter's counter reg

TimeBaseBusID

CTMCDrivesBuses(ModulusCounterID sm)

<cf1bios.h>

Return modulus counters buses driven

void

CTMCDriveTimeBase(ModulusCounterID sm, bool drive, bool busB)

<cf1bios.h>

MC drives and select time base A or B

bool

CTMCGetCOFFlag(ModulusCounterID sm)

<cf1bios.h>

Return the modulus counter overflow flag

void

CTMCInterruptFunction(ModulusCounterID sm, vfptr ifp)

<cf1bios.h>

Insert the modulus counter interrupt handler

void

CTMCInterruptLevel(ModulusCounterID sm, short il, short iarb3)

<cf1bios.h>

Set the modulus counter IRQ and ARB levels

vushort*

CTMCModulusReg(ModulusCounterID sm)

<cf1bios.h>

Return pointer to modulus counter's modulus reg

vushort*

CTMCSelectClockSource(ModulusCounterID sm, CounterClockSourceID clksel)

<cf1bios.h>

Select modulus counter clock source

void

CTMCSelectEdges(ModulusCounterID sm, bool pos, bool neg)

<cf1bios.h>

Select modulus counter clock edges

P6DivisorID

CTMGetPrescaleP6(void)

<cf1bios.h>

Return the prescaler ration selection

void

CTMInit(void)

<cf1bios.h>

Initialize the counter/timer module

bool

CTMPrescaleIsDiv3(void)

<cf1bios.h>

Return the prescaler divide by three flag

void

CTMPrescalerRun(bool run)

<cf1bios.h>

Start or stop the prescaler from running

void

CTMRun(bool run)

<cf1bios.h>

Start or stop the counter/timer module from running

void

CTMSetPrescale(CPSMDivisor div3, P6DivisorID p6select)

<cf1bios.h>

Set the clock sources and division ratios

vushort*

CTMTimeBaseReg(TimeBaseBusID timebase)

<cf1bios.h>

Select time base bus and return pointer

void

CTSAClearEventFlag(SingleActionID sm)

<cf1bios.h>

Clear the counter event flag

vushort*

CTSADataReg(SingleActionID sm)

<cf1bios.h>

Return pointer to counter's data register

void

CTSAEdgeSelect(SingleActionID sm, bool pos)

<cf1bios.h>

Select the counter clock edge

void

CTSAFlipFlop(SingleActionID sm, bool force)

<cf1bios.h>

Force the counter flip flop

bool

CTSAGetEventFlag(SingleActionID sm)

<cf1bios.h>

Return the counter event flag

SingleActionID

CTSAGetIDFromPin(short pin)

<cf1bios.h>

Return CF1 SASM ID associated with pin number

short

CTSAGetPinFromID(SingleActionID sm)

<cf1bios.h>

Return CF1 pin number associated with SASM ID

void

CTSAInterruptEnable(SingleActionID sm, bool enable)

<cf1bios.h>

Enable/disable counter interrupts

void

CTSAInterruptFunction(SingleActionID sm, vfptr ifp)

<cf1bios.h>

Insert the counter interrupt handler

void

CTSAInterruptLevel(SingleActionID sm, short il, short iarb3)

<cf1bios.h>

Set the counter IRQ and ARB levels

vushort*

CTSAModeSelect(SingleActionID sm, SASMModeID mode)

<cf1bios.h>

Select the counter operating mode

void

CTSATimeBaseBusSelect(SingleActionID sm, bool busB)

<cf1bios.h>

Select counters time base

char*

DateCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

DBRCalcFATType(ulong sectors, short nfats, short rsrvdsects)

<cf1pico.h>

Calculate FAT Type for partitions

void

DBRDisplayBootRecord(short logdrv)

<cf1pico.h>

Display the DOS Boot Record information

short

DBRFormat(short logdrv)

<cf1pico.h>

Format the DSD drive

short

DBRGetBootParamBlock(short logdrv, struct DPBPB *dpbpb)

<cf1pico.h>

Get the raw packed parameter block

short

DBRGetFatDirDatSectors(short logdrv, ulong *fatFirst, ulong *dirFirst, ulong *dataFirst, ulong *dataLast)

<cf1pico.h>

Fetch the DSD drive starting sectors for FATs, DIR, data

void

DBRPackParamBlock(struct DPBPB *dpbpb, struct DWBPB *dwbpb)

<cf1pico.h>

Pack and endian translate a working parameter block

void

DBRUnpackParamBlock(struct DWBPB *dwbpb, struct DPBPB *dpbpb)

<cf1pico.h>

Unpack and endian translate a raw parameter block

void

Delay100us()

<cf1bios.h>

MACRO DESC

void

Delay10us()

<cf1bios.h>

MACRO DESC

void

Delay1ms()

<cf1bios.h>

MACRO DESC

void

Delay1us()

<cf1bios.h>

MACRO DESC

void

Delay200us()

<cf1bios.h>

MACRO DESC

void

Delay20us()

<cf1bios.h>

MACRO DESC

void

Delay2us()

<cf1bios.h>

MACRO DESC

void

Delay500us()

<cf1bios.h>

MACRO DESC

void

Delay50us()

<cf1bios.h>

MACRO DESC

void

Delay5us()

<cf1bios.h>

MACRO DESC

char*

DelCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

DirCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

DIRFindEnd(struct dirent *dp)

<cf1pico.h>

Conclude directory search

short

DIRFindFirst(char *path, struct dirent *dp)

<cf1pico.h>

Find first directory entry starting at path

short

DIRFindNext(struct dirent *dp)

<cf1pico.h>

Find next directory entry

long

DIRFreeSpace(char *drive)

<cf1pico.h>

Return free space on specified drive

char*

DIRGetVolumeLabel(char *drive)

<cf1pico.h>

Return the drives volume label

bool

DIRMatchName(char *filename, char *pattern)

<cf1pico.h>

Return true if filename matches ambiguous pattern

ulong

DIRSerialNumber(char *drive)

<cf1pico.h>

Return the drives serial number

short

DIRSetVolumeLabel(short logdrv, char *label)

<cf1pico.h>

Set the drives volume label

long

DIRTotalSpace(char *drive)

<cf1pico.h>

Return total space on specified drive

bool

DIRValidChar(char c, bool dot, bool ambig)

<cf1pico.h>

Return true if valid char for filenames

short

DSDCapacity(short logdrv, ulong *sectors, ushort *spt, ushort *heads, struct ATADriveID **info)

<cf1pico.h>

Fetch the logical DOS drive capacity and geometry

short

DSDGetBSD(short logdrv)

<cf1pico.h>

Return the BSD ID associated with this BSD

short

DSDGetCurrentDrive(void)

<cf1pico.h>

Return the current default DOS drive

char*

DSDGetCurrentWorkingDir(short logdrv)

<cf1pico.h>

Return the current working directory

bool

DSDMediaCheck(short logdrv)

<cf1pico.h>

Return true if hardware and media are available

short

DSDMountATADevice(char *name, void *iodvr, ushort prtn, short logdrv)

<cf1pico.h>

Mount a DOS drive to a specific ATA drive and partition

short

DSDMountDrive(ushort bsdid, short logdrv)

<cf1pico.h>

Mount a logical DOS drive to an assigned drive letter

short

DSDReadSectors(short logdrv, ulong sector, void *buffer, short count)

<cf1pico.h>

Read logical device (LBA) sector(s)

void

DSDReset(void)

<cf1pico.h>

Reset DSD tables and dismount all logical drives

void

DSDResetOptimizations(short logdrv)

<cf1pico.h>

Reset any assumptions or optimizations

short

DSDSectorIO(bool write, short logdrv, ulong logsct, void *buffer, short count)

<cf1pico.h>

Read or write a DOS drive logical sector

short

DSDSetCurrentDrive(short logdrv)

<cf1pico.h>

Set the current default DOS drive

short

DSDSetCurrentWorkingDir(short logdrv, char *cwd)

<cf1pico.h>

Set the current working directory

short

DSDValidate(short logdrv)

<cf1pico.h>

Validate the requested logical drive number

short

DSDWriteSectors(short logdrv, ulong sector, void *buffer, short count)

<cf1pico.h>

Write logical device (LBA) sector(s)

char*

DumpCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

bool

EIAAssertTXX(bool set)

<cf1bios.h>

Assert /TXX

bool

EIACheckInvalid(void)

<cf1bios.h>

Return true if /INVALID is asserted (3223 only)

bool

EIACheckRXX(void)

<cf1bios.h>

Return true if /RXX is asserted (CMOS low, EIA positive)

bool

EIAEnableRx(bool enable)

<cf1bios.h>

Enable RS232 receivers

bool

EIAForceOff(bool forceoff)

<cf1bios.h>

Force RS232 transmitters off

bool

EIAForceOn(bool forceon)

<cf1bios.h>

Force MAX3223 on (ForceOff overrides)

short

EIAIdentifyDriver(void)

<cf1bios.h>

Identify the RS232 driver chip

void

EIAInit(void)

<cf1bios.h>

Initialize the RS232 driver chip

void

EIANotifyInvalid(vfptr who)

<cf1bios.h>

Notify function when /INVALID is asserted (3223 only)

void

EIANotifyRXXAsserts(vfptr who)

<cf1bios.h>

Notify function when /RXX is asserted

short

execstr(char *cmdstr)

<cf1pico.h>

Pass command string from running application to PicoDOS

void

ExitToPicoDOS(void)

<cf1bios.h>

DESC

int

fcntl(int fildes, int cmd, ...)

<fcntl.h>

DESC

char*

FdiskCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

ulong

FlashAutoSelect(void)

<cf1bios.h>

Return the flash manufacturers code word

void*

FlashBase(void)

<cf1bios.h>

Return the flash base address

void*

FlashCheckErased(void *flash, ulong len)

<cf1bios.h>

Return address of first non-erased word

bool

FlashCheckInFlash(void *testAddr)

<cf1bios.h>

Return true if address is in flash memory

void

FlashDisallowErase(void)

<cf1bios.h>

Disable flash routines from erasing until next reset

void

FlashDisallowWrite(void)

<cf1bios.h>

Disable flash routines from erasing until next reset

void

FlashEnableErrTrap(bool dotrap)

<cf1bios.h>

Enable/Disable flash error trapping

short

FlashEraseRange(void *flash, ulong len)

<cf1bios.h>

Erase blocks that fall in the specified range

short

FlashEraseSectors(uchar *sectorList)

<cf1bios.h>

Erase sectors specified in zero terminated list

short

FlashEraseWrite(void *flash, const void *source, ulong *bytecount)

<cf1bios.h>

Block write to the flash, erase if necessary

short*

FlashErasureCounts(void)

<cf1bios.h>

Return short[] array of flash sectors erase counts

short

FlashErrorSignal(short code, long offense)

<cf1bios.h>

Return error or take FlashErrorTrap

void

FlashErrorTrap(long code:__d0, long offense:__d1)

<cf1bios.h>

DESC

short

FlashGetWaits(void)

<cf1bios.h>

Return the current number of wait states for the flash

char*

FlashInfoString(void)

<cf1bios.h>

Return string describing flash "Am29LV800B-100"

short

FlashInit(void)

<cf1bios.h>

Initialize the flash chip selects and variables

ulong

FlashLastEraseTime(void)

<cf1bios.h>

Return last calendar time any part of flash was erased

void

FlashPostWrite(vushort saveSR)

<cf1bios.h>

Conclude flash write operation

short

FlashPreWrite(vushort *saveSR, void *firstAddr, void *lastAddr)

<cf1bios.h>

Prepare flash for write operation

short

FlashReservedSectors(void)

<cf1bios.h>

Return the number of reserved flash sectors

long

FlashSectorSize(short sector)

<cf1bios.h>

Return the sectors size in bytes

void**

FlashSectorStarts(void)

<cf1bios.h>

Return long[] array of flash sector start addresses

void

FlashSetWaits(short waits)

<cf1bios.h>

Set the number of wait states for the flash

long

FlashSize(void)

<cf1bios.h>

Return the flash size in bytes

short

FlashSpeedNanoSecs(void)

<cf1bios.h>

Return the flash access time in nanoseconds

short

FlashTotalSectors(void)

<cf1bios.h>

Return the total number of flash sectors

void*

FlashVerify(const void *flash, const void *source, ulong bytecount)

<cf1bios.h>

Block verify the flash

short

FlashWriteBlock(void *flash, const void *source, ulong *bytecount)

<cf1bios.h>

Block write to the flash (must be erased)

short

FlashWriteByte(uchar *flash, uchar byte)

<cf1bios.h>

Write a single byte to flash (must be ones to zeros)

short

FlashWriteWord(ushort *flash, ushort word)

<cf1bios.h>

Write a single word to flash (must be ones to zeros)

short

flogf(char *format, ...)

<cf1pico.h>

printf to console and log file (after Initflogf())

char*

FormatCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

fstat(int fd, struct stat *buf)

<stat.h>

DESC

short

getch(void)

<cf1bios.h>

MACRO uses CIOgetc()

char*

getcwd(char *buf, size_t size)

<unistd.h>

DESC

short

getstr(char *buf, short len)

<cf1bios.h>

MACRO uses CIOgets

char*

GoCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

HelpCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

bool

hexdump(void *mem, ulong addr, short wsize, long bytecount)

<cf1bios.h>

MACRO uses CIOhexdump

void

IEVCoreDump(long stmem:__d0)

<cf1bios.h>

Dump the decoded interrupt/exception captured information

void

IEVFillVectorTable(vfptr fp, short firstv, short lastv)

<cf1bios.h>

Fill interrupt/exception table range with whatever

void

IEVInit(void)

<cf1bios.h>

Fill interrupt/exception table with default catch

vfptr

IEVInsertAsmFunct(vfptr afp, short vector)

<cf1bios.h>

Install an assembler function into the vector table

vfptr

IEVInsertCFunct(IEVCWrapper *cfp, short vector)

<cf1bios.h>

Install a C function into the vector table

ushort

IEVSaveSRThenDisable(void):__d0

<cf1bios.h>

DESC

ushort

IEVSaveSRThenWriteSR(ushort ipmask:__d0):__d0

<cf1bios.h>

DESC

vfptr

IEVUnknownExceptionFunct(void)

<cf1bios.h>

Return generic unknown exception function

(void)

IEV_C_FUNCT(cef)

<cf1bios.h>

Define C Interrupt Handler Function

(void)

IEV_C_PROTO(cef)

<cf1bios.h>

Declare C Interrupt Handler Function Prototype

void

Initflog(char *fname, bool echoToConsole)

<cf1pico.h>

Setup for future flogf operations

int

isatty(int fildes)

<unistd.h>

DESC

short

kbflush(void)

<cf1bios.h>

MACRO uses CIOiflush

short

kbhit(void)

<cf1bios.h>

MACRO uses CIOgetq()

ushort

LEDGetState(ushort lrLED)

<cf1bios.h>

Return the current LED state

void

LEDInit(void)

<cf1bios.h>

Setup the LED drivers (turns both off)

void

LEDOrbit(bool ccw)

<cf1bios.h>

Orbit the LEDs on each call

void

LEDSetState(ushort lrLED, ushort state)

<cf1bios.h>

Set the LED state

void

LEDToggleRG(ushort lrLED)

<cf1bios.h>

Toggle LED between Red and Green

void

LEDToggleRGOff(ushort lrLED)

<cf1bios.h>

Toggle LED between Red, Green, and Off

char*

LoadMxCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

LoadSRecCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

LongBitClear(ulong lwrd, int bit)

<cf1bios.h>

MACRO DESC

void

LongBitSet(ulong lwrd, int bit)

<cf1bios.h>

MACRO DESC

void

LongBitTest(ulong lwrd, int bit)

<cf1bios.h>

MACRO DESC

void

LoopModeDelay (short count:__d0)

<cf1bios.h>

DESC

void

LoopModeMemCopyBytes(void *dst:__a1, void *src:__a0, short bytecount:__d0)

<cf1bios.h>

DESC

void

LoopModeMemCopyLongs(void *dst:__a1, void *src:__a0, short longcount:__d0)

<cf1bios.h>

DESC

void

LoopModeMemCopyWords(void *dst:__a1, void *src:__a0, short wordcount:__d0)

<cf1bios.h>

DESC

void

LoopModeMemSetBytes(void *dst:__a1, uchar b:__d1, short bytecount:__d0)

<cf1bios.h>

DESC

void

LoopModePortReadBytes(void *dst:__a1, void *src:__a0, short wordcount:__d0)

<cf1bios.h>

DESC

void

LoopModePortReadWords(void *dst:__a1, void *src:__a0, short wordcount:__d0)

<cf1bios.h>

DESC

void

LoopModePortWriteBytes(void *dst:__a1, void *src:__a0, short wordcount:__d0)

<cf1bios.h>

DESC

void

LoopModePortWriteWords(void *dst:__a1, void *src:__a0, short wordcount:__d0)

<cf1bios.h>

DESC

short

LoopModeWaitBitClear(void *addr:__a0, short bit:__d1, short timeout:__d0):__d0

<cf1bios.h>

DESC

short

LoopModeWaitBitSet(void *addr:__a0, short bit:__d1, short timeout:__d0):__d0

<cf1bios.h>

DESC

void

LPStop (void)

<cf1pico.h>

LPStop executes LPSTOP with options previously setup

long

lseek(int fildes, long offset, int whence)

<unistd.h>

DESC

void

MBRCalcHSC(ulong sector, ushort spt, ushort heads, uchar *head, ushort *sectcyl)

<cf1pico.h>

Calculate Head, Sector, and Cylinder from logical sector

void

MBRDisplayBootRecord(ushort ssdid)

<cf1pico.h>

Display the Master Boot Record information

short

MBRGetPartitionSectors(ushort ssdid, ulong sector, ushort prtn, bool onlyDOS, ulong *firstSect, ulong *lastSect)

<cf1pico.h>

Return partition type with start and end (LBA) sectors

long

MBRGetUsableSectors(ushort ssdid)

<cf1pico.h>

Return the number of sectors available for data

short

MBRMakePartitions(ushort ssdid, ulong sector, void *ptab)

<cf1pico.h>

Partition the drive from working table

short

MBRReadPartitionSector(ushort ssdid, ulong sector, uchar *psectbuf)

<cf1pico.h>

Read the partition sector containing the MBR

short

MBRReadPartitionTable(ushort ssdid, ulong sector, void *ptab)

<cf1pico.h>

Get the partition information

short

MBRWritePartitionSector(ushort ssdid, ulong sector, uchar *psectbuf)

<cf1pico.h>

Write the partition sector containing the MBR

short

MBRWritePartitionTable(ushort ssdid, ulong sector, void *ptab)

<cf1pico.h>

Write the partition information

char*

MemDispCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

MemListCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

MemModCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

MemReadCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

MemWriteCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

mkdir(const char *path, int mode)

<stat.h>

DESC

char*

MKDirCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

MountCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

NOP(void)

<cf1bios.h>

DESC

char*

NothingCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

open(const char *path, int oflag)

<fcntl.h>

DESC

short

pdcfinfo(char *drive, long *size, long *free)

<cf1pico.h>

Return PicoDOS file system size information

short

pdx_attrib(const char *path, uchar setatrb, uchar clratrb)

<cf1pico.h>

DESC

short

pdx_chdir(const char *path)

<cf1pico.h>

DESC

short

pdx_close(short fd)

<cf1pico.h>

DESC

ulong

pdx_copy(char *dst, char *src, short oflag, short vflag, void *buf, ulong bufsize)

<cf1pico.h>

DESC

short

pdx_creat(const char *path, long mode)

<cf1pico.h>

DESC

short

pdx_errno(bool clear)

<cf1pico.h>

DESC

short

pdx_fcntl(short fildes, short cmd, ...)

<cf1pico.h>

DESC

short

pdx_fstat(int fd, struct stat *buf)

<cf1pico.h>

DESC

char*

pdx_getcwd(char *buf, size_t size)

<cf1pico.h>

DESC

short

pdx_isatty(short fd)

<cf1pico.h>

DESC

long

pdx_lseek(short fd, long offset, short whence)

<cf1pico.h>

DESC

short

pdx_mkdir(const char *path, short mode)

<cf1pico.h>

DESC

short

pdx_open(const char *path, short oflag)

<cf1pico.h>

DESC

ulong

pdx_read(short fd, void *buf, ulong nbyte)

<cf1pico.h>

DESC

short

pdx_rename(const char *old, const char *nwn)

<cf1pico.h>

DESC

short

pdx_rmdir(const char *path)

<cf1pico.h>

DESC

short

pdx_stat(const char *path, struct stat *buf)

<cf1pico.h>

DESC

short

pdx_unlink(const char *path)

<cf1pico.h>

DESC

ulong

pdx_write(short fd, void *buf, ulong nbyte)

<cf1pico.h>

DESC

char*

picodosver(void)

<cf1pico.h>

Return a string containing PicoDOS version information

vptr

PICOHandlerAddress(short drvrid)

<cf1pico.h>

MACRO DESC

void

PICOInit(void *_pre_main_:__d0)

<cf1pico.h>

DESC

void

PICOMemAllocRegister(Callocf *callocf, Freef *freef)

<cf1pico.h>

Give PicoDOS access to application memory

vptr

PICOPatchInsert(short drvrid, vptr newf)

<cf1pico.h>

MACRO DESC

bool

PICOVersionCheck(short ver, short rel, char *id, bool reset)

<cf1pico.h>

Confirm application and PicoDOS compatibility

char*

PicoZoomCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

PinBus(short pin)

<cf1bios.h>

MACRO Make an I/O pin perform its alternate function

short

PinClear(short pin)

<cf1bios.h>

MACRO Configure I/O pin as output and set low

short

PinMirror(short pin)

<cf1bios.h>

MACRO Read an I/O pin, then configure as an output

short

PinRead(short pin)

<cf1bios.h>

MACRO Configure I/O pin as input and read level

short

PinSet(short pin)

<cf1bios.h>

MACRO Configure I/O pin as output and set high

short

PinTestAssertClear(short pin)

<cf1bios.h>

MACRO Return true if I/O pin is an output asserting low

short

PinTestAssertSet(short pin)

<cf1bios.h>

MACRO Return true if I/O pin is an output asserting high

short

PinTestIsItBus(short pin)

<cf1bios.h>

MACRO Return true if I/O pin is a bus function

short

PinToggle(short pin)

<cf1bios.h>

MACRO Configure I/O pin as output and toggle

short

PinWrite(short pin, short value)

<cf1bios.h>

MACRO Configure I/O pin as output and write level

short

PIOBusFunct(short pin)

<cf1bios.h>

Make an I/O pin perform its alternate function (varies)

short

PIOClear(short pin)

<cf1bios.h>

Configure I/O pin as output and set low

void

PIOEnableErrTrap(bool dotrap)

<cf1bios.h>

Enable/Disable PIO error trapping

short

PIOErrorSignal(short code, long offense)

<cf1bios.h>

Return error or take PIOErrorTrap

void

PIOErrorTrap(long code:__d0, long offense:__d1)

<cf1bios.h>

DESC

void

PIOInit(void)

<cf1bios.h>

Initialize I/O Pins States

short

PIOMaxPin(short code)

<cf1bios.h>

Return the maximum pin number

short

PIOMirror(short pin)

<cf1bios.h>

Read an I/O pin, then configure as an output

void

PIOMirrorList(uchar *pinlist)

<cf1bios.h>

MACRO Read I/O pins from list, then configure as output

void

PIOMirrorList(uchar *pinlist)

<cf1bios.h>

Read I/O pins from list, then configure as an output

short

PIORead(short pin)

<cf1bios.h>

Configure I/O pin as input and read level

short

PIOSet(short pin)

<cf1bios.h>

Configure I/O pin as output and set high

short

PIOTestAssertClear(short pin)

<cf1bios.h>

Return true if I/O pin is currently an asserting low

short

PIOTestAssertSet(short pin)

<cf1bios.h>

Return true if I/O pin is currently an asserting high

short

PIOTestIsItBus(short pin)

<cf1bios.h>

Return true if I/O pin is currently a bus function

short

PIOToggle(short pin)

<cf1bios.h>

Configure I/O pin as output and toggle current level

short

PIOWrite(short pin, short value)

<cf1bios.h>

Configure I/O pin as output and write level

bool

PITAddChore(vfptr chore, ushort intReqLevel)

<cf1bios.h>

Add a periodic interrupt chore

void

PITInit(ushort intReqLevel)

<cf1bios.h>

Initialize the periodic interrupt timer

ulong

PITPeriod(void)

<cf1bios.h>

Return PIT period setting in microseconds, zero if off

bool

PITRemoveChore(vfptr chore)

<cf1bios.h>

Remove a periodic interrupt chore (NULL vfptr for all)

void

PITSet100usPeriod(uchar per100us)

<cf1bios.h>

Set periodic interrupt timer period in 100us ticks

void

PITSet51msPeriod(uchar per51ms)

<cf1bios.h>

Set periodic interrupt timer period in 51ms ticks

char*

PortClrCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

PortMirrorCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

PortReadCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

PortSetCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

PortToggleCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

long

PPBCheckRdAvail(void *ppb)

<cf1pico.h>

Return the number of bytes waiting to be read

long

PPBCheckWrFree(void *ppb)

<cf1pico.h>

Return the free space left before a wrap

void

PPBClose(void *ppb)

<cf1pico.h>

Close a ping-pong buffer (does not automatically flush)

short

PPBErrorCode(void *ppb, bool clear)

<cf1pico.h>

Return (and optionally clear) the ppb error code

short

PPBFlush(void *ppb)

<cf1pico.h>

Flush a ping-pong buffer and force a ping-pong flip

void*

PPBGetMemBuf(void *ppb, long *size, bool flush)

<cf1pico.h>

Return the read buffer and optionally zero the size

void*

PPBOpen(long totSize, void *buf, PPBRdf rdf, PPBWrf wrf, vfptr ppnotify)

<cf1pico.h>

Open and initialize a ping-pong buffer

short

PPBPutByte(void *ppb, uchar byte)

<cf1pico.h>

Write 8-bit byte into the ping-pong buffer

short

PPBPutWord(void *ppb, ushort word)

<cf1pico.h>

Write 16-bit word into the ping-pong buffer

long

PPBRead(void *ppb, void *buf, long nbyte)

<cf1pico.h>

Read data from the ping-pong buffer

long

PPBWrite(void *ppb, void *buf, long nbyte)

<cf1pico.h>

Write data into the ping-pong buffer

char*

PromptCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

putch(char c)

<cf1bios.h>

MACRO uses CIOputc(c)

void

putflush(void)

<cf1bios.h>

MACRO uses CIOoflush()

void

putstr(const char *str)

<cf1bios.h>

MACRO uses CIOputs with CF-LF

void

PWRLPStopSetup(bool stcpu, bool stsim, bool stext)

<cf1pico.h>

Setup LPSTOP, stcpu just cpu, stsim VCO, stext CLKOUT

bool

PWRPostChgAddChore(vfptr chore, ushort priority)

<cf1pico.h>

Add a power post-change chore

bool

PWRPostChgRemoveChore(vfptr chore)

<cf1pico.h>

Remove a power post-change chore

bool

PWRPreChgAddChore(vfptr chore, ushort priority)

<cf1pico.h>

Add a power pre-change chore

bool

PWRPreChgRemoveChore(vfptr chore)

<cf1pico.h>

Remove a power pre-change chore

short

PWRSuspendSecs(ulong delaysecs, short whatwakes)

<cf1pico.h>

Delay in suspend mode for a number of seconds

short

PWRSuspendTicks(ulong ticks, bool resume, short whatwakes)

<cf1pico.h>

Delay in suspend mode for a number of ticks

short

PWRSuspendUntil(ulong waketime, short whatwakes)

<cf1pico.h>

Delay in suspend mode until a future time

bool

PZCacheActive(short logdrv)

<cf1pico.h>

Confirm that the selected device is PicoZoom accelerated

bool

PZCacheFlush(short logdrv)

<cf1pico.h>

Flush cached data to the storage media

bool

PZCacheRelease(short logdrv)

<cf1pico.h>

Conclude (flush) and free PicoZOOM cache memory

bool

PZCacheSetup(short logdrv, Callocf *callocf, Freef *freef)

<cf1pico.h>

Setup PicoZOOM cache and optimizations

void

QPBClearBusy(void)

<cf1pico.h>

Clear busy flag

void

QPBClearInterrupt(void)

<cf1pico.h>

DESC

void

QPBFreeSlot(QPBDev *qbpd)

<cf1pico.h>

Remove a PicoBUS device slot

void

QPBInit(bool master)

<cf1pico.h>

Initialize the PicoBUS driver

QPB*

QPBInitSlot(QPBDev *qbpd)

<cf1pico.h>

Initialize a PicoBUS device slot

bool

QPBLockSlot(QPB *qpb)

<cf1pico.h>

Lock and return true if slot available for exclusive use

void

QPBNotifyPostClockChange(void)

<cf1pico.h>

Update the SPI timing

void

QPBNotifyPreClockChange(void)

<cf1pico.h>

Prepare the SPI for a pending clock change

void

QPBRepeatAsync(void)

<cf1pico.h>

DESC

void

QPBReset(void)

<cf1pico.h>

Reset the PicoBUS driver

bool

QPBSetup(QPB *qpb, vfptr asyncf, ushort count, ushort *spidata)

<cf1pico.h>

Setup for a PicoBUS session

QPB*

QPBTestBusy(void)

<cf1pico.h>

Return QBP pointer if busy or zero if idle

QPB*

QPBTestLocked(void)

<cf1pico.h>

Return QBP pointer to owner if locked or zero if not

short

QPBTestRunning(void)

<cf1pico.h>

DESC

short

QPBTransact(QPB *qpb, vfptr asyncf, ushort count, ushort *spidata)

<cf1pico.h>

Conduct a PicoBUS session

bool

QPBUnlockSlot(QPB *qpb)

<cf1pico.h>

Unlock a single QPB slot

bool

QRchar(char *prompt, char *fmt, bool crok, char *reply, char *instr, bool uc)

<cf1pico.h>

Query/Reply for character using: %c

bool

QRconfirm(char *prompt, bool defyes, bool crok)

<cf1pico.h>

Query/Reply for Y/N confirmation

bool

QRdate(char *prompt, DateFieldOrder dfo,bool y4d, bool crok, struct tm *tm)

<cf1pico.h>

Query/Reply for date (DateFieldOrder enum defined above)

bool

QRdatetime(char *prompt, DateFieldOrder dfo, bool y4d, bool crok, struct tm *tm)

<cf1pico.h>

Query/Reply for date and time (DateFieldOrder enum)

bool

QRdouble(char *prompt, char *fmt, bool crok, double *value, double min, double max)

<cf1pico.h>

Query/Reply for double using: %lf %le %lE %lg %lG

bool

QRfloat(char *prompt, char *fmt, bool crok, float *value, float min, float max)

<cf1pico.h>

Query/Reply for float using: %f %e %E %g %G

bool

QRlong(char *prompt, char *fmt, bool crok, long *value, long min, long max)

<cf1pico.h>

Query/Reply for long using: %li %ld %lu %lo

bool

QRshort(char *prompt, char *fmt, bool crok, short *value, short min, short max)

<cf1pico.h>

Query/Reply for short using: %i %hi %d %hd %u %hu %o %ho

bool

QRstring(char *prompt, char *fmt, bool crok, char *strbuf, short len)

<cf1pico.h>

Query/Reply for string using: %s

bool

QRtime(char *prompt, bool crok, struct tm *tm)

<cf1pico.h>

Query/Reply for time

bool

QRulong(char *prompt, char *fmt, bool crok, ulong *value, ulong min, ulong max)

<cf1pico.h>

Query/Reply for ulong using: %li %ld %lu %lo

bool

QRushort(char *prompt, char *fmt, bool crok, ushort *value, ushort min, ushort max)

<cf1pico.h>

Query/Reply for ushort using: %i %hi %d %hd %u %hu %o %ho

void

QSMRun(void)

<cf1pico.h>

DESC

void

QSMStop(void)

<cf1pico.h>

DESC

size_t

read(int fildes, void *buf, size_t nbyte)

<unistd.h>

DESC

char*

RemCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

rename(const char *old, const char *nwn)

<unistd.h>

DESC

char*

RenCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

RESET(void)

<cf1bios.h>

DESC

char*

ResetCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

ResetToPBMCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

rmdir(const char *path)

<unistd.h>

DESC

char*

RMDirCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

bool

RTCAddChore(vfptr chore, ushort intReqLevel)

<cf1bios.h>

Add an RTC interrupt chore

ulong

RTCclock(void)

<cf1bios.h>

ANSI standard C library clock() equivalent function

void

RTCCountdownReset(RTCTimer *rt)

<cf1bios.h>

Reset a countdown timer to its initial state

bool

RTCCountdownTimeout(RTCTimer *rt)

<cf1bios.h>

Check a countdown timer for timed out (true)

void

RTCCountdownTimerSetup(RTCTimer *rt, ulong us)

<cf1bios.h>

Setup a countdown timer (us)

bool

RTCDelayMicroSeconds(ulong us)

<cf1bios.h>

Delay for microseconds

bool

RTCDelayTicks(ulong d)

<cf1bios.h>

Delay for clock ticks (1/65536 seconds)

ulong

RTCElapsedTime(RTCTimer *rt)

<cf1bios.h>

Read the elapsed time (us)

void

RTCElapsedTimerSetup(RTCTimer *rt)

<cf1bios.h>

Setup and start an elapsed timer (us)

void

RTCEnableErrTrap(bool dotrap)

<cf1bios.h>

Enable/Disable RTC off lockup error trapping

bool

RTCErrorSignal(bool code, long offense)

<cf1bios.h>

Return error or take RTCErrorTrap

void

RTCErrorTrap(long code:__d0, long offense:__d1)

<cf1bios.h>

DESC

ulong

RTCGetTime(ulong *secs, ushort *ticks)

<cf1bios.h>

Get both secs and ticks

void

RTCInit(ushort intReqLevel)

<cf1bios.h>

Initialize the Real Time Clock module

RTCtm*

RTClocaltime(const ulong *tp)

<cf1bios.h>

ANSI standard C library localtime equivalent function

bool

RTCRemoveChore(vfptr chore)

<cf1bios.h>

Remove an RTC interrupt chore (NULL vfptr for all)

void

RTCResetANSIClockRef(void)

<cf1bios.h>

Reset the ANSI clock() reference to zero

void

RTCSetTime(ulong secs, ushort ticks)

<cf1bios.h>

Set both secs and ticks

void

RTCStartClock(void)

<cf1bios.h>

Start the Real Time Clock module

void

RTCStopClock(void)

<cf1bios.h>

Stop the Real Time Clock module

ulong

RTCtime(ulong *tp)

<cf1bios.h>

ANSI standard C library time() equivalent function

void

RTE(void)

<cf1bios.h>

DESC

bool

RunningFromFlashAsm(void)

<cf1bios.h>

Return true if the current PC running from flash

char*

SaveCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void*

SCBExp1(void *vp)

<cf1pico.h>

DESC

void*

SCBExp2(void *vp)

<cf1pico.h>

DESC

short

SCBGetWaits(ushort scms)

<cf1pico.h>

Return current wait states for card at this system clock

char*

SCBIdentify(ushort scms, short *nsAccess)

<cf1pico.h>

Return board specific SandwichCard information

bool

SCBInit(ulong cs8addr, ulong cs10addr, bool autowait)

<cf1pico.h>

Initialize the SandwichCard hardware interface

void

SCBNotifyPostClockChange(void)

<cf1pico.h>

Adjust wait states after a clock change

void

SCBNotifyPreClockChange(void)

<cf1pico.h>

Prepare wait states for a pending clock change

ulong

SCBSetup(ushort scms, short nsAccess, char *id)

<cf1pico.h>

Board specific SandwichCard initialization

void

SCBUpdateWaits(void)

<cf1pico.h>

Update wait states for all SandwichCards

long

SCIBlockDuration(long bytes)

<cf1bios.h>

Return expected block duration in ms at current baud

long

SCIConfigure(long baud, char parity, bool autoTiming)

<cf1bios.h>

Set the baud rate and parity

void

SCIEnableErrTrap(bool dotrap)

<cf1bios.h>

Enable/Disable SCI error trapping

void

SCIErrorTrap(long code:__d0, long offense:__d1)

<cf1bios.h>

DESC

long

SCIGetConfig(long *baudPtr, char *parityPtr)

<cf1bios.h>

Get the baud rate and parity

void

SCIInit(void)

<cf1bios.h>

Initialize the Serial Controller Interface module

void

SCINotifyPostClockChange(void)

<cf1bios.h>

Update the SPI baud rate from a clock change

void

SCINotifyPreClockChange(void)

<cf1bios.h>

Prepare the SPI for a pending clock change

void

SCIRxBlocked(void)

<cf1bios.h>

Here when receive routine is waiting for data

bool

SCIRxBreak(short millisecs)

<cf1bios.h>

Return true if break is seen for at least millisecs

ushort

SCIRxErrorSignal(ushort data:__d0):__d0

<cf1bios.h>

Return error or take SCIErrorTrap

ushort

SCIRxFilter(ushort data:__d0):__d0

<cf1bios.h>

Filter incoming serial data

void

SCIRxFlush(void)

<cf1bios.h>

Delete any data in the receive queue

long

SCIRxGetBlock(uchar *buffer, long bytes, short millisecs)

<cf1bios.h>

Receive a block of bytes

ushort

SCIRxGetByte(bool block)

<cf1bios.h>

Return the next word, wait if block is true

ushort

SCIRxGetByteBuffed(bool block)

<cf1bios.h>

return the next word in buffered mode

ushort

SCIRxGetBytePolled(bool block)

<cf1bios.h>

return the next word in polled mode

short

SCIRxGetChar(void)

<cf1bios.h>

Wait for, and return the next word

short

SCIRxGetCharWaitIdle(short millisecs)

<cf1bios.h>

Wait for incoming serial to idle with ms delay

short

SCIRxGetCharWithTimeout(short millisecs)

<cf1bios.h>

Return next word with timeout

short

SCIRxGetFinalChar(void)

<cf1bios.h>

Empty receive queue and return last word

short

SCIRxGetLine(char *buf, short len)

<cf1bios.h>

Input line with minimal editing features

void

SCIRxHandshake(short hshk, char xon, char xoff)

<cf1bios.h>

Set receive flow control

short

SCIRxQueuedCount(void)

<cf1bios.h>

Return the number of words in the receive queue

void

SCIRxRingBuffer(ushort data:__d0)

<cf1bios.h>

Insert data in receive buffer

void

SCIRxRingFastNoFCPBuf(ushort data:__d0)

<cf1bios.h>

Insert data in receive buffer, no flow control

void

SCIRxSetBuffered(bool buffered)

<cf1bios.h>

Select buffered (true) or non-buffered receive

bool

SCIRxTxIdle(void)

<cf1bios.h>

Return true if all Rx and Tx flags indicate idle

void

SCITxBlocked(void)

<cf1bios.h>

Here when transmit routine is waiting to send

void

SCITxBreak(short millisecs)

<cf1bios.h>

Start (-1) , stop (0) , or send timed break (+ val)

void

SCITxFlush(void)

<cf1bios.h>

Delete any data in the transmit queue

void

SCITxHandshake(short hshk, char xon, char xoff)

<cf1bios.h>

Set transmit flow control

long

SCITxPutBlock(uchar *buffer, long bytes, short millisecs)

<cf1bios.h>

Return a block of bytes

bool

SCITxPutByte(ushort data, bool block)

<cf1bios.h>

Transmit word, wait if block is true

bool

SCITxPutByteBuffed(ushort data, bool block)

<cf1bios.h>

Transmit word in buffered mode

bool

SCITxPutBytePolled(ushort data, bool block)

<cf1bios.h>

Transmit word in polled mode

void

SCITxPutChar(ushort data)

<cf1bios.h>

Transmit word

void

SCITxPutCharALF(ushort data)

<cf1bios.h>

Transmit word with C '\n' to '\r'-'\n' translation

void

SCITxPutStr(const char *str)

<cf1bios.h>

Transmit string with C '\n' to '\r'-'\n' translation

short

SCITxQueuedCount(void)

<cf1bios.h>

Return the number of words in the transmit queue

short

SCITxRingBuffer(void):__d0

<cf1bios.h>

Fetch data from transmit buffer

void

SCITxSetBuffered(bool buffered)

<cf1bios.h>

Select buffered (true) or non-buffered transmit

void

SCITxWaitCompletion(void)

<cf1bios.h>

Wait for all transmission to complete

ulong

SCSAnalogRead(ulong scsref, bool wait, SCS_ADCH ch)

<cf1pico.h>

Return devices analog value at the selected channel

ulong

SCSDeactivate(ulong scsref, bool wait)

<cf1pico.h>

Deactivate a device until the next reset or power up

void*

SCSExp1(void *vp)

<cf1pico.h>

DESC

void*

SCSExp2(void *vp)

<cf1pico.h>

DESC

ulong

SCSIndentify(ulong scsref, bool wait, short index, bool confirm)

<cf1pico.h>

Return the specified ref (or iterate) from table

short

SCSInit(void)

<cf1pico.h>

Initialize the SandwichCard Supervisor driver

ulong

SCSPinsClear(ulong scsref, bool wait, uchar clearmask)

<cf1pico.h>

Clear devices I/O pins corrosponding to ones in clearmask

ulong

SCSPinsRead(ulong scsref, bool wait,uchar inputmask)

<cf1pico.h>

Return devices I/O pins, force ones in inputmask to input

ulong

SCSPinsSet(ulong scsref, bool wait, uchar setmask)

<cf1pico.h>

Set devices I/O pins corrosponding to ones in setmask

ulong

SCSReady(ulong scsref, bool wait)

<cf1pico.h>

Return zero if ready now, or number of us until ready

ulong

SCSReset(ulong scsref, bool wait)

<cf1pico.h>

Reset one (or all) devices

char*

SectorDumpCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

SetCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

short

sscandate(const char *str, struct tm *ptm, DateFieldOrder dfo)

<cf1pico.h>

scan date string into year, mon, and mday fields of tm

short

sscantime(const char *str, struct tm *ptm)

<cf1pico.h>

scan time string into hour, min, and sec fields of tm

short

SSDCapacity(ushort ssdid, ulong *sectors, ushort *spt, ushort *heads, struct ATADriveID **info)

<cf1pico.h>

Fetch the storage device capacity and geometry

void

SSDDisplayATADriveID(ushort ssdid, bool fullDisplay)

<cf1pico.h>

Display the ATA drive ID information

void*

SSDGetIODvr(ushort ssdid)

<cf1pico.h>

Return the IODvr associated with this SSD

short

SSDLookupID(char *name)

<cf1pico.h>

Lookup a registered SSD by name and return its ID

char*

SSDLookupName(ushort ssdid)

<cf1pico.h>

Lookup a registered SSD by ID and return its name

bool

SSDMediaCheck(ushort ssdid)

<cf1pico.h>

Return true if hardware and media are available

char**

SSDNamesList(void)

<cf1pico.h>

Return a list of available Sector Storage Devices

short

SSDReadSectors(ushort ssdid, ulong sector, void *buffer, short count)

<cf1pico.h>

Read absolute (LBA) drive sector(s)

ushort

SSDRegisterDevice(char *name, void *iodvr,SSDRdf *rdf, SSDWrf *wrf, SSDCapf *capf, SSDChkf *chkf)

<cf1pico.h>

Register a new Sector Storage Device

void

SSDReset(void)

<cf1pico.h>

Reset SSD tables and clear all registered devices

short

SSDWriteSectors(ushort ssdid, ulong sector, void *buffer, short count)

<cf1pico.h>

Write absolute (LBA) drive sector(s)

int

stat(const char *path, struct stat *buf)

<stat.h>

DESC

uchar

SYPCRInit(uchar sypcr:__d0):__d0

<cf1bios.h>

Set write-once-only system protection control register

void

TickleSWSR(void)

<cf1bios.h>

Tickle (reset) the watchdog timer for another round...

char*

TimeCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

ushort

TMGGetSpeed(void)

<cf1bios.h>

Return the system clock frequency in kHz

void

TMGInit(ushort kHz)

<cf1bios.h>

Setup the system timing

bool

TMGPostChgAddChore(vfptr chore, ushort priority)

<cf1bios.h>

Add a timing post-change chore

bool

TMGPostChgRemoveChore(vfptr chore)

<cf1bios.h>

Remove a timing post-change chore

bool

TMGPreChgAddChore(vfptr chore, ushort priority)

<cf1bios.h>

Add a timing pre-change chore

bool

TMGPreChgRemoveChore(vfptr chore)

<cf1bios.h>

Remove a timing pre-change chore

ushort

TMGSetSpeed(ushort kHz)

<cf1bios.h>

Set the system clock frequency in kHz

short

TMGSetSysClock(ushort kHz, bool dontWaitLock)

<cf1bios.h>

Set the system clock frequency

void

TMGSetupCLKOUTPin(bool onRunning, bool onLPSTOP)

<cf1bios.h>

Setup the CLKOUT pin

void

TMGUpdateLoopDelays(void)

<cf1bios.h>

Update the loop delays

char*

TypeCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

int

unlink(const char *path)

<unistd.h>

DESC

int

unlink(const char *path)

<unistd.h>

DESC

short

uprintf(const char *format, ...)

<cf1bios.h>

MACRO uses CIOprintf with CF-LF

short

VEECheck(void)

<cf1pico.h>

Check the Virtual EEPROM and return free size if OK

bool

VEECleanUp(void)

<cf1pico.h>

Clean up and condense the Virtual EEPROM tables

bool

VEEClear(void)

<cf1pico.h>

Clear the entire Virtual EEPROM

short

VEEDataOffset(VEEVar *entry)

<cf1pico.h>

Return the offset from the structure start to actual data

bool

VEEDelete(char *name)

<cf1pico.h>

Delete a Virtual EEPROM variable

VEEData

VEEFetchData(char *name)

<cf1pico.h>

Fetch data from Virtual EEPROM

float

VEEFetchFloat(char *name, float fallback)

<cf1pico.h>

Fetch float value from numeric string VEE var or string

long

VEEFetchLong(char *name, long fallback)

<cf1pico.h>

Fetch signed long value from string VEE var or string

VEEVar*

VEEFetchNext(VEEVar *prev)

<cf1pico.h>

Find the next valid VEE entry (NULL to start)

VEEVar*

VEEFetchNext(VEEVar *prev)

<cf1pico.h>

Find the next valid VEE entry (NULL to start)

char*

VEEFetchStr(char *name, char *fallback)

<cf1pico.h>

Fetch string VEE var or fallback to string if not found

VEEVar*

VEEFetchVar(char *name)

<cf1pico.h>

Fetch a Virtual EEPROM variable

void*

VEEGetData(VEEVar *vvp, short *size)

<cf1pico.h>

Return pointer to VEE variable data field or zero

char*

VEEGetName(VEEVar *vvp)

<cf1pico.h>

Return VEE variable name or null string pointer ("\0")

void*

VEEInit(void)

<cf1pico.h>

Initialize the Virtual EEPROM

void

VEELock(void)

<cf1pico.h>

Lock the Virtual EEPROM until the next reset

VEEVar*

VEELookup(char *name)

<cf1pico.h>

Lookup entry in Virtual EEPROM table

VEEVar*

VEEStore(char *name, VEEType vtype, ushort size, void *data)

<cf1pico.h>

Store data to Virtual EEPROM

bool

VEEStoreBin(char *name, ushort size, void *data)

<cf1pico.h>

Store binary data to Virtual EEPROM

bool

VEEStoreFloat(char *name, float fvalue)

<cf1pico.h>

Store float data to Virtual EEPROM

bool

VEEStoreLong(char *name, long lvalue)

<cf1pico.h>

Store long data to Virtual EEPROM

bool

VEEStoreStr(char *name, char *str)

<cf1pico.h>

Store string data to Virtual EEPROM

short

VEEVarSize(VEEVar *entry)

<cf1pico.h>

Return the size in bytes of a Virtual EEPROM entry

char*

VerCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

void

Word2Swap(ulong x)

<cf1bios.h>

MACRO DESC

void

WordBitClear(ushort word, int bit)

<cf1bios.h>

MACRO DESC

void

WordBitSet(ushort word, int bit)

<cf1bios.h>

MACRO DESC

void

WordBitTest(ushort word, int bit)

<cf1bios.h>

MACRO DESC

size_t

write(int fildes, void *buf, size_t nbyte)

<unistd.h>

DESC

char*

XRCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

XSCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

YRCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

char*

YSCmd(CmdInfoPtr cip)

<cf1pico.h>

DESC

vptr

_BIOSHandlerAddress(short drvrid)

<cf1bios.h>

Return a BIOS handlers actual address

vptr

_BIOSPatchInsert(short drvrid, vptr newf)

<cf1bios.h>

Insert a new handler in the BIOS table

int

_CPUTestAndSet(uchar *p:__a0):__d0

<cf1bios.h>

DESC

vptr

_PICOHandlerAddress(short drvrid)

<cf1pico.h>

Return a Pico handlers actual address

vptr

_PICOPatchInsert(short drvrid, vptr newf)

<cf1pico.h>

Insert a new handler in the Pico table

 

Previous

Next

Top

Contents

Glossary

Index

Tel: 508-759-6434

Fax: 508-759-6436

Copyright (C) 1998 Persistor Instruments Inc. - All Rights Reserved