Shared_Includes/constants/dss_equ.inc
Anatoliy Belyanskiy 0277d42409 ...
2023-08-06 02:25:48 +10:00

427 lines
16 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;[‚ë§®¢ ä㭪権 DSS]--------------------
ToDSS EQU #10
.DRV EQU #18
;---------------------------------------
;---[<EFBFBD>ãä¥à ¯®¤ á«ã¦¥¡­ãî áâபã DSS]----
; Command_Line_parameters (CLP)
; ‘¬¥é¥­¨ï ®â­®á¨â¥«ì­® §­ ç¥­¨ï ¢ IX
; ¯à¨ áâ à⥠EXE ¨§ DSS.
CLP_Buffer EQU 131 ; <EFBFBD>®«­ ï ¤«¨­  ¡ãä¥à 
CLP_FM EQU -3 ; ” ©«®¢ë© ¬ ­¨¯ã«ïâ®à, ¥á«¨ exe-ä ©« á ¯¥à¢¨ç­ë¬ § £àã§ç¨ª®¬
CLP_MemBlockID EQU -2 ; ˆ¤¥­â¨ä¨ª â®à ¡«®ª  ¯ ¬ïâ¨
CLP_ProgLevel EQU -1 ; “஢¥­ì ⥪ã饩 ¯à®£à ¬¬ë
CLP_CLLength EQU 0 ; „«¨­­  ª®¬ ­¤­®© áâப¨
CLP_Parameters EQU 1 ; <EFBFBD> à ¬¥âàë ª®¬ ­¤­®© áâப¨, § ª ­ç¨¢ ¥âáï ­ã«¥¬ (127 bytes) ;!FIXIT   ¥á«¨ ¤«¨­  áâப¨ ¡ã¤¥â ¡®«ìè¥?
; (CLP_CLLength) + 3 ; ­ ç «® ¯®«­®£® ¯ã⨠¤® § ¯ã᪠¥¬®£® ¯à¨«®¦¥­¨ï (¢¬¥áâ¥ á ¨¬¥­¥¬ EXE)
;---------------------------------------
FAT_ATTR:
.ARCHIVE EQU #20
.DIRECTORY EQU #10
.VOLUME_ID EQU #08
.SYSTEM EQU #04
.HIDDEN EQU #02
.READ_ONLY EQU #01
.NoDIRnoVolID EQU .READ_ONLY + .HIDDEN + .ARCHIVE + .SYSTEM ;
.NoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE + .SYSTEM ;
.NoSYSnoVolID EQU .READ_ONLY + .HIDDEN + .DIRECTORY + .ARCHIVE ;
;------------[DSS Functions]------------
Dss:
.Version EQU #00
.ChDisk EQU #01
.CurDisk EQU #02
.DskInfo EQU #03
.G_ENTRY EQU #04
; EQU #05
; EQU #06
; EQU #07
; ¢å®¤: ­¥â
; ¢ë室: A - ­®¬¥à ¯®á«¥¤­¥£® «®£. ¤¨áª  ¢ á¨á⥬¥
.RescanDrives EQU #08
.BootDSK EQU #09
;
; File i/o
.Create EQU #0A
.Creat_N EQU #0B
; EQU #0C
.ERASE EQU #0D
.Delete EQU #0E
.Move EQU #0F
.Rename EQU #10
.Open EQU #11
.Open.RW EQU 0
.Open.R EQU 1
.Open.W EQU 2
.Close EQU #12
.Read EQU #13
.Write EQU #14
.Move_FP EQU #15
.Move_FP.FrStart EQU 0
.Move_FP.FrCurrent EQU 1
.Move_FP.FrEnd EQU 2
.Attrib EQU #16
.Get_D_T EQU #17
.Put_D_T EQU #18
.F_First EQU #19
.F_Next EQU #1A
.MkDir EQU #1B
.RmDir EQU #1C
.ChDir EQU #1D
.CurDir EQU #1E
; EQU #1F
; EQU #20
.SysTime EQU #21
.SetTime EQU #22
; EQU #23
; EQU #24
; EQU #25
; EQU #26
; EQU #27
; EQU #28
; EQU #29
; EQU #2A
; EQU #2B
; EQU #2C
; EQU #2D
; EQU #2E
; EQU #2F
;
; Keyboard
.WaitKey EQU #30
.ScanKey EQU #31
.EchoKey EQU #32
.CTRLKey EQU #33
.EDIT EQU #34
.K_CLEAR EQU #35
.K_SETUP EQU #36
.TestKey EQU #37
;
; Memory
.SetWin EQU #38
.SetWin1 EQU #39
.SetWin2 EQU #3A
.SetWin3 EQU #3B
.INFOMEM EQU #3C
.GetMem EQU #3D
.FreeMem EQU #3E
.SetMem EQU #3F
;
; Execution
.Exec EQU #40
.Exit EQU #41 ;!TODO à á¯¨á âì çâ® ¢ ॣ¨áâॠB
.Wait EQU #42
.GSwitch EQU #43
.DosName EQU #44
.EX_Path EQU #45
.EX_Path.GET_ALL EQU 0 ; <EFBFBD> §®¡à âì áâபã
.EX_Path.GET_DRIVE EQU 1 ; ‚뤥«¨âì ¨¬ï ¤¨áª 
.EX_Path.GET_PATH EQU 2 ; ‚뤥«¨âì ¤¨à¥ªâ®à¨î
.EX_Path.GET_NAME EQU 3 ; ‚뤥«¨âì ¨¬ï ä ©« 
.EX_Path.GET_TYPE EQU 4 ; ‚뤥«¨âì à áè¨à¥­¨¥ ä ©« 
.EX_Path.GET_ALL_EX EQU 5 ; ‚뤥«¨âì ¨¬ï ¤¨áª , ¯ãâì ª ä ©«ã, ¨¬ï ä ©«  ¨ à áè¨à¥­¨¥ ä ©« 
.EX_Path.RESR EQU 6 ; ‡ à¥§¥à¢¨à®¢ ­®
.EX_Path.GSWITCH EQU 7 ; ‚뤥«¨âì ¯ à ¬¥âà ª®¬ ­¤­®© áâப¨
.EX_Path.GETNAME EQU 8 ; <EFBFBD>८¡à §®¢ âì ¨§ 11 ᨬ¢®«ì­®£® ä®à¬ â  ¢ ä®à¬ â „Ž‘
.EX_Path.MASK EQU 9 ; <EFBFBD>८¡à §®¢ âì ¨§ ä®à¬ â  „Ž‘ ¢ 11 ᨬ¢®«ì­ë© ä®à¬ â
.Environ EQU #46
.Environ.Init EQU #FF
.Environ.Read EQU #0
.Environ.Get EQU #1
.Environ.Set EQU #2
.AppInfo EQU #47
; EQU #48
; EQU #49
; EQU #4A
; EQU #4B
; EQU #4C
; EQU #4D
; EQU #4E
; EQU #4F
;
; Video
.SetVMod EQU #50
.SetVMod.txt40x32 EQU 2
.SetVMod.txt80x32 EQU 3
.SetVMod.grf320x256 EQU #81
.SetVMod.grf6400x256 EQU #82
.GetVMod EQU #51
.Locate EQU #52
.Cursor EQU #53
.SelPage EQU #54
.Scroll EQU #55
.Clear EQU #56
.RdChar EQU #57
.WrChar EQU #58
.WinCopy EQU #59
.WinRest EQU #5A
.PutChar EQU #5B
.PChars EQU #5C
;
; Printer
.RES_PRN EQU #5D
.CTRLPRN EQU #5E
.Print EQU #5F
;---------------------------------------
.DRV.Init EQU #00
.DRV.Open EQU #01
.DRV.Close EQU #02
.DRV.MediaCheck EQU #03
.DRV.GetBPB EQU #04
.DRV.Read EQU #05
.DRV.Write EQU #06
.DRV.Removable EQU #07
.DRV.GenIOCTL EQU #08
;.DRV.Reserved EQU #09
.DRV.LongRead EQU #10
.DRV.LongWrite EQU #11
;
.DRV.RescanDRV EQU #FF
;---------------------------------------
;
;------------[Video modes]--------------
DssVmod:
.txt40 EQU #02 ; (02) - ⥪áâ®¢ë© 40x32x16 梥⮢
.txt80 EQU #03 ; (03) - ⥪áâ®¢ë© 80x32x16 梥⮢
.gfx320 EQU #81 ; (129) - £à ä¨ç¥áª¨© 320x256x256 梥⮢
.gfx640 EQU #82 ; (130) - £à ä¨ç¥áª¨© 640x256x16 梥⮢
;---------------------------------------
;
;
;------------[Error codes]--------------
MODULE DSS_Error
sys:
.NO_ERROR EQU #00 ; 00 - ­¥â ®è¨¡®ª
.INVALID_FUNCTION EQU #01 ; 01 - ­¥¢¥à­ë© ­®¬¥à ä㭪樨
.INVALID_DRIVE EQU #02 ; 02 - ­¥¯à ¢¨«ì­ë© ­®¬¥à ãáâனá⢠
.FILE_NOT_FOUND EQU #03 ; 03 - ä ©« ­¥ ®¡­ à㦥­
.PATH_NOT_FOUND EQU #04 ; 04 - ­¥¢¥à­ë© ¯ãâì
.INVALID_HANDLE EQU #05 ; 05 - ­¥áãé¥áâ¢ãî騩 ä ©«®¢ë© ¬ ­¨¯ã«ïâ®à
.NO_HANDLES EQU #06 ; 06 - ­¥â ᢮¡®¤­®£® ä ©«®¢®£® ¬ ­¨¯ã«ïâ®à 
.FILE_EXISTS EQU #07 ; 07 - ä ©« áãé¥áâ¢ã¥â
.READONLY EQU #08 ; 08 - ä ©« ⮫쪮 ¤«ï ç⥭¨ï
.ROOT_OVERFLOW EQU #09 ; 09 - ¯¥à¥¯®«­¥­¨¥ ROOT (ª®à­¥¢®£® ª â «®£ )
.DISK_FULL EQU #0A ; 10 - ­¥â ᢮¡®¤­®£® ¬¥áâ  ­  ¤¨áª¥
.DIR_NOT_EMPTY EQU #0B ; 11 - ª â «®£ ­¥ ¯ãáâ
.CURRENT_DIR EQU #0C ; 12 - ­¥ã¤ ç­ ï ¯®¯ë⪠ 㤠«¨âì ⥪ã騩 ª â «®£
.UNKNOWN_FORMAT EQU #0D ; 13 - ­¥¨§¢¥áâ­ë© ä®à¬ â
.INVALID_ACCESS EQU #0E ; 14 - ­¥¢®§¬®¦­ ï ®¯¥à æ¨ï
.DIR_EXISTS EQU #0F ; 15 - ª â «®£ 㦥 ¥áâì
.INVALID_NAME EQU #10 ; 16 - ­¥¢¥à­®¥ ¨¬ï
.INVALID_EXE EQU #11 ; 17 - ­¥¯à ¢¨«ì­ë© EXE-ä ©«
.UNKNOWN_EXE EQU #12 ; 18 - ­¥ ¯®¤¤¥à¦¨¢ ¥¬ ï ¢¥àá¨ï EXE-ä ©« 
.ACCESS_DENIED EQU #13 ; 19 - à¥áãàá ­¥ ¤®áâ㯥­
.NOT_READY EQU #14 ; 20 - ­¥â £®â®¢­®áâ¨
.SEEK_ERROR EQU #15 ; 21 - ®è¨¡ª  ¯®§¨æ¨®­¨à®¢ ­¨ï
.SECTOR_NOT_FOUND EQU #16 ; 22 - ᥪâ®à ­¥ ­ ©¤¥­
.CRC_ERROR EQU #17 ; 23 - ®è¨¡ª  CRC
.WRITE_PROTECT EQU #18 ; 24 - § é¨â  § ¯¨á¨
.READ_ERROR EQU #19 ; 25 - ®è¨¡ª  ç⥭¨ï
.WRITE_ERROR EQU #1A ; 26 - ®è¨¡ª  § ¯¨á¨
;.GENERAL_FAILURE EQU #1B ; 27 - ®¡é ï ®è¨¡ª 
.DRIVE_FAILURE EQU #1B ; 27 - á¡®© ¤¨áª 
;.RESERVED_28 EQU #1C ; 28 - § à¥§¥à¢¨à®¢ ­
;.RESERVED_29 EQU #1D ; 29 - § à¥§¥à¢¨à®¢ ­
.NOT_ENOUGH_MEMORY EQU #1E ; 30 - ­¥¤®áâ â®ç­® ¯ ¬ïâ¨
.INVALID_MEMORY_HND EQU #1F ; 31 - ­¥áãé¥áâ¢ãî騩 ¡«®ª ¯ ¬ïâ¨
;.RESERVED_32 EQU #20 ; 32 - § à¥§¥à¢¨à®¢ ­®
.ENV_ITEM_OVERFLOW EQU #21 ; 33 - ¯à¥¢ë襭 ¬ ªá¨¬ «ì­ë© à §¬¥à ¯¥à¥¬¥­­®©
;.RESERVED_34 EQU #22 ; 34 - § à¥§¥à¢¨à®¢ ­®
.TOO_MANY_FILES_IN_DIR EQU #23 ; 35 - ᫨誮¬ ¬­®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨
.TOO_DEEP_DIR_DEPTH EQU #24 ; 36 - ᫨誮¬ ¡®«ìè ï ¢«®¦¥­­®áâì ª â «®£®¢ ¨«¨ ª®«¨ç¥á⢮ ¯ ¯®ª > 1023
.USER_ABORT EQU #25 ; 37 - ®¯¥à æ¨ï ¯à¥à¢ ­  ¯®«ì§®¢ â¥«¥¬
.COMMON_ERROR EQU #26 ; 38 - ®¡é ï ®è¨¡ª 
.UNEXPECTED_APP_TRMN EQU #27 ; 39 - unexpected application termination / ­¥®¦¨¤ ­­®¥ § ¢¥à襭¨¥ ¯à¨«®¦¥­¨ï
;.RESERVED_40 EQU #28 ; 40 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_41 EQU #29 ; 41 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_42 EQU #2A ; 42 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_43 EQU #2B ; 43 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_44 EQU #2C ; 44 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_45 EQU #2D ; 45 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_46 EQU #2E ; 46 - § à¥§¥à¢¨à®¢ ­®
;.RESERVED_47 EQU #2F ; 47 - § à¥§¥à¢¨à®¢ ­®
.INVALID_VIDEO_MODE EQU #30 ; 48 - ­¥¯à ¢¨«ì­ë© ¢¨¤¥®à¥¦¨¬
;
drv:
.NO_ERROR EQU #00 ; 00 - NO ERRORS
.INVALID_COMMAND EQU #01 ; 01 - BAD COMMAND
.INVALID_DRIVE EQU #02 ; 02 - BAD DRIVE NUMBER
.UNKNOWN_FORMAT EQU #03 ; 03 - UNKNOW FORMAT
.NOT_READY EQU #04 ; 04 - NOT READY
.SEEK_ERROR EQU #05 ; 05 - SEEK ERROR
.SECTOR_NOT_FOUND EQU #06 ; 06 - SECTOR NOT FOUND
.CRC_ERROR EQU #07 ; 07 - CRC ERROR
.WRITE_PROTECT EQU #08 ; 08 - WRITE PROTECT
.READ_ERROR EQU #09 ; 09 - READ ERROR
.WRITE_ERROR EQU #0A ; 10 - WRITE ERROR
.GENERAL_FAILURE EQU #0B ; 11 - FAILURE
.DEVICE_BUSY EQU #0C ; 12 - BUSY (DEVICE OPENED)
;.RESERVED EQU #0D ; 13 - RESERVED
;
mouse:
.NO_ERROR EQU #00 ; 0 - NO ERROR
.INVALID_COMMAND EQU #01 ; 1 - COMMAND NOT PRESENT
.DEVICE_ABSENT EQU #02 ; 2 - DEVICE ABSENT
.CURSOR_ON EQU #03 ; 3 - CURSOR ON (already)
.CURSOR_OFF EQU #04 ; 4 - CURSOR OFF (already)
.CURSOR_TOO_BIG EQU #05 ; 5 - CURSOR IMAGE VERY BIG
ENDMODULE
/*
; DB #00
; DB "Bad command or file name",0
01: DB "Invalid function",0
02: DB "Invalid drive number",0
03: DB "File not found",0
04: DB "Path not found",0 ; ­¥¢¥à­ë© ¯ãâì
05: DB "Invalid handle",0
06: DB "Extended error 6",0 ; ­¥â ᢮¡®¤­®£® ä ©«®¢®£® ¬ ­¨¯ã«ïâ®à 
07: DB "File exist",0
08: DB "File read only",0
09: DB "Root overflow",0
10: DB "No free space",0
11: DB "Directory not empty",0
12: DB "Can't delete current directory",0
13: DB "Invalid media",0
14: DB "Unknown operation",0 ; ­¥¢®§¬®¦­ ï ®¯¥à æ¨ï
15: DB "Directory exist",0
16: DB "Invalid filename",0
17: DB "Invalid EXE-file",0
18: DB "Not supported EXE-file",0
19: DB "Access denied",0
20: DB "Not ready",0
21: DB "Seek error",0
22: DB "Sector not found",0
23: DB "CRC error",0
24: DB "Write protect",0
25: DB "Read error",0
26: DB "Write error",0
27: DB "Drive failure",0 ; ®¡é ï ®è¨¡ª 
28: DB "Extended error 28",0
29: DB "Extended error 29",0
30: DB "No free memory",0
31: DB "Invalid memory block",0
32: DB "Extended error 32",0
33: DB "Extended error 33",0
34: DB "Extended error 34",0
; DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
*/
;---------------------------------------
;
;
;---------------[Files]-----------------
FileMode:
.RW EQU 00
.Read EQU 01
.Write EQU 02
;
FileAttrib:
.Normal EQU 00 ; Normal file, no attributes
.RDOnly EQU 01 ; Read only attribute
.Hidden EQU 02 ; Hidden file
.System EQU 04 ; System file
.Label EQU 08 ; Volume label
.Direc EQU #10 ; Directory
.Arch EQU #20 ; Archive
;---------------------------------------
;
;
;---------[control characters]----------
_cc:
.cr EQU #0D ;¢®§¢à â ª®à¥âª¨
.lf EQU #0A ;­®¢ ï áâப 
.tab EQU 9 ;ᨬ¢®« â ¡ã«ï樨
;---------------------------------------
;
; <EFBFBD>ਫ®¦¥­¨¥ <EFBFBD>. ’ ¡«¨æ  ¯®§¨æ¨®­­ëå ª®¤®¢
; key ASCII/SCAN key ASCII/SCAN
; ` 000h 000h V 056h 02Dh
; Esc 01Bh 001h B 042h 02Eh
; 1 031h 002h N 04Eh 02Fh
; 2 032h 003h M 04Dh 030h
; 3 033h 004h , 02Ch 031h
; 4 034h 005h . 02Eh 032h
; 5 035h 006h / 02Fh 033h
; 6 036h 007h RShift ---- 034h
; 7 037h 008h \ 05Ch 035h
; 8 038h 009h LCtrl ---- 036h
; 9 039h 00Ah LAlt ---- 037h
; 0 030h 00Bh Space 020h 038h
; - 02Dh 00Ch RAlt ---- 039h
; = 03Dh 00Dh RCtrl ---- 03Ah
; BackSpace 008h 00Eh F1 000h 03Bh
; Tab 009h 00Fh F2 000h 03Ch
; Q 051h 010h F3 000h 03Dh
; W 057h 011h F4 000h 03Eh
; E 045h 012h F5 000h 03Fh
; R 052h 013h F6 000h 040h
; T 054h 014h F7 000h 041h
; Y 059h 015h F8 000h 042h
; U 055h 016h F9 000h 043h
; I 049h 017h F10 000h 044h
; O 04Fh 018h F11 000h 045h
; P 050h 019h F12 000h 046h
; [ 05Bh 01Ah PrScrn ---- 047h
; ] 05Dh 01Bh ScrlLock 000h 048h
; CapsLock 000h 01Ch NumLock 000h 049h
; A 041h 01Dh / 02Fh 04Ah
; S 053h 01Eh * 02Ah 04Bh
; D 044h 01Fh - 02Dh 04Ch
; F 046h 020h + 02Bh 04Dh
; G 047h 021h enter 00Dh 04Eh
; H 048h 022h Del . 000h 04Fh
; J 04Ah 023h Ins 0 000h 050h
; K 04Bh 024h End 1 000h 051h
; L 04Ch 025h Down 2 000h 052h
; ; 03Bh 026h PgDw 3 000h 053h
; ' 027h 027h Left 4 000h 054h
; Enter 00Dh 028h 5 000h 055h
; LShift ---- 029h Right 6 000h 056h
; Z 05Ah 02Ah Home 7 000h 057h
; X 058h 02Bh Up 8 000h 058h
; C 043h 02Ch PgUp 9 000h 059h
; <EFBFBD>ਫ®¦¥­¨¥ . <EFBFBD> ©â  âਡã⮢ ⥪á⮢®£® íªà ­ 
; ¡¨â 7 - <EFBFBD>ਧ­ ª ¬¥àæ ­¨ï ᨬ¢®« 
; ¡¨âë 6,5,4 - –¢¥â ä®­  ᨬ¢®«  8 梥⮢ (0...7) RGB
; ¡¨âë 3,2,1,0 - –¢¥â ᨬ¢®«  16 梥⮢ (0...15) IRGB
; –¢¥â  ¤«ï ä®­  ¨ ¤«ï ᨬ¢®« :
; 0 0h 0000b - —ñà­ë©
; 1 1h 0001b - ‘¨­¨©
; 2 2h 0010b - ‡¥«ñ­ë©
; 3 3h 0011b - ƒ®«ã¡®© (樠­)
; 4 4h 0100b - Šà á­ë©
; 5 5h 0101b - ”¨®«¥â®¢ë©
; 6 6h 0110b - Š®à¨ç­¥¢ë©
; 7 7h 0111b - <EFBFBD>¥«ë©
; ’®«ìª® ¤«ï ᨬ¢®« :
; 8 8h 1000b - ‘¥àë©
; 9 9h 1001b - Ÿàª®-ᨭ¨©
; 10 Ah 1010b - Ÿàª®-§¥«ñ­ë©
; 11 Bh 1011b - Ÿàª®-£®«ã¡®©
; 12 Ch 1100b - Ÿàª®-ªà á­ë©
; 13 Dh 1101b - Ÿàª®-䨮«¥â®¢ë©
; 14 Eh 1110b - †ñ«âë©
; 15 Fh 1111b - Ÿàª®-¡¥«ë©
;