diff --git a/source/include/bios_equ.asm b/source/include/bios_equ.asm new file mode 100644 index 0000000..b563dbe --- /dev/null +++ b/source/include/bios_equ.asm @@ -0,0 +1,60 @@ +BiosRst EQU #08 + +;Функции работы с памятью +Bios.Emm_Fn0 EQU #C0 +Bios.Emm_Fn1 EQU #C1 +Bios.Emm_Fn2 EQU #C2 +Bios.Emm_Fn3 EQU #C3 +Bios.Emm_Fn4 EQU #C4 +Bios.Emm_Fn5 EQU #C5 +Bios.Emm_Fn6 EQU #C6 +Bios.Emm_Fn7 EQU #C7 +Bios.Emm_Fn8 EQU #C8 +Bios.Emm_Fn9 EQU #C9 + +Bios.SetPalette EQU #A4 ; установка палитры + +;Функции управления окнами и режимами экрана +Bios.Win_Open EQU #B0 +Bios.Win_Close EQU #B1 +Bios.Win_Copy_Win EQU #B2 +Bios.Win_Restore_Win EQU #B3 +Bios.Win_Get_Sym EQU #B4 +Bios.Win_Put_Sym EQU #B5 +Bios.Win_Set_ZG EQU #B6 +Bios.Win_Move_Win EQU #B7 +Bios.Win_Get_ZG EQU #B8 + + + +;Функции вывода текста на экран +Bios.Lp_Print_All EQU #81 +Bios.Lp_Print_Sym EQU #82 +Bios.Lp_Print_Atr EQU #83 +Bios.Lp_Set_Place EQU #84 +Bios.Lp_Print_Ln EQU #85 +Bios.Lp_Print_Ln2 EQU #86 +Bios.Lp_Print_Ln3 EQU #87 +Bios.Lp_Print_Ln4 EQU #88 +Bios.Lp_Cls_Win EQU #89 +Bios.Lp_Scroll_Up EQU #8A +Bios.Lp_Print_Ln5 EQU #8B +Bios.Lp_Print_Ln6 EQU #8C +Bios.Lp_Cls_Win2 EQU #8D +Bios.Lp_Get_Place EQU #8E + +;Функции работы с жесткими дисками и дисководами +Bios.Drv_Reset EQU #51 +Bios.Drv_Verify EQU #54 +Bios.Drv_Read EQU #55 +Bios.Drv_Write EQU #56 +Bios.Drv_Detect EQU #57 +Bios.Drv_Get_Par EQU #58 +Bios.Drv_Set_Par EQU #59 +Bios.Ext_Version EQU #5A +Bios.Drv_List EQU #5F + +Bios.SET_PAL_INIT EQU #A6 + + + diff --git a/source/include/dss_equ.asm b/source/include/dss_equ.asm new file mode 100644 index 0000000..92cd235 --- /dev/null +++ b/source/include/dss_equ.asm @@ -0,0 +1,122 @@ +DssRst EQU #10 + +Dss.Version EQU #00 +Dss.ChDisk EQU #01 +Dss.CurDisk EQU #02 +Dss.DskInfo EQU #03 +;Dss.G_ENTRY EQU #04 +; EQU #05 +; EQU #06 +; EQU #07 +; EQU #08 +Dss.BOOTDSK EQU #09 +;File io +Dss.Create EQU #0A +Dss.Creat_N EQU #0B +; EQU #0C +;Dss.ERASE EQU #0D +Dss.Delete EQU #0E +;Dss.Move EQU #0F +Dss.Rename EQU #10 +Dss.Open EQU #11 +Dss.Close EQU #12 +Dss.Read EQU #13 +Dss.Write EQU #14 +Dss.Move_FP EQU #15 +Dss.Attrib EQU #16 +Dss.Get_D_T EQU #17 +Dss.Put_D_T EQU #18 +Dss.F_First EQU #19 +Dss.F_Next EQU #1A +Dss.MkDir EQU #1B +Dss.RmDir EQU #1C +Dss.ChDir EQU #1D +Dss.CurDir EQU #1E +; EQU #1F +; EQU #20 +Dss.SysTime EQU #21 +Dss.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 +Dss.WaitKey EQU #30 +Dss.ScanKey EQU #31 +Dss.EchoKey EQU #32 +Dss.CTRLKey EQU #33 +;Dss.EDIT EQU #34 +Dss.K_CLEAR EQU #35 +Dss.K_SETUP EQU #36 +Dss.TestKey EQU #37 +;Memory +Dss.SetWin EQU #38 +Dss.SetWin1 EQU #39 +Dss.SetWin2 EQU #3A +Dss.SetWin3 EQU #3B +Dss.INFOMEM EQU #3C +Dss.GetMem EQU #3D +Dss.FreeMem EQU #3E +Dss.SetMem EQU #3F +;Execution +Dss.Exec EQU #40 +Dss.Exit EQU #41 +Dss.Wait EQU #42 + +Dss.GSwitch EQU #43 +Dss.DosName EQU #44 +Dss.EX_Path EQU #45 +Dss.Environ EQU #46 +Dss.AppInfo EQU #47 +; EQU #48 +; EQU #49 +; EQU #4A +; EQU #4B +; EQU #4C +; EQU #4D +; EQU #4E +; EQU #4F + +Dss.SetVMod EQU #50 +Dss.GetVMod EQU #51 +Dss.Locate EQU #52 +Dss.Cursor EQU #53 +Dss.SelPage EQU #54 +Dss.Scroll EQU #55 +Dss.Clear EQU #56 +Dss.RdChar EQU #57 +Dss.WrChar EQU #58 +Dss.WinCopy EQU #59 +Dss.WinRest EQU #5A +Dss.PutChar EQU #5B +Dss.PChars EQU #5C +;Dss.RES_PRN EQU #5D +;Dss.CTRLPRN EQU #5E +Dss.Print EQU #5F +; +FileMode.RW: EQU #00 +FileMode.Read: EQU #01 +FileMode.Write: EQU #02 +FileAttrib.Normal equ #00 ; Normal file, no attributes +FileAttrib.RDOnly equ #01 ; Read only attribute +FileAttrib.Hidden equ #02 ; Hidden file +FileAttrib.System equ #04 ; System file +FileAttrib.Label equ #08 ; Volume label +FileAttrib.Direc equ #10 ; Directory +FileAttrib.Arch equ #20 ; Archive + +;------------------------- +;characters +cr equ 0dh ;возврат коретки +lf equ 0ah ;новая строка +tab equ 9 ;символ табуляции +space equ 20h ;символ пробела \ No newline at end of file diff --git a/source/include/head.asm b/source/include/head.asm new file mode 100644 index 0000000..926d382 --- /dev/null +++ b/source/include/head.asm @@ -0,0 +1,20 @@ + org 8100h-512 +start_addr: +code_start: + ; display "start_addr=",$ + + db "EXE" + db 0 + dw 200h + dw 0 + dw 0 + dw 0 + dw 0 + dw 0 + dw begin + dw begin + dw 0bfffh + ds 490 + +; .PHASE 8100h + diff --git a/source/include/keyboard.asm b/source/include/keyboard.asm new file mode 100644 index 0000000..7d8d1e0 --- /dev/null +++ b/source/include/keyboard.asm @@ -0,0 +1,6 @@ +KEY_ESC: EQU #76 +KEY_SPACE: EQU #29 +KEY_CURSOR_UP: EQU #75 +KEY_CURSOR_DOWN: EQU #72 +KEY_CURSOR_LEFT: EQU #6B +KEY_CURSOR_RIGHT: EQU #74 \ No newline at end of file diff --git a/source/include/sp_equ.asm b/source/include/sp_equ.asm new file mode 100644 index 0000000..888ef18 --- /dev/null +++ b/source/include/sp_equ.asm @@ -0,0 +1,15 @@ +; Порты Sprinter +EmmWin.P0 EQU #82 +EmmWin.P1 EQU #A2 +EmmWin.P2 EQU #C2 +EmmWin.P3 EQU #E2 +Y_PORT EQU #89 +RGADR EQU Y_PORT +RGMOD EQU #C9 + +; Порты Covox-Blaster +CBL_PORT EQU #4E +COVOX_PORT EQU #4F + +; Страницы +VIDEO_PAGE EQU #50 \ No newline at end of file