функции работы с памятью не используют теперь SLOT2 - это могло вызвать баги
This commit is contained in:
parent
412759754c
commit
1506291b8d
@ -1,15 +1,16 @@
|
|||||||
;===================[ ”ãªæ¨¨ à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠]===================;
|
;===================[ ”ãªæ¨¨ à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠]===================;
|
||||||
|
; ‚ë室: BC - FREE MEM ¢ ¡«®ª å ¯® 16k, HL - FULL MEM
|
||||||
|
;!TEST ¢á¥ SLOT2 SLOT1
|
||||||
;
|
;
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
; Ž¯à¥¤¥«¥¨¥ ®¡ê¥¬ ¯ ¬ïâ¨.
|
; Ž¯à¥¤¥«¥¨¥ ®¡ê¥¬ ¯ ¬ïâ¨.
|
||||||
; ‚ë室: BC - FREE MEM ¢ ¡«®ª å ¯® 16k, HL - FULL MEM
|
; ‚ë室: BC - FREE MEM ¢ ¡«®ª å ¯® 16k, HL - FULL MEM
|
||||||
EMM.GetMemSize:
|
EMM.GetMemSize:
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD HL,SYS_PAGE.RAMD_FAT-#4000
|
LD HL,SYS_PAGE.RAMD_FAT-#4000 - #4000
|
||||||
LD C,0
|
LD C,0
|
||||||
.loop: LD A,(HL)
|
.loop: LD A,(HL)
|
||||||
INC L
|
INC L
|
||||||
@ -21,7 +22,7 @@ EMM.GetMemSize:
|
|||||||
.exit: LD HL,#100
|
.exit: LD HL,#100
|
||||||
LD A,B
|
LD A,B
|
||||||
LD B,0
|
LD B,0
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
;
|
;
|
||||||
@ -36,11 +37,11 @@ EMM.InitMem:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD HL,SYS_PAGE.RAMD_FAT-#4000 ; €¤à¥á FAT އ“.
|
LD HL,SYS_PAGE.RAMD_FAT-#4000 - #4000 ; €¤à¥á FAT އ“.
|
||||||
; ®¡ã«ï¥¬ â ¡«¨æã
|
; ®¡ã«ï¥¬ â ¡«¨æã
|
||||||
.loopFree:
|
.loopFree:
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
@ -65,13 +66,13 @@ EMM.InitMem:
|
|||||||
LD L,A
|
LD L,A
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
; ˆ¨æ¨ «¨§ æ¨ï ª«î祩 RAM-Disks
|
; ˆ¨æ¨ «¨§ æ¨ï ª«î祩 RAM-Disks
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.RAMD_KEYS-#4000 - #4000
|
||||||
LD B,SYS_PAGE.RAMD_KEYS.NUM
|
LD B,SYS_PAGE.RAMD_KEYS.NUM
|
||||||
.loop2: LD (HL),0
|
.loop2: LD (HL),0
|
||||||
INC L
|
INC L
|
||||||
DJNZ .loop2
|
DJNZ .loop2
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
POP HL
|
POP HL
|
||||||
@ -115,12 +116,12 @@ RESERVED_PAGES:
|
|||||||
EMM.GetMem:
|
EMM.GetMem:
|
||||||
;PUSH DE
|
;PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD C,B ; á®åà ¨âì ç¨á«® ã¦ëå ¡«®ª®¢
|
LD C,B ; á®åà ¨âì ç¨á«® ã¦ëå ¡«®ª®¢
|
||||||
LD HL,SYS_PAGE.RAMD_FAT-#4000
|
LD HL,SYS_PAGE.RAMD_FAT-#4000 - #4000
|
||||||
; –¨ª« ¯à®¢¥àª¨ «¨ç¨ï ã¦ëå ¡«®ª®¢.
|
; –¨ª« ¯à®¢¥àª¨ «¨ç¨ï ã¦ëå ¡«®ª®¢.
|
||||||
.loop: DEC L
|
.loop: DEC L
|
||||||
JR Z,.noRAM
|
JR Z,.noRAM
|
||||||
@ -132,7 +133,7 @@ EMM.GetMem:
|
|||||||
; Œ¥áâ® ¥áâì !
|
; Œ¥áâ® ¥áâì !
|
||||||
LD B,C ; ‚®ááâ ®¢¨âì ã¦ë© ®¡ê¥¬ ¤¨áª
|
LD B,C ; ‚®ááâ ®¢¨âì ã¦ë© ®¡ê¥¬ ¤¨áª
|
||||||
LD C,#FF ; Œ…’Š€ ŠŽ<C5A0>–€ RAM-Disk
|
LD C,#FF ; Œ…’Š€ ŠŽ<C5A0>–€ RAM-Disk
|
||||||
LD HL,SYS_PAGE.RAMD_FAT-#4000
|
LD HL,SYS_PAGE.RAMD_FAT-#4000 - #4000
|
||||||
|
|
||||||
; ‡ ¯®«¨âì RAMD_FAT
|
; ‡ ¯®«¨âì RAMD_FAT
|
||||||
.loop2: DEC L
|
.loop2: DEC L
|
||||||
@ -145,7 +146,7 @@ EMM.GetMem:
|
|||||||
|
|
||||||
; L - 㪠§ â¥«ì æ¥¯®çª¨.
|
; L - 㪠§ â¥«ì æ¥¯®çª¨.
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
AND A
|
AND A
|
||||||
POP BC
|
POP BC
|
||||||
@ -154,7 +155,7 @@ EMM.GetMem:
|
|||||||
|
|
||||||
.noRAM: LD L,1 ; <20>…’ <20>€ŒŸ’ˆ
|
.noRAM: LD L,1 ; <20>…’ <20>€ŒŸ’ˆ
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
SCF
|
SCF
|
||||||
POP BC
|
POP BC
|
||||||
@ -203,13 +204,13 @@ EMM.FreeMemRMD:
|
|||||||
SCF
|
SCF
|
||||||
RET Z
|
RET Z
|
||||||
LD C,A
|
LD C,A
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LD A,B
|
LD A,B
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,C
|
LD A,C
|
||||||
;JR EMM.FreeMem
|
;JR EMM.FreeMem
|
||||||
;------[
|
;------[
|
||||||
@ -222,12 +223,12 @@ EMM.FreeMem:
|
|||||||
RET Z
|
RET Z
|
||||||
|
|
||||||
LD L,A
|
LD L,A
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD A,L
|
LD A,L
|
||||||
EMM_F3M_L1:
|
EMM_F3M_L1:
|
||||||
LD L,A
|
LD L,A
|
||||||
@ -239,14 +240,14 @@ EMM_F3M_L1:
|
|||||||
JR NZ,EMM_F3M_L1 ; ¯à®¤®«¦ âì
|
JR NZ,EMM_F3M_L1 ; ¯à®¤®«¦ âì
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,0 ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®
|
LD A,0 ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
EMM_FN3M_ERR:
|
EMM_FN3M_ERR:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,2 ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®
|
LD A,2 ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
@ -273,13 +274,13 @@ EMM.GetMemPageRMD:
|
|||||||
;EMM_FN4M:
|
;EMM_FN4M:
|
||||||
EMM.GetMemPage:
|
EMM.GetMemPage:
|
||||||
LD L,A
|
LD L,A
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
INC B
|
INC B
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
EMM_F4M_L1:
|
EMM_F4M_L1:
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
AND A
|
AND A
|
||||||
@ -292,14 +293,14 @@ EMM_F4M_L1:
|
|||||||
EMM_F4M_ERR:
|
EMM_F4M_ERR:
|
||||||
LD L,A
|
LD L,A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
EMM_F4M_END:
|
EMM_F4M_END:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -319,14 +320,14 @@ EMM.GetMemPageNext:
|
|||||||
AND A
|
AND A
|
||||||
SCF
|
SCF
|
||||||
RET Z
|
RET Z
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD H,A
|
LD H,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,H
|
LD A,H
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
AND A
|
AND A
|
||||||
SCF
|
SCF
|
||||||
@ -361,14 +362,14 @@ EMM.GetMemBlkPages:
|
|||||||
CP #FF
|
CP #FF
|
||||||
JR Z,.end
|
JR Z,.end
|
||||||
;
|
;
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
;
|
;
|
||||||
INC B
|
INC B
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
@ -450,34 +451,34 @@ BLK_RD_WR:
|
|||||||
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD C,SLOT2
|
LD C,SLOT1
|
||||||
IN B,(C)
|
IN B,(C)
|
||||||
ld h,a
|
LD H,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
ld a,h
|
LD A,H
|
||||||
|
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD L,A
|
LD L,A
|
||||||
|
|
||||||
INC D
|
INC D
|
||||||
RAMD_LOOP_D:
|
.RAMD_LOOP_D:
|
||||||
DEC D
|
DEC D
|
||||||
JR Z,NOT_FOUR_BLK
|
JR Z,.NOT_FOUR_BLK
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
JR RAMD_LOOP_D
|
JR .RAMD_LOOP_D
|
||||||
|
|
||||||
NOT_FOUR_BLK:
|
.NOT_FOUR_BLK:
|
||||||
LD A,E
|
LD A,E
|
||||||
.loop: SUB #40
|
.loop: SUB #40
|
||||||
JR C,NOT_ONE_BLK
|
JR C,.NOT_ONE_BLK
|
||||||
LD L,(HL)
|
LD L,(HL)
|
||||||
JR .loop
|
JR .loop
|
||||||
|
|
||||||
NOT_ONE_BLK:
|
.NOT_ONE_BLK:
|
||||||
AND #3F
|
AND #3F
|
||||||
LD D,A ; DE - ADRESS in RAM-Disk
|
LD D,A ; DE - ADRESS in RAM-Disk
|
||||||
LD E,0
|
LD E,0
|
||||||
@ -490,65 +491,65 @@ NOT_ONE_BLK:
|
|||||||
POP HL ; ¤à¥á ¡ãä¥à
|
POP HL ; ¤à¥á ¡ãä¥à
|
||||||
|
|
||||||
BIT 7,H
|
BIT 7,H
|
||||||
JR NZ,BLK_PAGE1 ; !!!!! JR NZ,BLK_PAGE1 ?
|
JR NZ,.BLK_PAGE1 ; !!!!! JR NZ,BLK_PAGE1 ?
|
||||||
|
|
||||||
BLK_PAGE3: ; !TODO ¯¥à¥¤¥« âì SLOT ?????
|
.BLK_PAGE3: ; !TODO ¯¥à¥¤¥« âì SLOT ?????
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
IN C,(C)
|
IN C,(C)
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
SET 7,D
|
SET 7,D
|
||||||
SET 6,D
|
SET 6,D
|
||||||
JR BLK_CONT1
|
JR .BLK_CONT1
|
||||||
|
|
||||||
BLK_PAGE1:
|
.BLK_PAGE1:
|
||||||
LD C,SLOT1
|
LD C,SLOT1
|
||||||
IN C,(C)
|
IN C,(C)
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
RES 7,D
|
RES 7,D
|
||||||
SET 6,D
|
SET 6,D
|
||||||
|
|
||||||
BLK_CONT1: ; DE - RamDisk, HL - data
|
.BLK_CONT1: ; DE - RamDisk, HL - data
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
JR Z,NO_EX_RW1 ; WRITE
|
JR Z,.NO_EX_RW1 ; WRITE
|
||||||
EX DE,HL ; for READ
|
EX DE,HL ; for READ
|
||||||
NO_EX_RW1:
|
.NO_EX_RW1:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
LD A,16
|
LD A,16
|
||||||
BLK_LL1:
|
.BLK_LL1:
|
||||||
DUP 16
|
DUP 16
|
||||||
LDI
|
LDI
|
||||||
EDUP
|
EDUP
|
||||||
|
|
||||||
DEC A
|
DEC A
|
||||||
JR NZ,BLK_LL1
|
JR NZ,.BLK_LL1
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
JR Z,NO_EX_RW2 ; WRITE
|
JR Z,.NO_EX_RW2 ; WRITE
|
||||||
EX DE,HL ; for READ
|
EX DE,HL ; for READ
|
||||||
NO_EX_RW2:
|
.NO_EX_RW2:
|
||||||
EX AF,AF' ; DEC C ¯à®ªàã⨫áï 256 à § ¨ ¢¥àã«áï
|
EX AF,AF' ; DEC C ¯à®ªàã⨫áï 256 à § ¨ ¢¥àã«áï
|
||||||
INC B ; B 㦥 㬥ì訫áï 1,
|
INC B ; B 㦥 㬥ì訫áï 1,
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,BLK_EXIT_1
|
JP Z,.BLK_EXIT_1
|
||||||
|
|
||||||
BIT 6,D
|
BIT 6,D
|
||||||
JP NZ,BLK_CONT1
|
JP NZ,.BLK_CONT1
|
||||||
|
|
||||||
BIT 7,D
|
BIT 7,D
|
||||||
JR Z,BLK_PAGE3_X
|
JR Z,.BLK_PAGE3_X
|
||||||
|
|
||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
LD E,A
|
LD E,A
|
||||||
LD D,#42
|
LD D,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD DE,#4000
|
LD DE,#4000
|
||||||
JP BLK_CONT1
|
JP .BLK_CONT1
|
||||||
|
|
||||||
BLK_PAGE3_X:
|
.BLK_PAGE3_X:
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD E,A
|
LD E,A
|
||||||
LD D,#C2
|
LD D,#C2
|
||||||
@ -559,7 +560,7 @@ BLK_PAGE3_X:
|
|||||||
LD DE,#C000
|
LD DE,#C000
|
||||||
|
|
||||||
BIT 7,H
|
BIT 7,H
|
||||||
JP Z,BLK_CONT1
|
JP Z,.BLK_CONT1
|
||||||
|
|
||||||
LD E,A
|
LD E,A
|
||||||
LD A,C
|
LD A,C
|
||||||
@ -569,17 +570,17 @@ BLK_PAGE3_X:
|
|||||||
LD A,E
|
LD A,E
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD DE,#4000
|
LD DE,#4000
|
||||||
JP BLK_CONT1
|
JP .BLK_CONT1
|
||||||
|
|
||||||
BLK_EXIT_1:
|
.BLK_EXIT_1:
|
||||||
LD A,D
|
LD A,D
|
||||||
DEC A
|
DEC A
|
||||||
RLCA
|
RLCA
|
||||||
LD A,C
|
LD A,C
|
||||||
JR C,BLK_EXIT_2
|
JR C,.BLK_EXIT_2
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
RET
|
RET
|
||||||
BLK_EXIT_2:
|
.BLK_EXIT_2:
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
@ -794,17 +795,17 @@ RAMD_CALC_PAGE:
|
|||||||
; A - Number (0..15)
|
; A - Number (0..15)
|
||||||
GET_RAMD_NUM:
|
GET_RAMD_NUM:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD BC,SYS_PAGE * 256 + SLOT2
|
LD BC,SYS_PAGE * 256 + SLOT1
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
|
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.RAMD_KEYS-#4000 - #4000
|
||||||
LD BC,SYS_PAGE.RAMD_KEYS.NUM
|
LD BC,SYS_PAGE.RAMD_KEYS.NUM
|
||||||
CPIR
|
CPIR
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
SCF
|
SCF
|
||||||
@ -830,17 +831,17 @@ GET_RAMD_ST:
|
|||||||
|
|
||||||
PUSH BC
|
PUSH BC
|
||||||
|
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.RAMD_KEYS-#4000 - #4000
|
||||||
ADD A,L
|
ADD A,L
|
||||||
LD L,A
|
LD L,A
|
||||||
|
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
LD A,B
|
LD A,B
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,C
|
LD A,C
|
||||||
POP BC
|
POP BC
|
||||||
AND A
|
AND A
|
||||||
@ -861,12 +862,12 @@ BLK_TO_RAMD:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
LD L,A
|
LD L,A
|
||||||
|
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000
|
LD HL,SYS_PAGE.RAMD_KEYS-#4000 - #4000
|
||||||
ADD A,L
|
ADD A,L
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,(HL) ; ª«îç ¡«®ª
|
LD A,(HL) ; ª«îç ¡«®ª
|
||||||
@ -875,7 +876,7 @@ BLK_TO_RAMD:
|
|||||||
LD (HL),B
|
LD (HL),B
|
||||||
|
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
LD A,B
|
LD A,B
|
||||||
AND A
|
AND A
|
||||||
@ -884,7 +885,7 @@ BLK_TO_RAMD:
|
|||||||
|
|
||||||
BLK_BUSY:
|
BLK_BUSY:
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
SCF
|
SCF
|
||||||
POP HL
|
POP HL
|
||||||
@ -905,12 +906,12 @@ RAMD_CLEAR:
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
LD L,A
|
LD L,A
|
||||||
|
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD A,L
|
LD A,L
|
||||||
LD HL,SYS_PAGE.RAMD_KEYS-#4000 ; RAM-Disk ᢮¡®¤¥
|
LD HL,SYS_PAGE.RAMD_KEYS-#4000 - #4000 ; RAM-Disk ᢮¡®¤¥
|
||||||
ADD A,L
|
ADD A,L
|
||||||
LD L,A
|
LD L,A
|
||||||
LD B,A ; § ¯®¬¨âì 㤠«ï¥¬ë© à ¬¤¨áª
|
LD B,A ; § ¯®¬¨âì 㤠«ï¥¬ë© à ¬¤¨áª
|
||||||
@ -919,7 +920,7 @@ RAMD_CLEAR:
|
|||||||
JR Z,BLK_BUSY ; ¢®§¢à â á ®è¨¡ª®©
|
JR Z,BLK_BUSY ; ¢®§¢à â á ®è¨¡ª®©
|
||||||
LD (HL),0
|
LD (HL),0
|
||||||
LD A,C
|
LD A,C
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
AND A
|
AND A
|
||||||
POP HL
|
POP HL
|
||||||
@ -945,19 +946,19 @@ EMM.DivMemBlocks:
|
|||||||
RET C
|
RET C
|
||||||
LD D,A
|
LD D,A
|
||||||
|
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD L,D
|
LD L,D
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD (HL),0FFH
|
LD (HL),#FF
|
||||||
LD B,A
|
LD B,A
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
LD A,E
|
LD A,E
|
||||||
AND A
|
AND A
|
||||||
@ -974,35 +975,36 @@ EMM.DivMemBlocks:
|
|||||||
; ¢ë室: € - ¡«®ª
|
; ¢ë室: € - ¡«®ª
|
||||||
EMM.MergeMemBlocks:
|
EMM.MergeMemBlocks:
|
||||||
LD E,A
|
LD E,A
|
||||||
IN A,(SLOT2)
|
IN A,(SLOT1)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT - #4000)
|
LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)
|
||||||
LD L,E
|
LD L,E
|
||||||
LD C,B
|
LD C,B
|
||||||
LD B,0
|
LD B,0
|
||||||
EMM_ADD_L:
|
.EMM_ADD_L:
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
AND A
|
AND A
|
||||||
JR Z,EMM_ADD_ERR
|
JR Z,.EMM_ADD_ERR
|
||||||
CP 0FFH
|
CP #FF
|
||||||
JR Z,EMM_ADD_NEXT
|
JR Z,.EMM_ADD_NEXT
|
||||||
LD L,A
|
LD L,A
|
||||||
DJNZ EMM_ADD_L
|
DJNZ .EMM_ADD_L
|
||||||
EMM_ADD_ERR:
|
|
||||||
|
.EMM_ADD_ERR:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
EMM_ADD_NEXT:
|
.EMM_ADD_NEXT:
|
||||||
LD A,C
|
LD A,C
|
||||||
AND A
|
AND A
|
||||||
JR Z,EMM_ADD_ERR
|
JR Z,.EMM_ADD_ERR
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT1),A
|
||||||
AND A
|
AND A
|
||||||
LD A,E
|
LD A,E
|
||||||
RET
|
RET
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ì᪮£® INT
|
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ì᪮£® INT
|
||||||
DEFINE NEW_FEATURE 0 ; !TODO ¯ãªâë ¢ á¥â ¯
|
DEFINE NEW_FEATURE 0 ; !TODO ¯ãªâë ¢ á¥â ¯
|
||||||
DEFINE HDDwriteProtect 0
|
DEFINE HDDwriteProtect 0
|
||||||
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
DEFINE RECOVERYmountTYPE 2 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
||||||
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤ £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ¥â, â® § ¨¬ ¥âáï 15ë©
|
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤ £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ¥â, â® § ¨¬ ¥âáï 15ë©
|
||||||
DEFINE FDD_NormalCount 0
|
DEFINE FDD_NormalCount 0
|
||||||
;
|
;
|
||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user