/******************************************************************************/ /* CBIOS Definitions */ /******************************************************************************/ /* Used by CP/M 1.x + */ /* cold and warm start addresses */ #define BOOT 0 /* [1] arrive here from cold start system load */ #define WBOOT 1 /* [2] arrive here from warm start */ /* Used by CP/M 1.x + */ /* input/output device access */ #define CONST 2 /* [3] check for console character ready */ #define CONIN 3 /* [4] read console character in */ #define CONOUT 4 /* [5] write console character out */ #define LIST 5 /* [6] write list device character out */ #define PUNCH 6 /* [7] write punch device character out */ #define READER 7 /* [8] read reader device character in */ /* Used by CP/M 1.x + */ /* mass storage device access */ #define HOME 8 /* [9] move to track 0 on selected disk */ #define SELDSK 9 /* [10] select disk drive */ #define SETTRK 10 /* [11] set track number */ #define SETSEC 11 /* [12] set sector number */ #define SETDMA 12 /* [13] set dma address */ #define READ 13 /* [14] write selected sector */ #define WRITE 14 /* [15] write selected sector */ /* added by CP/M 2.xx */ #define LISTST 15 /* [16] check for list device not busy */ #define SECTRAN 16 /* [17] translate logical to physical sector */ /* added by CP/M+ (3.xx) (at least some) depending */ /* on the features incorporated by system integrator */ #define CONOST 17 /* [18] check output status of console */ #define AUXIST 18 /* [19] check input status of auxiliary device */ #define AUXOST 19 /* [20] check output status of auxiliary device */ #define DEVTBL 20 /* [21] get address of character i/o table */ #define DEVINI 21 /* [22] initialize character i/o devices */ #define DRVTBL 22 /* [23] get address of disk drive table */ #define MULTIO 23 /* [24] set number of multi-R/W sectors */ #define FLUSH 24 /* [25] flush host buffer (user-supplied blocking */ #define MOVE 25 /* [26] memory-to-memory block move */ #define TIME 26 /* [27] get or set time clock */ #define SELMEM 27 /* [28] set memory bank -- absolute */ #define SETBNK 28 /* [29] set memory bank for next DMA move */ #define XMOVE 29 /* [30] set memory bank numbers for next move call */ #define USERF 30 /* [31] reserved for system grator */ #define RESERV1 31 /* [32] reserved for future use */ #define RESERV2 32 /* [33] reserved for future use */ /* MP/M II XIOS call jump numbers follow: */ #define SELMEMORY 17 /* [18] Select memory segment */ #define POLLDEVICE 18 /* [19] Device Polling */ #define STARTCLOCK 19 /* [20] Start clock */ #define STOPCLOCK 20 /* [21] Stop clock */ #define EXITREGION 21 /* [22] Exit critical region */ #define MAXCONSOLE 22 /* [23] Maximum console number check */ #define SYSTEMINIT 23 /* [24]System initialization cold boot */ #define IDLE 24 /* [25] Optional idle procedure */