; ------------------------------------------------------------------ ;エミュレーションに関する部分の定義のみ ; ------------------------------------------------------------------ BIOS_KEY_PRESS_CHECK equ 0 ; key symbols KEY_START equ 0002h KEY_A equ 0004h KEY_B equ 0008h KEY_UP1 equ 0010h KEY_RIGHT1 equ 0020h KEY_DOWN1 equ 0040h KEY_LEFT1 equ 0080h KEY_UP2 equ 0100h KEY_RIGHT2 equ 0200h KEY_DOWN2 equ 0400h KEY_LEFT2 equ 0800h KEY_X1 equ KEY_UP1 KEY_X2 equ KEY_RIGHT1 KEY_X3 equ KEY_DOWN1 KEY_X4 equ KEY_LEFT1 KEY_Y1 equ KEY_UP2 KEY_Y2 equ KEY_RIGHT2 KEY_Y3 equ KEY_DOWN2 KEY_Y4 equ KEY_LEFT2 _KEYBIOS macro func push es mov ah,func call far ptr WS_EMU_KEYBIOS pop es endm ;---- BIOS_DISPLAY_CONTROL equ 0 BIOS_DISPLAY_STATUS equ 1 BIOS_FONT_SET_MONODATA equ 2 BIOS_FONT_SET_COLORDATA equ 3 BIOS_FONT_GET_DATA equ 4 BIOS_FONT_SET_COLOR equ 5 BIOS_FONT_GET_COLOR equ 6 BIOS_SCREEN_SET_CHAR equ 7 BIOS_SCREEN_GET_CHAR equ 8 BIOS_SCREEN_FILL_CHAR equ 9 BIOS_SCREEN_FILL_ATTR equ 10 BIOS_SPRITE_SET_RANGE equ 11 BIOS_SPRITE_SET_CHAR equ 12 BIOS_SPRITE_GET_CHAR equ 13 BIOS_SPRITE_SET_LOCATION equ 14 BIOS_SPRITE_GET_LOCATION equ 15 BIOS_SPRITE_SET_CHAR_LOCATION equ 16 BIOS_SPRITE_GET_CHAR_LOCATION equ 17 BIOS_SPRITE_SET_DATA equ 18 BIOS_SCREEN_SET_SCROLL equ 19 BIOS_SCREEN_GET_SCROLL equ 20 BIOS_SCREEN2_SET_WINDOW equ 21 BIOS_SCREEN2_GET_WINDOW equ 22 BIOS_SPRITE_SET_WINDOW equ 23 BIOS_SPRITE_GET_WINDOW equ 24 BIOS_PALETTE_SET_COLOR equ 25 BIOS_PALETTE_GET_COLOR equ 26 BIOS_LCD_SET_COLOR equ 27 BIOS_LCD_GET_COLOR equ 28 BIOS_LCD_SET_SEGMENTS equ 29 BIOS_LCD_GET_SEGMENTS equ 30 BIOS_LCD_SET_SLEEP equ 31 BIOS_LCD_GET_SLEEP equ 32 _DISPBIOS macro func push es mov ah,func call far ptr WS_EMU_DISPBIOS pop es endm ;---- BIOS_SYS_INTERRUPT_SET_HOOK equ 0 BIOS_SYS_INTERRUPT_RESET_HOOK equ 1 BIOS_SYS_WAIT equ 2 BIOS_SYS_GET_TICK_COUNT equ 3 BIOS_SYS_SLEEP equ 4 BIOS_SYS_SET_SLEEP_TIME equ 5 BIOS_SYS_GET_SLEEP_TIME equ 6 BIOS_SYS_SET_AWAKE_KEY equ 7 BIOS_SYS_GET_AWAKE_KEY equ 8 BIOS_SYS_SET_KEEPALIVE_INT equ 9 BIOS_SYS_GET_OWNERINFO equ 10 BIOS_SYS_SUSPEND equ 11 BIOS_SYS_RESUME equ 12 BIOS_SYS_SET_REMOTE equ 13 BIOS_SYS_GET_REMOTE equ 14 BIOS_SYS_ALLOC_IRAM equ 15 BIOS_SYS_FREE_IRAM equ 16 BIOS_SYS_GET_MY_IRAM equ 17 BIOS_SYS_GET_VERSION equ 18 BIOS_SYS_SWAP equ 19 BIOS_SYS_SET_RESUME equ 20 BIOS_SYS_GET_RESUME equ 21 _SYSTEMBIOS macro func push es mov ah,func call far ptr WS_EMU_SYSBIOS pop es endm BIOS_RTC_RESET equ 0 BIOS_RTC_SET_DATETIME equ 1 BIOS_RTC_GET_DATETIME equ 2 BIOS_RTC_SET_DATETIME_STRUCT equ 3 BIOS_RTC_GET_DATETIME_STRUCT equ 4 BIOS_RTC_ENABLE_ALARM equ 5 BIOS_RTC_DISABLE_ALARM equ 6 BIOS_TIMER_ENABLE equ 7 BIOS_TIMER_DISABLE equ 8 BIOS_TIMER_GET_COUNT equ 9 _RTCBIOS macro func push es mov ah,func call far ptr WS_EMU_RTCBIOS pop es endm BIOS_SOUND_INIT equ 0 BIOS_SOUND_SET_CHANNEL equ 1 BIOS_SOUND_GET_CHANNEL equ 2 BIOS_SOUND_SET_OUTPUT equ 3 BIOS_SOUND_GET_OUTPUT equ 4 BIOS_SOUND_SET_WAVE equ 5 BIOS_SOUND_SET_PITCH equ 6 BIOS_SOUND_GET_PITCH equ 7 BIOS_SOUND_SET_VOLUME equ 8 BIOS_SOUND_GET_VOLUME equ 9 BIOS_SOUND_SET_SWEEP equ 10 BIOS_SOUND_GET_SWEEP equ 11 BIOS_SOUND_SET_NOISE equ 12 BIOS_SOUND_GET_NOISE equ 13 BIOS_SOUND_GET_RANDOM equ 14 _SOUNDBIOS macro func mov ah,func ;;なにも呼び出さない! endm ; ------------------------------------------------------------------ COLOR_MODE_GRAYSCALE equ 000h COLOR_MODE_4COLOR equ 080h COLOR_MODE_16COLOR equ 0C0h COLOR_MODE_16PACKED equ 0E0h WSSIM_SCREEN_MODE_VH_HORI equ 0 ;;;通常の横モード WSSIM_SCREEN_MODE_VH_VERT0 equ 1 ;;;縦モード1 WSSIM_SCREEN_MODE_VH_VERT1 equ 2 ;;;縦モード2 ; ------------------------------------------------------------------ ; 重要なセグメントの定義 _TEXT segment para public 'CODE' ; for TurboC _TEXT ends _DATA segment para public 'DATA' ; for TurboC _DATA ends _BSS segment word public 'BSS' ; for TurboC _BSS ends _HEAP segment word public 'BSS' ; for TurboC _HEAP ends CGROUP group _TEXT DGROUP group _DATA, _BSS,_HEAP ; ------------------------------------------------------------------ _BIOS_CODE segment para public 'BIOS_CODE' extrn WS_SWAN_VSYNC:far extrn WS_EMU_DISPBIOS:far extrn WS_EMU_KEYBIOS:far extrn WS_EMU_SYSBIOS:far extrn WS_EMU_RTCBIOS:far extrn WS_BIOS_INIT:far extrn WS_BIOS_RELEASE:far extrn WS_BIOS_EXIT:far extrn WS_SET_RASTER_SCROLL:far extrn WS_SET_BIOS_KEY_PUSH_MODE:far extrn WS_TERMINAL_PRINT:far extrn WS_SNAPSHOT_SCREEN:far extrn WS_LCD_VGA_PALET:far extrn WS_SET_KEY_TABLE:far extrn WS_LOADFILE:far extrn WS_SAVEFILE:far extrn WS_VSYNC:far extrn WS_SET_SCREEN_MODE_VH:far extrn WS_GET_SCREEN_MODE_VH:far extrn _WSSIM_GET_KEYBOARD:far ;カラー extrn WS_SET_COLOR_MODE:far extrn WS_GET_COLOR_MODE:far extrn WS_SET_FONT_COLORDATA:far extrn WS_GET_FONT_COLORDATA:far extrn WS_SET_PALETTE:far extrn WS_GET_PALETTE:far _BIOS_CODE ends ;;;_TEXTSEGMENT macro ;;;_TEXT segment byte public 'CODE' ;;; assume cs:CGROUP, ds:DGROUP, es:DGROUP ;;; endm ;;; ;;;_DATASEGMENT macro ;;;_DATA segment para public 'DATA' ; for TurboC ;;; assume ds:DGROUP,es:DGROUP ;;; endm ;;; ;;;_BSSSEGMENT macro ;;;;;_BSS segment word public 'BSS' ; for TurboC ;;;;; assume ds:DGROUP,es:DGROUP ;;; endm ;;; ; ------------------------------------------------------------------