...temp...
This commit is contained in:
parent
8b94cc4e63
commit
d80b79a832
@ -1 +1 @@
|
|||||||
Subproject commit 75ceae51d36476f236476681aac5c7619ca22005
|
Subproject commit e9d481a5565338505710b08e50d22a8579c400be
|
||||||
Binary file not shown.
@ -717,9 +717,6 @@ POST_5_OK:
|
|||||||
;
|
;
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;-----------------------------------------------------------------------;
|
|
||||||
|
|
||||||
|
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
MODULE SET_CONFIG_ID
|
MODULE SET_CONFIG_ID
|
||||||
;-------------[Save IX:IY]--------------
|
;-------------[Save IX:IY]--------------
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -428,7 +428,7 @@ REINIT: DEC B
|
|||||||
;
|
;
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; ¥ ¤®«¦® ¯®àâ¨âì DE
|
; ¥ ¤®«¦® ¯®àâ¨âì DE
|
||||||
SET_ROM_FLAG_ZX:
|
RES_FLAG_ZXvROM:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|||||||
@ -47,7 +47,7 @@ FN_VERSION:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
LD BC,(SYS_PAGE.CONFIG_BYTE-#4000) ; Version PLD ; !TODO ç¥à¥§ áâàãªâãàã ¤«ï ¯¥à¥¬¥ëå ¡¨®á
|
LD BC,(SYS_PAGE.CONFIG_BYTE - #4000) ; Version PLD ; !TODO ç¥à¥§ áâàãªâãàã ¤«ï ¯¥à¥¬¥ëå ¡¨®á
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
LD A,ID_SPRINTER.Records_Num ; —¨á«® ¯®«¥©
|
LD A,ID_SPRINTER.Records_Num ; —¨á«® ¯®«¥©
|
||||||
@ -183,6 +183,12 @@ EMM.FullInit:
|
|||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
INIT_SYS_ALL:
|
INIT_SYS_ALL:
|
||||||
DI
|
DI
|
||||||
|
; LD HL,#8000
|
||||||
|
; LD DE,#8001
|
||||||
|
; LD (HL),0
|
||||||
|
; LD BC,#3FFF
|
||||||
|
; LDIR
|
||||||
|
;
|
||||||
; LD HL,ID_SPRINTER_FullSize
|
; LD HL,ID_SPRINTER_FullSize
|
||||||
; LD DE,SYS_PAGE.ID_FLAG - #4000
|
; LD DE,SYS_PAGE.ID_FLAG - #4000
|
||||||
; LD C,(HL)
|
; LD C,(HL)
|
||||||
@ -199,7 +205,7 @@ INIT_SYS_ALL:
|
|||||||
;
|
;
|
||||||
|
|
||||||
;!TODO çâ® § ¯¥à¥¬¥ë¥?
|
;!TODO çâ® § ¯¥à¥¬¥ë¥?
|
||||||
LD HL,SYS_PAGE.DISK_TYPE-#4000
|
LD HL,SYS_PAGE.DISK_TYPE - #4000
|
||||||
LD (HL),DRIVE_CODES.TRDOS.FDD ; FDD A
|
LD (HL),DRIVE_CODES.TRDOS.FDD ; FDD A
|
||||||
INC HL
|
INC HL
|
||||||
LD (HL),DRIVE_CODES.TRDOS.FDD + 1 ; FDD B
|
LD (HL),DRIVE_CODES.TRDOS.FDD + 1 ; FDD B
|
||||||
@ -217,28 +223,28 @@ INIT_SYS_ALL:
|
|||||||
LD (HL),0 ; SYS_PAGE.COPY_SLOT3
|
LD (HL),0 ; SYS_PAGE.COPY_SLOT3
|
||||||
|
|
||||||
LD A,9
|
LD A,9
|
||||||
LD (SYS_PAGE.MSD_SECS-#4000),A
|
LD (SYS_PAGE.MSD_SECS - #4000),A
|
||||||
XOR A
|
XOR A
|
||||||
LD (SYS_PAGE.DS_1440-#4000),A
|
LD (SYS_PAGE.DS_1440 - #4000),A
|
||||||
|
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.RAMD_KEYS - #4000
|
||||||
LD DE,SYS_PAGE.RAMD_KEYS+1-#4000
|
LD DE,SYS_PAGE.RAMD_KEYS+1 - #4000
|
||||||
LD BC,SYS_PAGE.RAMD_KEYS.NUM-1
|
LD BC,SYS_PAGE.RAMD_KEYS.NUM-1
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
; [x] 04/11/2023
|
; [x] 04/11/2023
|
||||||
LD HL,SYS_PAGE.Sp_RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.Sp_RAMD_KEYS - #4000
|
||||||
LD DE,SYS_PAGE.Sp_RAMD_KEYS+1-#4000
|
LD DE,SYS_PAGE.Sp_RAMD_KEYS+1 - #4000
|
||||||
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM-1
|
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM-1
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
;
|
;
|
||||||
; [x] 17/08/2024 fixed bug with change current RAM drives type
|
; [x] 17/08/2024 fixed bug with change current RAM drives type
|
||||||
XOR A
|
XOR A
|
||||||
LD (SYS_PAGE.CURRENT_RAM_DRV-#4000),A
|
LD (SYS_PAGE.CURRENT_RAM_DRV - #4000),A
|
||||||
;
|
;
|
||||||
LD DE,ZG_ADDRESS ; ¤à¥á § ª®£¥¥à â®à
|
LD DE,ZG_ADDRESS ; ¤à¥á § ª®£¥¥à â®à
|
||||||
LD (SYS_PAGE.WIN_ZG-#4000),DE
|
LD (SYS_PAGE.WIN_ZG - #4000),DE
|
||||||
;
|
;
|
||||||
;-----------[new code start]------------; !!!!! ¯®á¬®âà¥âì-¯à¨ç¥á âì
|
;-----------[new code start]------------; !!!!! ¯®á¬®âà¥âì-¯à¨ç¥á âì
|
||||||
INIT_VSyncAndWaits:
|
INIT_VSyncAndWaits:
|
||||||
@ -248,7 +254,7 @@ INIT_VSyncAndWaits:
|
|||||||
jr nc,.cmos_OK
|
jr nc,.cmos_OK
|
||||||
; ¥á«¨ ¥â CMOS, â® áâ ¤ àâë¥ áâனª¨
|
; ¥á«¨ ¥â CMOS, â® áâ ¤ àâë¥ áâனª¨
|
||||||
ld a,3
|
ld a,3
|
||||||
ld (SYS_PAGE.VSyncAndWaits-#4000),A
|
ld (SYS_PAGE.VSyncAndWaits - #4000),A
|
||||||
jr z,INIT_CONFIG_ALL.setDefaultINT
|
jr z,INIT_CONFIG_ALL.setDefaultINT
|
||||||
|
|
||||||
.cmos_OK:
|
.cmos_OK:
|
||||||
@ -259,7 +265,7 @@ INIT_VSyncAndWaits:
|
|||||||
dec a ; 312 lines & no waits
|
dec a ; 312 lines & no waits
|
||||||
|
|
||||||
.setVSyncAndWaits:
|
.setVSyncAndWaits:
|
||||||
ld (SYS_PAGE.VSyncAndWaits-#4000),A
|
ld (SYS_PAGE.VSyncAndWaits - #4000),A
|
||||||
|
|
||||||
INIT_CONFIG_ALL:
|
INIT_CONFIG_ALL:
|
||||||
ld a,d
|
ld a,d
|
||||||
@ -277,15 +283,15 @@ INIT_CONFIG_ALL:
|
|||||||
.setDefaultINT:
|
.setDefaultINT:
|
||||||
LD HL,SCREEN_TABLES.PENTAGON ; set pentagon int
|
LD HL,SCREEN_TABLES.PENTAGON ; set pentagon int
|
||||||
.setINT:
|
.setINT:
|
||||||
LD (SYS_PAGE.CONFIG_ALL-#4000),HL
|
LD (SYS_PAGE.CONFIG_ALL - #4000),HL
|
||||||
;------------[new code end]-------------
|
;------------[new code end]-------------
|
||||||
;
|
;
|
||||||
LD DE,CNF_PORT.CNF_0 + ROM.BIOS
|
LD DE,CNF_PORT.CNF_0 + ROM.BIOS
|
||||||
LD (SYS_PAGE.CONFIG_DE-#4000),DE
|
LD (SYS_PAGE.CONFIG_DE - #4000),DE
|
||||||
|
|
||||||
LD HL,SYS_PAGE.CURRENT_TASK - #4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
LD HL,SYS_PAGE.ZX_TASK.CURRENT - #4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
||||||
LD DE,SYS_PAGE.CURRENT_TASK+1 - #4000
|
LD DE,SYS_PAGE.ZX_TASK.CURRENT+1 - #4000
|
||||||
LD BC,ZX_TASK_DATA * SYS_PAGE.CURRENT_TASK.Size - 1 ; #FF
|
LD BC,_#ZX_TASK - 1
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
|
|
||||||
|
|||||||
@ -9,10 +9,13 @@
|
|||||||
;
|
;
|
||||||
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
|
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
|
||||||
|
|
||||||
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
; [ ] free zx pages!
|
; [ ] free zx pages!
|
||||||
; ????? SYS_PAGE.SHARED_BUFFER_256b
|
; ????? SYS_PAGE.SHARED_BUFFER_256b
|
||||||
|
;
|
||||||
|
; [ ] ‘âà ¨æ Ž‡“ ¤«ï ᪮௠¢ SLOT0 ¤®«¦ ᮢ¯ ¤ âì á ã«¥¢®© áâà ¨æ¥© ¯®àâ #7FFD
|
||||||
IF FREE_ZX_PAGES
|
IF FREE_ZX_PAGES
|
||||||
|
MODULE MANAGE_ZX_PAGES
|
||||||
;----------------[‚뤥«¥¨¥/®á¢®¡®¦¤¥¨¥ áâà ¨æ ᯥªâà㬠]-------------;
|
;----------------[‚뤥«¥¨¥/®á¢®¡®¦¤¥¨¥ áâà ¨æ ᯥªâà㬠]-------------;
|
||||||
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k
|
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k
|
||||||
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k
|
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k
|
||||||
@ -22,17 +25,65 @@
|
|||||||
;
|
;
|
||||||
;¢ë室: CF = 0: A - ®¬¥à à ¬¡«®ª
|
;¢ë室: CF = 0: A - ®¬¥à à ¬¡«®ª
|
||||||
; CF = 1: A - ®¬¥à ®è¨¡ª¨
|
; CF = 1: A - ®¬¥à ®è¨¡ª¨
|
||||||
MANAGE_ZX_PAGES:
|
FN_ENTRANCE:
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
;‚믮«ï¥âáï ¢á¥£¤ ¤«ï ¨¨â âàñå áâà ¨æ Ž‡“
|
||||||
|
INIT_48k_MEM:
|
||||||
|
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
INIT_SCORP_RAM:
|
||||||
|
DI
|
||||||
|
LD A,5
|
||||||
|
OUT (SLOT1),A
|
||||||
|
; #1FFD
|
||||||
|
LD BC,#1FFD
|
||||||
|
XOR A
|
||||||
|
OUT (SLOT0),A
|
||||||
|
OUT (C),A
|
||||||
|
; #7FFD
|
||||||
|
LD B,#7F
|
||||||
|
LD A,8
|
||||||
|
LOOP_P1: DEC A
|
||||||
|
OUT (C),A
|
||||||
|
OUT (SLOT3),A
|
||||||
|
JR NZ,LOOP_P1
|
||||||
|
; #1FFD
|
||||||
|
LD B,#1F
|
||||||
|
LD A,#10
|
||||||
|
OUT (C),A
|
||||||
|
; #7FFD
|
||||||
|
LD B,#7F
|
||||||
|
LD A,8
|
||||||
|
LOOP_P2: OUT (C),A
|
||||||
|
OUT (SLOT3),A
|
||||||
|
INC A
|
||||||
|
CP 16
|
||||||
|
JR NZ,LOOP_P2
|
||||||
|
;
|
||||||
|
XOR A
|
||||||
|
OUT (C),A
|
||||||
|
; #1FFD
|
||||||
|
LD B,#1F
|
||||||
|
OUT (C),A
|
||||||
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.GET_SCORP: IN A,(SLOT3)
|
;-----------------------------------------------------------------------;
|
||||||
|
;‚室: ---
|
||||||
|
;‚ë室: A - RAM block ID
|
||||||
|
GET_SCORP_RAM: IN A,(SLOT3)
|
||||||
LD E,A
|
LD E,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
; ¢ë¤¥«¨âì áâà ¨æë ᪮à¯
|
; ¢ë¤¥«¨âì áâà ¨æë ᪮à¯
|
||||||
XOR A
|
XOR A
|
||||||
LD BC,#08*256 + #FF ; B - ª®«¨ç¥á⢮ áâà ¨æ, C - Œ¥âª ª®æ à ¬¡«®ª
|
LD BC,8*256 + #FF ; B - ª®«¨ç¥á⢮ áâà ¨æ, C - Œ¥âª ª®æ à ¬¡«®ª
|
||||||
LD HL,SYS_PAGE.RAM_TABLE
|
LD HL,SYS_PAGE.RAM_TABLE
|
||||||
.allocate_loop: DEC L
|
.allocate_loop: DEC L
|
||||||
JR Z,.error_no_mem
|
JR Z,.error_no_mem
|
||||||
@ -74,68 +125,11 @@ MANAGE_ZX_PAGES:
|
|||||||
LD L,BIOS.Error.EMM.NoMemory
|
LD L,BIOS.Error.EMM.NoMemory
|
||||||
SCF
|
SCF
|
||||||
JR .exit
|
JR .exit
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
;
|
|
||||||
.GET_SCORP: IN A,(SLOT3)
|
|
||||||
LD E,A
|
|
||||||
LD A,SYS_PAGE
|
|
||||||
OUT (SLOT3),A
|
|
||||||
; ¯à®¢¥à¨âì «¨ç¨¥ ᢮¡®¤ëå áâà ¨æ ᪮à¯
|
|
||||||
; B = ª®«¨ç¥á⢮ áâà ¨æ
|
|
||||||
LD B,8
|
|
||||||
XOR A
|
|
||||||
.check_loop: DEC L
|
|
||||||
JR Z,.error_no_mem
|
|
||||||
CP (HL)
|
|
||||||
JR NZ,.check_loop
|
|
||||||
;
|
|
||||||
CALL .check_barred_pages
|
|
||||||
LD A,0
|
|
||||||
JR Z,.check_loop
|
|
||||||
DJNZ .check_loop
|
|
||||||
; A = 0
|
|
||||||
; ¢ë¤¥«¨âì áâà ¨æë ᪮à¯
|
|
||||||
LD B,8
|
|
||||||
.allocate_loop: DEC L
|
|
||||||
CP (HL)
|
|
||||||
JR NZ,.allocate_loop
|
|
||||||
;
|
|
||||||
CALL .check_barred_pages
|
|
||||||
LD A,0
|
|
||||||
JR Z,.allocate_loop
|
|
||||||
;
|
|
||||||
LD (HL),C
|
|
||||||
LD C,L
|
|
||||||
DJNZ .allocate_loop
|
|
||||||
; L = 㪠§ â¥«ì æ¥¯®çª¨.
|
|
||||||
AND A
|
|
||||||
.exit: LD A,E
|
|
||||||
OUT (SLOT3),A
|
|
||||||
LD A,L
|
|
||||||
RET
|
|
||||||
; 䨫ìâà ¤«ï áâà ¨æ ᪮à¯
|
|
||||||
;¢ë室: ZF=1 - áâà ¨æ ¥ ¯®¤å®¤¨â
|
|
||||||
.check_barred_pages:
|
|
||||||
; check reset page
|
|
||||||
LD A,L
|
|
||||||
CP RESET_PAGE
|
|
||||||
RET C
|
|
||||||
RET Z
|
|
||||||
; check isa page
|
|
||||||
AND #F0
|
|
||||||
XOR #D0 ; áâà ¨æë ISA #D0..#DF
|
|
||||||
RET NZ
|
|
||||||
LD L,#D0
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
.error_no_mem: LD L,BIOS.Error.EMM.NoMemory
|
|
||||||
SCF
|
|
||||||
JR .exit
|
|
||||||
*/
|
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
ENDMODULE
|
||||||
ENDIF
|
ENDIF
|
||||||
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
|||||||
@ -131,49 +131,49 @@ TASK_SWITCH:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD IX,SYS_PAGE.CURRENT_TASK ; ¤ ë¥ § ¤ ç
|
LD IX,SYS_PAGE.ZX_TASK.CURRENT ; ¤ ë¥ § ¤ ç
|
||||||
; !TEST
|
; !TEST
|
||||||
;LD E,(IX)
|
;LD E,(IX)
|
||||||
;LD D,0
|
;LD D,0
|
||||||
;ADD IX,DE
|
;ADD IX,DE
|
||||||
;LD E,SYS_PAGE.CURRENT_TASK.Size
|
;LD E,SYS_PAGE.CURRENT_TASK.Size
|
||||||
;ADD IX,DE
|
;ADD IX,DE
|
||||||
LD A,SYS_PAGE.CURRENT_TASK.Size ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
LD A,_#ZX_TASK_DATA ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||||
ADD A,(IX) ; ᬥ饨¥ ¤ ëå ⥪ã饩 § ¤ ç¨
|
ADD A,(IX) ; ᬥ饨¥ ¤ ëå ⥪ã饩 § ¤ ç¨
|
||||||
LD E,A
|
LD E,A
|
||||||
LD D,0
|
LD D,0
|
||||||
ADD IX,DE ; ¤ ë¥ â¥ªã饩 § ¤ ç¨
|
ADD IX,DE ; ¤ ë¥ â¥ªã饩 § ¤ ç¨
|
||||||
;
|
;
|
||||||
LD (IX + ZX_TASK_DATA.SLOT3_PAGE),B ; á®åà ¨âì áâà ¨æã 3
|
LD (IX + _#ZX_TASK_DATA.SLOT3_PAGE),B ; á®åà ¨âì áâà ¨æã 3
|
||||||
LD HL,0
|
LD HL,0
|
||||||
ADD HL,SP
|
ADD HL,SP
|
||||||
LD (IX + ZX_TASK_DATA.SP),L ; á®åà ¨âì á⥪ § ¤ ç¨
|
LD (IX + _#ZX_TASK_DATA.SP),L ; á®åà ¨âì á⥪ § ¤ ç¨
|
||||||
LD (IX + ZX_TASK_DATA.SP + 1),H
|
LD (IX + _#ZX_TASK_DATA.SP + 1),H
|
||||||
SET 0,(IX + ZX_TASK_DATA.STATE) ; ãáâ ®¢¨âì ä« £ á®åà ¥®á⨠⥪ã饩 § ¤ ç¨
|
SET 0,(IX + _#ZX_TASK_DATA.STATE) ; ãáâ ®¢¨âì ä« £ á®åà ¥®á⨠⥪ã饩 § ¤ ç¨
|
||||||
RES 1,(IX + ZX_TASK_DATA.STATE) ; ãáâ ®¢¨âì ä« £, çâ® § ¤ ç ¯®ª¨ãâ
|
RES 1,(IX + _#ZX_TASK_DATA.STATE) ; ãáâ ®¢¨âì ä« £, çâ® § ¤ ç ¯®ª¨ãâ
|
||||||
|
|
||||||
LD IX,SYS_PAGE.CURRENT_TASK
|
LD IX,SYS_PAGE.ZX_TASK.CURRENT
|
||||||
; !TEST
|
; !TEST
|
||||||
;LD E,C
|
;LD E,C
|
||||||
;LD D,0
|
;LD D,0
|
||||||
;ADD IX,DE ; ®¢ ï § ¤ ç
|
;ADD IX,DE ; ®¢ ï § ¤ ç
|
||||||
;LD E,16
|
;LD E,16
|
||||||
LD A,SYS_PAGE.CURRENT_TASK.Size ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
LD A,_#ZX_TASK_DATA ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||||
ADD A,C ; ᬥ饨¥ ¤ ëå ®¢®© § ¤ ç¨
|
ADD A,C ; ᬥ饨¥ ¤ ëå ®¢®© § ¤ ç¨
|
||||||
LD E,A
|
LD E,A
|
||||||
LD D,0
|
LD D,0
|
||||||
;
|
;
|
||||||
ADD IX,DE ; ¤ ë¥ ®¢®© § ¤ ç¨
|
ADD IX,DE ; ¤ ë¥ ®¢®© § ¤ ç¨
|
||||||
|
|
||||||
BIT 1,(IX + ZX_TASK_DATA.STATE)
|
; BIT 1,(IX + _#ZX_TASK_DATA.STATE)
|
||||||
; JR NZ,TASK_IN_WORK ; § ¤ ç ¢ à ¡®â¥ ??? ¥¢¥à®¥ § ¢¥à襨¥
|
; JR NZ,TASK_IN_WORK ; § ¤ ç ¢ à ¡®â¥ ??? ¥¢¥à®¥ § ¢¥à襨¥
|
||||||
; ; á¡à áë¢ âì ¨«¨ ¯à®áâ® ¢®§¢à é âìáï
|
; ; á¡à áë¢ âì ¨«¨ ¯à®áâ® ¢®§¢à é âìáï
|
||||||
|
|
||||||
BIT 0,(IX + ZX_TASK_DATA.STATE) ; ¡ë« á®åà ¥ /¥â
|
BIT 0,(IX + _#ZX_TASK_DATA.STATE) ; ¡ë« á®åà ¥ /¥â
|
||||||
JR NZ,TASK_SET ; § ¤ ç áãé¥áâ¢ã¥â
|
JR NZ,TASK_SET ; § ¤ ç áãé¥áâ¢ã¥â
|
||||||
|
|
||||||
; § ¤ ç¨ ¥ ¡ë«®!
|
; § ¤ ç¨ ¥ ¡ë«®!
|
||||||
LD IX,SYS_PAGE.CURRENT_TASK
|
LD IX,SYS_PAGE.ZX_TASK.CURRENT
|
||||||
LD A,C ; § ¤ ç
|
LD A,C ; § ¤ ç
|
||||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ TASK_RESTORE:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,C
|
LD A,C
|
||||||
LD IX,SYS_PAGE.CURRENT_TASK
|
LD IX,SYS_PAGE.ZX_TASK.CURRENT
|
||||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||||
|
|
||||||
; !TEST
|
; !TEST
|
||||||
@ -199,16 +199,16 @@ TASK_RESTORE:
|
|||||||
;LD D,0
|
;LD D,0
|
||||||
;ADD IX,DE ; ®¢ ï § ¤ ç
|
;ADD IX,DE ; ®¢ ï § ¤ ç
|
||||||
;LD E,16
|
;LD E,16
|
||||||
ADD A,SYS_PAGE.CURRENT_TASK.Size ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
ADD A,_#ZX_TASK_DATA ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||||
LD E,A
|
LD E,A
|
||||||
LD D,0
|
LD D,0
|
||||||
;
|
;
|
||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
|
|
||||||
LD L,(IX + ZX_TASK_DATA.SP) ; ¢á¯®¬¨âì á⥪
|
LD L,(IX + _#ZX_TASK_DATA.SP) ; ¢á¯®¬¨âì á⥪
|
||||||
LD H,(IX + ZX_TASK_DATA.SP + 1)
|
LD H,(IX + _#ZX_TASK_DATA.SP + 1)
|
||||||
LD SP,HL
|
LD SP,HL
|
||||||
LD A,(IX + ZX_TASK_DATA.SLOT3_PAGE); ¢á¯®¬¨âì âà¥âìî áâà ¨æã
|
LD A,(IX + _#ZX_TASK_DATA.SLOT3_PAGE); ¢á¯®¬¨âì âà¥âìî áâà ¨æã
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user