blob: 7d7992de3c10570e71b8acf506f1547ecf90db37 (
plain) (
tree)
|
|
/*
* SoftPC Revision 2.0
*
* Title : IBM PC Cassette IO BIOS declarations
*
* Description : This module contains definitions that are used in
* accessing the Cassette IO BIOS. In the AT BIOS, the
* original Cassette IO functionality has been greatly
* extended to provide support for multi-tasking systems.
*
* Author(s) : Ross Beresford
*
* Notes : For a detailed description of the XT and AT Cassette IO
* BIOS functions, refer to the following manuals:
*
* - IBM PC/XT Technical Reference Manual
* (Section A-72 System BIOS)
* - IBM PC/AT Technical Reference Manual
* (Section 5-164 BIOS1)
*/
/* SccsID[]="@(#)tape_io.h 1.3 08/10/92 Copyright Insignia Solutions Ltd."; */
/*
* ============================================================================
* Structure/Data definitions
* ============================================================================
*/
/*
* Cassette I/O Functions
*/
#define INT15_INVALID 0x86
/*
* Multi-tasking Extensions
*/
/* device open */
#define INT15_DEVICE_OPEN 0x80
/* device close */
#define INT15_DEVICE_CLOSE 0x81
/* program termination */
#define INT15_PROGRAM_TERMINATION 0x82
/* event wait */
#define INT15_EVENT_WAIT 0x83
#define INT15_EVENT_WAIT_SET 0x00
#define INT15_EVENT_WAIT_CANCEL 0x01
/* joystick support */
#define INT15_JOYSTICK 0x84
#define INT15_JOYSTICK_SWITCH 0x00
#define INT15_JOYSTICK_RESISTIVE 0x01
/* system request key pressed */
#define INT15_REQUEST_KEY 0x85
#define INT15_REQUEST_KEY_MAKE 0x00
#define INT15_REQUEST_KEY_BREAK 0x01
/* timed wait */
#define INT15_WAIT 0x86
/* block move */
#define INT15_MOVE_BLOCK 0x87
/* extended memory size determine */
#define INT15_EMS_DETERMINE 0x88
/* processor to virtual mode */
#define INT15_VIRTUAL_MODE 0x89
/* device busy loop and interrupt complete */
#define INT15_DEVICE_BUSY 0x90
#define INT15_INTERRUPT_COMPLETE 0x91
#define INT15_DEVICE_DISK 0x00
#define INT15_DEVICE_FLOPPY 0x01
#define INT15_DEVICE_KEYBOARD 0x02
#define INT15_DEVICE_NETWORK 0x80
#define INT15_DEVICE_FLOPPY_MOTOR 0xfd
#define INT15_DEVICE_PRINTER 0xfe
/* return configuration parameters pointer */
#define INT15_CONFIGURATION 0xc0
/*
* ============================================================================
* External declarations and macros
* ============================================================================
*/
/*
* void cassette_io()
* {
* This routine performs the Cassette I/O BIOS function. When
* an INT 15 occurs, the assembler BIOS calls this function to
* do the actual work involved using a BOP instruction.
*
* As no Cassette device is implemented on SoftPC, the
* Cassette I/O functions just return with an appropriate error.
*
* On the AT, INT 15 is used to provide multi-tasking support
* as an extension to the Cassette I/O functionality. Most
* of these functions are supported in the same way as in
* real AT BIOS.
* }
*/
extern void cassette_io();
|