+ защита от утечек памяти флага ZX

This commit is contained in:
Anatoliy Belyanskiy 2023-12-31 23:12:00 +10:00
parent 0379d0c9b1
commit 5c8e58eb99
3 changed files with 44 additions and 12 deletions

View File

@ -702,8 +702,29 @@ POST_5_OK:
;-------------[Save IX:IY]-------------- ;-------------[Save IX:IY]--------------
; Don't use IY before this point if it`s normal booting!!! ; Don't use IY before this point if it`s normal booting!!!
LD IX,0 LD IX,0
AND A XOR A
ADD IX,SP ; ¢®ááâ ­®¢¨âì §­ ç¥­¨¥ ¯¥à¥¤ ­­®¥ § £àã§ç¨ª®¬ ª®­äë (¥á«¨ áâ àâ ¯®á«¥ à¥á¥â ) ADD IX,SP ; ¢®ááâ ­®¢¨âì §­ ç¥­¨¥ ¯¥à¥¤ ­­®¥ § £àã§ç¨ª®¬ ª®­äë (¥á«¨ áâ àâ ¯®á«¥ à¥á¥â )
;!TEST 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
LD R,A
;
LD D,YH
LD E,YL
EX DE,HL
LD DE,SP2000_Loader_Flag
SBC HL,DE
JR NZ,.no_conf_reload
;
LD D,XH
LD E,XL
EX DE,HL
LD DE,SP2000_ConfID
SBC HL,DE
JR NZ,.no_conf_reload
;
LD A,#80
LD R,A
.no_conf_reload:
;
; ;
; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm ; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm
; ;
@ -775,9 +796,8 @@ set_config:
;[---------------------------------------------------------------------] ;[---------------------------------------------------------------------]
MODULE Reset_Handler MODULE Reset_Handler
start: start: IN A,(SLOT3)
IN A,(SLOT3) PUSH AF
push af
;----[¯¥à¥å¢ â soft reset #EE port]----- ;----[¯¥à¥å¢ â soft reset #EE port]-----
Check_EE_Port: Check_EE_Port:
LD A,ACEX.RET_PORT LD A,ACEX.RET_PORT
@ -819,18 +839,29 @@ Check_Spec_Page:
LD A,(#FFF7) LD A,(#FFF7)
CP 'R' CP 'R'
JR NZ,Spec_Page_handler_OK ;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
LD A,(#FFF8) LD A,(#FFF8)
CP 'S' CP 'S'
JR NZ,Spec_Page_handler_OK ;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
LD A,(#FFF9) LD A,(#FFF9)
CP 'T' CP 'T'
JR NZ,Spec_Page_handler_OK ;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
XOR A XOR A
LD (#FFF7),A LD (#FFF7),A
JR Check_EE_Port.After_Hard_Rst JR Check_EE_Port.After_Hard_Rst
;
;!TEST 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
Spec_Page_handler_Next:
LD A,R
AND #80
JR Z,Spec_Page_handler_OK
XOR A
LD R,A
;--------------------------------------- ;---------------------------------------
No_Reset_handlers: No_Reset_handlers:
init_rom_address EQU #8200 ;!HARDCODE init_rom_address EQU #8200 ;!HARDCODE
@ -870,7 +901,7 @@ init_rom_address EQU #8200 ;!HARDCO
;--------------------------------------- ;---------------------------------------
Spec_Page_handler_OK: Spec_Page_handler_OK:
pop af POP AF
OUT (SLOT3),A OUT (SLOT3),A
ENDMODULE ENDMODULE

View File

@ -100,7 +100,7 @@
DEC D ; multiple config! DEC D ; multiple config!
.ONES_CONFIG: .ONES_CONFIG:
LD IY,#0107 ;!HARDCODE ;!!!!! ¯®¤ã¬ âì))) LD IY,SP2000_Loader_Flag
;!TEST ;!TEST
;LD IX,#FFFD ;LD IX,#FFFD
LD IX,SP2000_ConfID ;!!!!! ¯®¤ã¬ âì))) LD IX,SP2000_ConfID ;!!!!! ¯®¤ã¬ âì)))

View File

@ -2,6 +2,7 @@
;---------[All shared defines]---------- ;---------[All shared defines]----------
DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥ DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®? DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
DEFINE SP2000_Loader_Flag #0107
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-ᯥªâà㬠 ­¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà ­