added "HDDwriteProtect" define
This commit is contained in:
parent
5dce9279bc
commit
d3467450ac
@ -73,6 +73,10 @@ IDE3 EQU #C1D8
|
|||||||
; DB #FF ;SECTOR PER CYLINDER HIGH ;06
|
; DB #FF ;SECTOR PER CYLINDER HIGH ;06
|
||||||
; DB #FF ;RESERVED ;07
|
; DB #FF ;RESERVED ;07
|
||||||
|
|
||||||
|
|
||||||
|
WRITE_OUTI_DUPs EQU 32 ; bytes
|
||||||
|
|
||||||
|
|
||||||
HDD_5x.RESET: ; !FIXIT ¥ à¥á¥â¨âáï?
|
HDD_5x.RESET: ; !FIXIT ¥ à¥á¥â¨âáï?
|
||||||
;For non-ATAPI drives, the only method a driver has of resetting a drive
|
;For non-ATAPI drives, the only method a driver has of resetting a drive
|
||||||
; after a major error is to do a "software reset" on the bus.
|
; after a major error is to do a "software reset" on the bus.
|
||||||
@ -448,13 +452,14 @@ WRS000:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
|
IF HDDwriteProtect
|
||||||
PUSH BC
|
PUSH BC
|
||||||
;!FIXIT write protect - remove
|
LD D,#1D ;!HARDCODE CMOS Write Protect
|
||||||
LD D,#1D ;!!!!! CMOS £«ïãâì
|
|
||||||
CALL CMOS_RD
|
CALL CMOS_RD
|
||||||
POP BC
|
POP BC
|
||||||
AND 1
|
AND 1
|
||||||
JR Z,NOWP
|
JR Z,NO_WriteProtect
|
||||||
POP HL
|
POP HL
|
||||||
POP AF
|
POP AF
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -462,8 +467,9 @@ WRS000:
|
|||||||
LD A,8 ;WRITE PROTECT
|
LD A,8 ;WRITE PROTECT
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
;
|
ENDIF
|
||||||
NOWP CALL PRESET
|
NO_WriteProtect:
|
||||||
|
CALL PRESET
|
||||||
POP HL
|
POP HL
|
||||||
POP AF
|
POP AF
|
||||||
LD XL,0
|
LD XL,0
|
||||||
@ -486,9 +492,10 @@ WRS002: EXX
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD BC,IDE.Write.Data
|
LD BC,IDE.Write.Data
|
||||||
|
|
||||||
LD D,#20
|
;LD D,#20
|
||||||
|
LD D,512/WRITE_OUTI_DUPs
|
||||||
WRS003:
|
WRS003:
|
||||||
DUP 16
|
DUP WRITE_OUTI_DUPs
|
||||||
OUTI
|
OUTI
|
||||||
EDUP
|
EDUP
|
||||||
DEC D
|
DEC D
|
||||||
@ -615,7 +622,6 @@ PRESET: LD A,B
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
; HL:DE - SECTOR OFFSET
|
; HL:DE - SECTOR OFFSET
|
||||||
|
|
||||||
LBA_CHS:
|
LBA_CHS:
|
||||||
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow)
|
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow)
|
||||||
LD B,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh)
|
LD B,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh)
|
||||||
|
|||||||
@ -8,7 +8,23 @@
|
|||||||
; DEFINE SPTeam_year '2022'
|
; DEFINE SPTeam_year '2022'
|
||||||
; DEFINE Disk_subsystem_ver_txt '3.05'
|
; DEFINE Disk_subsystem_ver_txt '3.05'
|
||||||
; DEFINE SetupVer '2.55'
|
; DEFINE SetupVer '2.55'
|
||||||
|
LUA ALLPASS
|
||||||
|
function get_key_for_value(t, value)
|
||||||
|
for column=1,2 do
|
||||||
|
for line,name in pairs(t[column]) do
|
||||||
|
if name==value then return column,line end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
function DeleteValueByDEFINE (t,zero_def,value)
|
||||||
|
if tonumber(sj.get_define(zero_def)) then
|
||||||
|
local delCol, delLine = get_key_for_value(t, value)
|
||||||
|
table.remove (t[delCol], delLine)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
ENDLUA
|
||||||
|
|
||||||
LUA PASS1
|
LUA PASS1
|
||||||
local date, month, year = Get_date_RU(sj.get_define("__DATE__"))
|
local date, month, year = Get_date_RU(sj.get_define("__DATE__"))
|
||||||
@ -22,37 +38,46 @@
|
|||||||
LUA PASS1
|
LUA PASS1
|
||||||
SettingsTabsOrder = {
|
SettingsTabsOrder = {
|
||||||
[1]={
|
[1]={
|
||||||
"Lang",
|
"Lang", -- 1
|
||||||
"MemTest",
|
"MemTest", -- 2
|
||||||
"SaveRAMdrvs",
|
"SaveRAMdrvs", -- 3
|
||||||
"UpdBios",
|
"UpdBios", -- 4
|
||||||
"StartDelay",
|
"StartDelay", -- 5
|
||||||
"TypRate",
|
"TypRate", -- 6
|
||||||
"TypDelay",
|
"TypDelay", -- 7
|
||||||
"RebootMsg",
|
"RebootMsg", -- 8
|
||||||
"SysDsk",
|
"SysDsk", -- 9
|
||||||
"AltSysDsk",
|
"AltSysDsk", -- 10
|
||||||
"FddFirst",
|
"FddFirst", -- 11
|
||||||
"FddSecond",
|
"FddSecond", -- 12
|
||||||
"PriIdeMA",
|
"PriIdeMA", -- 13
|
||||||
"PriIdeSl",
|
"PriIdeSl", -- 14
|
||||||
"SecIdeMA",
|
"SecIdeMA", -- 15
|
||||||
"SecIdeSl",
|
"SecIdeSl", -- 16
|
||||||
"HddWrPr",
|
-- 17
|
||||||
},
|
},
|
||||||
[2]={
|
[2]={
|
||||||
"ScreenY",
|
"ScreenY", -- 1
|
||||||
"ScreenX",
|
"ScreenX", -- 2
|
||||||
"FrameInt",
|
"FrameInt", -- 3
|
||||||
"VSync",
|
"VSync", -- 4
|
||||||
"QuickStartROM",
|
"QuickStartROM", -- 5
|
||||||
"TrDosA",
|
"TrDosA", -- 6
|
||||||
"TrDosB",
|
"TrDosB", -- 7
|
||||||
"TrDosC",
|
"TrDosC", -- 8
|
||||||
"TrDosD",
|
"TrDosD", -- 9
|
||||||
--"SetTime",
|
"SetTime", -- 10 DEFINES.INC --> NEW_FEATURE
|
||||||
|
"HddWrPr", -- 11 DEFINES.INC --> HDDwriteProtect
|
||||||
|
-- 12
|
||||||
|
-- 13
|
||||||
|
-- 14
|
||||||
|
-- 15
|
||||||
|
-- 16
|
||||||
|
-- 17
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime")
|
||||||
|
DeleteValueByDEFINE(SettingsTabsOrder,"HDDwriteProtect","HddWrPr")
|
||||||
ENDLUA
|
ENDLUA
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -61,15 +86,6 @@
|
|||||||
@.itemName? EQU $
|
@.itemName? EQU $
|
||||||
DEFINE TmpDef itemName?
|
DEFINE TmpDef itemName?
|
||||||
LUA ALLPASS
|
LUA ALLPASS
|
||||||
function get_key_for_value(t, value)
|
|
||||||
for column=1,2 do
|
|
||||||
for line,name in pairs(t[column]) do
|
|
||||||
if name==value then return column,line end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
||||||
local tmpName = sj.get_define("TmpDef")
|
local tmpName = sj.get_define("TmpDef")
|
||||||
local column,line = get_key_for_value(SettingsTabsOrder, tmpName)
|
local column,line = get_key_for_value(SettingsTabsOrder, tmpName)
|
||||||
if (column == nil or line == nil) then sj.error("Settings Tab not found",tmpName) end
|
if (column == nil or line == nil) then sj.error("Settings Tab not found",tmpName) end
|
||||||
@ -316,6 +332,7 @@ SettingsItemsTabs:
|
|||||||
DB msgStrings.valCdRom
|
DB msgStrings.valCdRom
|
||||||
DB msgStrings.valDash6
|
DB msgStrings.valDash6
|
||||||
|
|
||||||
|
IF HDDwriteProtect
|
||||||
_mSETitemParams HddWrPr
|
_mSETitemParams HddWrPr
|
||||||
DW OnChangeAction.nothing
|
DW OnChangeAction.nothing
|
||||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||||
@ -324,6 +341,7 @@ SettingsItemsTabs:
|
|||||||
DB #1D,%0000'0001,%0000'0001
|
DB #1D,%0000'0001,%0000'0001
|
||||||
DB msgStrings.valDisabled
|
DB msgStrings.valDisabled
|
||||||
DB msgStrings.valEnabled
|
DB msgStrings.valEnabled
|
||||||
|
ENDIF
|
||||||
|
|
||||||
_mSETitemParams ScreenY
|
_mSETitemParams ScreenY
|
||||||
DW OnChangeAction.setXYpos
|
DW OnChangeAction.setXYpos
|
||||||
@ -581,7 +599,9 @@ msgStrings:
|
|||||||
_mSetStr parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : '
|
_mSetStr parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : '
|
||||||
_mSetStr parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : '
|
_mSetStr parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : '
|
||||||
_mSetStr parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : '
|
_mSetStr parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : '
|
||||||
|
IF HDDwriteProtect
|
||||||
_mSetStr parHddWrPr, tmp_Counter : DZ 'HDD Write protect : '
|
_mSetStr parHddWrPr, tmp_Counter : DZ 'HDD Write protect : '
|
||||||
|
ENDIF
|
||||||
_mSetStr parScreenY, tmp_Counter : DZ 'Y-Screen position : '
|
_mSetStr parScreenY, tmp_Counter : DZ 'Y-Screen position : '
|
||||||
_mSetStr valMinus7, tmp_Counter : DZ '-7'
|
_mSetStr valMinus7, tmp_Counter : DZ '-7'
|
||||||
_mSetStr valMinus6, tmp_Counter : DZ '-6'
|
_mSetStr valMinus6, tmp_Counter : DZ '-6'
|
||||||
@ -727,7 +747,9 @@ msgRusStrings:
|
|||||||
_mSetStrRus parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : '
|
_mSetStrRus parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : '
|
||||||
_mSetStrRus parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : '
|
_mSetStrRus parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : '
|
||||||
_mSetStrRus parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : '
|
_mSetStrRus parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : '
|
||||||
|
IF HDDwriteProtect
|
||||||
_mSetStrRus parHddWrPr, tmp_Counter : DZ '‡ é¨â § ¯¨á¨ HDD : '
|
_mSetStrRus parHddWrPr, tmp_Counter : DZ '‡ é¨â § ¯¨á¨ HDD : '
|
||||||
|
ENDIF
|
||||||
_mSetStrRus parScreenY, tmp_Counter : DZ '‘¤¢¨£ íªà ¯® Y : '
|
_mSetStrRus parScreenY, tmp_Counter : DZ '‘¤¢¨£ íªà ¯® Y : '
|
||||||
_mSetStrRus valMinus7, tmp_Counter : DZ '-7'
|
_mSetStrRus valMinus7, tmp_Counter : DZ '-7'
|
||||||
_mSetStrRus valMinus6, tmp_Counter : DZ '-6'
|
_mSetStrRus valMinus6, tmp_Counter : DZ '-6'
|
||||||
|
|||||||
@ -1,18 +1,20 @@
|
|||||||
; _________________
|
;
|
||||||
;---------[All shared defines]----------\/ \/
|
;---------[All shared defines]----------
|
||||||
DEFINE DEBUG 1;| ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||||
DEFINE NEW_FEATURE 0;| /\ ; !TODO ¯ãªâë ¢ á¥â ¯
|
DEFINE NEW_FEATURE 0 ; !TODO ¯ãªâë ¢ á¥â ¯
|
||||||
DEFINE TEST_INT 1;| \/ \/ ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ì᪮£® INT
|
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ì᪮£® INT
|
||||||
DEFINE PACKED_MAIN 0;| | ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||||
DEFINE SP2000_ConfID #FEFF;| ;
|
DEFINE SP2000_ConfID #FEFF ;
|
||||||
DEFINE IDE_Optimization 1;| ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
DEFINE IDE_Optimization 1 ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
||||||
DEFINE NeedSafePort_Y 1;| ============== ; !!!!! ¥á«¨ 0, â® ¢ ०¨¬¥ sp-ᯥªâà㬠¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
DEFINE NeedSafePort_Y 1 ; !!!!! ¥á«¨ 0, â® ¢ ०¨¬¥ sp-ᯥªâà㬠¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
||||||
DEFINE Pashalki 0; \__________________/\
|
DEFINE Pashalki 0 ;
|
||||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp';|
|
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
|
||||||
;____________________________________________________________/
|
|
||||||
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤ £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ¥â, â® § ¨¬ ¥âáï 15ë©
|
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤ £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ¥â, â® § ¨¬ ¥âáï 15ë©
|
||||||
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
||||||
|
|
||||||
|
DEFINE HDDwriteProtect 0
|
||||||
|
|
||||||
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
||||||
DEFINE LOGO_DELAY_MIN 25
|
DEFINE LOGO_DELAY_MIN 25
|
||||||
DEFINE LOGO_DELAY_NORM 100
|
DEFINE LOGO_DELAY_NORM 100
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user