Estex-DSS/DSS/defines.inc
Anatoliy Belyanskiy 0312779217 Preparing for FAT32
2024-03-12 03:51:04 +10:00

108 lines
3.5 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.

;
DEFINE TEST_FEATURE 0
;
;
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥­­ ï â ¡«¨æ  ä㭪権 rst #10. 96 ä㭪権.
DEFINE COMPILE_UNUSED_CODE 0
;
;
DEFINE MOUSE_COM_BAUD 0 ; 1 - 2485, 2 - 4807, else - 1215 (default)
DEFINE MOUSE_INT_ENABLED 0 ; INT from SIO ch. B
DEFINE MOUSE_READ_PORT_TIMEOUT 1280 ; Š®áâë«ì­ë© â ©¬- ãâ ­  ®¦¨¤ ­¨¥ ¡ ©â  ®â ¬ë誨. <EFBFBD>à®áâ® ¥áâì ªà¨¢ë¥ ¯¥à¥å®¤­¨ª¨
;
;
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
DEFINE _FAT32_ENABLE 1 ;!TODO ¯®ª  ­¥¤®¤¥« ­®
define _bit (1<?((FAT_CACHE.Sectors-1)
define _shift _bit&1)) + _bit&2)) + _bit&4)) + _bit&8)) + _bit&16)) + _bit&32)) + _bit&64)) + _bit&128))
;
FAT_CACHE:
.Size EQU #2000
.Sector_Size EQU #200
.Sectors EQU .Size / .Sector_Size
; for FAT16
.bytes_record_16 EQU 2
.Degree_16 EQU _shift
.Size_Mask_16 EQU high (.Size/.bytes_record_16 - 1)
.Part_Mask_16 EQU ((1<<(.bytes_record_16*8)) / (.Size/2))-1
; for FAT12 ;!TODO
.bytes_record_12 EQU 2
.Degree_12 EQU _shift
.Size_Mask_12 EQU high (.Size/.bytes_record_12 - 1)
.Part_Mask_12 EQU ((1<<(.bytes_record_12*8)) / (.Size/2))-1
DISPLAY "bytes_record_16 = ",/H,.bytes_record_16
DISPLAY "Degree_16 = ",/H,.Degree_16
DISPLAY "Size_Mask_16 = ",/H,.Size_Mask_16
DISPLAY "Part_Mask_16 = ",/H,.Part_Mask_16
DISPLAY "bytes_record_12 = ",/H,.bytes_record_12
DISPLAY "Degree_12 = ",/H,.Degree_12
DISPLAY "Size_Mask_12 = ",/H,.Size_Mask_12
DISPLAY "Part_Mask_12 = ",/H,.Part_Mask_12
undefine _bit
undefine _shift
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
;
DSS_MAX_DRIVES_AMOUNT EQU 26
DEFINE MAX_RAMDRIVES 16
DEFINE NeedSafePort_Y 1
DEFINE TABisSPACES 0
DEFINE EnoughtOnly_LF 0
DEFINE CLASSIC_CURSOR 0
DEFINE MINIMUM_BIOS_VERSION 2*256 + 55 ; version 2.55
DEFINE CHECK_DRIVE_CHANGE 1 ; 1 - â®à¬®§­¥¥, ­® ¡¥§®¯ á­¥¥
;
;-------------------[MEMORY]-------------------------;
DEFINE PORTAL.RSTx18_SWITCH_ADDRESS #82
; DEFINE OLD_SET_BANK 0
;---------------------[ «®£.­®¬¥à  áâà ­¨æ ¯ ¬ï⨠]---------------------
DEFINE USING_MEMPAGES 4 ; à §¬¥à ¡«®ª  ¤®¯®«­¨â¥«ì­ëå áâà ­¨æ
; ªíè ᯨ᪠ ª â «®£ 
DIRPAGE EQU 0
.buffer EQU #C000
FATPAGE EQU 1
.cache EQU #C000
TXTPAGE EQU 2
ENVPAGE EQU TXTPAGE
.PATH_PNT_ARRAY EQU #FC80
.ENVTEMP EQU #FE00
DRVPAGE EQU 3
;
COREPAGE EQU 4 ; ®­  ®â¤¥«ì­® ¨ ­¥ á ¡«®ª®¬ ¢ëè¥.
;-----------------------------------------------------------------------
DIRECTORY_PATH_LENGTH EQU 256 ; '\' + 255, 0
ENVIRONMENT_STRING_LENGTH EQU 255
TXTADDR EQU #C000
ENVADDR EQU #E400
;DIR EQU #C000
;FAT_CACHE EQU #C000
FMCOUNT EQU 10 ; Š®«¨ç¥á⢮ ä ©«®¢ëå ¬ ­¨¯ã«ïâ®à®¢
HANDBUF.SIZE EQU 32 ; !HARDCODE _sFAT_DIRECTORY_RECORD
;----------------------------------------------------;
;
;
;----------------------------------------------------;
IF MOUSE_COM_BAUD = 1
MOUSE_BAUD:
.multiplier_1 EQU %0100'0000 ; ¯¥à¢ë© ¬­®¦¨â¥«ì = 16.
.multiplier_2 EQU 22 ; ¢â®à®© ¬­®¦¨â¥«ì = 22. 875000/Œ­1*Œ­2=2485
ELSEIF MOUSE_COM_BAUD = 2
MOUSE_BAUD:
.multiplier_1 EQU %0000'0000 ; ¯¥à¢ë© ¬­®¦¨â¥«ì = 1.
.multiplier_2 EQU 182 ; ¢â®à®© ¬­®¦¨â¥«ì = 182. 875000/Œ­1*Œ­2=4807
ELSE
MOUSE_BAUD:
.multiplier_1 EQU %0100'0000 ; ¯¥à¢ë© ¬­®¦¨â¥«ì = 16.
.multiplier_2 EQU 45 ; ¢â®à®© ¬­®¦¨â¥«ì = 45. 875000/Œ­1*Œ­2=1215
ENDIF
;----------------------------------------------------;
;