Description: Apple IIGS: ProDOS/16 Version 2 Header: Apple IIGS: ProDOS/16 Version 2 This article last reviewed: 4 September 1987 To support the new fast mode of the Apple IIGS, ProDOS/16 version 2 handles expanded Apple IIGS capabilities, features, and operating modes: - ProDOS/16 is designed to accept system calls from applications running in either 8-bit or 16-bit mode (the 65816 micro-processor can run in either). - ProDOS/16 can accept system calls from anywhere in the full 16MB range of memory in the Apple IIGS, and those calls can manipulate data anywhere in memory. - ProDOS/16 relies on a sophisticated memory management system. - System calls must be made to ProDOS/16 in order to access system global variables such as date and time, system level, and I/O buffer addresses. ProDOS/16 does not support a global variables page. There are major differences from ProDOS 1.1.1. ProDOS/16 not strictly upward-compatible from previous ProDOS versions. Programs written to function under ProDOS on an Apple II will not run on the IIGS under ProDOS/16 without some modifications. ProDOS/16 functions, however, are upward-compatible: - There is a functionally equivalent ProDOS/16 call for almost every ProDOS system call, usually with the same name. - Calls are made in nearly the same way as with earlier ProDOS versions. - For passing values to functions, the parameter blocks have a structure similar to (but not exactly like) earlier ProDOS. - ProDOS/16, using the same file system as earlier ProDOS, can read from and write to any disk volume produced by ProDOS, using the same file and volume structure, both disk resident and logical. On the Apple IIGS, ProDOS/8 and ProDOS/16 are designed to the run in tandem, as a package. Whereas ProDOS/16 takes advantage of all the Apple IIGS's hardware and capabilities, ProDOS/8 is provided to maintain compatibility with ProDOS v1.1.1. In normal situations, you need not be concerned with which operating system is functioning; if you run an Apple IIGS application, ProDOS/16 is loaded automatically. While most ProDOS/8 calls have functionally exact equivalents in ProDOS/16, some ProDOS/8 calls do not appear in ProDOS/16 because they are unnecessary: - RENAME: The ProDOS/16 call CHANGE_PATH performs the same function. - GET_TIME: Under ProDOS/16, the time and date are obtained through a call to the Miscellaneous Tools. - SET_BUF: Under ProDOS/16, the memory manager, rather than the application, allocates file I/O buffers. - GET_BUF: This call is unnecessary under ProDOS/16 because the OPEN call returns a handle to the file's I/O buffer. - ONLINE: This call is replaced in ProDOS/16 by the VOLUME call. Under ProDOS/16, you can: - make ProDOS/16 system calls from anywhere in memory, using ProDOS/16 parameter blocks located anywhere in memory. - make I/O data transfers to or from anywhere in memory. - allow limited use of named devices. With ProDOS/8, you must refer to a device by its volume name or its slot and drive number. - support up to eight system prefixes (ProDOS/8 supports only one). - have an unlimited number of open files (ProDOS/8 allows only 8). - have any number of online devices (ProDOS/8 allows a maximum of 14). - support of at least 3 separate device protocols (ProDOS/8 supports only one block device protocol). - extensivly support named devices. - use a volume mounting function, not in ProDOS/8, which prompts the user to mount a needed volume. Keywords: