/*****************+************************* * memio - Functions to read/write memory * ******************************************/ /* Return Memory File Pointer Contents * * Args: mp - memory file pointer * * Returns: Tuple * memory pointer address LSB * memory pointer address MSB */ char maddr(); /* Open Memory File * * Sets starting address to read/write * * Args: zp - zero page pointer address * * &a - base address to read/write * * Returns: memory file pointer * * 0 if base address is invalid */ char mopen(); /* Close Memory File * * Writes EOF at current memory byte * * and cleares memory pointer * * Args: mp - memory file pointer * * Returns: 0 if successful * 255 if memory pointer invalid */ char mclose(); /* End of Memory File * * Checks for EOF in next memory byte * * Args: mp - memory file pointer * * Returns: 0 if not at end of file * 255 if end of file reached */ char meof(); /* Memory File Error * * Checks for valid memory pointer * * Args: mp - memory file pointer * * Returns: 0 if successful * 255 if memory pointer invalid */ char merror(); /* Flush File Buffer * * Writes EOF at current memory byte * * Args: mp - memory file pointer * * Returns: 0 if successful * 255 if memory pointer invalid */ char mflush(); /* Read Character from Memory File * * Args: mp - memory file pointer * * Returns: ASCII value of character * * system dependent garbage * character if past end of file * 255 if memory pointer invalid */ char mgetc(); /* Write Character to Memory File * * Args: mp - memory file pointer * * c - ASCII character to write * * Returns: 0 if successful * 255 if memory pointer invalid */ char mputc(); /* Read String from Memory File * * Buffers up to 128 characters * * until C/R or EOF is found * * Args: mp - memory file pointer * * &s - string read from memory * * Returns: Tuple * * length of string * * (255 if error during read) * * last character read */ char mgets(); /* Write String to Memory File * * Writes up to 128 characters of a * * null terminated string * * Args: mp - memory file pointer * * &s - string to write from * * Returns: ending position in string * * 255 if error during write */ char mputs(); /* Write Line to Memory File * * Write String to File followed by C/R * * Args: mp - memory file pointer * * &s - string to print from * * Returns: ending position in string * * 255 if error during write */ char mputln(); /* Set Destination Array for fread() * * Args: &a - Destination array */ void mdst(); /* Read Bytes from Memory File * * Reads until End of Memory is reached * * Args: mp - memory file pointer * * n - number of bytes to read * * Returns: number of bytes read */ char mread(); /* Set Source Array for fwrite() * * Args: &a - Source array */ void msrc(); /* Write Bytes to Memory File * * Args: mp - memory file pointer * * n - number of bytes to write * * Returns: number of bytes written */ char mwrite();