beta support "free zx pages" mode

This commit is contained in:
Tolik 2024-10-06 23:53:24 +10:00
parent 9f78d202ae
commit 61f85bce5e
2 changed files with 40 additions and 54 deletions

View File

@ -71,9 +71,9 @@ SET_CURRENT_HDD:
.NUMBER+1: LD A,#FF
CP #FF
LD C,BIOS.HDD_INIT
JP Z,ToBIOS_18
JP Z,ToBIOS
LD C,BIOS.HDD_PART ; IDE-1/IDE-2
JP ToBIOS_18
JP ToBIOS
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;

View File

@ -191,10 +191,10 @@ BEGIN: LD (LINE_X),IX
AND A
LD HL,MSG_EXIT1
JP Z,EXIT_ALL
;
; £à㧨¬ ¯ «¨âàã ¨ ®¡à § ¤¨áª , ¥á«¨ ­ ¤®
CALL LOAD_IMAGE_FILE
CALL LOADING_PALETTE
CALL SHOW_MESSAGE_OK_CFG_NAME
JP PREPARE_TO_ZXMODE
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
@ -216,7 +216,15 @@ ERROR_FILE: LD HL,ERROR_FILE_MSG_X
.prn_msg: LD C,Dss.PChars
RST ToDSS
;
LD HL,ERROR_FILE_MSG
LD A,(vROM_LOAD_BIN.need_free)
OR A
JR Z,.skip_free
;
LD A,(ZX_vROM_BLK)
LD C,BIOS.FreeMem
RST ToBIOS
;
.skip_free: LD HL,ERROR_FILE_MSG
JR EXIT_ALL
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
JR EXIT_ALL
@ -325,11 +333,11 @@ READ_IMAGE: LD DE,ONE_FILE
INC HL
LD (HL),0
; ãáâ ­ ¢«¨¢ ¥¬ ¨ ¨­¨â¨¬ ¢¨­â
LD A,SYS_PORT.BIOS
OUT (SYS_PORT.ROM),A
; LD A,SYS_PORT.BIOS
; OUT (SYS_PORT.ROM),A
CALL SET_CURRENT_HDD
LD A,SYS_PORT.BIOS
OUT (SYS_PORT.RAM),A
; LD A,SYS_PORT.BIOS
; OUT (SYS_PORT.RAM),A
; ¯ àᨬ ¤«ï à áçñ⮢ BPB
CALL BPB_SetUp
; § ¯®¬¨­ ¥¬ ᥪâ®à ¤¨à¥ªâ®à¨¨
@ -549,7 +557,7 @@ EXIT_TO_DSS: DI
AND A
JR NZ,.next
; ®ç¨á⪠ à ¬¤¨áª®¢
LD BC,SYS_PAGE.RAMD_KEYS.NUM*256 + BIOS.FreeMemRMD
LD BC,256*SYS_PAGE.RAMD_KEYS.NUM + BIOS.FreeMemRMD
.loop: PUSH BC
LD A,B
DEC A
@ -741,7 +749,7 @@ RESET_TO_ZX: DI
;
LD A,(PARAMS.LD_Pal+2)
INC A
JR NZ,Skip_Load_Pallete
JR NZ,Skip_Load_Palette
;
LD HL,PlaceForPalette + 0
LD A,4
@ -759,9 +767,9 @@ RESET_TO_ZX: DI
LD A,7
CALL SET_PAL
;
LD A,%0000'0100 ; set custom palette
EX AF,AF'
OR %0000'0100 ; set custom palette
Skip_Load_Pallete:
Skip_Load_Palette:
EX AF,AF'
LD HL,(PARAMS.Int_sc+2)
ADD A,L
@ -809,7 +817,7 @@ Set_Next_Par: ; SYS_PORT/CNF_PORT
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
SET_PAL: LD DE,0
LD BC,#FF*256 + BIOS.PIC_SET_PAL
JP ToBIOS_18
JP ToBIOS
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
@ -997,7 +1005,10 @@ READ_CNF_FILE: LD HL,#C000
CALL vROM_LOAD_BIN
ENDM
;
LOAD_vROM_BIN: EXX
LOAD_vROM_BIN: LD A,#FF
LD (vROM_LOAD_BIN.need_free),A
;
EXX
LD HL,BUFFER_vROM_PAGES.Pages
EXX
LD HL,BUFFER_RAM_PAGES
@ -1016,7 +1027,9 @@ LOAD_vROM_BIN: EXX
LD (HL),A
LD BC,BIOS.ZX_MEMORY_MANAGER.SetCustomVroms
RST ToBIOS
;!TODO check error
XOR A
LD (vROM_LOAD_BIN.need_free),A
RET
;
vROM_LOAD_BIN: EX DE,HL
@ -1052,41 +1065,7 @@ vROM_LOAD_BIN: EX DE,HL
EXX
RET
;
;NO_ZX_FLAG: DB 0
;
; MACRO vROM_LOAD romLine;,pageNumber
; .romLine = (romLine-1)*2
; EX DE,HL
; LD HL,(ADDRESS_LINES+.romLine)
; LD A,(HL)
; CP ';'
; EX DE,HL
; JR NZ,.go_load
; LD (HL),0
; EX DE,HL
; LD A,(NO_ZX_FLAG)
; OR A
; JR Z,.skip_load
; JP ERROR_ZX_FLAG
; .go_load:
; LD A,(HL) ;BUFFER_RAM_PAGES.ROM
; PUSH HL
; EX DE,HL
; CALL READ_FILE_1
; POP DE
; ;
; LD A,SHARED_PAGE
; OUT (SLOT3),A
; JP C,ERROR_FILE
; .skip_load:
; INC DE
; EX DE,HL
; ENDM
;
.need_free: DB 0
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
@ -1113,11 +1092,14 @@ LOAD_IMAGE_FILE:
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;!TEST palette load
LOADING_PALETTE:
;EX DE,HL
LD A,(PARAMS.LD_Pal+2)
INC A
RET NZ
;
LD HL,( ADDRESS_LINES + ((CFG_FILE_LINES.PALETTE-1)*2) )
LD A,(HL)
CP ';'
JR Z,.skip
RET Z
;
LD DE,ONE_FILE
LD BC,FULL_FILE_NAME_LENGTH
@ -1141,8 +1123,12 @@ LOADING_PALETTE:
;
LD A,(FILE_HANDLE)
LD C,Dss.Close
RST ToDSS
.skip: ;!TODO ¯¥ç â âì ¨¬ï ä ©«  ¯ «¨âàë, ¥á«¨ ®­ § £à㦥­
JP ToDSS
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
SHOW_MESSAGE_OK_CFG_NAME:
; ä ©«ë áç¨â ­ë
LD HL,MSG_NORMAL
LD C,Dss.PChars