mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 17:11:38 +03:00
beta support "free zx pages" mode
This commit is contained in:
parent
9f78d202ae
commit
61f85bce5e
@ -71,9 +71,9 @@ SET_CURRENT_HDD:
|
|||||||
.NUMBER+1: LD A,#FF
|
.NUMBER+1: LD A,#FF
|
||||||
CP #FF
|
CP #FF
|
||||||
LD C,BIOS.HDD_INIT
|
LD C,BIOS.HDD_INIT
|
||||||
JP Z,ToBIOS_18
|
JP Z,ToBIOS
|
||||||
LD C,BIOS.HDD_PART ; IDE-1/IDE-2
|
LD C,BIOS.HDD_PART ; IDE-1/IDE-2
|
||||||
JP ToBIOS_18
|
JP ToBIOS
|
||||||
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
|
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
|
||||||
|
|
||||||
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
|
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
|
||||||
|
|||||||
90
spectrum.asm
90
spectrum.asm
@ -191,10 +191,10 @@ BEGIN: LD (LINE_X),IX
|
|||||||
AND A
|
AND A
|
||||||
LD HL,MSG_EXIT1
|
LD HL,MSG_EXIT1
|
||||||
JP Z,EXIT_ALL
|
JP Z,EXIT_ALL
|
||||||
;
|
|
||||||
; £à㧨¬ ¯ «¨âàã ¨ ®¡à § ¤¨áª , ¥á«¨ ¤®
|
; £à㧨¬ ¯ «¨âàã ¨ ®¡à § ¤¨áª , ¥á«¨ ¤®
|
||||||
CALL LOAD_IMAGE_FILE
|
CALL LOAD_IMAGE_FILE
|
||||||
CALL LOADING_PALETTE
|
CALL LOADING_PALETTE
|
||||||
|
CALL SHOW_MESSAGE_OK_CFG_NAME
|
||||||
JP PREPARE_TO_ZXMODE
|
JP PREPARE_TO_ZXMODE
|
||||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
|
||||||
@ -216,7 +216,15 @@ ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
|||||||
.prn_msg: LD C,Dss.PChars
|
.prn_msg: LD C,Dss.PChars
|
||||||
RST ToDSS
|
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
|
JR EXIT_ALL
|
||||||
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
|
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
|
||||||
JR EXIT_ALL
|
JR EXIT_ALL
|
||||||
@ -325,11 +333,11 @@ READ_IMAGE: LD DE,ONE_FILE
|
|||||||
INC HL
|
INC HL
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
; ãáâ ¢«¨¢ ¥¬ ¨ ¨¨â¨¬ ¢¨â
|
; ãáâ ¢«¨¢ ¥¬ ¨ ¨¨â¨¬ ¢¨â
|
||||||
LD A,SYS_PORT.BIOS
|
; LD A,SYS_PORT.BIOS
|
||||||
OUT (SYS_PORT.ROM),A
|
; OUT (SYS_PORT.ROM),A
|
||||||
CALL SET_CURRENT_HDD
|
CALL SET_CURRENT_HDD
|
||||||
LD A,SYS_PORT.BIOS
|
; LD A,SYS_PORT.BIOS
|
||||||
OUT (SYS_PORT.RAM),A
|
; OUT (SYS_PORT.RAM),A
|
||||||
; ¯ àᨬ ¤«ï à áçñ⮢ BPB
|
; ¯ àᨬ ¤«ï à áçñ⮢ BPB
|
||||||
CALL BPB_SetUp
|
CALL BPB_SetUp
|
||||||
; § ¯®¬¨ ¥¬ ᥪâ®à ¤¨à¥ªâ®à¨¨
|
; § ¯®¬¨ ¥¬ ᥪâ®à ¤¨à¥ªâ®à¨¨
|
||||||
@ -549,7 +557,7 @@ EXIT_TO_DSS: DI
|
|||||||
AND A
|
AND A
|
||||||
JR NZ,.next
|
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
|
.loop: PUSH BC
|
||||||
LD A,B
|
LD A,B
|
||||||
DEC A
|
DEC A
|
||||||
@ -741,7 +749,7 @@ RESET_TO_ZX: DI
|
|||||||
;
|
;
|
||||||
LD A,(PARAMS.LD_Pal+2)
|
LD A,(PARAMS.LD_Pal+2)
|
||||||
INC A
|
INC A
|
||||||
JR NZ,Skip_Load_Pallete
|
JR NZ,Skip_Load_Palette
|
||||||
;
|
;
|
||||||
LD HL,PlaceForPalette + 0
|
LD HL,PlaceForPalette + 0
|
||||||
LD A,4
|
LD A,4
|
||||||
@ -759,9 +767,9 @@ RESET_TO_ZX: DI
|
|||||||
LD A,7
|
LD A,7
|
||||||
CALL SET_PAL
|
CALL SET_PAL
|
||||||
;
|
;
|
||||||
|
LD A,%0000'0100 ; set custom palette
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OR %0000'0100 ; set custom palette
|
Skip_Load_Palette:
|
||||||
Skip_Load_Pallete:
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD HL,(PARAMS.Int_sc+2)
|
LD HL,(PARAMS.Int_sc+2)
|
||||||
ADD A,L
|
ADD A,L
|
||||||
@ -809,7 +817,7 @@ Set_Next_Par: ; SYS_PORT/CNF_PORT
|
|||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
SET_PAL: LD DE,0
|
SET_PAL: LD DE,0
|
||||||
LD BC,#FF*256 + BIOS.PIC_SET_PAL
|
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
|
CALL vROM_LOAD_BIN
|
||||||
ENDM
|
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
|
LD HL,BUFFER_vROM_PAGES.Pages
|
||||||
EXX
|
EXX
|
||||||
LD HL,BUFFER_RAM_PAGES
|
LD HL,BUFFER_RAM_PAGES
|
||||||
@ -1016,7 +1027,9 @@ LOAD_vROM_BIN: EXX
|
|||||||
LD (HL),A
|
LD (HL),A
|
||||||
LD BC,BIOS.ZX_MEMORY_MANAGER.SetCustomVroms
|
LD BC,BIOS.ZX_MEMORY_MANAGER.SetCustomVroms
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
;!TODO check error
|
||||||
|
XOR A
|
||||||
|
LD (vROM_LOAD_BIN.need_free),A
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
vROM_LOAD_BIN: EX DE,HL
|
vROM_LOAD_BIN: EX DE,HL
|
||||||
@ -1052,41 +1065,7 @@ vROM_LOAD_BIN: EX DE,HL
|
|||||||
EXX
|
EXX
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
.need_free: DB 0
|
||||||
|
|
||||||
;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
|
|
||||||
;
|
|
||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
|
|
||||||
|
|
||||||
@ -1113,11 +1092,14 @@ LOAD_IMAGE_FILE:
|
|||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
;!TEST palette load
|
;!TEST palette load
|
||||||
LOADING_PALETTE:
|
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 HL,( ADDRESS_LINES + ((CFG_FILE_LINES.PALETTE-1)*2) )
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CP ';'
|
CP ';'
|
||||||
JR Z,.skip
|
RET Z
|
||||||
;
|
;
|
||||||
LD DE,ONE_FILE
|
LD DE,ONE_FILE
|
||||||
LD BC,FULL_FILE_NAME_LENGTH
|
LD BC,FULL_FILE_NAME_LENGTH
|
||||||
@ -1141,8 +1123,12 @@ LOADING_PALETTE:
|
|||||||
;
|
;
|
||||||
LD A,(FILE_HANDLE)
|
LD A,(FILE_HANDLE)
|
||||||
LD C,Dss.Close
|
LD C,Dss.Close
|
||||||
RST ToDSS
|
JP ToDSS
|
||||||
.skip: ;!TODO ¯¥ç â âì ¨¬ï ä ©« ¯ «¨âàë, ¥á«¨ ® § £à㦥
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
|
|
||||||
|
|
||||||
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
|
SHOW_MESSAGE_OK_CFG_NAME:
|
||||||
; ä ©«ë áç¨â ë
|
; ä ©«ë áç¨â ë
|
||||||
LD HL,MSG_NORMAL
|
LD HL,MSG_NORMAL
|
||||||
LD C,Dss.PChars
|
LD C,Dss.PChars
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user