mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
Сохранение и восстановление состояния прерываний в EXP_FNS
This commit is contained in:
parent
f734b2a361
commit
7c6a680d63
40
SP_TRDOS.ASM
40
SP_TRDOS.ASM
@ -6447,6 +6447,36 @@ PRINT_RED:
|
|||||||
POP BC
|
POP BC
|
||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
;*******************************
|
||||||
|
|
||||||
|
|
||||||
|
;*******************************
|
||||||
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
|
EXP_FNS_PREPARE:
|
||||||
|
PUSH HL
|
||||||
|
PUSH AF
|
||||||
|
LD A,R
|
||||||
|
DI
|
||||||
|
PUSH AF
|
||||||
|
POP HL
|
||||||
|
POP AF
|
||||||
|
EX (SP),HL
|
||||||
|
CALL EXP_FNS_PREPARE_EXIT
|
||||||
|
EX (SP),HL
|
||||||
|
PUSH AF
|
||||||
|
LD A,L
|
||||||
|
AND 4
|
||||||
|
JR Z,.no_EI
|
||||||
|
EI
|
||||||
|
.no_EI: POP AF
|
||||||
|
POP HL
|
||||||
|
RET
|
||||||
|
EXP_FNS_PREPARE_EXIT:
|
||||||
|
PUSH AF
|
||||||
|
XOR A
|
||||||
|
JP EXP_FNS_PREPARE_RET
|
||||||
|
;*******************************
|
||||||
|
|
||||||
|
|
||||||
;*******************************
|
;*******************************
|
||||||
BLOCK #3CC0 - $,255
|
BLOCK #3CC0 - $,255
|
||||||
@ -7016,9 +7046,13 @@ HD_CMD: PUSH AF
|
|||||||
;----[ From API #80..#FF to TR-DOS ]-----
|
;----[ From API #80..#FF to TR-DOS ]-----
|
||||||
BLOCK #3FF8-$, #FF
|
BLOCK #3FF8-$, #FF
|
||||||
EXP_FNS:
|
EXP_FNS:
|
||||||
PUSH AF
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
DI
|
;PUSH AF
|
||||||
XOR A ; D_ROM16OFF
|
;DI ;!TODO ¯®¤ã¬ âì, ª ª á®åà ïâì á®áâ®ï¨¥ ¯à¥àë¢ ¨© ¨ ¨ç¥£® ¥ á«®¬ âì
|
||||||
|
;XOR A ; D_ROM16OFF
|
||||||
|
JP EXP_FNS_PREPARE
|
||||||
|
EXP_FNS_PREPARE_RET:
|
||||||
|
;
|
||||||
OUT (SYS_PORT_ON),A
|
OUT (SYS_PORT_ON),A
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|||||||
@ -570,7 +570,9 @@ AY8910:
|
|||||||
LD A,#EA
|
LD A,#EA
|
||||||
LD C,#F3 ;!HARDCODE BIOS.SPRINTER_ALL
|
LD C,#F3 ;!HARDCODE BIOS.SPRINTER_ALL
|
||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
CALL AUTO_1D97
|
CALL AUTO_1D97
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -592,7 +594,9 @@ SP_1: LD A,(DE)
|
|||||||
CCF
|
CCF
|
||||||
RET C
|
RET C
|
||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
CALL AUTO_1D97
|
CALL AUTO_1D97
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
|
|
||||||
INIT_RMD:
|
INIT_RMD:
|
||||||
LD C,#9F ;!HARDCODE BIOS.FullInit
|
LD C,#9F ;!HARDCODE BIOS.FullInit
|
||||||
CALL EXP_FNS
|
;!TEST 06/01/2024 á®åà 塞 á®áâ®ï¨¥ ¯à¥àë¢ ¨© § 祬-â®
|
||||||
EI
|
JP EXP_FNS
|
||||||
RET
|
;CALL EXP_FNS
|
||||||
|
;EI
|
||||||
|
;RET
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
; DI
|
; DI
|
||||||
; LD C,PAGE3
|
; LD C,PAGE3
|
||||||
@ -220,9 +224,7 @@ CONT_XX1:
|
|||||||
|
|
||||||
ADD A,A
|
ADD A,A
|
||||||
INC A
|
INC A
|
||||||
|
|
||||||
LOOP_128:
|
LOOP_128:
|
||||||
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH IX
|
PUSH IX
|
||||||
@ -271,7 +273,7 @@ MADE_next_blk:
|
|||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
POP BC
|
POP BC
|
||||||
INC L ; SET ZF, if END BLK !!!
|
INC L ; SET ZF, if END BLK !!!
|
||||||
LD HL,0C000H
|
LD HL,#C000
|
||||||
RET
|
RET
|
||||||
;*****************************************
|
;*****************************************
|
||||||
|
|
||||||
|
|||||||
@ -431,7 +431,7 @@ READ_BPB:
|
|||||||
RET NC
|
RET NC
|
||||||
.SPACIAL:
|
.SPACIAL:
|
||||||
LD IX,0
|
LD IX,0
|
||||||
LD DE,63
|
LD DE,63 ;!HARDCODE
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
LD HL,MS_BPB
|
LD HL,MS_BPB
|
||||||
LD C,BIOS.HDD_READ and #BF
|
LD C,BIOS.HDD_READ and #BF
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
;
|
||||||
DISK_REDIR:
|
DISK_REDIR:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -5,7 +6,9 @@ DISK_REDIR:
|
|||||||
AND 3
|
AND 3
|
||||||
LD C,BIOS.GET_DRV_ST
|
LD C,BIOS.GET_DRV_ST
|
||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
POP BC
|
POP BC
|
||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
@ -42,7 +45,9 @@ TEST_RAMD:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
LD C,#CE ;!HARDCODE BIOS.GET_RAMD_ST
|
LD C,#CE ;!HARDCODE BIOS.GET_RAMD_ST
|
||||||
CALL EXP_FNS
|
CALL EXP_FNS
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -273,11 +278,13 @@ PAGE_CALC2:
|
|||||||
AND #0F
|
AND #0F
|
||||||
LD D,A
|
LD D,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD C,#98 ;!HARDCODE BIOS.RAMD_CALC_PAGE
|
LD C,BIOS.RAMD_CALC_PAGE
|
||||||
CALL DISK_REDIR
|
CALL DISK_REDIR
|
||||||
SUB 4
|
SUB 4
|
||||||
CALL EXP_FNS ; ¢ëç¨á«¥¨¥ ¤à¥á ¨ áâà ¨æë RAM-Disk
|
CALL EXP_FNS ; ¢ëç¨á«¥¨¥ ¤à¥á ¨ áâà ¨æë RAM-Disk
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,H
|
LD C,H
|
||||||
POP HL
|
POP HL
|
||||||
@ -394,7 +401,9 @@ CLEAR_RMD_A:
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
LD C,#93 ;!HARDCODE BIOS.FreeMemRMD
|
LD C,#93 ;!HARDCODE BIOS.FreeMemRMD
|
||||||
CALL EXP_FNS ; ¢ë§¢ âì äãªæ¨î
|
CALL EXP_FNS ; ¢ë§¢ âì äãªæ¨î
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
POP HL
|
POP HL
|
||||||
@ -405,7 +414,9 @@ GET_RMD_A:
|
|||||||
GET_RAM_BLK: ; B - —ˆ‘‹Ž ’<>…<EFBFBD>“…Œ›• <20>‹ŽŠŽ‚, A - Š‹ž— RAM-Disk
|
GET_RAM_BLK: ; B - —ˆ‘‹Ž ’<>…<EFBFBD>“…Œ›• <20>‹ŽŠŽ‚, A - Š‹ž— RAM-Disk
|
||||||
LD C,#92 ;!HARDCODE BIOS.GetMemRMD
|
LD C,#92 ;!HARDCODE BIOS.GetMemRMD
|
||||||
CALL EXP_FNS ; A,L - Š‹ž— RAM-Disk - ®¬¥à ¯¥à¢®£® ¡«®ª
|
CALL EXP_FNS ; A,L - Š‹ž— RAM-Disk - ®¬¥à ¯¥à¢®£® ¡«®ª
|
||||||
EI
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
|
;EI
|
||||||
|
;
|
||||||
RET NC
|
RET NC
|
||||||
NO_MEM:
|
NO_MEM:
|
||||||
LD HL,NO_MEMORY
|
LD HL,NO_MEMORY
|
||||||
@ -420,9 +431,12 @@ FDD_SET:
|
|||||||
LD A,(OPER_DISK)
|
LD A,(OPER_DISK)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,#CC ;!HARDCODE BIOS.FDD_TO_DRV
|
LD C,#CC ;!HARDCODE BIOS.FDD_TO_DRV
|
||||||
CALL EXP_FNS
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
EI
|
JP EXP_FNS
|
||||||
RET
|
;CALL EXP_FNS
|
||||||
|
;EI
|
||||||
|
;RET
|
||||||
|
;
|
||||||
|
|
||||||
HDD_SET:
|
HDD_SET:
|
||||||
LD C,BIOS.HDD_INIT and #BF
|
LD C,BIOS.HDD_INIT and #BF
|
||||||
@ -433,9 +447,12 @@ HDD_SET:
|
|||||||
LD B,A
|
LD B,A
|
||||||
LD A,0
|
LD A,0
|
||||||
LD C,#CD ;!HARDCODE BIOS.HDD_TO_DRV
|
LD C,#CD ;!HARDCODE BIOS.HDD_TO_DRV
|
||||||
CALL EXP_FNS
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
EI
|
JP EXP_FNS
|
||||||
RET
|
;CALL EXP_FNS
|
||||||
|
;EI
|
||||||
|
;RET
|
||||||
|
;
|
||||||
|
|
||||||
RAMD_SET:
|
RAMD_SET:
|
||||||
CALL RAMD_SYM
|
CALL RAMD_SYM
|
||||||
@ -446,9 +463,12 @@ RAMD_SET1:
|
|||||||
LD B,A
|
LD B,A
|
||||||
POP AF
|
POP AF
|
||||||
LD C,#CB ;!HARDCODE BIOS.RAMD_TO_DRV
|
LD C,#CB ;!HARDCODE BIOS.RAMD_TO_DRV
|
||||||
CALL EXP_FNS
|
;!TEST 06/01/2024 α<>εΰ ο₯¬ α<>αβ<CEB1>ο¨₯ ―ΰ₯ΰλ’ ¨© § η₯¬-β<>
|
||||||
EI
|
JP EXP_FNS
|
||||||
RET
|
;CALL EXP_FNS
|
||||||
|
;EI
|
||||||
|
;RET
|
||||||
|
;
|
||||||
|
|
||||||
RAMD_SYM:
|
RAMD_SYM:
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user