fix bug in EMM.MergeMemBlocks (нашел Константин Косарев)
This commit is contained in:
parent
ab774cc0e2
commit
3c0d7205c7
@ -238,7 +238,7 @@ TAB_FNS:
|
||||
DB low READ_PORTS ; #F9 [x] 26/01/2024
|
||||
DB low FN_RESERVED ; #FA [x] 26/01/2024 ¥ à ¡®â « ¨ ¥ 㦠, ¤ã¡«¨àã¥â SET_PORTS
|
||||
DB low GOTO_SPEC ; #FB Goto Spectrum!
|
||||
DB low ZX_MEMORY_MANAGER ; #FC ; [ ] free zx pages!
|
||||
DB low ZX_MEMORY_MANAGER ; #FC API ¤«ï ¤¨ ¬¨ç¥áª®£® ¢ë¤¥«¥¨ï áâà ¨æ ‘¯¥ªâàã¬
|
||||
DB low REINIT ; #FD
|
||||
DB low FN_RESERVED ; #FE SAVE_AUTOSTART. …áâì ¢ ZX_EXP.ASM
|
||||
DB low FN_VERSION ; #FF
|
||||
|
||||
@ -707,11 +707,11 @@ POST_5_ERROR:
|
||||
OUT (RGADR),A
|
||||
OUT (RGMOD),A
|
||||
OUT (SLOT0),A
|
||||
; [ ] 20/08/2024 ; [x] free zx pages!
|
||||
; LD A,5
|
||||
; OUT (SLOT1),A
|
||||
; LD A,2
|
||||
; OUT (SLOT2),A
|
||||
;free zx pages!
|
||||
;LD A,ZX_PAGE.SLOT1
|
||||
;OUT (SLOT1),A
|
||||
;LD A,ZX_PAGE.SLOT2
|
||||
;OUT (SLOT2),A
|
||||
OUT (SLOT2),A ; ZERO_PAGE
|
||||
DEC A ; SHARED_PAGE
|
||||
OUT (SLOT1),A
|
||||
@ -777,7 +777,7 @@ Check_EE_Port: LD A,ACEX.RET_PORT
|
||||
;CALL @ToBIOS_3D13 ; ¯¥à¥ãáâ ®¢¨âì ¢ãâà. ¯®àâ #EE
|
||||
CALL SET_PORTS
|
||||
;
|
||||
; [ ] 20/10/2024 ¨£®à ¯¥à¥å¢ â稪 ¯® ª« ¢¨è¥ 0
|
||||
; [x] 20/10/2024 ¨£®à ¯¥à¥å¢ â稪 ¯® ª« ¢¨è¥ 0
|
||||
LD A,high ZXKeys.Line_4
|
||||
IN A,(ZXKeys)
|
||||
RRCA
|
||||
@ -1196,7 +1196,7 @@ DOS_ON: NOP ;!TODO ࠡ
|
||||
|
||||
|
||||
; IF FREE_ZX_PAGES
|
||||
; [ ] free zx pages! ---------------------------------------------------;
|
||||
;-----------------------------------------------------------------------;
|
||||
GOTO_SPEC: PUSH HL
|
||||
LD HL,RET_TO_BIOS
|
||||
EX (SP),HL
|
||||
|
||||
@ -102,18 +102,15 @@ EMM.InitMem: PUSH BC
|
||||
POP BC
|
||||
RET
|
||||
;---------------------------------------------------------------------[]
|
||||
RESERVED_PAGES:
|
||||
; [x] Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1
|
||||
;DB 1,3,4,6,7,8,9,10,11,12,13,14,15 ; [ ] free zx pages! for Spectrum
|
||||
;!FIXIT áâà ¨æë 16..31 ¥ § १¥à¢¨à®¢ ë, ® ¨á¯®«ì§ãîâáï ¢ Pentagon 512
|
||||
;
|
||||
; í¬ã«ïâ®à <20>‡“ ;!FIXIT ROM-Emulator ᤥ« âì ¤¨ ¬¨ç¥áª¨¥ áâà ¨æë
|
||||
;DB #42,#43,#44,#45,#46,#47;,#48,#49,#4A,#4B ; [ ] free zx pages! For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION
|
||||
RESERVED_PAGES: ;[x] free zx pages!
|
||||
; Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1
|
||||
;DB 1,3,4,6,7,8,9,10,11,12,13,14,15 ; for Spectrum
|
||||
; í¬ã«ïâ®à <20>‡“
|
||||
;DB #42,#43,#44,#45,#46,#47;,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION
|
||||
;DB #FF ; End of the block
|
||||
;
|
||||
;
|
||||
;; Block #2 - ¥«ì§ï ®á¢®¡®¦¤ âì
|
||||
DB ZX_PAGE.SLOT0,ZX_PAGE.SLOT2,ZX_PAGE.SLOT1 ; [ ] free zx pages! ; for Spectrum and BIOS starting
|
||||
; Block #2 - ¥«ì§ï ®á¢®¡®¦¤ âì
|
||||
DB ZX_PAGE.SLOT0,ZX_PAGE.SLOT2,ZX_PAGE.SLOT1 ; for Spectrum and BIOS starting
|
||||
DB DCP_PAGE ; Ports map
|
||||
DB Spec_Page ; Page for Spectrum mode
|
||||
; Screen pages
|
||||
@ -125,7 +122,6 @@ RESERVED_PAGES:
|
||||
DB SYS_PAGE ; Page for system (BIOS) variables
|
||||
DB #FF ; End of the block
|
||||
;
|
||||
;.Blocks EQU 2
|
||||
;----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
@ -278,20 +274,15 @@ EMM.FreeMemRMD: CALL GET_RAMD_ST
|
||||
; ‚室: A - <20>€—€‹Ž –…<E28093>Ž—Šˆ
|
||||
; <20>… <20>Ž<EFBFBD>’ˆ’œ DE!!!
|
||||
;EMM_FN3M:
|
||||
EMM.FreeMem: ; [x] free zx pages! ⥯¥àì ¥«ì§ï ®á¢®¡®¤¨âì áâà ¨æã #FF
|
||||
EMM.FreeMem: ; [x] ⥯¥àì ¥«ì§ï ®á¢®¡®¤¨âì áâà ¨æã #FF
|
||||
SCF
|
||||
INC A
|
||||
RET Z
|
||||
DEC A
|
||||
;AND A
|
||||
;SCF
|
||||
;
|
||||
RET Z
|
||||
;
|
||||
LD C,A
|
||||
;CP ZX_RAM_ID ;!FIXIT ; [ ] free zx pages!
|
||||
;CALL Z,RES_FLAG_ZXvROM
|
||||
;
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -307,7 +298,7 @@ EMM.FreeMem: ; [x] free zx pages! ⥯
|
||||
CP #FF ; …᫨ ¥ ª®¥æ
|
||||
JR NZ,.loop ; ¯à®¤®«¦ âì
|
||||
|
||||
; !TEST 23/08/2024 ¢®ááâ ®¢«¥¨¥ 楯®çª¨ ¥á«¨ ®á¢®¡®¦¤ «¨ ¥ á ç «
|
||||
; [x] 23/08/2024 ¢®ááâ ®¢«¥¨¥ 楯®çª¨ ¥á«¨ ®á¢®¡®¦¤ «¨ ¥ á ç «
|
||||
LD A,C
|
||||
LD L,0
|
||||
LD BC,256
|
||||
@ -542,6 +533,7 @@ EMM.MergeMemBlocks:
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD H,high SYS_PAGE.RAM_TABLE
|
||||
LD L,E
|
||||
LD C,B
|
||||
LD B,0
|
||||
.ADD_L: LD A,(HL)
|
||||
@ -558,8 +550,7 @@ EMM.MergeMemBlocks:
|
||||
SCF
|
||||
RET
|
||||
|
||||
.ADD_NEXT:
|
||||
LD A,C
|
||||
.ADD_NEXT: LD A,C
|
||||
AND A
|
||||
JR Z,.ADD_ERR
|
||||
LD (HL),A
|
||||
|
||||
@ -50,7 +50,7 @@ RST_CONF:
|
||||
OUT (SYS_PORT.ON),A
|
||||
LD A,C
|
||||
;
|
||||
CP #80 ;!FIXIT âãâ ⥯¥àì ¬®¦¥â «î¡®¥ ç¨á«® ¡ëâì ã áâ àëå ¯à®£ ; [ ] free zx pages
|
||||
CP #80 ; âãâ ⥯¥àì ¬®¦¥â «î¡®¥ ç¨á«® ¡ëâì ã áâ àëå ¯à®£
|
||||
JR NC,.CHOOSE_CNF
|
||||
; only for old FLEX10K soft compatible
|
||||
.crutch: LD C,SLOT3
|
||||
@ -94,9 +94,9 @@ RST_CONF:
|
||||
RET
|
||||
;
|
||||
;[x]
|
||||
.CHOOSE_CNF: ; [ ] bug with "free zx pages"
|
||||
.CHOOSE_CNF: ; [x] bug with "free zx pages"
|
||||
LD A,high ZX_MEM_PORT.Scorpion
|
||||
IN A,(ZX_MEM_PORT) ;!HARDCODE
|
||||
IN A,(ZX_MEM_PORT)
|
||||
RRCA
|
||||
LD A,C
|
||||
JR C,.not_vRAM_page
|
||||
@ -218,13 +218,6 @@ RST_CONF:
|
||||
; LD (HL),"T"
|
||||
; ;
|
||||
; ; .. ... ... ..
|
||||
; ;!TODO ᤥ« âì äãªæ¨î ¯® § «¨¢ª¥ ᢮¥© ª®äë, ¯¥à¥å¢ âã à¥á¥â .
|
||||
; ; *. ‚室 ¢ ¯®¤äãªæ¨î ⮫쪮 ç¥à¥§ RST 08 ¨«¨ #18
|
||||
; ; *. ‘®åà ¨âì ¢á¥ áâà ¨æë ¯®«ì§®¢ â¥«ï ¢ SYS_PAGE ¤«ï ¯¥à¥å¢ â à¥á¥â
|
||||
; ; *. „®áâ âì á® á⥪ ¤à¥á ¢®§¢à â ¨ á®åà ¨âì ¢ SYS_PAGE ¤«ï ¯¥à¥å¢ â à¥á¥â
|
||||
; ; *. ‘®åà ¨âì ªã¤ -¨¡ã¤ì § 票¥ á⥪
|
||||
; ; *
|
||||
; ; .. ... ... ..
|
||||
; ;LD BC,BIOS.REINIT.HARD_RESET
|
||||
; .reinit: JP REINIT
|
||||
;
|
||||
@ -413,16 +406,6 @@ RST_CONF:
|
||||
.kill_flag: LD (HL),"S"
|
||||
INC HL
|
||||
LD (HL),"T"
|
||||
;
|
||||
; .. ... ... ..
|
||||
; [ ]
|
||||
;!TODO ᤥ« âì äãªæ¨î ¯® § «¨¢ª¥ ᢮¥© ª®äë, ¯¥à¥å¢ âã à¥á¥â .
|
||||
; *. ‚室 ¢ ¯®¤äãªæ¨î ⮫쪮 ç¥à¥§ RST 08 ¨«¨ #18
|
||||
; *. ‘®åà ¨âì ¢á¥ áâà ¨æë ¯®«ì§®¢ â¥«ï ¢ SYS_PAGE ¤«ï ¯¥à¥å¢ â à¥á¥â
|
||||
; *. „®áâ âì á® á⥪ ¤à¥á ¢®§¢à â ¨ á®åà ¨âì ¢ SYS_PAGE ¤«ï ¯¥à¥å¢ â à¥á¥â
|
||||
; *. ‘®åà ¨âì ªã¤ -¨¡ã¤ì § 票¥ á⥪
|
||||
; *
|
||||
; .. ... ... ..
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
@ -252,7 +252,6 @@ INIT_SYS_ALL:
|
||||
XOR A
|
||||
LD (SYS_PAGE.CURRENT_RAM_DRV - #4000),A
|
||||
;
|
||||
; [ ] free zx pages!
|
||||
;;; init task's
|
||||
;
|
||||
LD DE,ZG_ADDRESS ; ¤à¥á § ª®£¥¥à â®à
|
||||
|
||||
@ -277,7 +277,7 @@ INIT_vROM: LD A,(HL)
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;!FIXIT
|
||||
;----------------[<5B>ыЄЅЋЅЈЅ/ЎсЂЎЁЎІЄЅЈЅ стр Јц сЏЅЊтруЌ ]-------------;
|
||||
;-------------[<5B>ыЄЅЋЅЈЅ/ЎсЂЎЁЎІЄЅЈЅ/ЈЈт стр Јц сЏЅЊтруЌ ]-----------;
|
||||
;¢å®¤: ॣ B:
|
||||
; FN 0x
|
||||
; 0 - § १¥à¢¨à®¢ ®
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
;=======================[All shared EQUs]=======================;
|
||||
BETA_BUILD EQU 9 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||
BETA_BUILD EQU 17 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||
;======================[All shared defines]=====================;
|
||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SP2000_Loader_Flag #0107 ;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user