X68K iocs headers

-----------------------
iocslib.h
-----------------------
/*
 * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
 * --------------------------------------------------------------------
 * This file is written by the Project C Library Group,	 and completely
 * in public domain. You can freely use, copy, modify, and redistribute
 * the whole contents, without this notice.
 * --------------------------------------------------------------------
 * $Id: iocslib.h,v 1.4 1994/11/26 14:48:20 mura Exp $
 */

/* for compatibility only */

#ifndef __iocslib_h__
#define __iocslib_h__

#ifndef __cdecl_h__
#include <cdecl.h>
#endif

#ifndef __sys_iocs_h__
#include <sys/iocs.h>
#endif

struct GETPTR {
    short x1;
    short y1;
    short x2;
    short y2;
    unsigned char *buf_start;
    unsigned char *buf_end;
};

struct PAINTPTR {
    short x;
    short y;
    unsigned short color;
    unsigned char *buf_start;
    unsigned char *buf_end;
};

struct PUTPTR {
    short x1;
    short y1;
    short x2;
    short y2;
    unsigned char *buf_start;
    unsigned char *buf_end;
};

struct CHAIN {
    unsigned char *adr;
    unsigned short len;
};

struct CHAIN2 {
    unsigned char *adr;
    unsigned short len;
    struct CHAIN2 *next;
};

#define BOXPTR		_boxptr
#define CIRCLEPTR	_circleptr
#define CLIPXY		_clipxy
#define FILLPTR		_fillptr
#define FNTBUF		_fntbuf
#define LINEPTR		_lineptr
#define PATST		_patst
#define POINTPTR	_pointptr
#define PSETPTR		_psetptr
#define REGS		_regs
#define SYMBOLPTR	_symbolptr
#define TBOXPTR		_tboxptr
#define TREVPTR		_trevptr
#define TXFILLPTR	_txfillptr
#define XLINEPTR	_xlineptr
#define YLINEPTR	_ylineptr

#define READCAP		_readcap
#define INQUIRY		_inquiry

#define ABORTJOB	_iocs_abortjob
#define ABORTRST	_iocs_abortrst
#define ADPCMINP	_iocs_adpcminp
#define ADPCMMOD	_iocs_adpcmmod
#define ADPCMOUT	_iocs_adpcmout
#define ADPCMSNS	_iocs_adpcmsns
#define AKCONV		_iocs_akconv
#define ALARMGET	_iocs_alarmget
#define ALARMMOD	_iocs_alarmmod
#define ALARMSET	_iocs_alarmset
#define APAGE		_iocs_apage
#define BGCTRLGT	_iocs_bgctrlgt
#define BGCTRLST	_iocs_bgctrlst
#define BGSCRLGT	_iocs_bgscrlgt
#define BGSCRLST	_iocs_bgscrlst
#define BGTEXTCL	_iocs_bgtextcl
#define BGTEXTGT	_iocs_bgtextgt
#define BGTEXTST	_iocs_bgtextst
#define BINDATEBCD	_iocs_bindatebcd
#define BINDATEGET	_iocs_bindateget
#define BINDATESET	_iocs_bindateset
#define BITSNS		_iocs_bitsns
#define BOOTINF		_iocs_bootinf
#define BOX		_iocs_box
#define B_ASSIGN	_iocs_b_assign
#define B_BADFMT	_iocs_b_badfmt
#define B_BPEEK		_iocs_b_bpeek
#define B_BPOKE		_iocs_b_bpoke
#define B_CLR_AL	_iocs_b_clr_al
#define B_CLR_ED	_iocs_b_clr_ed
#define B_CLR_ST	_iocs_b_clr_st
#define B_COLOR		_iocs_b_color
#define B_CONSOL	_iocs_b_consol
#define B_CUROFF	_iocs_b_curoff
#define B_CURON		_iocs_b_curon
#define B_DEL		_iocs_b_del
#define B_DOWN		_iocs_b_down
#define B_DOWN_S	_iocs_b_down_s
#define B_DRVCHK	_iocs_b_drvchk
#define B_DRVSNS	_iocs_b_drvsns
#define B_DSKINI	_iocs_b_dskini
#define B_EJECT		_iocs_b_eject
#define B_ERA_AL	_iocs_b_era_al
#define B_ERA_ED	_iocs_b_era_ed
#define B_ERA_ST	_iocs_b_era_st
#define B_FORMAT	_iocs_b_format
#define B_INS		_iocs_b_ins
#define B_INTVCS	_iocs_b_intvcs
#define B_KEYINP	_iocs_b_keyinp
#define B_KEYSNS	_iocs_b_keysns
#define B_LEFT		_iocs_b_left
#define B_LOCATE	_iocs_b_locate
#define B_LPEEK		_iocs_b_lpeek
#define B_LPOKE		_iocs_b_lpoke
#define B_MEMSET	_iocs_b_memset
#define B_MEMSTR	_iocs_b_memstr
#define B_PRINT		_iocs_b_print
#define B_PUTC		_iocs_b_putc
#define B_PUTMES	_iocs_b_putmes
#define B_READ		_iocs_b_read
#define B_READDI	_iocs_b_readdi
#define B_READDL	_iocs_b_readdl
#define B_READID	_iocs_b_readid
#define B_RECALI	_iocs_b_recali
#define B_RIGHT		_iocs_b_right
#define B_SEEK		_iocs_b_seek
#define B_SFTSNS	_iocs_b_sftsns
#define B_SUPER		_iocs_b_super
#define B_UP		_iocs_b_up
#define B_UP_S		_iocs_b_up_s
#define B_VERIFY	_iocs_b_verify
#define B_WPEEK		_iocs_b_wpeek
#define B_WPOKE		_iocs_b_wpoke
#define B_WRITE		_iocs_b_write
#define B_WRITED	_iocs_b_writed
#define CIRCLE		_iocs_circle
#define CLIPPUT		_iocs_clipput
#define CONTRAST	_iocs_contrast
#define CRTCRAS		_iocs_crtcras
#define CRTMOD		_iocs_crtmod
#define DAKJOB		_iocs_dakjob
#define DATEASC		_iocs_dateasc
#define DATEBIN		_iocs_datebin
#define DATECNV		_iocs_datecnv
#define DAYASC		_iocs_dayasc
#define DEFCHR		_iocs_defchr
#define DENSNS		_iocs_densns
#define DMAMODE		_iocs_dmamode
#define DMAMOVE		_iocs_dmamove
#define FILL		_iocs_fill
#define FNTGET		_iocs_fntget
#define GPALET		_iocs_gpalet
#define G_CLR_ON	_iocs_g_clr_on
#define HANJOB		_iocs_hanjob
#define HOME		_iocs_home
#define HSVTORGB	_iocs_hsvtorgb
#define HSYNCST		_iocs_hsyncst
#define INIT_PRN	_iocs_init_prn
#define INP232C		_iocs_inp232c
#define IPLERR		_iocs_iplerr
#define ISNS232C	_iocs_isns232c
#define JISSFT		_iocs_jissft
#define JOYGET		_iocs_joyget
#define LEDMOD		_iocs_ledmod
#define LINE		_iocs_line
#define LOF232C		_iocs_lof232c
#define MS_CURGT	_iocs_ms_curgt
#define MS_CUROF	_iocs_ms_curof
#define MS_CURON	_iocs_ms_curon
#define MS_CURST	_iocs_ms_curst
#define MS_GETDT	_iocs_ms_getdt
#define MS_INIT		_iocs_ms_init
#define MS_LIMIT	_iocs_ms_limit
#define MS_OFFTM	_iocs_ms_offtm
#define MS_ONTM		_iocs_ms_ontm
#define MS_PATST	_iocs_ms_patst
#define MS_SEL		_iocs_ms_sel
#define MS_SEL2		_iocs_ms_sel2
#define MS_STAT		_iocs_ms_stat
#define ONTIME		_iocs_ontime
#define OPMINTST	_iocs_opmintst
#define OPMSET		_iocs_opmset
#define OPMSNS		_iocs_opmsns
#define OSNS232C	_iocs_osns232c
#define OS_CUROF	_iocs_os_curof
#define OS_CURON	_iocs_os_curon
#define OUT232C		_iocs_out232c
#define OUTLPT		_iocs_outlpt
#define OUTPRN		_iocs_outprn
#define POINT		_iocs_point
#define PRNINTST	_iocs_prnintst
#define PSET		_iocs_pset
#define RMACNV		_iocs_rmacnv
#define ROMVER		_iocs_romver
#define SCROLL		_iocs_scroll
#define SET232C		_iocs_set232c
#define SFTJIS		_iocs_sftjis
#define SKEYSET		_iocs_skeyset
#define SKEY_MOD	_iocs_skey_mod
#define SNSPRN		_iocs_snsprn
#define SPALET		_iocs_spalet
#define SP_CGCLR	_iocs_sp_cgclr
#define SP_DEFCG	_iocs_sp_defcg
#define SP_GTPCG	_iocs_sp_gtpcg
#define SP_INIT		_iocs_sp_init
#define SP_OFF		_iocs_sp_off
#define SP_ON		_iocs_sp_on
#define SP_REGGT	_iocs_sp_reggt
#define SP_REGST	_iocs_sp_regst
#define SYMBOL		_iocs_symbol
#define TCOLOR		_iocs_tcolor
#define TEXTGET		_iocs_textget
#define TEXTPUT		_iocs_textput
#define TGUSEMD		_iocs_tgusemd
#define TIMEASC		_iocs_timeasc
#define TIMEBCD		_iocs_timebcd
#define TIMEBIN		_iocs_timebin
#define TIMECNV		_iocs_timecnv
#define TIMEGET		_iocs_timeget
#define TIMERDST	_iocs_timerdst
#define TIMESET		_iocs_timeset
#define TPALET		_iocs_tpalet
#define TPALET2		_iocs_tpalet2
#define TRAP15		_iocs_trap15
#define TVCTRL		_iocs_tvctrl
#define TXBOX		_iocs_txbox
#define TXFILL		_iocs_txfill
#define TXRASCPY	_iocs_txrascpy
#define TXREV		_iocs_txrev
#define TXXLINE		_iocs_txxline
#define TXYLINE		_iocs_txyline
#define VDISPST		_iocs_vdispst
#define VPAGE		_iocs_vpage
#define WINDOW		_iocs_window
#define WIPE		_iocs_wipe

#define S_CMDOUT	_scsi_cmdout
#define S_DATAIN	_scsi_datain
#define S_DATAIN_P	_scsi_datain_p
#define S_DATAOUT	_scsi_dataout
#define S_DATAOUT_P	_scsi_dataout_p
#define S_FORMAT	_scsi_format
#define S_INQUIRY	_scsi_inquiry
#define S_MODESELECT	_scsi_modeselect
#define S_MODESENSE	_scsi_modesense
#define S_MSGIN		_scsi_msgin
#define S_MSGOUT	_scsi_msgout
#define S_PAMEDIUM	_scsi_pamedium
#define S_PHASE		_scsi_phase
#define S_READ		_scsi_read
#define S_READCAP	_scsi_readcap
#define S_READEXT	_scsi_readext
#define S_REASSIGN	_scsi_reassign
#define S_REQUEST	_scsi_request
#define S_RESET		_scsi_reset
#define S_REZEROUNIT	_scsi_rezerounit
#define S_SEEK		_scsi_seek
#define S_SELECT	_scsi_select
#define S_STARTSTOP	_scsi_startstop
#define S_STSIN		_scsi_stsin
#define S_TESTUNIT	_scsi_testunit
#define S_WRITE		_scsi_write
#define S_WRITEEXT	_scsi_writeext

/* The following 9 macros prevent from conflictions */

#define GETGRM(a) _iocs_getgrm ((struct _getptr *) (a))
#define PUTGRM(a) _iocs_putgrm ((const struct _putptr *) (a))
#define PAINT(a) _iocs_paint ((struct _paintptr *) (a))
#define ADPCMAIN(a,b,c) _iocs_adpcmain ((const struct _chain *) (a), (b), (c))
#define ADPCMAOT(a,b,c) _iocs_adpcmaot ((const struct _chain *) (a), (b), (c))
#define ADPCMLIN(a,b) _iocs_adpcmlin ((const struct _chain2 *) (a), (b))
#define ADPCMLOT(a,b) _iocs_adpcmlot ((const struct _chain2 *) (a), (b))
#define DMAMOV_A(a,b,c,d) _iocs_dmamov_a ((const struct _chain *) (a), (b), (c), (d))
#define DMAMOV_L(a,b,c) _iocs_dmamov_l ((const struct _chain2 *) (a), (b), (c))

#endif


{
-----------------------
sys/iocs.h
-----------------------
/*
 * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
 * --------------------------------------------------------------------
 * This file is written by the Project C Library Group,  and completely
 * in public domain. You can freely use, copy, modify, and redistribute
 * the whole contents, without this notice.
 * --------------------------------------------------------------------
 * $Id: iocs.h,v 1.1.1.1 1993/04/18 16:14:27 mura Exp $
 */

#ifndef __sys_iocs_h__
#define __sys_iocs_h__

#ifndef __cdecl_h__
#include <cdecl.h>
#endif

struct _boxptr {
    short x1;
    short y1;
    short x2;
    short y2;
    unsigned short color;
    unsigned short linestyle;
};

struct _circleptr {
    short x;
    short y;
    unsigned short radius;
    unsigned short color;
    short start;
    short end;
    unsigned short ratio;
};

struct _fillptr {
    short x1;
    short y1;
    short x2;
    short y2;
    unsigned short color;
};

struct _fntbuf {
    short xl;
    short yl;
    unsigned char buffer[72];
};

struct _getptr {
    short x1;
    short y1;
    short x2;
    short y2;
    void *buf_start;
    void *buf_end;
};

struct _lineptr {
    short x1;
    short y1;
    short x2;
    short y2;
    unsigned short color;
    unsigned short linestyle;
};

struct _paintptr {
    short x;
    short y;
    unsigned short color;
    void *buf_start;
    void *buf_end;
};

struct _pointptr {
    short x;
    short y;
    unsigned short color;
};

struct _psetptr {
    short x;
    short y;
    unsigned short color;
};

struct _putptr {
    short x1;
    short y1;
    short x2;
    short y2;
    const void *buf_start;
    const void *buf_end;
};

struct _symbolptr {
    short x1;
    short y1;
    unsigned char *string_address;
    unsigned char mag_x;
    unsigned char mag_y;
    unsigned short color;
    unsigned char font_type;
    unsigned char angle;
};

struct _regs {
    int_ d0;
    int_ d1;
    int_ d2;
    int_ d3;
    int_ d4;
    int_ d5;
    int_ d6;
    int_ d7;
    int_ a1;
    int_ a2;
    int_ a3;
    int_ a4;
    int_ a5;
    int_ a6;
};

struct _chain {
    void *addr;
    unsigned short len;
};

struct _chain2 {
    void *addr;
    unsigned short len;
    const struct _chain2 *next;
};

struct _clipxy {
    short xs;
    short ys;
    short xe;
    short ye;
};

struct _patst {
    short offsetx;
    short offsety;
    short shadow[16];
    short pattern[16];
};

struct _tboxptr {
    unsigned short vram_page;
    short x;
    short y;
    short x1;
    short y1;
    unsigned short line_style;
};

struct _txfillptr {
    unsigned short vram_page;
    short x;
    short y;
    short x1;
    short y1;
    unsigned short fill_patn;
};

struct _trevptr {
    unsigned short vram_page;
    short x;
    short y;
    short x1;
    short y1;
};

struct _xlineptr {
    unsigned short vram_page;
    short x;
    short y;
    short x1;
    unsigned short line_style;
};

struct _ylineptr {
    unsigned short vram_page;
    short x;
    short y;
    short y1;
    unsigned short line_style;
};

/*
** If you want to use other inline headers, please add your selection
** mechanism here...
*/

#ifdef __IOCS_INLINE__
#include <sys/iocs_i.h>
#else
#include <sys/iocs_p.h>
#endif

#endif


{
-----------------------
sys/iocs_p.h
-----------------------
/*
 * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
 * --------------------------------------------------------------------
 * This file is written by the Project C Library Group,  and completely
 * in public domain. You can freely use, copy, modify, and redistribute
 * the whole contents, without this notice.
 * --------------------------------------------------------------------
 * $Id: iocs_p.h,v 1.5 1993/10/06 16:46:12 mura Exp $
 */

#ifndef __sys_iocs_p_h__
#define __sys_iocs_p_h__

_EXTERN (int_ __const _iocs_akconv (int_, int_));
_EXTERN (int_ __const _iocs_bootinf (void_));
_EXTERN (int_ __const _iocs_hsvtorgb (int_, int_, int_));
_EXTERN (int_ __const _iocs_jissft (int_));
_EXTERN (int_ __const _iocs_romver (void_));
_EXTERN (int_ __const _iocs_sftjis (int_));
_EXTERN (int_ _iocs_adpcmsns (void_));
_EXTERN (int_ _iocs_alarmget (int_ *, int_ *, int_ *));
_EXTERN (int_ _iocs_alarmmod (int_));
_EXTERN (int_ _iocs_alarmset (int_, int_, int_));
_EXTERN (int_ _iocs_apage (int_));
_EXTERN (int_ _iocs_b_assign (int_, int_, int_, const void *));
_EXTERN (int_ _iocs_b_badfmt (int_, int_, int_));
_EXTERN (int_ _iocs_b_bpeek (const void *));
_EXTERN (int_ _iocs_b_color (int_));
_EXTERN (int_ _iocs_b_consol (int_, int_, int_, int_));
_EXTERN (int_ _iocs_b_drvchk (int_, int_));
_EXTERN (int_ _iocs_b_drvsns (int_));
_EXTERN (int_ _iocs_b_dskini (int_, const void *, int_));
_EXTERN (int_ _iocs_b_eject (int_));
_EXTERN (int_ _iocs_b_format (int_, int_, int_, const void *));
_EXTERN (int_ _iocs_b_intvcs (int_, int_));
_EXTERN (int_ _iocs_b_keyinp (void_));
_EXTERN (int_ _iocs_b_keysns (void_));
_EXTERN (int_ _iocs_b_locate (int_, int_));
_EXTERN (int_ _iocs_b_lpeek (const void *));
_EXTERN (int_ _iocs_b_print (const char *));
_EXTERN (int_ _iocs_b_putc (int_));
_EXTERN (int_ _iocs_b_putmes (int_, int_, int_, int_, const char *));
_EXTERN (int_ _iocs_b_read (int_, int_, int_, void *));
_EXTERN (int_ _iocs_b_readdi (int_, int_, int_, void *));
_EXTERN (int_ _iocs_b_readdl (int_, int_, int_, void *));
_EXTERN (int_ _iocs_b_readid (int_, int_, void *));
_EXTERN (int_ _iocs_b_recali (int_));
_EXTERN (int_ _iocs_b_seek (int_, int_));
_EXTERN (int_ _iocs_b_sftsns (void_));
_EXTERN (int_ _iocs_b_super (int_));
_EXTERN (int_ _iocs_b_verify (int_, int_, int_, const void *));
_EXTERN (int_ _iocs_b_wpeek (const void *));
_EXTERN (int_ _iocs_b_write (int_, int_, int_, const void *));
_EXTERN (int_ _iocs_b_writed (int_, int_, int_, const void *));
_EXTERN (int_ _iocs_bgctrlgt (int_));
_EXTERN (int_ _iocs_bgctrlst (int_, int_, int_));
_EXTERN (int_ _iocs_bgscrlgt (int_, int_ *, int_ *));
_EXTERN (int_ _iocs_bgscrlst (int_, int_, int_));
_EXTERN (int_ _iocs_bgtextcl (int_, int_));
_EXTERN (int_ _iocs_bgtextgt (int_, int_, int_));
_EXTERN (int_ _iocs_bgtextst (int_, int_, int_, int_));
_EXTERN (int_ _iocs_bindatebcd (int_));
_EXTERN (int_ _iocs_bindateget (void_));
_EXTERN (int_ _iocs_bitsns (int_));
_EXTERN (int_ _iocs_box (const struct _boxptr *));
_EXTERN (int_ _iocs_circle (const struct _circleptr *));
_EXTERN (int_ _iocs_contrast (int_));
_EXTERN (int_ _iocs_crtcras (const void *, int_));
_EXTERN (int_ _iocs_crtmod (int_));
_EXTERN (int_ _iocs_dakjob (char *));
_EXTERN (int_ _iocs_dateasc (int_, char *));
_EXTERN (int_ _iocs_datebin (int_));
_EXTERN (int_ _iocs_datecnv (const char *));
_EXTERN (int_ _iocs_defchr (int_, int_, const void *));
_EXTERN (int_ _iocs_dmamode (void_));
_EXTERN (int_ _iocs_fill (const struct _fillptr *));
_EXTERN (int_ _iocs_fntget (int_, int_, struct _fntbuf *));
_EXTERN (int_ _iocs_getgrm (struct _getptr *));
_EXTERN (int_ _iocs_gpalet (int_, int_));
_EXTERN (int_ _iocs_hanjob (char *));
_EXTERN (int_ _iocs_home (int_, int_, int_));
_EXTERN (int_ _iocs_hsyncst (const void *));
_EXTERN (int_ _iocs_init_prn (int_, int_));
_EXTERN (int_ _iocs_inp232c (void_));
_EXTERN (int_ _iocs_isns232c (void_));
_EXTERN (int_ _iocs_joyget (int_));
_EXTERN (int_ _iocs_line (const struct _lineptr *));
_EXTERN (int_ _iocs_lof232c (void_));
_EXTERN (int_ _iocs_ms_curgt (void_));
_EXTERN (int_ _iocs_ms_curst (int_, int_));
_EXTERN (int_ _iocs_ms_getdt (void_));
_EXTERN (int_ _iocs_ms_limit (int_, int_, int_, int_));
_EXTERN (int_ _iocs_ms_offtm (int_, int_));
_EXTERN (int_ _iocs_ms_ontm (int_, int_));
_EXTERN (int_ _iocs_ms_stat (void_));
_EXTERN (int_ _iocs_ontime (void_));
_EXTERN (int_ _iocs_opmintst (const void *));
_EXTERN (int_ _iocs_opmsns (void_));
_EXTERN (int_ _iocs_osns232c (void_));
_EXTERN (int_ _iocs_paint (struct _paintptr *));
_EXTERN (int_ _iocs_point (const struct _pointptr *));
_EXTERN (int_ _iocs_prnintst (const void *));
_EXTERN (int_ _iocs_pset (const struct _psetptr *));
_EXTERN (int_ _iocs_putgrm (const struct _putptr *));
_EXTERN (int_ _iocs_rmacnv (int_, char *, char *));
_EXTERN (int_ _iocs_set232c (int_));
_EXTERN (int_ _iocs_skey_mod (int_, int_, int_));
_EXTERN (int_ _iocs_snsprn (void_));
_EXTERN (int_ _iocs_sp_cgclr (int_));
_EXTERN (int_ _iocs_sp_defcg (int_, int_, const void *));
_EXTERN (int_ _iocs_sp_gtpcg (int_, int_, void *));
_EXTERN (int_ _iocs_sp_init (void_));
_EXTERN (int_ _iocs_sp_on (void_));
_EXTERN (int_ _iocs_sp_reggt (int_, int_ *, int_ *, int_ *, int_ *));
_EXTERN (int_ _iocs_sp_regst (int_, int_, int_, int_, int_, int_));
_EXTERN (int_ _iocs_spalet (int_, int_, int_));
_EXTERN (int_ _iocs_symbol (const struct _symbolptr *));
_EXTERN (int_ _iocs_tgusemd (int_, int_));
_EXTERN (int_ _iocs_timeasc (int_, char *));
_EXTERN (int_ _iocs_timebcd (int_));
_EXTERN (int_ _iocs_timebin (int_));
_EXTERN (int_ _iocs_timecnv (const char *));
_EXTERN (int_ _iocs_timeget (void_));
_EXTERN (int_ _iocs_timerdst (const void *, int_, int_));
_EXTERN (int_ _iocs_tpalet (int_, int_));
_EXTERN (int_ _iocs_tpalet2 (int_, int_));
_EXTERN (int_ _iocs_trap15 (const struct _regs *, struct _regs *));
_EXTERN (int_ _iocs_vdispst (const void *, int_, int_));
_EXTERN (int_ _iocs_vpage (int_));
_EXTERN (int_ _iocs_window (int_, int_, int_, int_));
_EXTERN (int_ _iocs_wipe (void_));
_EXTERN (void __volatile _iocs_abortjob (void_));
_EXTERN (void __volatile _iocs_iplerr (void_));
_EXTERN (void _iocs_abortrst (void_));
_EXTERN (void _iocs_adpcmain (const struct _chain *, int_, int_));
_EXTERN (void _iocs_adpcmaot (const struct _chain *, int_, int_));
_EXTERN (void _iocs_adpcminp (void *, int_, int_));
_EXTERN (void _iocs_adpcmlin (const struct _chain2 *, int_));
_EXTERN (void _iocs_adpcmlot (const struct _chain2 *, int_));
_EXTERN (void _iocs_adpcmmod (int_));
_EXTERN (void _iocs_adpcmout (const void *, int_, int_));
_EXTERN (void _iocs_b_bpoke (void *, int_));
_EXTERN (void _iocs_b_clr_al (void_));
_EXTERN (void _iocs_b_clr_ed (void_));
_EXTERN (void _iocs_b_clr_st (void_));
_EXTERN (void _iocs_b_curoff (void_));
_EXTERN (void _iocs_b_curon (void_));
_EXTERN (void _iocs_b_del (int_));
_EXTERN (void _iocs_b_down (int_));
_EXTERN (void _iocs_b_down_s (void_));
_EXTERN (void _iocs_b_era_al (void_));
_EXTERN (void _iocs_b_era_ed (void_));
_EXTERN (void _iocs_b_era_st (void_));
_EXTERN (void _iocs_b_ins (int_));
_EXTERN (void _iocs_b_left (int_));
_EXTERN (void _iocs_b_lpoke (void *, int_));
_EXTERN (void _iocs_b_memset (void *, const void *, int_));
_EXTERN (void _iocs_b_memstr (const void *, void *, int_));
_EXTERN (void _iocs_b_right (int_));
_EXTERN (void _iocs_b_up (int_));
_EXTERN (void _iocs_b_up_s (void_));
_EXTERN (void _iocs_b_wpoke (void *, int_));
_EXTERN (void _iocs_bindateset (int_));
_EXTERN (void _iocs_clipput (int_, int_, const struct _fntbuf *, const struct _clipxy *));
_EXTERN (void _iocs_dayasc (int_, char *));
_EXTERN (void _iocs_densns (void_));
_EXTERN (void _iocs_dmamov_a (const struct _chain *, void *, int_, int_));
_EXTERN (void _iocs_dmamov_l (const struct _chain2 *, void *, int_));
_EXTERN (void _iocs_dmamove (void *, void *, int_, int_));
_EXTERN (void _iocs_g_clr_on (void_));
_EXTERN (void _iocs_ledmod (int_, int_));
_EXTERN (void _iocs_ms_curof (void_));
_EXTERN (void _iocs_ms_curon (void_));
_EXTERN (void _iocs_ms_init (void_));
_EXTERN (void _iocs_ms_patst (int_, const struct _patst *));
_EXTERN (void _iocs_ms_sel (int_));
_EXTERN (void _iocs_ms_sel2 (const short *));
_EXTERN (void _iocs_opmset (int_, int_));
_EXTERN (void _iocs_os_curof (void_));
_EXTERN (void _iocs_os_curon (void_));
_EXTERN (void _iocs_out232c (int_));
_EXTERN (void _iocs_outlpt (int_));
_EXTERN (void _iocs_outprn (int_));
_EXTERN (void _iocs_scroll (int_, int_, int_));
_EXTERN (void _iocs_skeyset (int_));
_EXTERN (void _iocs_sp_off (void_));
_EXTERN (void _iocs_tcolor (int_));
_EXTERN (void _iocs_textget (int_, int_, struct _fntbuf *));
_EXTERN (void _iocs_textput (int_, int_, const struct _fntbuf *));
_EXTERN (void _iocs_timeset (int_));
_EXTERN (void _iocs_tvctrl (int_));
_EXTERN (void _iocs_txbox (const struct _tboxptr *));
_EXTERN (void _iocs_txfill (const struct _txfillptr *));
_EXTERN (void _iocs_txrascpy (int_, int_, int_));
_EXTERN (void _iocs_txrev (const struct _trevptr *));
_EXTERN (void _iocs_txxline (const struct _xlineptr *));
_EXTERN (void _iocs_txyline (const struct _ylineptr *));

#endif


{
NetBSD iocs.h
--------
    1 /*
    2  *      iocs.h
    3  *      X680x0 IOCS call interface
    4  *
    5  *      written by ITOH Yasufumi
    6  *      (based on PD libc 1.1.32 by PROJECT C Library)
    7  *      public domain
    8  *
    9  *      $NetBSD: iocs.h,v 1.8 2011/02/21 02:31:59 itohy Exp $
   10  */
   11 /*
   12  * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION
   13  * --------------------------------------------------------------------
   14  * This file is written by the Project C Library Group,  and completely
   15  * in public domain. You can freely use, copy, modify, and redistribute
   16  * the whole contents, without this notice.
   17  * --------------------------------------------------------------------
   18  * Id: iocs.h,v 1.1.1.1 1993/04/18 16:14:27 mura Exp
   19  * Id: iocs_p.h,v 1.5 1993/10/06 16:46:12 mura Exp
   20  * Id: scsi.h,v 1.3 1994/07/31 17:21:50 mura Exp
   21  */
   22 
   23 #ifndef __X68K_IOCS_H__
   24 #define __X68K_IOCS_H__
   25 
   26 #include <sys/cdefs.h>
   27 
   28 struct iocs_boxptr {
   29         short           x1;
   30         short           y1;
   31         short           x2;
   32         short           y2;
   33         unsigned short  color;
   34         unsigned short  linestyle;
   35 };
   36 
   37 struct iocs_circleptr {
   38         short           x;
   39         short           y;
   40         unsigned short  radius;
   41         unsigned short  color;
   42         short           start;
   43         short           end;
   44         unsigned short  ratio;
   45 };
   46 
   47 struct iocs_fillptr {
   48         short           x1;
   49         short           y1;
   50         short           x2;
   51         short           y2;
   52         unsigned short  color;
   53 };
   54 
   55 struct iocs_fntbuf {
   56         short           xl;
   57         short           yl;
   58         unsigned char   buffer[72];
   59 };
   60 
   61 struct iocs_getptr {
   62         short   x1;
   63         short   y1;
   64         short   x2;
   65         short   y2;
   66         void    *buf_start;
   67         void    *buf_end;
   68 };
   69 
   70 struct iocs_lineptr {
   71         short           x1;
   72         short           y1;
   73         short           x2;
   74         short           y2;
   75         unsigned short  color;
   76         unsigned short  linestyle;
   77 };
   78 
   79 struct iocs_paintptr {
   80         short           x;
   81         short           y;
   82         unsigned short  color;
   83         void            *buf_start;
   84         void            *buf_end;
   85 } __attribute__((__packed__));
   86 
   87 struct iocs_pointptr {
   88         short           x;
   89         short           y;
   90         unsigned short  color;
   91 };
   92 
   93 struct iocs_psetptr {
   94         short           x;
   95         short           y;
   96         unsigned short  color;
   97 };
   98 
   99 struct iocs_putptr {
  100         short           x1;
  101         short           y1;
  102         short           x2;
  103         short           y2;
  104         const void      *buf_start;
  105         const void      *buf_end;
  106 };
  107 
  108 struct iocs_symbolptr {
  109         short           x1;
  110         short           y1;
  111         unsigned char   *string_address;
  112         unsigned char   mag_x;
  113         unsigned char   mag_y;
  114         unsigned short  color;
  115         unsigned char   font_type;
  116         unsigned char   angle;
  117 } __attribute__((__packed__));
  118 
  119 struct iocs_regs {
  120         int     d0;
  121         int     d1;
  122         int     d2;
  123         int     d3;
  124         int     d4;
  125         int     d5;
  126         int     d6;
  127         int     d7;
  128         int     a1;
  129         int     a2;
  130         int     a3;
  131         int     a4;
  132         int     a5;
  133         int     a6;
  134 };
  135 
  136 struct iocs_chain {
  137         void            *addr;
  138         unsigned short  len;
  139 } __attribute__((__packed__));
  140 
  141 struct iocs_chain2 {
  142         void                    *addr;
  143         unsigned short          len;
  144         const struct iocs_chain2 *next;
  145 } __attribute__((__packed__));
  146 
  147 struct iocs_clipxy {
  148         short   xs;
  149         short   ys;
  150         short   xe;
  151         short   ye;
  152 };
  153 
  154 struct iocs_patst {
  155         short   offsetx;
  156         short   offsety;
  157         short   shadow[16];
  158         short   pattern[16];
  159 };
  160 
  161 struct iocs_tboxptr {
  162         unsigned short  vram_page;
  163         short           x;
  164         short           y;
  165         short           x1;
  166         short           y1;
  167         unsigned short  line_style;
  168 };
  169 
  170 struct iocs_txfillptr {
  171         unsigned short  vram_page;
  172         short           x;
  173         short           y;
  174         short           x1;
  175         short           y1;
  176         unsigned short  fill_patn;
  177 };
  178 
  179 struct iocs_trevptr {
  180         unsigned short  vram_page;
  181         short           x;
  182         short           y;
  183         short           x1;
  184         short           y1;
  185 };
  186 
  187 struct iocs_xlineptr {
  188         unsigned short  vram_page;
  189         short           x;
  190         short           y;
  191         short           x1;
  192         unsigned short  line_style;
  193 };
  194 
  195 struct iocs_ylineptr {
  196         unsigned short  vram_page;
  197         short           x;
  198         short           y;
  199         short           y1;
  200         unsigned short  line_style;
  201 };
  202 
  203 struct iocs_tlineptr {
  204         unsigned short  vram_page;
  205         short           x;
  206         short           y;
  207         short           x1;
  208         short           y1;
  209         unsigned short  line_style;
  210 };
  211 
  212 /*
  213  * for SCSI calls
  214  */
  215 
  216 struct iocs_readcap {
  217         unsigned long   block;
  218         unsigned long   size;
  219 };
  220 
  221 struct iocs_inquiry {
  222         unsigned char   unit;
  223         unsigned char   info;
  224         unsigned char   ver;
  225         unsigned char   reserve;
  226         unsigned char   size;
  227         unsigned char   buff[0];        /* actually longer */
  228 };
  229 
  230 /*
  231  * arguments:
  232  *      dn              32bit arg -> 32bit data reg (input)
  233  *      an              32bit arg -> 32bit addr reg (input)
  234  *      odn             32bit arg -> 32bit addr (location to store dn value)
  235  *      dn=(num)        (no C arg) -> load immediate value to the data register
  236  *      dn=ww           two 32bit args -> (LSWord #1) << 16 | (LSWord #2)
  237  *      dn=bb           two 32bit args -> (LSByte #1) << 8 | (LSByte #2)
  238  *      dn=hsv          three args (H S V) -> encode HSV values in dn
  239  * opts:
  240  *      retd2           return value is d2 of IOCS call
  241  *      err_d0          nonzero d0 is an error -- skip storing values
  242  *      noret           the IOCS call never returns
  243  *      c_md            special for IOCS_CACHE_MD
  244  *      b_super         special for IOCS_B_SUPER
  245  *      sp_regst        special for IOCS_SP_REGST
  246  *      b_curmod        special for IOCS_B_CURMOD
  247  *      b_curpat        special for IOCS_B_CURPAT
  248  *      b_scroll        special for IOCS_B_SCROLL
  249  *      trap15          special for IOCS_TRAP15
  250  */
  251 
  252 /*  (none) ; trap15 */  int IOCS_TRAP15(const struct iocs_regs *, struct iocs_regs *);
  253 /* 00 */        int IOCS_B_KEYINP (void);
  254 /* 01 */        int IOCS_B_KEYSNS (void);
  255 /* 02 */        int IOCS_B_SFTSNS (void);
  256 /* 04 d1 */     int IOCS_BITSNS (int);
  257 /* 05 d1 */     void IOCS_SKEYSET (int);
  258 /* 0c d1 */     void IOCS_TVCTRL (int);
  259 /* 0d d1 d2 */  void IOCS_LEDMOD (int, int);
  260 /* 0e d1 d2 */  int IOCS_TGUSEMD (int, int);
  261 /* 0f d1=ww a1 */       int IOCS_DEFCHR (int, int, const void *);
  262 /* 10 d1 */     int IOCS_CRTMOD (int);
  263 /* 11 d1 */     int IOCS_CONTRAST (int);
  264 /* 12 d1=hsv */ int __pure IOCS_HSVTORGB (int, int, int) __attribute__((const));
  265 /* 13 d1 d2 */  int IOCS_TPALET (int, int);
  266 /* 14 d1 d2 */  int IOCS_TPALET2 (int, int);
  267 /* 15 d1 */     void IOCS_TCOLOR (int);
  268 /* 19 d1=ww a1 */       int IOCS_FNTGET (int, int, struct iocs_fntbuf *);
  269 /* 1a d1 d2 a1 */       void IOCS_TEXTGET (int, int, struct iocs_fntbuf *);
  270 /* 1b d1 d2 a1 */       void IOCS_TEXTPUT (int, int, const struct iocs_fntbuf *);
  271 /* 1c d1 d2 a1 a2 */    void IOCS_CLIPPUT (int, int, const struct iocs_fntbuf *, const struct iocs_clipxy *);
  272 /* 1d d1 d2 d3 */       void IOCS_SCROLL (int, int, int);
  273 /* 1e */        void IOCS_B_CURON (void);
  274 /* 1f */        void IOCS_B_CUROFF (void);
  275 /* 20 d1 */     int IOCS_B_PUTC (int);
  276 /* 21 a1 */     int IOCS_B_PRINT (const char *);
  277 /* 22 d1 */     int IOCS_B_COLOR (int);
  278 /* 23 d1 d2 */  int IOCS_B_LOCATE (int, int);
  279 /* 24 */        void IOCS_B_DOWN_S (void);
  280 /* 25 */        void IOCS_B_UP_S (void);
  281 /* 26 d1 */     void IOCS_B_UP (int);
  282 /* 27 d1 */     void IOCS_B_DOWN (int);
  283 /* 28 d1 */     void IOCS_B_RIGHT (int);
  284 /* 29 d1 */     void IOCS_B_LEFT (int);
  285 /* 2a d1=0 */   void IOCS_B_CLR_ED (void);
  286 /* 2a d1=1 */   void IOCS_B_CLR_ST (void);
  287 /* 2a d1=2 */   void IOCS_B_CLR_AL (void);
  288 /* 2b d1=0 */   void IOCS_B_ERA_ED (void);
  289 /* 2b d1=1 */   void IOCS_B_ERA_ST (void);
  290 /* 2b d1=2 */   void IOCS_B_ERA_AL (void);
  291 /* 2c d1 */     void IOCS_B_INS (int);
  292 /* 2d d1 */     void IOCS_B_DEL (int);
  293 /* 2e d1=ww d2=ww ; retd2 */    int IOCS_B_CONSOL (int, int, int, int);
  294 /* 2f d1 d2 d3 d4 a1 ; retd2 */ int IOCS_B_PUTMES (int, int, int, int, const char *);
  295 /* 30 d1 */     int IOCS_SET232C (int);
  296 /* 31 */        int IOCS_LOF232C (void);
  297 /* 32 */        int IOCS_INP232C (void);
  298 /* 33 */        int IOCS_ISNS232C (void);
  299 /* 34 */        int IOCS_OSNS232C (void);
  300 /* 35 d1 */     void IOCS_OUT232C (int);
  301 /* 3b d1 */     int IOCS_JOYGET (int);
  302 /* 3c d1=bb */  int IOCS_INIT_PRN (int, int);
  303 /* 3d */        int IOCS_SNSPRN (void);
  304 /* 3e d1 */     void IOCS_OUTLPT (int);
  305 /* 3f d1 */     void IOCS_OUTPRN (int);
  306 /* 40 d1 d2 */  int IOCS_B_SEEK (int, int);
  307 /* 41 d1 d2 d3 a1 */    int IOCS_B_VERIFY (int, int, int, const void *);
  308 /* 42 d1 d2 d3 a1 */    int IOCS_B_READDI (int, int, int, void *);
  309 /* 43 d1 a1 d2 */       int IOCS_B_DSKINI (int, const void *, int);
  310 /* 44 d1 */     int IOCS_B_DRVSNS (int);
  311 /* 45 d1 d2 d3 a1 */    int IOCS_B_WRITE (int, int, int, const void *);
  312 /* 46 d1 d2 d3 a1 */    int IOCS_B_READ (int, int, int, void *);
  313 /* 47 d1 */     int IOCS_B_RECALI (int);
  314 /* 48 d1 d2 d3 a1 */    int IOCS_B_ASSIGN (int, int, int, const void *);
  315 /* 49 d1 d2 d3 a1 */    int IOCS_B_WRITED (int, int, int, const void *);
  316 /* 4a d1 d2 od2 */      int IOCS_B_READID (int, int, void *);
  317 /* 4b d1 d2 d3 */       int IOCS_B_BADFMT (int, int, int);
  318 /* 4c d1 d2 d3 a1 */    int IOCS_B_READDL (int, int, int, void *);
  319 /* 4d d1 d2 d3 a1 */    int IOCS_B_FORMAT (int, int, int, const void *);
  320 /* 4e d1 d2 */  int IOCS_B_DRVCHK (int, int);
  321 /* 4f d1 */     int IOCS_B_EJECT (int);
  322 /* 50 d1 */     int IOCS_BINDATEBCD (int);
  323 /* 51 d1 */     void IOCS_BINDATESET (int);
  324 /* 52 d1 */     int IOCS_TIMEBCD (int);
  325 /* 53 d1 */     void IOCS_TIMESET (int);
  326 /* 54 */        int IOCS_BINDATEGET (void);
  327 /* 55 d1 */     int IOCS_DATEBIN (int);
  328 /* 56 */        int IOCS_TIMEGET (void);
  329 /* 57 d1 */     int IOCS_TIMEBIN (int);
  330 /* 58 a1 */     int IOCS_DATECNV (const char *);
  331 /* 59 a1 */     int IOCS_TIMECNV (const char *);
  332 /* 5a d1 a1 */  int IOCS_DATEASC (int, char *);
  333 /* 5b d1 a1 */  int IOCS_TIMEASC (int, char *);
  334 /* 5c d1 a1 */  void IOCS_DAYASC (int, char *);
  335 /* 5d d1 */     int IOCS_ALARMMOD (int);
  336 /* 5e d1 d2 a1 */       int IOCS_ALARMSET (int, int, int);
  337 /* 5f od1 od2 od0 */    int IOCS_ALARMGET (int *, int *, int *);
  338 /* 60 a1 d1 d2 */       void IOCS_ADPCMOUT (const void *, int, int);
  339 /* 61 a1 d1 d2 */       void IOCS_ADPCMINP (void *, int, int);
  340 /* 62 a1 d1 d2 */       void IOCS_ADPCMAOT (const struct iocs_chain *, int, int);
  341 /* 63 a1 d1 d2 */       void IOCS_ADPCMAIN (const struct iocs_chain *, int, int);
  342 /* 64 a1 d1 */  void IOCS_ADPCMLOT (const struct iocs_chain2 *, int);
  343 /* 65 a1 d1 */  void IOCS_ADPCMLIN (const struct iocs_chain2 *, int);
  344 /* 66 */        int IOCS_ADPCMSNS (void);
  345 /* 67 d1 */     void IOCS_ADPCMMOD (int);
  346 /* 68 d1 d2 */  void IOCS_OPMSET (int, int);
  347 /* 69 */        int IOCS_OPMSNS (void);
  348 /* 6a a1 */     int IOCS_OPMINTST (const void *);
  349 /* 6b a1 d1=bb */       int IOCS_TIMERDST (const void *, int, int);
  350 /* 6c a1 d1=bb */       int IOCS_VDISPST (const void *, int, int);
  351 /* 6d a1 d1 */  int IOCS_CRTCRAS (const void *, int);
  352 /* 6e a1 */     int IOCS_HSYNCST (const void *);
  353 /* 6f a1 */     int IOCS_PRNINTST (const void *);
  354 /* 70 */        void IOCS_MS_INIT (void);
  355 /* 71 */        void IOCS_MS_CURON (void);
  356 /* 72 */        void IOCS_MS_CUROF (void);
  357 /* 73 */        int IOCS_MS_STAT (void);
  358 /* 74 */        int IOCS_MS_GETDT (void);
  359 /* 75 */        int IOCS_MS_CURGT (void);
  360 /* 76 d1=ww */  int IOCS_MS_CURST (int, int);
  361 /* 77 d1=ww d2=ww */    int IOCS_MS_LIMIT (int, int, int, int);
  362 /* 78 d1 d2 */  int IOCS_MS_OFFTM (int, int);
  363 /* 79 d1 d2 */  int IOCS_MS_ONTM (int, int);
  364 /* 7a d1 a1 */  void IOCS_MS_PATST (int, const struct iocs_patst *);
  365 /* 7b d1 */     void IOCS_MS_SEL (int);
  366 /* 7c a1 */     void IOCS_MS_SEL2 (const short *);
  367 /* 7d d1 d2=ww */       int IOCS_SKEY_MOD (int, int, int);
  368 /* 7e */        void IOCS_DENSNS (void);
  369 /* 7f */        int IOCS_ONTIME (void);
  370 /* 80 d1 a1 */  int IOCS_B_INTVCS (int, int);
  371 /* 81 ; b_super */      int IOCS_B_SUPER (int);
  372 /* 82 a1 */     int IOCS_B_BPEEK (const void *);
  373 /* 83 a1 */     int IOCS_B_WPEEK (const void *);
  374 /* 84 a1 */     int IOCS_B_LPEEK (const void *);
  375 /* 85 a1 a2 d1 */       void IOCS_B_MEMSTR (const void *, void *, int);
  376 /* 86 a1 d1 */  void IOCS_B_BPOKE (void *, int);
  377 /* 87 a1 d1 */  void IOCS_B_WPOKE (void *, int);
  378 /* 88 a1 d1 */  void IOCS_B_LPOKE (void *, int);
  379 /* 89 a1 a2 d1 */       void IOCS_B_MEMSET (void *, const void *, int);
  380 /* 8a a1 a2 d1 d2 */    void IOCS_DMAMOVE (void *, void *, int, int);
  381 /* 8b a1 a2 d1 d2 */    void IOCS_DMAMOV_A (const struct iocs_chain *, void *, int, int);
  382 /* 8c a1 a2 d1 */       void IOCS_DMAMOV_L (const struct iocs_chain2 *, void *, int);
  383 /* 8d */        int IOCS_DMAMODE (void);
  384 /* 8e */        int __pure IOCS_BOOTINF (void) __attribute__((const));
  385 /* 8f */        int __pure IOCS_ROMVER (void) __attribute__((const));
  386 /* 90 */        void IOCS_G_CLR_ON (void);
  387 /* 94 d1 d2 */  int IOCS_GPALET (int, int);
  388 /* a0 d1 */     int __pure IOCS_SFTJIS (int) __attribute__((const));
  389 /* a1 d1 */     int __pure IOCS_JISSFT (int) __attribute__((const));
  390 /* a2 d1=ww */  int __pure IOCS_AKCONV (int, int) __attribute__((const));
  391 /* a3 d1 a1 a2 */       int IOCS_RMACNV (int, char *, char *);
  392 /* a4 a1 */     int IOCS_DAKJOB (char *);
  393 /* a5 a1 */     int IOCS_HANJOB (char *);
  394 /* ac d1=0 */   int IOCS_MPU_STAT (void);               /* ROM 1.3 only */
  395 /* ac d1=1 */   int IOCS_CACHE_ST (void);               /* ROM 1.3 only */
  396 /* ac d1=3 d2 ; c_md */ int IOCS_CACHE_MD (int);        /* ROM 1.3 only */
  397 /* ad d1 ; b_curmod */  void IOCS_B_CURMOD (int);               /*1.3/IOCS.X*/
  398 /* ad d1=2 d2 ; b_curpat */     void IOCS_B_CURPAT (int);       /*1.3/IOCS.X*/
  399 /* ad d1=2 d2=0 */      void IOCS_B_CURPAT1 (void);     /*1.3/IOCS.X*/
  400 /* ad d1=3 d2 */        void IOCS_B_CURDEF (void *);    /*1.3/IOCS.X*/
  401 /* ad d1=16 d2 ; b_scroll */    void IOCS_B_SCROLL (int);       /*1.3/IOCS.X*/
  402 /* ae */        void IOCS_OS_CURON (void);
  403 /* af */        void IOCS_OS_CUROF (void);
  404 /* b0 d1 */     int IOCS_DRAWMODE (int);                /* ROM 1.3, IOCS.X */
  405 /* b1 d1 */     int IOCS_APAGE (int);
  406 /* b2 d1 */     int IOCS_VPAGE (int);
  407 /* b3 d1 d2 d3 */       int IOCS_HOME (int, int, int);
  408 /* b4 d1 d2 d3 d4 */    int IOCS_WINDOW (int, int, int, int);
  409 /* b5 */        int IOCS_WIPE (void);
  410 /* b6 a1 */     int IOCS_PSET (const struct iocs_psetptr *);
  411 /* b7 a1 */     int IOCS_POINT (const struct iocs_pointptr *);
  412 /* b8 a1 */     int IOCS_LINE (const struct iocs_lineptr *);
  413 /* b9 a1 */     int IOCS_BOX (const struct iocs_boxptr *);
  414 /* ba a1 */     int IOCS_FILL (const struct iocs_fillptr *);
  415 /* bb a1 */     int IOCS_CIRCLE (const struct iocs_circleptr *);
  416 /* bc a1 */     int IOCS_PAINT (struct iocs_paintptr *);
  417 /* bd a1 */     int IOCS_SYMBOL (const struct iocs_symbolptr *);
  418 /* be a1 */     int IOCS_GETGRM (struct iocs_getptr *);
  419 /* bf a1 */     int IOCS_PUTGRM (const struct iocs_putptr *);
  420 /* c0 */        int IOCS_SP_INIT (void);
  421 /* c1 */        int IOCS_SP_ON (void);
  422 /* c2 */        void IOCS_SP_OFF (void);
  423 /* c3 d1 */     int IOCS_SP_CGCLR (int);
  424 /* c4 d1 d2 a1 */       int IOCS_SP_DEFCG (int, int, const void *);
  425 /* c5 d1 d2 a1 */       int IOCS_SP_GTPCG (int, int, void *);
  426 
  427 /*
  428  * XXX  SP_REGST in XC iocslib: args: int,      int, int, int, int
  429  *                                     (c6 d1 d2 d3 d4 d5)
  430  *      XC manual and PD libc:  args: int, int, int, int, int, int
  431  *                                     (c6 d0 d1 d2 d3 d4 d5 ; sp_regst)
  432  * we use the latter interface...
  433  */
  434 /* c6 d0 d1 d2 d3 d4 d5 ; sp_regst */   int IOCS_SP_REGST (int, int, int, int, int, int);
  435 /* c7 d1 od2 od3 od4 od5 ; err_d0 */    int IOCS_SP_REGGT (int, int *, int *, int *, int *);
  436 /* c8 d1 d2 d3 */       int IOCS_BGSCRLST (int, int, int);
  437 /* c9 d1 od2 od3 ; err_d0 */    int IOCS_BGSCRLGT (int, int *, int *);
  438 /* ca d1 d2 d3 */       int IOCS_BGCTRLST (int, int, int);
  439 /* cb d1 */     int IOCS_BGCTRLGT (int);
  440 /* cc d1 d2 */  int IOCS_BGTEXTCL (int, int);
  441 /* cd d1 d2 d3 d4 */    int IOCS_BGTEXTST (int, int, int, int);
  442 /* ce d1 d2 d3 */       int IOCS_BGTEXTGT (int, int, int);
  443 /* cf d1 d2 d3 */       int IOCS_SPALET (int, int, int);
  444 /* d3 a1 */     void IOCS_TXXLINE (const struct iocs_xlineptr *);
  445 /* d4 a1 */     void IOCS_TXYLINE (const struct iocs_ylineptr *);
  446 /* d5 a1 */     void IOCS_TXLINE (struct iocs_tlineptr); /* 1.3, IOCS.X */
  447 /* d6 a1 */     void IOCS_TXBOX (const struct iocs_tboxptr *);
  448 /* d7 a1 */     void IOCS_TXFILL (const struct iocs_txfillptr *);
  449 /* d8 a1 */     void IOCS_TXREV (const struct iocs_trevptr *);
  450 /* df d1 d2 d3 */       void IOCS_TXRASCPY (int, int, int);
  451 /* fd */        void IOCS_ABORTRST (void);
  452 /* fe ; noret */        __dead void IOCS_IPLERR (void);
  453 /* ff ; noret */        __dead void IOCS_ABORTJOB (void);
  454 
  455 /* SCSI calls */
  456 /* f5 d1=0 */           void IOCS_S_RESET (void);
  457 /* f5 d1=1 d4 */        int IOCS_S_SELECT (int);
  458 /* f5 d1=3 d3 a1 */     int IOCS_S_CMDOUT (int, void *);
  459 /* f5 d1=4 d3 a1 */     int IOCS_S_DATAIN (int, void *);
  460 /* f5 d1=5 d3 a1 */     int IOCS_S_DATAOUT (int, void *);
  461 /* f5 d1=6 a1 */        int IOCS_S_STSIN (void *);
  462 /* f5 d1=7 a1 */        int IOCS_S_MSGIN (void *);
  463 /* f5 d1=8 a1 */        int IOCS_S_MSGOUT (void *);
  464 /* f5 d1=9 */           int IOCS_S_PHASE (void);
  465 /* f5 d1=32 d3 d4 a1 */ int IOCS_S_INQUIRY (int, int, struct iocs_inquiry *);
  466 /* f5 d1=33 d2 d3 d4 d5 a1 */   int IOCS_S_READ (int, int, int, int, void *);
  467 /* f5 d1=34 d2 d3 d4 d5 a1 */   int IOCS_S_WRITE (int, int, int, int, void *);
  468 /* f5 d1=35 d3 d4 */    int IOCS_S_FORMAT (int, int);
  469 /* f5 d1=36 d4 */       int IOCS_S_TESTUNIT (int);
  470 /* f5 d1=37 d4 a1 */    int IOCS_S_READCAP (int, struct iocs_readcap *);
  471 /* f5 d1=38 d2 d3 d4 d5 a1 */   int IOCS_S_READEXT (int, int, int, int, void *);
  472 /* f5 d1=39 d2 d3 d4 d5 a1 */   int IOCS_S_WRITEEXT (int, int, int, int, void *);
  473 /* f5 d1=43 d4 */       int IOCS_S_REZEROUNIT (int);
  474 /* f5 d1=44 d3 d4 a1 */ int IOCS_S_REQUEST (int, int, void *);
  475 /* f5 d1=45 d2 d4 */    int IOCS_S_SEEK (int, int);
  476 /* f5 d1=47 d3 d4 */    int IOCS_S_STARTSTOP (int, int);
  477 /* f5 d1=49 d3 d4 a1 */ int IOCS_S_REASSIGN (int, int, void *);
  478 /* f5 d1=50 d3 d4 */    int IOCS_S_PAMEDIUM (int, int);
  479 
  480 #endif /* __X68K_IOCS_H__ */
--------

{
-----------------------
iocs CALL Manual
-----------------------
http://datacrystal.romhacking.net/wiki/X68k:IOCS

X68k:IOCS

	- IOCS CALL MANUAL -

==============================================================================

EIOCSR[ꗗ

$00	_B_KEYINP	L[f[^̓ǂݍ
$01	_B_KEYSNS	L[̓͌
$02	_B_SFTSNS	VtgL[Ԃ̎
$03	_KEY_INIT	͊֌W̏
$04	_BITSNS		L[Ԃ̎
$05	_SKEYSET	L[͂̔
$06	_LEDCTRL	L[{[h LED ̐ݒ
$07	_LEDSET		L[{[h LED L[̓[hɍ킹
$08	_KEYDLY		L[s[g̊JnԐݒ
$09	_KEYREP		L[s[g̊Ԋuݒ
$0a	(J)	OPT.2 ɂerRg[
$0b	(J)	OPT.2 ɂerRg[֎~
$0c	_TVCTRL		erRg[
$0d	_LEDMOD		LED [h̐ݒ
$0e	_TGUSEMD	ʂ̎gpԂ̐ݒ
$0f	_DEFCHR		O`
$10	_CRTMOD		CRT [hݒ
$11	_CONTRAST	RgXgݒ
$12	_HSVTORGB	HSVRGB ϊ
$13	_TPALET		eLXgpbgݒ
$14	_TPALET2	eLXgpbgƗݒ
$15	_TCOLOR		eLXgv[w
$16	_FNTADR		tHgAhX̎
$17	_VRAMGET	eLXg VRAM ̃oCgPʓǂݍ
$18	_VRAMPUT	eLXg VRAM ̃oCgPʏ
$19	_FNTGET		tHgǂݍ
$1a	_TEXTGET	eLXg VRAM ̃hbgPʓǂݍ
$1b	_TEXTPUT	eLXg VRAM ̃hbgPʏ
$1c	_CLIPPUT	eLXg VRAM ̃hbgPʏ(NbsO)
$1d	_SCROLL		\W̐ݒ
$1e	_B_CURON	J[\ꎞ~
$1f	_B_CUROFF	J[\ꎞ~
$20	_B_PUTC		\
$21	_B_PRINT	\
$22	_B_COLOR	\Fݒ
$23	_B_LOCATE	J[\ړ
$24	_B_DOWN_S	J[\ 1 sɈړ
$25	_B_UP_S		J[\ 1 sɈړ
$26	_B_UP		J[\wsɈړ
$27	_B_DOWN		J[\wsɈړ
$28	_B_RIGHT	J[\w茅EɈړ
$29	_B_LEFT		J[\w茅Ɉړ
$2a	_B_CLR_ST	ʂ̕s
$2b	_B_ERA_ST	ݍs̕
$2c	_B_INS		s}
$2d	_B_DEL		s폜
$2e	_B_CONSOL	\͈͐ݒ
$2f	_B_PUTMES	Ww蕶\
$30	_SET232C	RS-232C p[^ݒ
$31	_LOF232C	RS-232C Mobt@̃f[^߂
$32	_INP232C	RS-232C Mf[^𓾂
$33	_ISNS232C	RS-232C Mf[^̌
$34	_OSNS232C	RS-232C f[^M\
$35	_OUT232C	RS-232C f[^M
$36	(J)	}EXf[^M̏AhXݒ
$37	(J)	ESC[>nGXP[vV[PX̊gAhXݒ
$38	_SETFNTADR	OtHgAhXݒ
$39	(J)	BEEPpPCM̃f[^ݒ
$3a	(J)	v^p[^ݒ
$3b	_JOYGET		WCXeBbN
$3c	_INIT_PRN	v^
$3d	_SNSPRN		v^ɏo͉\
$3e	_OUTLPT		v^ڏo
$3f	_OUTPRN		v^o
$40	_B_SEEK		fBXÑV[N
$41	_B_VERIFY	fBXÑxt@C
$42	_B_READDI	fBXN̐ffׂ̈̓ǂݏo
$43	_B_DSKINI	hCȕ
$44	_B_DRVSNS	hCȕԌ
$45	_B_WRITE	fBXNւ̏
$46	_B_READ		fBXN̓ǂݍ
$47	_B_RECALI	fBXÑLuCg
$48	_B_ASSIGN	n[hfBXN̑փgbNݒ
$49	_B_WRITED	2HD ւ̔jf[^
$4a	_B_READID	2HD  ID ̓ǂݏo
$4b	_B_BADFMT	n[hfBXN̔jgbNgps\ɂ
$4c	_B_READDL	2HD ̔jf[^ǂݍ
$4d	_B_FORMAT	fBXÑtH[}bg
$4e	_B_DRVCHK	2HD hCȕԐݒ
$4f	_B_EJECT	fBXÑCWFNg/VbsO
$50	_DATEBCD	tf[^̃oCiBCD ϊ
$51	_DATESET	t̐ݒ
$52	_TIMEBCD	f[^̃oCiBCD ϊ
$53	_TIMESET	̐ݒ
$54	_DATEGET	t̓ǂݍ
$55	_DATEBIN	tf[^ BCDoCiϊ
$56	_TIMEGET	̓ǂݍ
$57	_TIMEBIN	f[^ BCDoCiϊ
$58	_DATECNV	tf[^̕񁨃oCiϊ
$59	_TIMECNV	f[^̕񁨃oCiϊ
$5a	_DATEASC	tf[^̃oCiϊ
$5b	_TIMEASC	f[^̃oCiϊ
$5c	_DAYASC		jf[^̃oCiϊ
$5d	_ALARMMOD	A[/֎~
$5e	_ALARMSET	A[ݒ
$5f	_ALARMGET	A[̐ݒԂ
$60	_ADPCMOUT	ADPCM o
$61	_ADPCMINP	ADPCM 
$62	_ADPCMAOT	ADPCM o(AC`F[)
$63	_ADPCMAIN	ADPCM (AC`F[)
$64	_ADPCMLOT	ADPCM o(NAC`F[)
$65	_ADPCMLIN	ADPCM (NAC`F[)
$66	_ADPCMSNS	ADPCM Ԍ
$67	_ADPCMMOD	ADPCM s
$68	_OPMSET		OPM WX^ݒ
$69	_OPMSNS		OPM Ԍ
$6a	_OPMINTST	OPM 荞ݐݒ
$6b	_TIMERDST	Timer-D 荞ݐݒ
$6c	_VDISPST	荞ݐݒ
$6d	_CRTCRAS	X^[荞ݐݒ
$6e	_HSYNCST	荞ݐݒ
$6f	_PRNINTST	v^荞ݐݒ
$70	_MS_INIT	}EX
$71	_MS_CURON	}EXJ[\\
$72	_MS_CUROF	}EXJ[\
$73	_MS_STAT	}EXJ[\̕\Ԃ𒲂ׂ
$74	_MS_GETDT	}EXړ/{^Ԃ𒲂ׂ
$75	_MS_CURGT	}EXJ[\̍W
$76	_MS_CURST	}EXJ[\̍Wݒ
$77	_MS_LIMIT	}EXJ[\̈ړ͈͐ݒ
$78	_MS_OFFTM	}EX̃{^𗣂܂ł̎Ԃ𒲂ׂ
$79	_MS_ONTM	}EX̃{^܂ł̎Ԃ𒲂ׂ
$7a	_MS_PATST	}EXJ[\̃p^[`
$7b	_MS_SEL		}EXJ[\̃p^[I
$7c	_MS_SEL2	}EXJ[\̃Aj[V
$7d	_SKEY_MOD	\tgL[{[h
$7e	_DENSNS		d쐧
$7f	_ONTIME		ŇoߎԂ𒲂ׂ
$80	_B_INTVCS	xN^ݒ
$81	_B_SUPER	X[p[oCU/[U[h̐؂芷
$82	_B_BPEEK	wAhX 1 oCgǂݍ
$83	_B_WPEEK	wAhX 1 [hǂݍ
$84	_B_LPEEK	wAhX 1 O[hǂݍ
$85	_B_MEMSTR	wAhX畡oCgǂݍ
$86	_B_BPOKE	wAhXw 1 oCg
$87	_B_WPOKE	wAhXw 1 [h
$88	_B_LPOKE	wAhXw 1 O[h
$89	_B_MEMSET	wAhXwoCg
$8a	_DMAMOVE	DMA ]
$8b	_DMAMOV_A	DMA ](AC`F[)
$8c	_DMAMOV_L	DMA ](NAC`F[)
$8d	_DMAMODE	DMA Ԍ
$8e	_BOOTINF	N𓾂
$8f	_ROMVER		ROM o[W𓾂
$90	_G_CLR_ON	OtBbNʂ̏yѕ\[h̐ݒ
$91	(J)	OtBbNʃ[h̐ݒ
$92	(J)	vCIeBݒ
$93	(J)	ʕ\yѓꃂ[h̐ݒ
$94	_GPALET		OtBbNpbgݒ
$95	(J)	J[R[hݒ
$96	(J)	ANZXy[Wݒ
$97	(J)	OtBbN VRAM ̃hbgPʓǂݍ
$98	(J)	OtBbN VRAM ̃hbgPʏ(F}XN)
$99	(J)	OtBbN VRAM ̃hbgPʏ
$9a	(J)	OtBbN VRAM ̃rbgp^[
$9b	(J)	OtBbN VRAM ̃rbgp^[(obNJ[)
$9c	(J)	OtBbN VRAM ̃rbgp^[g发
$a0	_SFTJIS		S-JISJIS R[hϊ
$a1	_JISSFT		JISS-JIS R[hϊ
$a2	_AKCONV		ANKS-JIS R[hϊ
$a3	_RMACNV		[}ANK Jiϊ
$a4	_DAKJOB		_
$a5	_HANJOB		_
$ac	_SYS_STAT	VXeԂ̐ݒ
$ad	_B_CONMOD	J[\уXN[̐ݒ
$ae	_OS_CURON	J[\\
$af	_OS_CUROF	J[\
$b0	_DRAWMODE	OtBbN`惂[h̐ݒ
$b1	_APAGE		OtBbN`y[W̐ݒ
$b2	_VPAGE		OtBbNʕ\y[W̐ݒ
$b3	_HOME		OtBbNʂ̕\ʒuݒ
$b4	_WINDOW		OtBbN`EBhE̐ݒ
$b5	_WIPE		OtBbNʂ̃NA
$b6	_PSET		OtBbNʂ̃|CgZbg
$b7	_POINT		OtBbNʂ̃|CgQbg
$b8	_LINE		OtBbNʂ̃C
$b9	_BOX		OtBbNʂ̃{bNX
$ba	_FILL		OtBbNʂ̃{bNXtB
$bb	_CIRCLE		OtBbNʂ̃T[N
$bc	_PAINT		OtBbNʂ̃yCg
$bd	_SYMBOL		OtBbNʂ̃V{
$be	_GETGRM		OtBbNʂ̃hbgPʓǂݍ
$bf	_PUTGRM		OtBbNʂ̃hbgPʏ
$c0	_SP_INIT	XvCg
$c1	_SP_ON		XvCg\
$c2	_SP_OFF		XvCg
$c3	_SP_CGCLR	XvCgp^[̃NA
$c4	_SP_DEFCG	XvCgp^[̒`
$c5	_SP_GTPCG	XvCgp^[̓ǂݍ
$c6	_SP_REGST	XvCgWX^̐ݒ
$c7	_SP_REGGT	XvCgWX^̓ǂݏo
$c8	_BGSCRLST	obNOEhXN[WX^̐ݒ
$c9	_BGSCRLGT	obNOEhXN[WX^̓ǂݏo
$ca	_BGCTRLST	obNOEhRg[WX^̐ݒ
$cb	_BGCTRLGT	obNOEhRg[WX^̓ǂݏo
$cc	_BGTEXTCL	obNOEheLXg̃NA
$cd	_BGTEXTST	obNOEheLXg̐ݒ
$ce	_BGTEXTGT	obNOEheLXg̓ǂݏo
$cf	_SPALET		XvCgpbg̐ݒ
$d3	_TXXLINE	eLXgʂ̐C
$d4	_TXYLINE	eLXgʂ̐C
$d5	_TXLINE		eLXgʂ̃C
$d6	_TXBOX		eLXgʂ̃{bNX
$d7	_TXFILL		eLXgʂ̃{bNXtB
$d8	_TXREV		eLXgʂ̔]
$df	_TXRASCPY	eLXgʂ̃X^[Rs[
$f0	_OPMDRV		OPMDRV 
$f1	_RSDRV		g RS-232C 
$f2	_A_JOYGET	AiOWCXeBbN
$f3	_MUSICDRV	MUSICDRV 
$f5	_SCSIDRV	SCSI IOCS
$fd	_ABORTRST	A{[gׂɊĐݒ肷
$fe	_IPLERR		ċN
$ff	_ABORTJOB	A{[g

==============================================================================

EL[̃XLR[h

L[R[h	L[͏ԃrbg
 O[v	7	6	5	4	3	2	1	0

	0	6&	5%	4$	3#	2"	1!	ESC
	1	BS	\|	^~	-=	0	9)	8(	7'
	2	U	Y	T	R	E	W	Q	TAB
	3	S	A	CR	[{	@`	P	O	I
	4	;+	L	K	J	H	G	F	D
	5	N	B	V	C	X	Z	]}	:*
	6	DEL	HOME	SPACE	_	/?	.>	,<	M
	7	CLR					UNDO	R_DOWN	R_UP
	8	4	+	9	8	7	-	*	/
	9	0	ENTER	3	2	1	=	6	5
	a	XF3	XF2	XF1	HELP	o^	L	.	,
	b	Ђ	INS	CAPS	R[h	-ώ		XF5	XF4
	c	F4	F3	F2	F1	F0	COPY	BREAK	Sp
	d				F9	F8	F7	F6	F5
	e					OPT.2	OPT.1	CTRL	SHIFT

	XLR[h = L[R[hO[v~W{L[͏ԃrbg

          10:TAB    20:D      30:M      40:/      50:,      60:Sp   70:SHIFT
01:ESC    11:Q      21:F      31:,<     41:*      51:.      61:BREAK  71:CTRL
02:1!     12:W      22:G      32:.>     42:-      52:L   62:COPY   72:OPT.1
03:2"     13:E      23:H      33:/?     43:7      53:o^   63:F0     73:OPT.2
04:3#     14:R      24:J      34:_      44:8      54:HELP   64:F1
05:4$     15:T      25:K      35:SPACE  45:9      55:XF1    65:F2
06:5%     16:Y      26:L      36:HOME   46:+      56:XF2    66:F3
07:6&     17:U      27:;+     37:DEL    47:4      57:XF3    67:F4
08:7'     18:I      28::*     38:R_UP   48:5      58:XF4    68:F5
09:8(     19:O      29:]}     39:R_DOWN 49:6      59:XF5    69:F6
0a:9)     1a:P      2a:Z      3a:UNDO   4a:=      5a:   6a:F7
0b:0      1b:@`     2b:X      3b:     4b:1      5b:-ώ  6b:F8
0c:-=     1c:[{     2c:C      3c:     4c:2      5c:-   6c:F9
0d:^~     1d:CR     2d:V      3d:     4d:3      5d:CAPS
0e:\|     1e:A      2e:B      3e:     4e:ENTER  5e:INS
0f:BS     1f:S      2f:N      3f:CLR    4f:0      5f:Ђ炪

==============================================================================

==============================================================================

$00	_B_KEYINP	L[f[^̓ǂݍ

Ԓl	L[f[^
	d0.hb	XLR[h
	d0.b	ASCII R[h

	L[f[^ǂݍ. L[͂ĂȂΓ͂܂ő҂.
	SHIFT,CTRL,OPT.1,OPT.2 ɂẮAɂXLR[h $80 
	lԂ.
	ASCII R[h SHIFT,CTRL,,CAPS ɂωA܂ ASCII `
	ĂȂꍇ 0 ɂȂ.
	ʏerRg[Ɋ蓖ĂĂL[͓͂ȂA
	Ԃɂ͔f.

==============================================================================

$01	_B_KEYSNS	L[̓͌

Ԓl	d0.l =	0	L[͂Ȃ
		$1_????	V	($???? ̓L[f[^)

	L[͂Ă邩ׂ. L[f[^obt@̓e͕ωȂ.

==============================================================================

$02	_B_SFTSNS	VtgL[Ԃ̎

Ԓl	d0.l	VtgL[̏
		bit 14	Sp
		bit 13	Ђ炪
		bit 12	INS
		bit 11	CAPS
		bit 10	R[h
		bit  9	[}
		bit  8	

		bit  7	CAPS
		bit  6	R[h
		bit  5	[}
		bit  4	
		bit  3	OPT.2
		bit  2	OPT.1
		bit  1	CTRL
		bit  0	SHIFT

		bit 7`0 ̓L[ۂɉĂ(1)ĂȂ(0)A
		bit 14`8  LED _(1)Ă邩(0)Ă邩\.

	VtgL[̏Ԃ𒲂ׂ.

==============================================================================

$03	_KEY_INIT	͊֌W̏

	d1.b	LED L[[hl

	L[{[hobt@NAALED [h.  IOCS R[
	 ROM NɎgp̂ŁAʂ̃AvP[V͎gp֎~.
	ROM IOCS ł́AV[gJbgŌĂяoƊ荞݂Sċꂽ
	ŋÂŒӂ邱.

==============================================================================

$04	_BITSNS		L[Ԃ̎

	d1.w	L[R[hO[v(0`$f)

Ԓl	d0.b	L[̉

	w肵L[R[hO[vɊ܂܂L[̉ԂrbgPʂ
	ׂ. Ήrbg 1 ŃL[Ă邱Ƃ.

==============================================================================

$05	_SKEYSET	L[͂̔

	d1.l	XLR[h
		bit 7		0:L[	1:L[𗣂
		bit 6`0	XLR[h

	w肵L[̓͂\tgIɔ.

==============================================================================

$06	_LEDCTRL	L[{[h LED ̐ݒ

	d1.b	L[{[h LED 
		bit 6	Sp
		bit 5	Ђ炪
		bit 4	INS
		bit 3	CAPS
		bit 2	R[h
		bit 1	[}
		bit 0	

	L[{[h LED ̃[hݒ肷. L[̓[h͕ύXȂ.

==============================================================================

$07	_LEDSET		L[{[h LED L[̓[hɍ킹

	L[{[h LED ̃[hL[̓[hɍ킹.

==============================================================================

$08	_KEYDLY		L[s[g̊JnԐݒ

	d1.b	L[s[gJn(0`15)

	L[s[gJn܂ł̎Ԃ (200{100~d1.b)ms ɐݒ肷.

==============================================================================

$09	_KEYREP		L[s[g̊Ԋuݒ

	d1.b	L[s[gԊu(0`15)

	L[s[g̊Ԋu (30{5~d1.bE)ms ɐݒ肷.

==============================================================================

$0a	(J)	OPT.2 ɂerRg[

	OPT.2 ɂerRg[.
	ROM IOCS ł́Ad0.b  $0a ZbgꂽԂŌĂяoȂƐ퓮
	Ȃ̂Œӂ邱.

==============================================================================

$0b	(J)	OPT.2 ɂerRg[֎~

	OPT.2 ɂerRg[֎~.
	ROM IOCS ł́Ad0.b  $0b ZbgꂽԂŌĂяoȂƐ퓮
	Ȃ̂Œӂ邱.

==============================================================================

$0c	_TVCTRL		erRg[

	d1.l	erRg[R[h
		d1.l =	 $01	{[Abv
			 $02	V	  _E
			 $03	V	  W
			 $04	`lR[
			 $05	er(Zbg)
			 $06	~[g
			 $07	dI
			 $08	er/Rs[^ʐ؂ւ
			 $09	er/O͂̐؂ւႵ̓Rs[^\[h̕ύX
			 $0a	RgXgW
			 $0b	`lAbv
			 $0c	V	  _E
			 $0d	dIt
			 $0e	dI/It؂ւ
			 $0f	X[p[C|[YyуRgXg_E/W؂ւ
			 $10	`l 1
			 $11	V	   2
			 $12	V	   3
			 $13	V	   4
			 $14	V	   5
			 $15	V	   6
			 $16	V	   7
			 $17	V	   8
			 $18	V	   9
			 $19	V	  10
			 $1a	V	  11
			 $1b	V	  12
			 $1c	er($05)
			 $1d	Rs[^($05+$08)
			 $1e	X[p[C|[YyуRgXg_E($05+$0f)
			 $1f	X[p[C|[YyуRgXgW($05+$0f+$0a)
			+$20	dI($07)AL̋@\s

Ԓl	d1.w ͔j󂳂.

	fBXvC𐧌䂷.

==============================================================================

$0d	_LEDMOD		LED [h̐ݒ

	d1.l	LED L[̔ԍ
		d1.l =	0	
			1	[}
			2	R[h
			3	CAPS
			4	INS
			5	Ђ炪
			6	Sp
	d2.b	ON/OFF ̎w(0:OFF 1:ON)

Ԓl	d0.l =	0	I
		-1	G[(L[ԍ傫)

	L[{[h LED ƃL[̓[hݒ肷.

==============================================================================

$0e	_TGUSEMD	ʂ̎gpԂ̐ݒ

	d1.b	OtBbN/eLXgʂ̎w
		d1.b =	0	OtBbN($c00000`$dfffff)
			1	eLXg	($e40000`$e7ffff)
	d2.b	ʂ̎gp
		d2.b =	0	gp
			1	VXeŎgp(\tgL[{[h/d)
			2	AvP[VŎgp(RAMDISK)
			3	j
			-1	݂̎gpԂ𒲂ׂ.

Ԓl	ύXO̎gp(-1 Ȃʂ̎w肪ُ)

	OtBbN/eLXgʂ̎gpԂݒ肷.
	eLXg̎gpԂ 2 ɂƁA\tgL[{[h/d삪AȌ
	}EXJ[\/\tgL[{[h/d삪Vɕ\oȂȂ.

==============================================================================

$0f	_DEFCHR		O`

	d1.hw	p^[̑傫
		d1.hw =	8	 8x16,16x16hbg
			12	12x24,24x24V
	d1.w	R[h(Shift-JIS/JIS)
	a1.l	p^[AhX

Ԓl	d0.l =	0	I
		-1	G[(ẘR[h͊Oł͂Ȃ)

	Oݒ肷.
	wł銿R[h́ASp $eb9f`$ebfc(JIS:$7621`$767e) y
	$ec40`$ec7e($7721`777e)Ap $f400`$f5ff.
	CONDRV.SYS y HIOCS.X 풓ɂ́Ad1.l = 0 ŃJ[\̌`ݒ肵A
	d1.l = -1 Ōɖ߂. ܂Ad1.l = $ffff  CONDRV.SYS 
	obNXN[EBhẼJ[\`ݒ肷.

==============================================================================

$10	_CRTMOD		CRT [hݒ

	d1.w	CRT [h
					  \	F		kHz
		d1.w =	 0	1024	 512 x 512	16	1	31
			 1	V		V	V	V	15
			 2	V	 256 x 256	V	V	31
			 3	V		V	V	V	15
			 4	512	 512 x 512	16	4	31
			 5	V		V	V	V	15
			 6	V	 256 x 256	V	V	31
			 7	V		V	V	V	15
			 8	V	 512 x 512	256	2	31
			 9	V		V	V	V	15
			10	V	 256 x 256	V	V	31
			11	V		V	V	V	15
			12	V	 512 x 512	65536	1	31
			13	V		V	V	V	15
			14	V	 256 x 256	V	V	31
			15	V		V	V	V	15
			16	1024	 768 x 512	16	1	31
			17	V	1024 x 424	V	V	24
			18	V	1024 x 848	V	V	24

			19	V	 640 x 480	V	V	24

			20	V	 768 x 512	256	2	31
			21	V	1024 x 848	V	V	24
			22	V	1024 x 424	V	V	24
			23	V	 640 x 480	V	V	24
			24	V	 768 x 512	65536	1	31
			25	V	1024 x 848	V	V	24
			26	V	1024 x 424	V	V	24
			27	V	 640 x 480	V	V	24
			+$100	[h̐؂芷̂ݍsȂ
			-1	݂̃[h𒲂ׂ

Ԓl	d1.w = -1 ̎Ã݂[h(0`19)

	CRT [hݒ肷. eLXgʂ̃v[ 0/1 NAĕ\[h
	ɁAOtBbNʂƃXvCgʂ̓NAɖ\[hɂ.
	eLXgpbg͏.
	d1.w = 19  640 x 480 ̃[h ROM IOCS version 1.2 ȏŎgp\.
	d1.w = 20`27 ͕\ʃTCY菬ʂ̃OtBbN\
	[hŁAROM IOCS version 1.3 Ŏgp\(n[hEFAIɂ͑S@
	Ƃ\).

==============================================================================

$11	_CONTRAST	RgXgݒ

	d1.b	RgXg
		d1.b =	0`15	RgXgݒ肷
			-1	RgXg𒲂ׂ
			-2	VXeݒlɖ߂

Ԓl	ύXÕRgXg

	RgXgݒ肷.

==============================================================================

$12	_HSVTORGB	HSVRGB ϊ

	d1.l	HSV f[^
		%iiif_ffff_000s_ssss_000v_vvvv
		bit 23`21	F
			%000		`F
			%001	F	`
			%010		`VA
			%011	VA	`
			%100		`}[_
			%101	}[_`
			%110	֎~
			%111	V
		bit 20`16	F(F)
		bit 12` 8	ʓx(0: $1f:F)
		bit  4` 0	x(0: $1f:F)

Ԓl	RGB f[^(Pxrbg͏ 0)
		%gggg_grrr_rrbb_bbb0
		bit 15`11	ΐ
		bit 10` 6	ԁV
		bit  5` 1	V
	AFُȏꍇ -1 Ԃ.

	HSV ɂFf[^ RGB ɕϊ.
	HSV ́AF/ʓx/xɂF̎w@.

==============================================================================

$13	_TPALET		eLXgpbgݒ

	d1.b	pbgR[h(0`15)
		d1.b =	0	eLXgJ[		0
			1	V			1
			2	V			2
			3	V			3
			4`7	\tgL[{[h/d	0
			8`15	V			1
	d2.l	J[R[h
		d2.l =	0`$ffff  J[R[hݒ
			-1	J[R[h𒲂ׂ
			-2	VXeݒlɖ߂

Ԓl	Xe[^X(d2.l = -1 ̎̓J[R[h)
	d0.l =	 0	I
		-1	J[R[hُ

	eLXgpbgɃJ[R[hݒ肷. pbg 4`7,8`15 w
	́ȂSĂɓJ[R[hݒ肳.

==============================================================================

$14	_TPALET2	eLXgpbgƗݒ

	d1.b	pbgR[h(0`15)
	d2.l	J[R[h
		d2.l =	0`$ffff  J[R[hݒ
			-1	J[R[h𒲂ׂ

Ԓl	Xe[^X(d2.l = -1 ̎̓J[R[h)
	d0.l =	 0	I
		-1	J[R[hُ

	eLXgpbgɃJ[R[hݒ肷.
	IOCS TPALET($13) Ƃ͈ႢApbgƂɓƗĐݒo.

==============================================================================

$15	_TCOLOR		eLXgv[w

	d1.b	ANZXv[̎w
		d1.b =	%???1	v[ 0
			%??10	V	 1
			%?100	V	 2
			%1000	V	 3
			%0000	V	 0

Ԓl	d1.w ͔j󂳂.

	IOCS TEXTGET($1a),TEXTPUT($1b),CLIPPUT($1c) ŃANZXeLXg
	v[ݒ肷. gp̓v[ 0 ݒ肵Ȃ΂ȂȂA0
	ȊÔ܂܂̏ꍇȂ IOCS R[͕̓ۏ؂Ȃ.

==============================================================================

$16	_FNTADR		tHgAhX̎

	d1.w	R[h(Shift-JIS/JIS)
	d2.b	p^[̑傫
		d2.b =	6	 6x12,12x12hbg
			8	 8x16,16x16V
			12	12x24,24x24V

Ԓl	d0.l	p^[AhX
	d1.hw	p^[ X ̃hbg
	d1.w	p^[ X ̃oCg-1
	d2.w	V	   Y	V hbg-1

	w̕tHg̃AhX𒲂ׂ.
	ꂽAhX̓X[p[oCÜ̉\.
	ꂼ͕̕R[h̏ɘAIɔzuĂƂ͌Ȃ.
	OA12hbg͂܂łp^[f[^cĂƂ͌Ȃ.
	 IOCS R[̓VXeŎgp̂ŁAʂ̃AvP[V
	gpȂ.
	ȂAROM IOCS version 1.3 y HIOCS.X ł d2.b = 0 ̏ꍇ 8 w
	ꂽ̂ƈAȊOƓ삪Ⴄ̂Œӂ邱.

==============================================================================

$17	_VRAMGET	eLXg VRAM ̃oCgPʓǂݍ

	d1.w	obt@ X ̃oCg-1
	d2.w	V	   Y	V hbg-1
	d3.l	(VRAM  X -obt@ X )̃oCg
	a1.l	obt@̃AhX
	a2.l	VRAM	V

Ԓl	d0/d1/d2/a1/a2 ͓eۏ؂Ȃ.

	VRAM obt@ɃoCgPʂœǂݍ.
	VRAM ɃeLXgʂw肷ꍇ́AVRAM  X ̃oCg 128 o
	CgƂȂ.

==============================================================================

$18	_VRAMPUT	eLXg VRAM ̃oCgPʏ

	d1.w	obt@ X ̃oCg-1
	d2.w	V	   Y	V hbg-1
	d3.l	(VRAM  X -obt@ X )̃oCg
	a1.l	obt@̃AhX
	a2.l	VRAM	V

Ԓl	d0/d1/d2/a1/a2 ͓eۏ؂Ȃ.

	obt@ VRAM ɃoCgPʂŏ.
	VRAM ɃeLXgʂw肷ꍇ́AVRAM  X ̃oCg 128 o
	CgƂȂ.

==============================================================================

$19	_FNTGET		tHgǂݍ

	d1.hw	p^[̑傫
		d1.hw =	6	 6x12,12x12hbg
			0,8	 8x16,16x16V
			12	12x24,24x24V
	d1.w	R[h(Shift-JIS/JIS)
	a1.l	f[^obt@̃AhX(4{tHgTCỸoCgKv)
		(0,a1)	p^[ X ̃hbg
		(2,a1)		   Y V
		(4,a1)	(p^[f[^)

Ԓl	p^[݂̑AhX(])

	w̕tHgǂݍ.

==============================================================================

$1a	_TEXTGET	eLXg VRAM ̃hbgPʓǂݍ

	d1.w	X W
	d2.w	Y W
	a1.l	f[^obt@̃AhX
		(0,a1)	p^[ X ̃hbg
		(2,a1)		   Y V
		(4,a1)	(p^[f[^)

	eLXg VRAM hbgPʂœǂݍ.

==============================================================================

$1b	_TEXTPUT	eLXg VRAM ̃hbgPʏ

	d1.w	X W
	d2.w	Y W
	a1.l	f[^obt@̃AhX
		(0,a1)	p^[ X ̃hbg
		(2,a1)		   Y V
		(4,a1)	p^[f[^

	eLXg VRAM փhbgPʂŏ.

==============================================================================

$1c	_CLIPPUT	eLXg VRAM ̃hbgPʏ(NbsO)

	d1.w	X W
	d2.w	Y W
	a1.l	f[^obt@̃AhX
		(0,a1)	p^[ X ̃hbg
		(2,a1)		   Y V
		(4,a1)	p^[f[^
	a2.l	NbsOWobt@̃AhX
		(0,a2)	[ X W
		(2,a2)	[ Y V
		(4,a2)	E[ X V
		(6,a2)	[ Y V

	NbsOȂAeLXg VRAM փhbgPʂŏ.

==============================================================================

$1d	_SCROLL		\W̐ݒ

	d1.w	̎w
		d1.w =	0	OtBbNy[W 0 ̐ݒ
			1		V	   1 V
			2		V	   2 V
			3		V	   3 V
			4		V	   0 ̕\W̎̂
			5		V	   1 V
			6		V	   2 V
			7		V	   3 V
			8	eLXg̐ݒ
			9		V\W̎̂
	d2.w	X W(ݒ莞)
	d3.w	Y V

Ԓl	ύXO̕\W
	d0.hw	X W
	d0.lw	Y V

	OtBbNyуeLXg̕\Wݒ肷.
	eLXgʂ X WA\ʂʂ͂ݏoʒuɐݒ肷
	\.
	ʏAύXO̕\W̓n[hEFA̎dlɂ 0 Ԃ.

==============================================================================

$1e	_B_CURON	J[\ꎞ~

	J[\̕\̈ꎞ~.

==============================================================================

$1f	_B_CUROFF	J[\ꎞ~

	J[\̕\ꎞ~.

==============================================================================

$20	_B_PUTC		\

	d1.w	R[h

Ԓl	\̃J[\ʒu
	d0.hw	ʒu
	d0.w	sV

	\.
	\ꍇA 1/ 2 oCg 2 ɕĂ܂Ȃ.
	ʂ̉E[Ŕp 1 \oȂɑSp\悤Ƃ
	ꍇApXy[X\ĉsĂSp\.

==============================================================================

$21	_B_PRINT	\

	a1.l	̃AhX

Ԓl	d0.l	\̃J[\ʒu
		d0.hw	ʒu
		d0.w	sV
	a1.l	I[ 0 ̃AhX

	\.

==============================================================================

$22	_B_COLOR	\Fݒ

	d1.w	\
	d1.w =	  0	eLXgpbg 0 (ʏ퍕)
		  1		V	 1 (V	F)
		  2		V	 2 (V	F)
		  3		V	 3 (V	)
		+ 4	    
		+ 8	t]
		+12	t]
		 -1	𒲂ׂ

Ԓl	d0.b	ύXO̕\(Ȃ\̎w肪ُ)

	IOCS B_PUTC($20),B_PRINT($21) ŕ\镶̑ݒ肷.

==============================================================================

$23	_B_LOCATE	J[\ړ

	d1.w	ʒu(Ad1.w = -1 ̎J[\ʒu̎̂)
	d2.w	sV

Ԓl	ړÕJ[\ʒu(-1 ȂJ[\ʒu̎w肪ُ)
	d0.hw	ʒu
	d0.w	sV

	J[\wʒuɈړ.
	ROM IOCS version 1.3 ł́AŴ d1.l  d0.l ƓlԂ.

==============================================================================

$24	_B_DOWN_S	J[\ 1 sɈړ

Ԓl	 0

	J[\ 1 sɈړ.
	J[\ŉsɂꍇ̓XN[Abv.

==============================================================================

$25	_B_UP_S		J[\ 1 sɈړ

Ԓl	 0

	J[\ 1 sɈړ.
	J[\擪sɂꍇ̓XN[_E.

==============================================================================

$26	_B_UP		J[\wsɈړ

	d1.b	ړs(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\wsɈړ.
	wsړoȂꍇ͈ړȂ.
	ROM IOCS version 1.3 ł́Aړꍇ 0AړȂꍇɂ -1
	Ԃ.

==============================================================================

$27	_B_DOWN		J[\wsɈړ

	d1.b	ړs(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\wsɈړ.
	wsړoȂꍇ͍ŉs܂ňړ.

==============================================================================

$28	_B_RIGHT	J[\w茅EɈړ

	d1.b	ړ(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\w茅EɈړ.
	w茅ړoȂꍇ͉E[܂ňړ.

==============================================================================

$29	_B_LEFT		J[\w茅Ɉړ

	d1.b	ړ(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\w茅Ɉړ.
	w茅ړoȂꍇ͍[܂ňړ.

==============================================================================

$2a	_B_CLR_ST	ʂ̕s

	d1.b	͈͂̎w
		d1.b =	0	J[\ʒuŏIsE[܂
			1	擪s[J[\ʒu܂
			2	ʑS(J[\͐擪s[Ɉړ܂)

	͈͂w肵ĉʂ̕s.

==============================================================================

$2b	_B_ERA_ST	ݍs̕

	d1.b	͈͂̎w
		d1.b =	0	J[\ʒuE[܂
			1	[J[\ʒu܂
			2	J[\sS

Ԓl	d0.l =	0	I
		̑	ُI(͈͎wႵ̓J[\ʒuُ)

	͈͂w肵ăJ[\s̕.
	ُI̕Ԓl͒ʏ -1 AROM IOCS version 1.3 łJ
	[\ʒȕꍇ͕sł.

==============================================================================

$2c	_B_INS		s}

	d1.b	}s(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\ʒuɕs}. J[\sȉ̍s̓XN[.
	J[\͍[Ɉړ.
	ROM IOCS version 1.3 ł͈ d1.w ̏ʃoCg 0 ɂĂ
	Ɛɓ삵Ȃ̂Œӂ邱.

==============================================================================

$2d	_B_DEL		s폜

	d1.b	폜s(0 ̎ 1 ƌȂ܂)

Ԓl	 0

	J[\ʒu畡s폜. J[\sȉ̍s̓XN[.
	ROM IOCS version 1.3 ł͈ d1.w ̏ʃoCg 0 ɂĂ
	Ɛɓ삵Ȃ̂Œӂ邱.

==============================================================================

$2e	_B_CONSOL	\͈͐ݒ

	d1.l	\Jnʒu(d1.l = -1 ̎ύX܂)
		d1.hw	X ̕\Jnhbgʒu(16̔{1008ȉ)
		d1.w	Y	V		  ( 4	V   1020 V )
	d2.l	\͈(d2.l = -1 ̎ύX܂)
		d2.hw	X ̕\-1(0`127)
		d2.w	Y	V  s-1(0` 63)

Ԓl	d0.l	 0
	d1.l	ύXO̕\JnItZbg(X/8+Y*128)
	d2.l	V	\͈

	eLXgʂ̕\͈͂ݒ肷. J[\͐擪s[Ɉړ.
	IOCS $20`$2d ňW͐ݒ肵\͈͂̍オ(0,0)ƂȂA\
	͈͓ɉe. AXN[/ʃNA͕\͈͊Ǒ
	eo. \͈͂XN[ɂ IOCS B_CONMOD($ad) 
	[h 18:\XgRs[XN[w肷.
	IOCS.X gݍݎ͈ d1.hw  8 ̔{wo邪AROM IOCS
	version 1.3  8 ̔{w肷ƃAhXG[.

==============================================================================

$2f	_B_PUTMES	Ww蕶\

	d1.b	\
	d1.b =	  0	eLXgpbg 0 (ʏ퍕)
		  1		V	 1 (V	F)
		  2		V	 2 (V	F)
		  3		V	 3 (V	)
		+ 4	    
		+ 8	t]
		+12	t]
	d2.w	\ʒu(΍W:0`127)
	d3.w	\sʒu(΍W:0` 63)
	d4.w	\-1
	a1.l	\̃AhX

Ԓl	d0.l	s(e͕ۏ؂Ȃ)
	d2.w	\̌ʒu
	d4.w	s(e͕ۏ؂Ȃ)
	a1.l	̏I[̃AhX(w肵񂪕\蒷΁A
		Ōɕ\̎̃AhX)

	w肵΍W當𒼐ڕ\. t@NVL[s\pŁA
	IOCS B_CONSOL($2e) ̉e󂯂Ȃ.
	ȏ͕\Ȃ(Sp\oȂꍇ͔pXy[X\
	). 񂪎w̌̒̏ꍇAc͔pXy[X\
	. R[h $fe ͋󔒂\.
	eLXgʂ̉E[܂ōs炻ȏ\AXN[Ȃ.

==============================================================================

$30	_SET232C	RS-232C p[^ݒ

	d1.w	RS-232C ݒl(d1.w = -1 ̎ ݂̐ݒ𒲂ׂ܂)
		bit 15`14	Xgbvrbg(1:1bit 2:1.5bit 0,3:2bit)
		bit 13`12	peB(1: 3: 0,2:Ȃ)
		bit 11`10	rbg(0:5bitȉ 1:6bit 2:7bit 3:8bit)
		bit      9	XON/XOFF(0:OFF 1:ON)
		bit	 8	 SI/SO  (    V    )
		bit  7` 0	BPS(0:  75 1: 150 2: 300 3: 600 4:1200
				    5:2400 6:4800 7:9600 8:17361)

Ԓl	ύXO̐ݒ

	RS-232C ̃[hݒ肷.
	BPS ɔ͈͊O̒lw肵ꍇA1200BPS Ƃď.
	ROM IOCS ł́ASI/SOɓ삵Ȃ̂ŎgpȂ.
	BPS  8 Ԃ ROM IOCS version 1.3 Ŏgp\.

==============================================================================

$31	_LOF232C	RS-232C Mobt@̃f[^߂

Ԓl	d0.w	RS-232C Mf[^

	RS-232C ̎Mobt@̃f[^𒲂ׂ.

==============================================================================

$32	_INP232C	RS-232C Mf[^𓾂

Ԓl	d0.w	RS-232C Mf[^( 8 rbg)

	RS-232C f[^M.
	f[^MĂȂΎM܂ő҂.

==============================================================================

$33	_ISNS232C	RS-232C Mf[^̌

Ԓl	d0.l =	0	Mf[^Ȃ
		$100??	V	  ($?? ͎Mf[^)

	RS-232C f[^MĂ邩ׂ.
	Mf[^obt@̓e͕ωȂ.

==============================================================================

$34	_OSNS232C	RS-232C f[^M\

Ԓl	d0.l =	0	Ms\
		4	 V \(obt@ŁAXON łȂ)

	RS-232C Ƀf[^M\ׂ.

==============================================================================

$35	_OUT232C	RS-232C f[^M

	d1.b	Mf[^

	RS-232C Ƀf[^𑗐M.
	f[^Ms\łΑM\ɂȂ܂ő҂.

==============================================================================

$36	(J)	}EXf[^M̏AhXݒ

	d1.l	AhX(0 ̎)
	d2.w	JE^l

	}EXf[^MɌĂяoTu[`̃AhXݒ
	. ʏ̓}EX IOCS Ŏgpf[^̏sAhX
	ݒ肳Ă.
	ݒ肵AhXĂяo鎞́Aa1.l AhX 3 oCg
	Ƀ}EX̎Mf[^ZbgĂ.
	JE^̒l傫ƌĂяoԊuȂ(1 ̎ŒZ).
	AhX 0 w肷ƁAWAhXݒ肳.

==============================================================================

$37	(J)	ESC[>nGXP[vV[PX̊gAhXݒ

	d1.l	AhX(0 ̎)

Ԓl	ύXÕAhX(ROM IOCS version 1.3 ̂)

	GXP[vV[PX̂AESC[> n̊gsTu[`̃Ah
	Xݒ肷. AhX 0 w肷ƁAWAhXݒ肳.
	ݒ肵AhXĂяo鎞́Ad0.w  ESC[> ̎ 2 oCgf[^A
	a0.l  ESC[> ̃AhXZbgĂ.
	ROM IOCS version 1.3̂݁AύXÕAhXԂ.

==============================================================================

$38	_SETFNTADR	OtHgAhXݒ

	d1.l	tHgAhX(ŃAhX̂)
	d2.l	OO[vԍ
		d2.l =	0	16x16hbg	JIS:$2c21`$2d7e
			1	16x16  V	   :$7621`$777e
			2	 8x16  V	   :$f400`$f5ff
			3	24x24  V	   :$2c21`$2d7e
			4	24x24  V	   :$7621`$777e
			5	12x24  V	   :$f400`$f5ff
			6	 6x12  V(p)
			7	 8x 8  V(1/4p)
			8	 8x16  V(p)
			9	16x16  V(Sp)
			10	12x12  V(1/4p)
			11	12x24  V(p)
			12	24x24  V(Sp)
			13	16x16  V(Sp񊿎)
			14	16x16  V(P)
			15	16x16  V(Q)
			0x80	gOAhX𓾂

Ԓl	ύXÕAhX
	AhXݒ莞 -1 Ԃ̓G[(AhXw肵ꍇ).

	OtHgf[^̃AhXݒ肷.
	HIOCS.X gݍݎɂ d2.l  6 ȏŕʂ̃̕tHgݒ\.
	ROM IOCS ł͊AhXݒ肵ĂG[ɂȂȂ̂Œӂ邱.

==============================================================================

$39	(J)	BEEPpPCM̃f[^ݒ

	d1.l	PCM f[^AhX
	d2.w	V	  TCY

Ԓl	d0.l	 0
	d1.l	ύXO PCM f[^AhX
	d2.w		V	   TCY

	BEEP p PCM f[^̃AhXƒݒ肷.

==============================================================================

$3a	(J)	v^p[^ݒ

	a1.l	p[^AhX(0  ROM)

	v^ IOCS Ŏgpp[^ݒ肷.
	p[^AhX 0 w肷 ROM ̏lݒ肷.
	p[^̓e͈ȉ̒ʂ.

offset	size
$00	1.l	T-VRAM v[ 0 AhX($e00000)
$04	1.w	Y hbg12-1(41)
$06	1.l	grbgC[Wo͎ Y ]胉Cp^[
$0a	1.w	Y hbg24-1(21)
$0c	1.l	krbgC[Wo͎ Y ]胉Cp^[
$10	1.w	X hbg 8-1(96)
$12	8.b	[hwR[h
$1a	8.b	V	    V
$22	4.b	LF ̃R[h
$26	6.b	s 16/120C`̃R[h
$2c	6.b	sd̏Ԃɖ߂R[h
$32	6.b	s 10/120C`̃R[h
$38	6.b	V	5/150	V
$3e	8.b	rbgC[Wo̓R[h(1536~24hbgo)
$46	8.b	V			( 768~24    V    )
$4e	8.b	V			(  18~24    V    )
$56	8.b	V			(  36~24    V    )
$5e	1.b	0:MSB`LSB 1:LSB`MSB ̏ŏo
$5f	1.b	prbgC[Wo͎̍E̋󔒃hbg
$60	1.b	SpV
$61	1.b	[h(bit̒l1ȂrbgC[Wŏo͂)
		bit 4:p
		bit 3:ꐅyёSp񊿎
		bit 2:񐅏
		bit 1:O
		bit 0:O

	$06,$0c ͉ 3 oCĝݗLŁA[ 512/($04,$0a ̒l)̗]
	̃hbgrbg 1 ɂ.
	$12`$56 ̃R[h́A擪 1 oCgŃR[h̃oCgw肵Ac
	R[hw肷.
	ȂA$22  LF R[hwobt@ PRNDRVn.SYS gݍނƃTC
	Y 2 oCgɏk܂A$24  CR ̃R[hw肷悤ɂȂĂ.

==============================================================================

$3b	_JOYGET		WCXeBbN

	d1.w	WCXeBbNԍ(0/1)

Ԓl	WCXeBbNf[^(0 ̎ĂāA1 ̎Ă܂.)
		bit 7	 1
		bit 6	{^	1
		bit 5	V	2
		bit 4	 1
		bit 3	o[	E
		bit 2	V	
		bit 1	V	
		bit 0	V	

	WCXeBbÑf[^ǂ.
	ȃWCXeBbNԍw肵ꍇ́A 0 Ԃ܂.

==============================================================================

$3c	_INIT_PRN	v^

	d1.hb	1 y[W̍s-1(-1ŎwȂ)
	d1.b	1 š-1	(     V     )

Ԓl	d0.l =	0	o͕s\
		$20	o͉\

	v^|[gAɃv^ɏo͉\ׂ.
	 d1.w  IOCS _OUTPRN($3f) p̃vgtH[}bg.

==============================================================================

$3d	_SNSPRN		v^ɏo͉\

Ԓl	d0.l =	0	o͕s\
		$20	o͉\

	v^ɏo͉\ׂ.

==============================================================================

$3e	_OUTLPT		v^ڏo

	d1.b	o̓f[^

	v^ɒڃf[^o͂. ͂A܂s/łȂ.
	ʏ̓v^ɏo͂܂ŏ߂Ȃ.
	ROM IOCS version 1.3 ł́AANZ[^ō쒆Ɏgp
	ƃEFCgsŐ퓮삵Ȃꍇ.

==============================================================================

$3f	_OUTPRN		v^o

	d1.b	o̓f[^

Ԓl	d1.b ͔j󂳂.

	v^ɕo͂.  S-JIS ōsA2 oCg̏ꍇ
	1 oCg 2 ɕďo͂邱.
	ʏ̓v^ɏo͂܂ŏ߂Ȃ.

==============================================================================

$40	_B_SEEK		fBXÑV[N

	d1.hb	PDA
		d1.hb =	$10`$13	2DD/8	0` 3
			$30`$33	2DD/9	V
			$70`$73	2HQ	V
			$80`$8f	SASI-HD	0`15
			$90`$93	2HD	0` 3
	d1.b	[h(SASI-HD ͈̎Ӗ܂)
		bit 6	MFM/MFM [h؂芷	0:FM	1:MFM(ʏ 1)
		bit 5	gC		0:gCȂ	1:
		bit 4	V[N			0:V[NȂ		1:
		gCꍇA5 V[NɃgCǍ 5 
		Lu[g/V[NĂ烊gC܂.
	d2.l	ړIV[Nʒu(SASI-HD ̎ 256 oCgPʂ̃R[hԍ)
		bit 31`24	ZN^	0:128	1:256	2:512	3:1024(oCg)
		bit 23`16	gbN(0`76)
		bit 15` 8	TCh(0/1)
		bit  7` 0	ZN^(1`8)

Ԓl	SASI-HD	: Xe[^X
		d0.l =		I
			-1	K莞ԓɉȂ
			-3	G[
			̑	ُI(ŉʃoCgG[R[h)
	2HD-FD	: FDC Xe[^X
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16	R}hĨV_ԍ(PCN)

	fBXN̎wʒu܂ŃV[N.
	SASI-HD ̃V[NŕԒl $ffffff?? ̏ꍇA$?? ̓ZXoCg̐擪o
	Cg.
	PDA  $10`13,$30`$33,$70`$73  ROM IOCS version 1.3 Ⴕ
	FDDEVICE.X 풓̂ݎgp\. ܂AROM IOCS version 1.3 ̏ꍇA
	SASI-HD  SCSI ɐڑĂ̂̂ΏۂƂȂ.

==============================================================================

$41	_B_VERIFY	fBXÑxt@C

	d1.hb	PDA
	d1.b	[h(SASI-HD ͈̎Ӗ܂)
	d2.l	ړIʒu
	d3.l	oCg
	a1.l	f[^̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	SASI-HD	: Xe[^X(ňُI)
		d0.l =		I
			-1	K莞ԓɉȂ
			-2	f[^sv
			-3	G[
			̑	ُI(ŉʃoCgG[R[h)
	2HD-FD	: FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	f[^̔rsȂ.

	2HD-FD Ƃ̔ȑꍇAFDC  SCAN EQUAL ߂gpăf[^̔r
	ŝŁAf[^ $ff ł鎞͂̃oCg̔r͍sꂸɓ
	̂ƂĈ.

==============================================================================

$42	_B_READDI	fBXN̐ffׂ̈̓ǂݏo

	d1.hb	PDA(SASI-HD:$80`$8f ͎wo܂)
	d1.b	[h
	d2.l	ړIǂݍ݈ʒu
	d3.l	ǂݍރoCg
	a1.l	ǂݍރobt@̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	2HD ̐ffׂ̈̃fBXNǂݏo. ʏ̓ǂݍ݂ł͎gȂ.

==============================================================================

$43	_B_DSKINI	hCȕ

	d1.hb	PDA
	d2.l	[^[It܂ł̎(SASI-HD ͈̎Ӗ܂)
	a1.l	SASI-HD	: ATChCup[^̃f[^AhX
		2HD-FD	: SPECIFY R}h̃f[^AhX

Ԓl	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X
		bit 31`24	UgXe[^X 3(ST3)
		bit 23` 0	s

	hCu.
	[^[It܂ł̎Ԃ 1/100 bPʂŁA0 w肷ƕWl( 2 b)ɂȂ.
	a1.l  0 w肷ƁAW̐ݒ肪gp.

==============================================================================

$44	_B_DRVSNS	hCȕԌ

	d1.hb	PDA

Ԓl	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X
		bit 31`24	UgXe[^X 3(ST3)
		bit 23` 0	s

	fBXN̏Ԃ𒲂ׂ.

==============================================================================

$45	_B_WRITE	fBXNւ̏

	d1.hb	PDA
	d1.b	[h(SASI-HD ͈̎Ӗ܂)
	d2.l	ړI݈ʒu
	d3.l	ރoCg
	a1.l	ރf[^̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	fBXNɃf[^.
	:OS sĂobt@OƂ͖֌Wɓ삷̂ŁAOS 
	obt@Ƀf[^ێĂꍇAfBXÑf[^͓eۏ؂
	Ȃꍇ.

==============================================================================

$46	_B_READ		fBXN̓ǂݍ

	d1.hb	PDA
	d1.b	[h(SASI-HD ͈̎Ӗ܂)
	d2.l	ړIǂݍ݈ʒu
	d3.l	ǂݍރoCg
	a1.l	ǂݍރobt@̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	fBXNf[^ǂݍ.
	:OS sĂobt@OƂ͖֌Wɓ삷̂ŁAOS 
	obt@Ƀf[^ێĂꍇAfBXÑf[^͓eۏ؂
	Ȃꍇ.

==============================================================================

$47	_B_RECALI	fBXÑLuCg

	d1.hb	PDA
	d1.b	[h(SASI-HD ̎ 0 ɂ܂)
		d1.b =	0	gbN 0 ւ̃V[N
			-1	fBԂł̌

Ԓl	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16	V_ԍ(C)

	gbN 0 ւ̃V[NႵ͋fBԂł̌sȂ.
	҂sAST0  bit 4(EQUIPMENT CHECK)  1 ɂȂĂꍇ
	w̃hCu݂͑Ȃ.
	2HD-FD  hCu̗L͂ IOCS R[łoȂ.

==============================================================================

$48	_B_ASSIGN	n[hfBXN̑փgbNݒ

	d1.hb	PDA(2HD-FD:$90`$93 ͎wł܂)
	d2.l	R[hԍ
	d3.l	C^[uR[h
	a1.l	փgbNwf[^̃AhX
		(0,a1)	փgbNԍʃoCg
		(1,a1)		V	ʁV
		(2,a1)		V	ʁV
		(3,a1)	 0

Ԓl	Xe[^X(ňُI)

	n[hfBXN̑փgbNݒ肷.

==============================================================================

$49	_B_WRITED	2HD ւ̔jf[^

	d1.hb	PDA(SASI-HD:$80`$8f ͎wo܂)
	d1.b	[h
	d2.l	ړI݈ʒu
	d3.l	ރoCg
	a1.l	ރf[^̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	fBXNɔjf[^. ʏ݂̏ł͎gȂ.

==============================================================================

$4a	_B_READID	2HD  ID ̓ǂݏo

	d1.hb	PDA(SASI-HD:$80`$8f ͎wo܂)
	d1.b	[h
	d2.l	ړIǂݏoʒu(gbNƃT[tFX̎ŵ)
		bit 31  1 ɂƌoID.

Ԓl	d0.l	FDC Xe[^X
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)
	d2.l	ǂݏoID(d2.l  bit 31=1 ̎̂)

	2HD-FD  ID ǂݏo.

==============================================================================

$4b	_B_BADFMT	n[hfBXN̔jgbNgps\ɂ

	d1.hb	PDA(2HD-FD:$90`$93 ͎wł܂)
	d2.l	R[hԍ
	d3.b	C^[uR[h(1 ܂ 6)

Ԓl	Xe[^X(ňُI)

	n[hfBXN̔jgbNgps\ɂ.

==============================================================================

$4c	_B_READDL	2HD ̔jf[^ǂݍ

	d1.hb	PDA(SASI-HD:$80`$8f ͎wo܂)
	d1.b	[h
	d2.l	ړIǂݍ݈ʒu
	d3.l	ǂݍރoCg
	a1.l	ǂݍރobt@̃AhX

Ԓl	d2/d3/a1 ͓eۏ؂Ȃ.
	FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	fBXNjf[^ǂݍ. ʏ̓ǂݍ݂ł͎gȂ.

==============================================================================

$4d	_B_FORMAT	fBXÑtH[}bg

	d1.hb	PDA
	d1.b	[h(SASI-HD ͈̎Ӗ܂)
	d2.l	ړItH[}bgʒu(SASI-HD ̎̓R[hԍ)
		bit 31`24	ZN^	0:128	1:256	2:512	3:1024(oCg)
		bit 23`16	gbN(0`76)
		bit 15` 8	TCh(0/1)
		bit  7` 0	eZN^̃f[^ɏޒl
	d3.l	SASI-HD	: C^[uR[h(1 ܂ 6)
		2HD-FD	: ID f[^̃oCg
	a1.l	ID f[^̃AhX(SASI-HD ͈̎Ӗ܂)

Ԓl	SASI-HD	: Xe[^X(ňُI)
	2HD-FD	: FDC Xe[^X(-1 Ńp[^ُ)
		bit 31`24	UgXe[^X 0(ST0)
		bit 23`16		V	   1(ST1)
		bit 15` 8		V	   2(ST2)
		bit  7` 0	V_ԍ(C)

	fBXN̕tH[}bgsȂ.
	2HD-FD ̃tH[}bgɎgp ID f[^̓éAȉ̃e[u
	ZN^JԂ.

offset	size
0	1.b	gbNԍ
1	1.b	TCh(0/1)
2	1.b	ZN^ԍ
3	1.b	ZN^(128x2?oCg)

	ʏgbNԍ 0`76AZN^ԍ 1`8AZN^ 0`3 ɂȂ.

==============================================================================

$4e	_B_DRVCHK	2HD hCȕԐݒ

	d1.hb	PDA(SASI-HD:$80`$8f ͎wo܂)
	d2.w	@\ԍ
		d2.w =	0	Ԍ
			1	ro(ro֎~Ԃł͔ros)
			2	ro֎~ 1
			3	 V  1
			4	fBXNZbgĂȂ LED _
			5			V		   
			6	ro֎~ 2(OS pȂ̂Ń[U[͎gp֎~)
			7	 V  2(V)
			8	ro  (V)
			9	Ԍ 2

Ԓl	d2.w = 0`7,9 ̎AfBXN̏
		bit 7	LED _
		bit 6	ro֎~
		bit 5	ro֎~ 2(OS obt@L)
		bit 4	V	 1([U[w)
		bit 3	݋֎~
		bit 2	mbgfB
		bit 1	fBA}
		bit 0	fBA}
		mbgfBƃCgveNg d2.w = 0 ̏ꍇ̂ݗL.
		܂A̎fBA}Ȃ痼̃rbg 1 ɂȂ.
	d2.w = 8 ̎AǑɔro(1:ĂȂ -1:)

	2HD-FD ̏ԂQ/ݒ肷.

==============================================================================

$4f	_B_EJECT	fBXÑCWFNg/VbsO

	d1.hb	PDA

Ԓl	IR[h(ȂُI)
	2HD-FD ͈̎Ӗ܂

	2HD-FD roႵ SASI-HD VbsO.
	ro֎~Ԃłroł邪AOS ̃obt@OƂ͖֌Wɓ
	̂ŁAOS obt@Ƀf[^ێĂꍇrosƃfBX
	N̓eۏ؂ȂȂ邽߁AroĂ͂Ȃ.

==============================================================================

$50	_DATEBCD	tf[^̃oCiBCD ϊ

	d1.l	tf[^(oCi)
		$0y_yy_mm_dd
		bit 27`16	NoCi(1980`2079)
		bit 15` 8	V	  (1`12)
		bit  7` 0	V	  (1`31)

Ԓl	ϊ̓tf[^(BCD)
		$uw_yy_mm_dd
		bit 31`28	[NJE^(0:N[N 1:3N 2:2N 3:1N)
		bit 27`24	jJE^(0:j 1:j c 6:yj)
		bit 23`16	N BCD 2 ($00`$99)
		bit 15` 8	 V	   ($01`$12)
		bit  7` 0	 V	   ($01`$31)
	Atُȏꍇ -1 Ԃ.

	toCi BCD ɕϊ.
	[NJE^́ANJE^ƂƂɉZ.

==============================================================================

$51	_DATESET	t̐ݒ

	tf[^(BCD)

Ԓl	 0

	vɓtݒ肷. At̎wł邩͌Ȃ.
	X680x0 ̃NbN IC(RTC)  BCD `̃f[^ݒ肵Ȃ΂ȂȂ
	̂ŁAIOCS DATEBCD($50) ŃoCi̓t BCD ɕϊɂ̃R[
	Őݒ肷.

==============================================================================

$52	_TIMEBCD	f[^̃oCiBCD ϊ

	d1.l	f[^(oCi)
		$00_hh_mm_ss
		bit 23`16	oCi(0`23)
		bit 15` 8	V	  (0`59)
		bit  7` 0	bV	  (0`59)

Ԓl	f[^(BCD)
		$0t_hh_mm_ss
		bit 27`24	1(VXeK:24Ԍvł邱Ƃ\)
		bit 23`16	 BCD 2 (0`23)
		bit 15` 8	 V	  (0`59)
		bit  7` 0	b V	  (0`59)
	Aُȏꍇ -1 Ԃ.

	oCi BCD ɕϊ.

==============================================================================

$53	_TIMESET	̐ݒ

	f[^(BCD)

Ԓl	 0

	vɎݒ肷. A̎wł邩͌Ȃ.

==============================================================================

$54	_DATEGET	t̓ǂݍ

Ԓl	tf[^(BCD)
		$0w_yy_mm_dd
		bit 27`24	jJE^
		bit 23`16	N BCD 2 ($00`$99)
		bit 15` 8	 V	   ($01`$12)
		bit  7` 0	 V	   ($01`$31)

	vtǂݍ.

==============================================================================

$55	_DATEBIN	tf[^ BCDoCiϊ

	tf[^(BCD)
		$0w_yy_mm_dd
		bit 27`24	jJE^
		bit 23`16	N BCD 2 ($00`$99)
		bit 15` 8	 V	   ($01`$12)
		bit  7` 0	 V	   ($01`$31)

Ԓl	ϊ̓tf[^(oCi)
		$wy_yy_mm_dd
		bit 31`28	jJE^
		bit 27`16	NoCi(1980`2079)
		bit 15` 8	V	  (1`12)
		bit  7` 0	V	  (1`31)

	tf[^ BCD oCiɕϊ.

==============================================================================

$56	_TIMEGET	̓ǂݍ

Ԓl	f[^(BCD)

	v玞ǂݍ.

==============================================================================

$57	_TIMEBIN	f[^ BCDoCiϊ

	f[^(BCD)

Ԓl	ϊ̎f[^(oCi)

	f[^ BCD oCiɕϊ.

==============================================================================

$58	_DATECNV	tf[^̕񁨃oCiϊ

	a1.l	t\̃AhX(؂ '/'  '-' ̂ǂł悢)
		` 'yyyy/mm/dd',0 ܂ 'yy-mm-dd',0

Ԓl	d0.l	ϊ̓tf[^(oCi)
		At\񂪈ُȏꍇ d0.l = -1 Ԃ.
	a1.l	񖖔(ϊɎsꍇAe͕ۏ؂Ȃ)

	tf[^𕶎񂩂oCiɕϊ. At̎wł
	邩͌Ȃ. N 80`99A0`79 ł鎞͉񌅂̎wƌȂ
	Ăꂼ 1900A2000 𑫂lԂ.
	l̐擪ɂ󔒂 '0' ͓ǂݔ΂. ؂͎ۂɂ͂ǂ̋L
	gpĂɓ삷.

==============================================================================

$59	_TIMECNV	f[^̕񁨃oCiϊ

	a1.l	\̃AhX(؂ ':' ̂)
		` 'hh:mm:ss',0

Ԓl	d0.l	ϊ̃f[^(oCi)
		A\񂪈ُȏꍇ d0.l = -1 Ԃ.
	a1.l	񖖔(ϊɎsꍇAe͕ۏ؂Ȃ)

	f[^𕶎񂩂oCiɕϊ.
	l̐擪ɂ󔒂 '0' ͓ǂݔ΂. ؂͎ۂɂ͂ǂ̋L
	gpĂɓ삷.

==============================================================================

$5a	_DATEASC	tf[^̃oCiϊ

	d1.l	tf[^(oCi)
		$fy_yy_mm_dd
		bit 31`28	`
				0	'yyyy/mm/dd',0
				1	'yyyy-mm-dd',0
				2	'yy/mm/dd',0
				3	'yy-mm-dd',0
		bit 27`16	NoCi(1980`2079)
		bit 15` 8	V	  (1`12)
		bit  7` 0	V	  (1`31)
	a1.l	obt@̃AhX

Ԓl	d0.l =	0	I
		-1	G[
	a1.l	I[ 0 ̃AhX

	tf[^oCi當ɕϊ.
	obt@ 9 ܂ 11 oCgȏKv.

==============================================================================

$5b	_TIMEASC	f[^̃oCiϊ

	d1.l	f[^(oCi)
		$00_hh_mm_ss
		bit 23`16	oCi(0`23)
		bit 15` 8	V	  (0`59)
		bit  7` 0	bV	  (0`59)
	a1.l	obt@̃AhX(` 'hh:mm:ss',0)

Ԓl	d0.l =	0	I
		-1	G[
	a1.l	I[ 0 ̃AhX

	f[^oCi當ɕϊ.
	obt@ 9 oCgȏKv.

==============================================================================

$5c	_DAYASC		jf[^̃oCiϊ

	d1.l	jf[^(0:j 1:j c 6:yj)
	a1.l	obt@̃AhX(` 'H',0)

Ԓl	d0.l	 0
	a1.l	I[ 0 ̃AhX

	jf[^oCi當ɕϊ.
	obt@ 3 oCgȏKv.

==============================================================================

$5d	_ALARMMOD	A[/֎~

	d1.l	A[̐ݒ
		d1.l =	0	֎~
			1	
			2	݂̏Ԃ𒲂ׂ

Ԓl	݂̏(0/1)

	A[̋֎~/ݒ肷. ݒ SRAM ɋL^.

==============================================================================

$5e	_ALARMSET	A[ݒ

	d1.l	A[
		$0wddhhmm
		bit 27`24	j(0:j 1:j c 6:yj $f:w)
		bit 23`16	 BCD 2 ($01`$31,$ff:w)
		bit 15` 8	 V	   ($00`$23,	V     )
		bit  7` 0	 V	   ($00`$59,	V     )
	d2.l	dIt܂ł̎()
	a1.l	erRg[R[hႵ͏AhX
		a1.l =	-1	fBXvC䂵Ȃ
			0	fBXvCdI/Rs[^[h
			1`$3f	w̐lŃerRg[
			̑	AhX(AhX擪 $60:bra ł邱)

Ԓl	 0

	A[ԂƏeݒ肵AA[. ݒ SRAM ɋL^
	.
	j $fA// $ff ɂƁAꂼꂪwɂȂ. AS
	Ă𖳎wɂȂ.
	dIt܂ł̎Ԃ 0 w肷ƁAdItȂ.

==============================================================================

$5f	_ALARMGET	A[̐ݒԂ

Ԓl	d0.l	AhX
	d1.l	A[
	d2.l	dIt܂ł̎()

	A[ԂƏe𒲂ׂ.

==============================================================================

$60	_ADPCMOUT	ADPCM o

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	d2.l	Đf[^̃oCg
	a1.l	V	    AhX

Ԓl	d0/d2/a1 ͓eۏ؂Ȃ.

	ADPCM Đ. f[^ $ff00 oCgȉ̏ꍇ͂ɖ߂.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.

==============================================================================

$61	_ADPCMINP	ADPCM 

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	d2.l	^obt@̃oCg
	a1.l	V	      AhX

Ԓl	d0/d2/a1 ͓eۏ؂Ȃ.

	ADPCM ^. f[^ $ff00 oCgȉ̏ꍇ͂ɖ߂.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	f[^̂̓mœ͂邪Aj^o͂o̓[hŎwo.

==============================================================================

$62	_ADPCMAOT	ADPCM o(AC`F[)

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	d2.l	`F[e[ǔ
	a1.l		V	  AhX

	AC`F[ɂ ADPCM Đ.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	AC`F[e[u̓éAȉ̃`F[e[uJԂ.

offset	size
0	1.l	Đf[^̃AhX
4	1.w	V	    oCg(1`$ffff)

==============================================================================

$63	_ADPCMAIN	ADPCM (AC`F[)

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	d2.l	`F[e[ǔ
	a1.l		V	  AhX

	AC`F[ɂ ADPCM ^.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	AC`F[e[u̓éAȉ̃`F[e[uJԂ.

offset	size
0	1.l	^obt@̃AhX
4	1.w	V	      oCg(1`$ffff)

==============================================================================

$64	_ADPCMLOT	ADPCM o(NAC`F[)

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	a1.l	`F[e[ũAhX

	NAC`F[ɂ ADPCM Đ.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	NAC`F[e[u̓éAȉ̃`F[e[uA.

offset	size
0	1.l	Đf[^̃AhX
4	1.w	V	    oCg(1`$ffff)
6	1.l	̃e[ũAhX(0 Ńe[ȕI)

==============================================================================

$65	_ADPCMLIN	ADPCM (NAC`F[)

	d1.w	EFCg[h/g/o̓[h
		bit     15	EFCg[h(0:ʏ 1:m[EFCg)
		bit 10` 8	TvOg
				(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
		bit  1` 0	o̓[h(0:Ȃ 1: 2:E 3:E)
	a1.l	`F[e[ũAhX

	NAC`F[ɂ ADPCM ^.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	NAC`F[e[u̓éAȉ̃`F[e[uA.

offset	size
0	1.l	^obt@̃AhX
4	1.w	V	      oCg(1`$ffff)
6	1.l	̃e[ũAhX(0 Ńe[ȕI)

==============================================================================

$66	_ADPCMSNS	ADPCM Ԍ

Ԓl	s
	d0.l =	$00	sĂȂ
		$02	IOCS ADPCMOUT($60) s
		$04	IOCS ADPCMINP($61) V
		$12	IOCS ADPCMAOT($62) V
		$14	IOCS ADPCMAIN($63) V
		$22	IOCS ADPCMLOT($64) V
		$24	IOCS ADPCMLIN($65) V

	ADPCM ̎sԂ𒲂ׂ.

==============================================================================

$67	_ADPCMMOD	ADPCM s

	d1.l	e(0:I 1:f 2:ĊJ)

Ԓl	d0.l =	0	I
		-1	䃂[hs

	ADPCM ̎s𐧌䂷.
	ROM IOCS ł́AV[gJbgŌĂяoƊ荞݋֎~ԂɂȂ܂
	ŋÂŒӂ邱.

==============================================================================

$68	_OPMSET		OPM WX^ݒ

	d1.b	WX^ԍ
	d2.b	f[^

Ԓl	d2.b ͔j󂳂.

	OPM ɏ߂ԂɂȂ܂ő҂ĂAWX^Ƀf[^.
	WX^ $1b ɏޏꍇAėpo͂̃[h͕ύXłȂ.

==============================================================================

$69	_OPMSNS		OPM Ԍ

Ԓl	d0.b	Xe[^X
		bit 7	Busy tO(0 ŏ݉\)
		bit 1	^C} A I[o[t[(1 ̎I[o[t[)
		bit 0	  V   B V

	OPM ̃Xe[^Xǂݍ.

==============================================================================

$6a	_OPMINTST	OPM 荞ݐݒ

	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ/֎~
		̑	łɎgp

	OPM ɂ銄荞݂ݒ肷. MFP ̂ݐ䂷̂ŁAOPM ɑ΂Ăݒ
	Kv.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂̏AhX $01000000 ȏ(ŏʃoCg 0 ȊO)Ŋ荞
	݂gpƌȂ邪AROM IOCS version 1.3  vbr LɂȂĂ
	ꍇ͏AhX $00ff0770 ̎̂ݖgpƌȂ.

==============================================================================

$6b	_TIMERDST	Timer-D 荞ݐݒ

	d1.hb	Pʎ(1:1.0 2:2.5 3:4.0 4:12.5 5:16.0 6:25.0 7:50.0 ʕbP)
	d1.b	JE^(0 ̎ 256 ƂĈ)
	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ/֎~
		̑	łɎgp

	Timer-D ɂ銄荞݂ݒ肷. 荞ݎ͒Pʎԁ~JE^.
	CONFIG.SYS  PROCESS ݒ肵Ăꍇ́A荞݂ύXoȂ.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂𖢎gpƌȂ _OPMINTST Ɠ.

==============================================================================

$6c	_VDISPST	荞ݐݒ

	d1.hb	荞݊(0:A 1:\)
	d1.b	JE^(0 ̎ 256 ƂĈ)
	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ/֎~
		̑	łɎgp

	ɂ銄荞݂ݒ肷.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂𖢎gpƌȂ _OPMINTST Ɠ.

	ۂɂ Timer-A Ɋ荞݂ݒ肵Ă. \񐔂 31kHz ŕb
	 55.4 A24kHz Ŗ 53.0 A15kHz Ŗ 61.3 (l).
	dォȑOɑ傫JE^lŐݒ肵ẮAŏ̊荞݂
	^C~OxȂ.	

==============================================================================

$6d	_CRTCRAS	X^[荞ݐݒ

	d1.w	X^ԍ
	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ肵
		̑	łɎgp

	X^ɂ銄荞݂ݒ肷.
	CRTC w̃X^𑖍JnƊ荞݂.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂𖢎gpƌȂ _OPMINTST Ɠ.

==============================================================================

$6e	_HSYNCST	荞ݐݒ

	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ肵
		̑	łɎgp

	ɂ銄荞݂ݒ肷.
	M̗莞Ɋ荞݂.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂𖢎gpƌȂ _OPMINTST Ɠ.

==============================================================================

$6f	_PRNINTST	v^荞ݐݒ

	a1.l	AhX(0 Ŋ荞݋֎~)

Ԓl	d0.l =	0	荞݂ݒ肵
		̑	łɎgp

	v^ɂ銄荞݂ݒ肷.
	v^f[^󂯎邱Ƃ\ɂȂɊ荞݂.
	ROM IOCS version 1.3 ł́AV[gJbgŌĂяoƊ荞݂Sċ
	~ꂽԂŋÂŒӂ邱.
	荞݂𖢎gpƌȂ _OPMINTST Ɠ.

==============================================================================

$70	_MS_INIT	}EX

	}EX.

==============================================================================

$71	_MS_CURON	}EXJ[\\

	}EXJ[\\.

==============================================================================

$72	_MS_CUROF	}EXJ[\

	}EXJ[\.

==============================================================================

$73	_MS_STAT	}EXJ[\̕\Ԃ𒲂ׂ

Ԓl	d0.w =	0	}EXJ[\͕\ĂȂ
		-1		V	\Ă

	}EXJ[\̕\Ԃ𒲂ׂ.

==============================================================================

$74	_MS_GETDT	}EXړ/{^Ԃ𒲂ׂ

Ԓl	}EẌړʋyу{^̏
		bit 31`24	X ړ
		bit 23`16	Y V
		bit 15` 8	{^(0:OFF -1:ON)
		bit  7` 0	EV	(V	    )

	}EẌړʋyу{^̏Ԃ𒲂ׂ.

==============================================================================

$75	_MS_CURGT	}EXJ[\̍W

Ԓl	}EXJ[\̍W
	d0.hw	X W
	d0.w	Y V

	}EXJ[\̍W𒲂ׂ.

==============================================================================

$76	_MS_CURST	}EXJ[\̍Wݒ

	}EXJ[\̍W
	d1.hw	X W
	d1.w	Y V

Ԓl	d0.l =	0	Wwo
		-1	Wُ

	}EXJ[\̍Wݒ肷.

==============================================================================

$77	_MS_LIMIT	}EXJ[\̈ړ͈͐ݒ

	}EXJ[\̍W
	d1.hw	[ X W
	d1.w	[ Y V
	d2.hw	E[ X W
	d2.w	[ Y V

Ԓl	d0.l =	0	Wwo
		-1	Wُ

	}EXJ[\̈ړ͈͂ݒ肷.

==============================================================================

$78	_MS_OFFTM	}EX̃{^𗣂܂ł̎Ԃ𒲂ׂ

	d1.w	{^̎w(0:{^ -1:E{^)
	d2.w	҂(0 ̎͗܂ő҂)

Ԓl	d0.w =	0	hbO
		-1	҂Ԃ̍ől𒴂
		̑	҂

	}EX̃{^𗣂܂ł̎Ԃ𒲂ׂ.

==============================================================================

$79	_MS_ONTM	}EX̃{^܂ł̎Ԃ𒲂ׂ

	d1.w	{^̎w(0:{^ -1:E{^)
	d2.w	҂(0 ͉̎܂ő҂)

Ԓl	d0.w =	0	hbO
		-1	҂Ԃ̍ől𒴂
		̑	҂

	}EX̃{^܂ł̎Ԃ𒲂ׂ.

==============================================================================

$7a	_MS_PATST	}EXJ[\̃p^[`

	d1.w	J[\ԍ(0`15)
	a1.l	p^[f[^̃AhX

	}EXJ[\̃p^[`.
	ROM IOCS version 1.1 ł͐ɓ삵Ȃ̂Œӂ邱.
	}EXJ[\̑傫 16 x 16 hbgŁA1 hbg 1 rbgɑΉ.
	p^[f[^̓e͈ȉ̒ʂ(J[R[h 8`15  4`7 D悳).

offset	size
0	1.w	p^[̍[ X W}EX X W܂ł̋
2	1.w	V	  [ Y	V	Y	V
4	16.w	}XNp^[(Aɂf[^)
36	16.w	}EXp^[(\f[^)

	p^[̍[/[}EXW܂ł̋́A0(p^[̍/
	}EXWɂ)`15(p^[̉E/}EXWɂ)Ŏw肷.
	}XNp^[ 0 ̃hbg̓J[R[h 4`7 ŕ\A1 ̃hbg
	͖.
	}EXp^[ 1 ̃hbg̓J[R[h 8`15 ŕ\A0 ̃hbg
	͖. A}XNp^[ 0 Ń}EXp^[ 1 ̏ꍇ
	J[R[h 8`15 D悵ĕ\.

==============================================================================

$7b	_MS_SEL		}EXJ[\̃p^[I

	d1.w	J[\ԍ(0`15)

	}EXJ[\̃p^[I.

==============================================================================

$7c	_MS_SEL2	}EXJ[\̃Aj[V

	a1.l	J[\ԍe[ũAhX

	}EXp^[𕡐pāAAj[Vŕ\.
	J[\ԍe[u̓J[\ԍ[hTCY 6 ȉׁAŌ
	-1 ɂ.

==============================================================================

$7d	_SKEY_MOD	\tgL[{[h

	d1.l	R[h
		d1.l =	0	\tgL[{[h
			1		V	\
			2		V	\Ԃ̌
			-1		V	
	d2.l	\W(d1.l = 1 ̎)
		d2.hw	X W
		d2.w	Y V

Ԓl	\(0: 1:\)

	\tgL[{[h𐧌䂷.
	w肷ƁA}EX̉E{^ƂɂԂ
	\}EX\L[{[h/}EX\}EX\\
	ƕω.

==============================================================================

$7e	_DENSNS		d쐧

	dɂ͂𒲂ׂ. ʂ̓L[͂ƂĕԂ.

==============================================================================

$7f	_ONTIME		ŇoߎԂ𒲂ׂ

Ԓl	d0.l	oߎԂ̎b(0`23:59:59"99=8639999,1/100bP)
	d1.l	V	    (0`65535)

	ROM NĂ̎Ԃ𒲂ׂ.
	ROM IOCS ł́AV[gJbgŌĂяoƊ荞݋֎~ԂɂȂ܂
	ŋÂŒӂ邱.

==============================================================================

$80	_B_INTVCS	xN^ݒ

	d1.w	xN^ԍ($0000`$00ff:荞 $0100`$01ff:IOCS R[)
	a1.l	AhX

Ԓl	ύXȌAhX

	xN^̏AhXݒ肷.
	ݒ肵AhX̓X[p[oCU[hŌĂяo.
	荞݂ rte ŁAIOCS R[ rts Ŗ߂.
	ROM IOCS version 1.3 ̂݁AxN^ԍُȏꍇ -1 Ԃ.

==============================================================================

$81	_B_SUPER	X[p[oCU/[U[h̐؂芷

	a1.l	ssp(0 ̎[U[hX[p[oCU[hɐ؂芷)

Ԓl	d0.l	[U[hɐ؂芷ꍇ͏ 0 Ԃ.
		X[poCU[hɐ؂芷ꍇ́A؂芷O ssp ̒l
		Ԃ. AɃX[poCU[hɂȂĂ -1 Ԃ.
	a1.l	s

	X[p[oCU/[U[h؂芷.
	X[poCU[hɐ؂芷ꍇAusp  ssp ɐݒ肳.
	[U[hɐ؂芷ꍇAssp ͎w肵AhXɂȂAusp ͈ȑO
	̃AhXɖ߂.

==============================================================================

$82	_B_BPEEK	wAhX 1 oCgǂݍ

	a1.l	ǂݍ݃AhX

Ԓl	d0.b	f[^
	a1.l	̃AhX

	wAhX 1 oCgf[^ǂݍ.

==============================================================================

$83	_B_WPEEK	wAhX 1 [hǂݍ

	a1.l	ǂݍ݃AhX

Ԓl	d0.w	f[^
	a1.l	̃AhX

	wAhX 1 [hf[^ǂݍ.

==============================================================================

$84	_B_LPEEK	wAhX 1 O[hǂݍ

	a1.l	ǂݍ݃AhX

Ԓl	d0.l	f[^
	a1.l	̃AhX

	wAhX 1 O[hf[^ǂݍ.

==============================================================================

$85	_B_MEMSTR	wAhX畡oCgǂݍ

	d1.l	]oCg-1
	a1.l	]AhX
	a2.l	]AhX

Ԓl	a1.l	̃AhX
	a2.l	V
	d1.l ͔j󂳂.

	wAhX畡oCgf[^].
	IOCS _B_MEMSET Ƃ͓]̕Ⴄ(*a2++ = *a1++).

==============================================================================

$86	_B_BPOKE	wAhXw 1 oCg

	d1.b	f[^
	a1.l	݃AhX

Ԓl	a1.l	̃AhX

	wAhX 1 oCgf[^.

==============================================================================

$87	_B_WPOKE	wAhXw 1 [h

	d1.w	f[^
	a1.l	݃AhX

Ԓl	a1.l	̃AhX

	wAhX 1 [hf[^.

==============================================================================

$88	_B_LPOKE	wAhXw 1 O[h

	d1.l	f[^
	a1.l	݃AhX

Ԓl	a1.l	̃AhX

	wAhX 1 O[hf[^.

==============================================================================

$89	_B_MEMSET	wAhXwoCg

	d1.l	]oCg-1
	a1.l	]AhX
	a2.l	]AhX

Ԓl	a1.l	̃AhX
	a2.l	V
	d1.l ͔j󂳂.

	wAhXɕoCgf[^].
	IOCS _B_MEMSTR Ƃ͓]̕Ⴄ(*a1++ = *a2++).

==============================================================================

$8a	_DMAMOVE	DMA ]

	d1.b	[h
		bit    7	(0:a1a2 1:a2a1)
		bit 3`2	MAC(0:a1Œ 1:a1++ 2:a1-- 3:w֎~)
		bit 1`0	DAC(0:a2Œ 1:a2++ 2:a2-- 3:w֎~)
	d2.l	]oCg
	a1.l	]AhX
	a2.l	]V

Ԓl	d0/d2/a1/a2 ͓eۏ؂Ȃ.

	oCgPʂ DMA ]sȂ.
	$ff00 oCgȏ]ꍇ͂ɖ߂ĂȂ.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.

==============================================================================

$8b	_DMAMOV_A	DMA ](AC`F[)

	d1.b	[h
	d2.l	`F[e[ǔ
	a1.l		V	  AhX
	a2.l	]AhX

	AC`F[ɂăoCgPʂ DMA ]sȂ.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	AC`F[e[u̓éAȉ̃`F[e[uJԂ.

offset	size
0	1.l	]f[^̃AhX
4	1.w	]oCg(1`$ffff)

==============================================================================

$8c	_DMAMOV_L	DMA ](NAC`F[)

	d1.b	[h
	a1.l	`F[e[ũAhX
	a2.l	]AhX

	NAC`F[ɂăoCgPʂ DMA ]sȂ.
	DMA gps\ł΁Agp\ɂȂ܂ő҂.
	NAC`F[e[u̓éAȉ̃`F[e[uA.

offset	size
0	1.l	]f[^̃AhX
4	1.w	]oCg(1`$ffff)
6	1.l	̃e[ũAhX(0 Ńe[ȕI)

==============================================================================

$8d	_DMAMODE	DMA Ԍ

Ԓl	s
	d0.l =	$00	sĂȂ
		$8a	IOCS DMAMOVE ($8a) s
		$8b	IOCS DMAMOV_A($8b) V
		$8c	IOCS DMAMOV_L($8c) V

	DMA ̎sԂ𒲂ׂ.

==============================================================================

$8e	_BOOTINF	N𓾂

Ԓl	N
	bit 31`24	N@(0:p[XCb` 1:OXCb` 2:^C})
	bit 23` 0	u[g($80`$8f:SASI-HD 0`15   $90`$93:2HD-FD 0`3)
				  ($ed0000`$ed3ffe:SRAM    ̑:ROM		)

	N𒲂ׂ. ROM Nꍇ͋NAhX(1.l)ւ̃|C^
	ԂASRAM Nꍇ͋NAhX̂̂Ԃ.
	ȂASRAM/ROM NASRAM ɐݒ肳ĂNAhXύX
	ƐAhXԂȂ.

==============================================================================

$8f	_ROMVER		ROM o[W𓾂

Ԓl	o[W/쐬(BCD)
		bit 31`24	o[W
		bit 23`16	N
		bit 15` 8	
		bit  7` 0	

	ROM ̃o[Wƍ쐬N𒲂ׂ.

==============================================================================

$90	_G_CLR_ON	OtBbNʂ̏yѕ\[h̐ݒ

	OtBbNʂNAĕ\. pbg͕Wɖ߂AANZXy
	[W 0 ɐݒ肳.

==============================================================================

$91	(J)	OtBbNʃ[h̐ݒ

	d1.b	OtBbNʃ[h
		d1.b =	0	   16 F 4 ( 512)
			1	  256 V 2  V (  V   512)
			3	65536 V 1  V (  V   512)
			4	   16 V 1  V (  V  1024)
			-1	݂̃[h𒲂ׂ

Ԓl	ύXÕOtBbNʃ[h

	OtBbNʃ[h𒼐ڐݒ肷.
	ݒf[^ VC R0($e82400) ̐ݒƓ.

==============================================================================

$92	(J)	vCIeBݒ

	d1.w	vCIeBݒ( d1.w = -1 ݂̎͌̐ݒ𒲂ׂ܂)

Ԓl	ύXO̐ݒ

	vCIeB𒼐ڐݒ肷.
	ݒf[^ VC R1($e82500) ̐ݒƓ.

==============================================================================

$93	(J)	ʕ\yѓꃂ[h̐ݒ

	d1.w	ʕ\yѓꃂ[hݒ( d1.w = -1 ݂̎͌̐ݒ𒲂ׂ܂)

Ԓl	ύXO̐ݒ

	ʕ\yѓꃂ[h𒼐ڐݒ肷.
	ݒf[^ VC R2($e82600) ̐ݒƓ.

==============================================================================

$94	GPALET		OtBbNpbgݒ

	d1.w	pbgR[h
	d2.l	J[R[h(d2.l = -1 ̎J[R[h𒲂ׂ܂)

Ԓl	d0.l =	0	I
		-1	OtBbNʂĂȂApbgR[hُ
	d2.l = -1 ̎̓J[R[hԂ(-1 ȂG[)

	OtBbNpbgݒ/.
	ROM IOCS ł65536F[hŐɓ삵Ȃ̂Œӂ邱.

==============================================================================

$95	(J)	J[R[hݒ

	d1.w	pbgR[h

	IOCS $9a,$9b,$9c ŏ܂pbgR[hݒ肷.

==============================================================================

$96	(J)	ANZXy[Wݒ

	d1.w	ANZXy[W(0`3)

	OtBbN IOCS ő삳y[W𒼐ڐݒ肷.
	IOCS APAGE($b1) Ƃقړł邪A݂Ȃy[Ww肵ĂG[
	ɂȂȂ̂Œӂ邱.

==============================================================================

$97	(J)	OtBbN VRAM ̃hbgPʓǂݍ

	d1.w	X W
	d2.w	Y V
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	(F $000f:16F $00ff:256F $ffff:65536F)
		(6,a1)	(p^[f[^)

	OtBbNʂobt@ɃhbgPʂœǂݍ.

==============================================================================

$98	(J)	OtBbN VRAM ̃hbgPʏ(F}XN)

	d1.w	X W
	d2.w	Y V
	d3.w	}XNJ[R[h
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	F($000f:16F $00ff:256F $ffff:65536F)
		(6,a1)	p^[f[^

Ԓl	d0.l =	0	I
		-1	G[(w肳ꂽFƎۂ̐ݒ肪قȂ)

	obt@OtBbNʂɃhbgPʂŏ.
	}XNJ[R[hɎw肵F̃hbg͏܂Ȃ.

==============================================================================

$99	(J)	OtBbN VRAM ̃hbgPʏ

	d1.w	X W
	d2.w	Y V
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	F($000f:16F $00ff:256F $ffff:65536F)
		(6,a1)	p^[f[^

Ԓl	d0.l =	0	I
		-1	G[(w肳ꂽFƎۂ̐ݒ肪قȂ)

	obt@OtBbNʂɃhbgPʂŏ.

==============================================================================

$9a	(J)	OtBbN VRAM ̃rbgp^[

	d1.w	X W
	d2.w	Y V
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	rbgp^[

	OtBbNʂɃrbgp^[.
	rbg 1 ̃hbg IOCS $95 Őݒ肵J[R[h܂A
	0 ̃hbg͉܂Ȃ.

==============================================================================

$9b	(J)	OtBbN VRAM ̃rbgp^[(obNJ[)

	d1.w	X W
	d2.w	Y V
	d3.w	obNJ[R[h
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	rbgp^[

	OtBbNʂɃrbgp^[.
	rbg 1 ̃hbg IOCS $95 Őݒ肵J[R[h܂A
	0 ̃hbg̓obNJ[R[h܂.

==============================================================================

$9c	(J)	OtBbN VRAM ̃rbgp^[g发

	d1.w	X W
	d2.w	Y V
	d3.w	X ̊g嗦
	d4.w	Y V
	a1.l	obt@̃AhX
		(0,a1)	X ̃hbg
		(2,a1)	Y V
		(4,a1)	rbgp^[

	OtBbNʂɃrbgp^[g債ď.
	rbg 1 ̃hbg IOCS $95 Őݒ肵J[R[h܂A
	0 ̃hbg͉܂Ȃ.

==============================================================================

$a0	_SFTJIS		S-JISJIS R[hϊ

	d1.w	S-JIS R[h

Ԓl	d0.hw =	0	ϊ
		-1	G[
	d0.w	JIS R[h(G[̏ꍇʏ $2228:)
	d1.l	V

	S-JIS R[h JIS R[hɕϊ.

==============================================================================

$a1	_JISSFT		JISS-JIS R[hϊ

	d1.w	JIS R[h

Ԓl	d0.hw =	0	ϊ
		-1	G[
	d0.w	S-JIS R[h(G[̏ꍇʏ $81a6:)
	d1.l	V

	JIS R[h S-JIS R[hɕϊ.

==============================================================================

$a2	_AKCONV		ANKS-JIS R[hϊ

	d1.hw	/Љ̎w(0:ɕϊ 1:Љɕϊ)
	d1.w	ANK R[h($20`7e,$a1`df)

Ԓl	d0.hw =	0	ϊ
		-1	G[
	d0.w	S-JIS R[h(G[̏ꍇʏ $81a6:)

	ANK R[h Sp S-JIS R[hɕϊ.

==============================================================================

$a3	_RMACNV		[}ANK Jiϊ

	d1.b	At@xbg
	a1.l	Ɨ̈̃AhX
	a2.l	ϊʂobt@̃AhX

Ԓl	Xe[^X
	d0.l =	0	ϊrŕԂ鉼Ȃ
			(Ɨ̈ɕϊr̕cĂ̂ŁAj
			Ă͂Ȃ)
		-1	ϊs\ȕw肳ꂽ
			(Ɨ̈̐擪oCg 0 ɂȂ)
		̑	ϊ(Ɨ̈ɕϊr̕cĂ\
			̂ŁAjĂ͂Ȃ)

	[}ɕϊ. [}͒ʏ啶gpAXȂ
	̓[}̕ꉹɃAt@xbg̏p.
	ŏ̕ϊ̑OɁAƗ̈̐擪̃oCg 0 ɂĂ.

==============================================================================

$a4	_DAKJOB		_

	a1.l	Sp̏I[(0)̃AhX

Ԓl	d0.l	̑oCg
		d0.l =	0	Ō̑Spɑ_tꍇ
			2	̍Ōɑ_ꍇ
	a1.l	̑Sp̏I[̃AhX

	Sp̑_sȂ.

==============================================================================

$a5	_HANJOB		_

	a1.l	Sp̏I[(0)̃AhX

Ԓl	d0.l	̑oCg
		d0.l =	0	Ō̑Spɔ_tꍇ
			2	̍Ōɔ_ꍇ
	a1.l	̑Sp̏I[̃AhX

	Sp̔_sȂ.

==============================================================================

$ac	_SYS_STAT	VXeԂ̐ݒ

	d1.l	[h
		d1.l =	0	MPU Ԃ̎
			1	LbVԂ̎
			2	LbV SRAM ̐ݒlɐݒ
			3	LbV̏
			4	LbV̐ݒ
	d2.l	LbVL/tO(d1.l = 4 ̎̂)
		bit	1	f[^LbV(0: 1:L)
		bit	0		V	(	V    )

Ԓl	d1.l = 0 ̎AMPU Xe[^X
		bit 31`16	NbNXs[h(0.1MHzP)
		bit	15	_ZRvZbT(0:Ȃ 1:)
		bit	14	MMU(0:Ȃ 1:)
		bit  7` 0	MPU ^Cv(0:68000 1:68010 2:68020 3:68030)
	d1.l = 1,2,4 ̎AύXÕLbVL/tO

	VXeԂ̐ݒsȂ.
	 IOCS R[ ROM IOCS version 1.3 Ŏgp\.

==============================================================================

$ad	_B_CONMOD	J[\уXN[̐ݒ

	d1.l	[h
		d1.w =	0	J[\_ŋ
			1	J[\_ŋ֎~
			2	J[\p^[w
			3	J[\p^[`
			16	X[XXN[̎w
			17	X^Rs[XN[̎w
			18	\tgV
	d2.l	d1.w = 2 ̎AJ[\p^[
		d2.w =	0	obt@ɒ`ꂽp^[ŕ`悷.
			̑	d2.hw X^[gCƌȂāAd2.b/d2.hb
				v[ 0/1 Ɣr_aƂ.
		d1.w = 3 ̎Ap^[AhX
		d1.w = 16 ̎AXN[̎w
		d2.l =	0	WvXN[
			1	 4 hbgXN[
			2	 8 V
			3	16 V

	J[\уXN[ݒ肷.
	J[\̓_ł֎~ꍇAJ[\\ꂽ܂܂ɂȂ. 
	ȂΈ莞ԂƂɔ].

	J[\p^[̎ẃAd2.b Ńv[ 0 ̔]p^[Ad2.hb Ńv
	[ 1 ̔]p^[ݒ肵Ad2.hw Ŏw肵Cʒuԉ
	̃C܂ŔrI_aƂ. $0000_ffffŏ]̃p^[Ɠ
	Ȃ. d2.w  0 ̏ꍇ d1.w = 3 Őݒ肵p^[gp.

	J[\p^[̒`́Ad2.l J[\̃p^[AhXƌȂ
	obt@ɃRs[. p^[̓v[ 0/1 ̏ 16 oCg
	ׂ.

	X[XXN[gpꍇ́AAIɏo͂Ȃ΃XN
	[ɉʂ. (16ms)̊Ԃ 1 Co͂I邱.
	܂AL͈͂ł̃\tgRs[XN[́A\xxȂ.

	 IOCS R[ ROM IOCS version 1.3 Ⴕ IOCS.X 풓̂ݎgp
	\. AO҂̏ꍇ d1.w = 2 ̃J[\p^[w d2.l = 0
	̏ꍇ͕W̃J[\\. ܂ d2.w = 3 ̃J[\p^[
	`͎gpłȂ̂Œӂ邱.

==============================================================================

$ae	_OS_CURON	J[\\

	J[\\. R\[ɑ΂ ESC[>5l o͂Ɏgp.
	IOCS $20`$2f ɑ΂ėL.

==============================================================================

$af	_OS_CUROF	J[\

	J[\\Ȃ. R\[ɑ΂ ESC[>5h o͂Ɏgp.
	IOCS $20`$2f ɑ΂ėL.

==============================================================================

$b0	_DRAWMODE	OtBbN`惂[h̐ݒ

	d1.w	`惂[h(0:ʏ 1:] -1:݂̃[h𒲂ׂ)

Ԓl	ύXÕ[h

	OtBbN`̍ۂ̕`惂[hݒ肷.
	][hŕ`悵ꍇA܂hbg̐F NOT lŕ`悷.
	̃[h 2 `悷ƁAʂɖ߂. gp͒ʏ̕`惂[h
	ɖ߂.
	][hL IOCS R[ _LINEA_BOXA_FILLA_SYMBOL ŁA
	̃R[͏ɒʏ̃[hŕ`悳.
	 IOCS R[ ROM IOCS version 1.3 Ⴕ IOCS.XAHIOCS.X 풓
	̂ݎgp\AO̓ł͐ɓ삵Ȃ.

==============================================================================

$b1	_APAGE		OtBbN`y[W̐ݒ

	d1.b	݃y[W(0`3,-1 ݂̎͌̐ݒ𒲂ׂ܂)

Ԓl	d1.b = -1 ̎Ȁ݂݃y[W
	ȊO̎AXe[^X
		d0.l =	0	I
			-1	OtBbNgps
			-2	y[WwO(4 ȏ)
			-3	wy[W݂͌̃[hł͎gps

	OtBbNʂ̏݃y[Wݒ肷.

==============================================================================

$b2	_VPAGE		OtBbNʕ\y[W̐ݒ

	d1.b	\y[W(bit 0`3 y[W 0`3 ɑΉ)

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	y[WwO
		-3	wy[W݂͌̃[hł͎gps

	OtBbNʂ̕\y[Wݒ肷.

==============================================================================

$b3	_HOME		OtBbNʂ̕\ʒuݒ

	d1.b	\ʒuݒ肷y[W(bit 0`3 y[W 0`3 ɑΉ,0 őSẴy[W)
	d2.w	X W
	d3.w	Y V

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	y[WႵ͍WwO
		-3	wy[WႵ͍W݂͌̃[hł͎gps

	OtBbNʂ̕\ʒuݒ肷.
	d1.b = 0 ̎ALȃy[WSĕύX.

==============================================================================

$b4	_WINDOW		OtBbN`EBhE̐ݒ

	d1.w	[ X W
	d2.w	[ Y V
	d3.w	E[ X V
	d4.w	[ Y V

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	Ww肪ُ
		-3	wW݂͌̃[hł͎gps

	OtBbNʂ̃NbsO͈͂ݒ肷. IOCS $b5`$bf ɑ΂ėL.
	d1.w  d3.w  d2.w  d4.w łȂ΂ȂȂ.

==============================================================================

$b5	_WIPE		OtBbNʂ̃NA

Ԓl	d0.l =	0	I
		-1	OtBbNgps

	OtBbNʂNA.

==============================================================================

$b6	_PSET		OtBbNʂ̃|CgZbg

	a1.l	p[^obt@̃AhX
		(0,a1)	X W
		(2,a1)	Y V
		(4,a1)	pbgR[h

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɓ_`悷.

==============================================================================

$b7	_POINT		OtBbNʂ̃|CgQbg

	a1.l	p[^obt@̃AhX
		(0,a1)	X W
		(2,a1)	Y V
		(4,a1)	(pbgR[h)

Ԓl	d0.l =	0	I
		-1	OtBbNgps

	OtBbNʂ̎w̓_̃pbgR[h𒲂ׂ.
	wWNbsO͈͊OłꍇApbgR[h͏ 0 Ԃ.

==============================================================================

$b8	_LINE		OtBbNʂ̃C

	a1.l	p[^obt@̃AhX
		 (0,a1)	n_ X W
		 (2,a1)	V   Y V
		 (4,a1)	I_ X V
		 (6,a1)	V   Y V
		 (8,a1)	pbgR[h
		(10,a1)	CX^C

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɐ`悷.

==============================================================================

$b9	_BOX		OtBbNʂ̃{bNX

	a1.l	p[^obt@̃AhX
		 (0,a1)	n_ X W
		 (2,a1)	V   Y V
		 (4,a1)	I_ X V
		 (6,a1)	V   Y V
		 (8,a1)	pbgR[h
		(10,a1)	CX^C

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɒ``悷.

==============================================================================

$ba	_FILL		OtBbNʂ̃{bNXtB

	a1.l	p[^obt@̃AhX
		(0,a1)	n_ X W
		(2,a1)	V   Y V
		(4,a1)	I_ X V
		(6,a1)	V   Y V
		(8,a1)	pbgR[h

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɓhׂ``悷.

==============================================================================

$bb	_CIRCLE		OtBbNʂ̃T[N

	a1.l	p[^obt@̃AhX
		 (0,a1)	S X W
		 (2,a1)	V   Y V
		 (4,a1)	a
		 (6,a1)	pbgR[h
		 (8,a1)	~ʊJnpx(Ő``)
		(10,a1)	V  IV  (	    V	     )
		(12,a1)	䗦

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɑȉ~`悷.
	~ʊJn/Ipx 0`360 ŁAw肷Ɛ`(px͒l̐Βl)
	`悷.
	䗦(ȉ P) 0`$ff00 ŁA`悷ȉ~̌`͈ȉ̒ʂ.

	  0  P    256	ȉ~ Rx = R ; Ry = R*P/256
	256  P  $ff00	cȉ~ Ry = R ; Rx = R*P/$ff00(P  256 PʂŐ؎̂)
	       P    256	    ^~ Rx = Ry = R

==============================================================================

$bc	_PAINT		OtBbNʂ̃yCg

	a1.l	p[^obt@̃AhX
		 (0,a1)	X W
		 (2,a1)	Y V
		 (4,a1)	pbgR[h
		 (6,a1)	Ɨ̈JnAhX
		(10,a1)	V	IV

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂhׂ.
	Ɨ̈͋Ԓnn܂KvAsꍇ̓yCgrŖ߂.

==============================================================================

$bd	_SYMBOL		OtBbNʂ̃V{

	a1.l	p[^obt@̃AhX

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	wpbgR[h݂͌̃[hł͎gps

	OtBbNʂɕg債ĕ`悷.
	ẂA]px 0,90,180,270 ̎ꂼꍶ//E/Ew肷.
	p[^obt@̓e͈ȉ̒ʂ.

offset	size
 0	1.w	X W
 2	1.w	Y V
 4	1.l	̃AhX
 8	1.b	X {
 9	1.b	Y V
10	1.w	pbgR[h
12	1.b	p^[̑傫(0:12 hbgn 1:16V 2:24V)
13	1.b	]px(0:01:902:1803:270)

==============================================================================

$be	_GETGRM		OtBbNʂ̃hbgPʓǂݍ

	a1.l	p[^obt@̃AhX

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	Ww肪ُ
		-3	obt@̗eʂ

	OtBbNʂobt@ɃhbgPʂœǂݍ.
	p[^obt@̓e͈ȉ̒ʂ.

offset	size
 0	1.w	n_ X W
 2	1.w	V   Y V
 4	1.w	I_ X V
 6	1.w	V   Y V
 8	1.l	obt@JnAhX
12	1.l	V	IV

==============================================================================

$bf	_PUTGRM		OtBbNʂ̃hbgPʏ

	a1.l	p[^obt@̃AhX

Ԓl	d0.l =	0	I
		-1	OtBbNgps
		-2	Ww肪ُ
		-3	obt@̗eʂ

	obt@OtBbNʂɃhbgPʂŏ.
	p[^obt@̓e͈ȉ̒ʂ.

offset	size
 0	1.w	n_ X W
 2	1.w	V   Y V
 4	1.w	I_ X V
 6	1.w	V   Y V
 8	1.l	obt@JnAhX
12	1.l	V	IV

==============================================================================

$c0	_SP_INIT	XvCg

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	XvCgʂ.

==============================================================================

$c1	_SP_ON		XvCg\

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	XvCgʂ\.

==============================================================================

$c2	_SP_OFF		XvCg

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	XvCgʂ\Ȃ.

==============================================================================

$c3	_SP_CGCLR	XvCgp^[̃NA

	d1.l	p^[R[h(0`255)

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	w肵 PCG NA. NAp^[̑傫 128 oCg.

==============================================================================

$c4	_SP_DEFCG	XvCgp^[̒`

	d1.l	p^[R[h(0`255)
	d2.l	p^[̑傫(0:8x8 1:16x16)
	a1.l	p^[f[^̃AhX

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	w肵 PCG ̃p^[`.
	p^[̑傫 d2.l = 0 ̎ 32 oCgAd2.l = 1 ̎ 128 oCg.

==============================================================================

$c5	_SP_GTPCG	XvCgp^[̓ǂݍ

	d1.l	p^[R[h(0`255)
	d2.l	p^[̑傫(0:8x8 1:16x16)
	a1.l	obt@̃AhX

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	w肵 PCG ̃p^[ǂݍ.
	obt@ d2.l = 0 ̎ 32 oCgAd2.l = 1 ̎ 128 oCgKv.

==============================================================================

$c6	_SP_REGST	XvCgWX^̐ݒ

	d1.l	AԌo/XvCgԍ
		bit   31	0:AԌoݒ 1:oȂ
		bit 6`0	XvCgԍ(0`127)
	d2.l	X W(0`1023	16 ō[ɕ\)
	d3.l	Y V  (V	V   [V	     )
	d4.l	p^[R[h
		bit	15	c]w(0:]Ȃ 1:)
		bit	14	V	      (		V	  )
		bit 11` 8	pbgubNw(0`15)
		bit  7` 0	p^[R[h(0`255)
	d5.l	vCIeB
		d5.l =	0	XvCg\Ȃ
			1	BG0 > BG1 > SP       ()
			2	BG0 > SP  > BG1      ()
			3	SP  > BG0 > BG1      ()

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	XvCgWX^ݒ.
	d2.l/d3.l/d4.l/d5.l  -1 ɂƐݒύXȂAn߂Ă̐ݒ莞
	 -1 w肵Ă͂Ȃ.

==============================================================================

$c7	_SP_REGGT	XvCgWX^̓ǂݏo

	d1.l	XvCgԍ(0`127)

Ԓl	d0.l =	0	I
		-1	ʃ[hs
	d2.l	X W
	d3.l	Y V
	d4.l	p^[R[h
	d5.l	vCIeB

	XvCgWX^ǂݏo.

==============================================================================

$c8	_BGSCRLST	obNOEhXN[WX^̐ݒ

	d1.l	AԌo/obNOEh̎w
		bit 31	0:AԌoݒ 1:oȂ
		bit  0	BG ԍ(0/1)
	d2.l	X W(0`1023)
	d3.l	Y V  (V     )

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	obNOEhXN[WX^ݒ肷. d2.l/d3.l -1 ɂ
	ݒύXȂAn߂Ă̐ݒ莞ɂ -1 w肵Ă͂Ȃ.

==============================================================================

$c9	_BGSCRLGT	obNOEhXN[WX^̓ǂݏo

	d1.l	obNOEh̎w(0/1)

Ԓl	d0.l =	0	I
		-1	ʃ[hs
	d2.l	X W
	d3.l	Y V

	obNOEhXN[WX^ǂݏo.

==============================================================================

$ca	_BGCTRLST	obNOEhRg[WX^̐ݒ

	d1.l	obNOEh̎w(0/1)
	d2.l	eLXgy[W̎w(0/1)
	d3.l	\/\w(0:\ 1:\)

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	obNOEhRg[WX^ݒ肷. d2.l/d3.l -1 ɂ
	ƐݒύXȂAn߂Ă̐ݒ莞ɂ -1 w肵Ă͂Ȃ.

==============================================================================

$cb	_BGCTRLGT	obNOEhRg[WX^̓ǂݏo

	d1.l	obNOEh̎w(0/1)

Ԓl	d0.l =	0	eLXgy[W 0A\
		1	V	       0A  \
		2	V	       1A\
		3	V	       1A  \
		-1	ʃ[hs

	obNOEhRg[WX^ǂݏo.

==============================================================================

$cc	_BGTEXTCL	obNOEheLXg̃NA

	d1.l	eLXgy[W̎w(0/1)
	d2.l	p^[R[h

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	obNOEhʂ̎w肵eLXgy[Wp^[R[hŖ߂.

==============================================================================

$cd	_BGTEXTST	obNOEheLXg̐ݒ

	d1.l	eLXgy[W̎w(0/1)
	d2.l	X W(0`63)
	d3.l	Y V  (  V )
	d4.l	p^[R[h

Ԓl	d0.l =	0	I
		-1	ʃ[hs

	obNOEhʂ̃eLXgy[WɃp^[R[hݒ肷.

==============================================================================

$ce	_BGTEXTGT	obNOEheLXg̓ǂݏo

	d1.l	eLXgy[W̎w(0/1)
	d2.l	X W(0`63)
	d3.l	Y V  (  V )

Ԓl	d0.l =	-1	ʃ[hs
		̑	p^[R[h

	obNOEhʂ̃eLXgy[Wp^[R[hǂݏo.

==============================================================================

$cf	_SPALET		XvCgpbg̐ݒ

	d1.l	AԌo/pbgR[h
		bit    31	0:AԌoݒ 1:oȂ
		bit 3` 0	pbgR[h(0`15 Ⴕ 16`255)
	d2.l	pbgubN(1`15 Ⴕ 0)
	d3.l	J[R[h(d3.l = -1 ̎J[R[h𒲂ׂ)

Ԓl	d0.l =	-1	ʃ[hs
		-2	pbgubN 0 ݒ/悤Ƃ
		̑	ύXO̐ݒ

	XvCgpbgݒ肷.
	pbgubN 0 w肵ꍇ́ApbgR[hpbg擪
	̒ʂԍŎw肷鎖o. ApbgubN 0 ͎w
	Ȃ̂ŁApbgR[h 16 ȏɌ.
	AԂoɃpbgݒ肷ƁAʂ.

==============================================================================

$d3	_TXXLINE	eLXgʂ̐C

	a1.l	p[^obt@̃AhX
		(0,a1)	eLXgv[(0`3)
		(2,a1)	X W
		(4,a1)	Y V
		(6,a1)	X ̒
		(8,a1)	CX^C(ʃoCĝݗL)

	eLXgʂɐ`悷.
	ROM IOCS version 1.3 Ⴕ IOCS.X 풓́AeLXgv[̎w
	ɂčŏʃrbg 1 ɂ邱ƂɂAv[ɓɕ`悷
	鎖o. bit 0`3 v[0`3ɑΉ. ܂AĂяoꂽ
	ɃeLXgANZX@\LɂȂĂ΁AeLXgv[̎w
	͖Aݒ肳Ăv[ɕ`悳.

==============================================================================

$d4	_TXYLINE	eLXgʂ̐C

	a1.l	p[^obt@̃AhX
		(0,a1)	eLXgv[(0`3)
		(2,a1)	X W
		(4,a1)	Y V
		(6,a1)	Y ̒
		(8,a1)	CX^C(ʃoCĝݗL)

	eLXgʂɐ`悷.
	eLXgv[̎w _TXXLINE Ɠ.

==============================================================================

$d5	_TXLINE		eLXgʂ̃C

	a1.l	p[^obt@̃AhX
		 (0,a1)	eLXgv[(0`3)
		 (2,a1)	n_ X W
		 (4,a1)	V   Y V
		 (6,a1)	X ̒
		 (8,a1)	Y V
		(10,a1)	CX^C(ʃoCĝݗL)

	eLXgʂɐ`悷.
	eLXgv[̎w _TXXLINE Ɠ.
	CRTC ̃rbg}XN@\gpĂ̂ŁA}EXJ[\̓Itɂ
	̃R[Ăяo邱.
	 IOCS R[ ROM IOCS version 1.3 Ⴕ IOCS.X 풓̂ݎgp
	\.

==============================================================================

$d6	_TXBOX		eLXgʂ̃{bNX

	a1.l	p[^obt@̃AhX
		 (0,a1)	eLXgv[(0`3)
		 (2,a1)	X W
		 (4,a1)	Y V
		 (6,a1)	X ̒
		 (8,a1)	Y V
		(10,a1)	CX^C(ʃoCĝݗL)

	eLXgʂɒ``悷.
	eLXgv[̎w _TXXLINE Ɠ.

==============================================================================

$d7	_TXFILL		eLXgʂ̃{bNXtB

	a1.l	p[^obt@̃AhX
		 (0,a1)	eLXgv[(0`3)
		 (2,a1)	X W
		 (4,a1)	Y V
		 (6,a1)	X ̒
		 (8,a1)	Y V
		(10,a1)	CX^C

	eLXgʂɓhׂ``悷.
	eLXgv[̎w _TXXLINE Ɠ.
	CX^ĆAʁEʃoCgłꂼCځEC
	̐̃CX^Cw肷.

==============================================================================

$d8	_TXREV		eLXgʂ̔]

	a1.l	p[^obt@̃AhX
		 (0,a1)	eLXgv[(0`3)
		 (2,a1)	X W
		 (4,a1)	Y V
		 (6,a1)	X ̒
		 (8,a1)	Y V

	eLXgʂ̎w͈͂𔽓].
	ROM IOCS version 1.3 Ⴕ IOCS.X 풓AĂяoꂽɃeLXg
	ANZX@\LɂȂĂ΁AeLXgv[̎w͖A
	ݒ肳Ăv[ɕ`悳.

==============================================================================

$df	_TXRASCPY	eLXgʂ̃X^[Rs[

	d1.hb	Rs[X^ԍ
	d1.b	Rs[V
	d2.w	Rs[X^
	d3.hb	|C^ړ(0: -1:)
	d3.b	eLXgv[(bit 0`3 v[ 0`3 ɑΉ)

	eLXgʂ̎w͈͂X^Rs[.

==============================================================================

$f0	_OPMDRV		OPMDRV 

	d1.l	@\ԍ

	hCo OPMDRV.X Œǉꂽt@NVR[Ăяo.
	/Ԓl͋@\ԍɂĈقȂ.

==============================================================================

$f1	_RSDRV		g RS-232C 

	d2.hb	AUX ԍ(0`5)
	d2.b	@\ԍ($30`$39)
		d2.b =	$30`$35	w肵|[gŒ IOCS $30`$35 
					@\s.
			$36,$37		d1.l = obt@TCY
					a1.l = obt@AhX
					w|[g̎Mobt@ݒ肷.
			$38,$39		.

Ԓl
	d2.b = $36,$37 ̎
		d1.w = ύXÕobt@TCY
		a1.l = ύXÕobt@AhX

	RSDRV.SYS Œǉꂽt@NVR[Ăяo.
	ڍוs.

==============================================================================

$f2	_A_JOYGET	AiOWCXeBbN

	d1.l	@\ԍ
	d2.w	[h(d1.l = 1 ̎)
		d2.w =	0	fW^
			1	AiO
			-1	݂̐ݒ𒲂ׂ
	d2.w	ʐMx(d1.l = 2 ̎)
		d2.w =	0	ōx
			1	ōx1/2
			2	V	  1/3
			3	V	  1/4
			-1	݂̑x𒲂ׂ
	a1.l	obt@AhX(d1.l = 0 ̎̂)

Ԓl	d1.l =	0 ̎AXe[^X(-1 ŃG[)
		1 ̎AύXÕ[h
		2 ̎AύXȎx

	AiOWCXeBbNhCo AJOY.X Œǉꂽt@NV
	R[Ăяo.

	d1.l = 0 ̎Aa1.l Ŏw肵obt@ɃAiOWCXeBbÑf[
	^ǂݍ. WCXeBbNf[^̓e͈ȉ̒ʂ.

offset	size
0	1.w	XeBbN㉺(0:`255:)
2	1.w	V	  E(0:`255:E)
4	1.w	Xbg
6	1.w	IvV
8	1.w	gK(ԂŃrbg0ɂȂ)
		bit 11	A
		bit 10	B
		bit  9	A'
		bit  8	B'
		bit  7	A or A'(ǂ炩Ă0)
		bit  6	B or B'(	V	       )
		bit  5	C
		bit  4	D
		bit  3	E1
		bit  2	E2
		bit  1	X^[g
		bit  0	ZNg

	d1.l = 1 ̎AWCXeBbÑ[hύX.

	d1.l = 2 ̎AWCXeBbN̒ʐMxύX. ōxɐݒ肵
	ꍇAWCXeBbNZbgȂ葼̑xɕύXoȂȂ.

==============================================================================

$f3	_MUSICDRV	MUSICDRV 

	d1.l	@\ԍ

	hCo MUSICDRV.X Œǉꂽt@NVR[Ăяo.
	/Ԓl͋@\ԍɂĈقȂ.

==============================================================================

$f5	_SCSIDRV	SCSI IOCS

	d1.l	@\ԍ

	SCSI IOCS Œǉꂽt@NVR[Ăяo.
	/Ԓl͋@\ԍɂĈقȂ.

==============================================================================

$fd	_ABORTRST	A{[gׂɊĐݒ肷

	A{[g邽߂̊Đݒ肷. OS Ŏgp.

==============================================================================

$fe	_IPLERR		ċN

	ÑG[ōċN鎞Ɏgp. ʏ͎gpȂ.

==============================================================================

$ff	_ABORTJOB	A{[g

	A{[g. OS Ŏgp.

==============================================================================


    Create account
    Log in

    Page
    Discussion

    Read
    View source
    View history

Navigation

    Data Crystal Main Page
    RHDN Home
    Recent changes
    Random page
    Help

Games

    RHDN Games List
    Translation Request List
    NES
    SNES
    GB/GBC
    GBA
    GEN
    N64
    PSX
    PS2
    NGC

Community History

    Fan Translation Community History

Toolbox

    What links here
    Related changes
    Special pages
    Printable version
    Permanent link

    This page was last modified on 18 December 2011, at 21:11.
    This page has been accessed 722 times.
    Content is available under GNU Free Documentation License 1.2.

    Privacy policy
    About Data Crystal
    Disclaimers

    GNU Free Documentation License 1.2
    Powered by MediaWiki


/* vim:ts=8:sw=8:
 */



