mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
732 lines
11 KiB
NASM
732 lines
11 KiB
NASM
;*****************************************************************
|
||
;
|
||
; ”ãªæ¨¨ à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨.
|
||
;
|
||
;*****************************************************************
|
||
; Ž¯à¥¤¥«¥¨¥ ®¡ê¥¬ ¯ ¬ïâ¨.
|
||
; ‚ë室: BC - FREE MEM ¢ ¡«®ª å ¯® 16k, HL - FULL MEM
|
||
;*****************************************************************
|
||
|
||
EMM_FN0:
|
||
IN A,(PAGE2)
|
||
LD B,A
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD HL,RAMD_FAT-4000H
|
||
LD C,0
|
||
EMM_FN0_L1:
|
||
LD A,(HL)
|
||
INC L
|
||
JR Z,EMM_FN0_L2
|
||
AND A
|
||
JR NZ,EMM_FN0_L1
|
||
INC C
|
||
JR EMM_FN0_L1
|
||
EMM_FN0_L2:
|
||
LD HL,100H
|
||
LD A,B
|
||
LD B,0
|
||
OUT (PAGE2),A
|
||
RET
|
||
;
|
||
;*****************************************************************
|
||
; ˆ¨æ¨ «¨§ æ¨ï à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨.
|
||
;*****************************************************************
|
||
EMM_FN1:
|
||
PUSH BC
|
||
PUSH HL
|
||
PUSH DE
|
||
|
||
IN A,(PAGE2)
|
||
LD C,A
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD HL,RAMD_FAT-4000H ; €¤à¥á FAT އ“.
|
||
EMM_F1_L1: ; ‚ᥠáâà ¨æë ᢮¡®¤ë.
|
||
LD (HL),0
|
||
INC L
|
||
JR NZ,EMM_F1_L1
|
||
;*************************
|
||
LD DE,TAB_PGS ; â ¡«¨æ § ïâëå á¨á⥬ëå áâà ¨æ
|
||
EMM_F1_L2:
|
||
LD A,(DE)
|
||
CP 0FFH
|
||
JR Z,EMM_F1_L3
|
||
INC DE
|
||
LD L,A
|
||
LD A,(DE)
|
||
LD (HL),A
|
||
JR EMM_F1_L2
|
||
EMM_F1_L3:
|
||
LD L,A
|
||
LD (HL),A
|
||
EMM_F1_RAMD_INI:
|
||
LD HL,RAMD_KEYS-4000H ; ˆ¨æ¨ «¨§ æ¨ï ª«î祩 RAM-Disks
|
||
LD B,RAMD_KEY_NUM
|
||
EMM_F1_L5:
|
||
LD (HL),0
|
||
INC L
|
||
DJNZ EMM_F1_L5
|
||
LD A,C
|
||
OUT (PAGE2),A
|
||
|
||
POP DE
|
||
POP HL
|
||
POP BC
|
||
RET
|
||
;************************************
|
||
TAB_PGS:
|
||
DB 0,1,2,3,4,5,6,7
|
||
DB 08H,09H,0AH,0BH,0CH,0DH,0EH,0FH
|
||
DB 40H
|
||
DB 50H,51H,52H,53H,54H,55H,56H,57H
|
||
DB 58H,59H,5AH,5BH,5CH,5DH,5EH,5FH
|
||
DB 0FCH,0FDH,0FEH,0FFH
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì ¡«®ª ¯ ¬ï⨠N bytes,
|
||
; ‚室: B - ç¨á«® ¥®¡å®¤¨¬ëå ¡«®ª®¢
|
||
; ‚ë室: L,A - Š‹ž— RAM-Disk/ª®¤ ®è¨¡ª¨
|
||
; CF - ¯à¨§ ª ®è¨¡ª¨
|
||
;*****************************************************************
|
||
EMM_FN2M:
|
||
PUSH DE
|
||
PUSH BC
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
|
||
LD C,B ; á®åà ¨âì ç¨á«® ã¦ëå ¡«®ª®¢
|
||
|
||
LD HL,RAMD_FAT-4000H
|
||
EMM_F2M_L1: ; –¨ª« ¯à®¢¥àª¨ «¨ç¨ï ã¦ëå ¡«®ª®¢.
|
||
DEC L
|
||
JR Z,EMM_F2M_NO_RAM
|
||
LD A,(HL)
|
||
AND A
|
||
JR NZ,EMM_F2M_L1
|
||
DJNZ EMM_F2M_L1
|
||
|
||
;**************************
|
||
; Œ¥áâ® ¥áâì !
|
||
;**************************
|
||
|
||
LD B,C ; ‚®ááâ ®¢¨âì ã¦ë© ®¡ê¥¬ ¤¨áª
|
||
LD C,0FFH ; Œ…’Š€ ŠŽ<C5A0>–€ RAM-Disk
|
||
LD HL,RAMD_FAT-4000H
|
||
|
||
EMM_F2M_L2: ; ‡ ¯®«¨âì RAMD_FAT
|
||
DEC L
|
||
LD A,(HL)
|
||
AND A
|
||
JR NZ,EMM_F2M_L2
|
||
LD (HL),C
|
||
LD C,L
|
||
DJNZ EMM_F2M_L2
|
||
|
||
;************************************
|
||
; L - 㪠§ â¥«ì æ¥¯®çª¨.
|
||
;************************************
|
||
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
AND A
|
||
POP BC
|
||
POP DE
|
||
RET
|
||
|
||
EMM_F2M_NO_RAM:
|
||
LD L,1 ; <20>…’ <20>€ŒŸ’ˆ
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
SCF
|
||
POP BC
|
||
POP DE
|
||
RET
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì ¡«®ª ¯ ¬ï⨠N bytes, ¤«ï RAM-Disk A
|
||
; ‚室: B - ç¨á«® ¥®¡å®¤¨¬ëå ¡«®ª®¢, A - RAM-Disk
|
||
; ‚ë室: L,A - Š‹ž— RAM-Disk/ª®¤ ®è¨¡ª¨
|
||
; CF - ¯à¨§ ª ®è¨¡ª¨
|
||
;*****************************************************************
|
||
|
||
EMM_FN2:
|
||
PUSH AF
|
||
CALL EMM_FN2M
|
||
JR C,EMM_FN2_L1
|
||
|
||
LD B,A
|
||
POP AF
|
||
CALL BLK_TO_RAMD
|
||
RET NC
|
||
; LD A,B
|
||
; CALL EMM_FN3M
|
||
; SCF
|
||
LD L,2 ; RAM-Disk § ïâ
|
||
RET
|
||
|
||
EMM_FN2_L1:
|
||
POP AF ; ¥â ¯ ¬ïâ¨
|
||
LD L,1
|
||
SCF
|
||
RET
|
||
|
||
;;*****************************************************************
|
||
;; Žá¢®¡®¤¨âì ¡«®ª ¯ ¬ïâ¨
|
||
;; ‚室: A - <20>€—€‹Ž –…<E28093>Ž—Šˆ
|
||
;;*****************************************************************
|
||
EMM_FN3M:
|
||
AND A
|
||
SCF
|
||
RET Z
|
||
|
||
LD L,A
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
|
||
LD H,RAMD_FAT/256-40h
|
||
LD A,L
|
||
EMM_F3M_L1:
|
||
LD L,A
|
||
LD A,(HL) ; á«¥¤ãî騩 ¡«®ª
|
||
AND A
|
||
JR Z,EMM_FN3M_ERR
|
||
LD (HL),0 ; Žá¢®¡®¤¨âì
|
||
CP 0FFH ; …᫨ ¥ ª®¥æ
|
||
JR NZ,EMM_F3M_L1 ; ¯à®¤®«¦ âì
|
||
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,0
|
||
AND A
|
||
RET
|
||
|
||
EMM_FN3M_ERR:
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,2
|
||
SCF
|
||
RET
|
||
|
||
;*****************************************************************
|
||
; Žá¢®¡®¤¨âì ¡«®ª ¯ ¬ï⨠ª«îç K
|
||
; ‚室: A - Š‹ž— RAM-Disk
|
||
;*****************************************************************
|
||
|
||
EMM_FN3:
|
||
CALL GET_RAMD_ST
|
||
RET C
|
||
SCF
|
||
RET Z
|
||
LD C,A
|
||
IN A,(PAGE2)
|
||
LD B,A
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD (HL),0
|
||
LD A,B
|
||
OUT (PAGE2),A
|
||
LD A,C
|
||
JR EMM_FN3M
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì áâà ¨æã N ¡«®ª K
|
||
; ‚室: A - ¡«®ª, B - ®¬¥à áâà ¨æë
|
||
; ‚ë室: A - áâà ¨æ , IF CF - A=0 - ¥â ¡«®ª , A=FF - END
|
||
;*****************************************************************
|
||
|
||
EMM_FN4M:
|
||
|
||
LD L,A
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
|
||
INC B
|
||
LD H,RAMD_FAT/256-40H
|
||
EMM_F4M_L1:
|
||
LD A,(HL)
|
||
AND A
|
||
JR Z,EMM_F4M_ERR
|
||
DEC B
|
||
JR Z,EMM_F4M_END
|
||
LD L,A
|
||
CP 0FFH
|
||
JR NZ,EMM_F4M_L1
|
||
EMM_F4M_ERR:
|
||
LD L,A
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
SCF
|
||
RET
|
||
|
||
EMM_F4M_END:
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
AND A
|
||
RET
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì áâà ¨æã N ª«îç K
|
||
; ‚室: A - Š‹ž— RAM-Disk, B - ®¬¥à áâà ¨æë
|
||
; ‚ë室: A - áâà ¨æ
|
||
;*****************************************************************
|
||
|
||
EMM_FN4:
|
||
CALL GET_RAMD_ST
|
||
RET C
|
||
SCF
|
||
RET Z
|
||
JR EMM_FN4M
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì á«¥¤ãîéãî áâà ¨æã ¯® FAT
|
||
; ‚室: A - áâà ¨æ Ž‡“
|
||
; ‚ë室: A - á«¥¤ãîé ï áâà ¨æ Ž‡“
|
||
;*****************************************************************
|
||
|
||
EMM_FN5:
|
||
LD L,A
|
||
AND A
|
||
SCF
|
||
RET Z
|
||
IN A,(PAGE2)
|
||
LD H,A
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD A,H
|
||
LD H,RAMD_FAT/256-40H
|
||
LD L,(HL)
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
AND A
|
||
SCF
|
||
RET Z
|
||
AND A
|
||
RET
|
||
|
||
;*****************************************************************
|
||
; <09>®«ãç¨âì ᯨ᮪ áâà ¨æ ¡«®ª ¢ HL
|
||
; ‚室: A - ¡«®ª, HL - ¤à¥á ¡ãä¥à - 256 ¡ ©â.
|
||
; ‚ë室: HL - ¤à¥á ¡«®ª , B - ¤«¨ ¡«®ª ¢ áâà ¨æ å Ž‡“
|
||
;*****************************************************************
|
||
|
||
EMM_FN5M:
|
||
PUSH DE
|
||
PUSH HL
|
||
EX DE,HL
|
||
LD B,0
|
||
LD L,A
|
||
|
||
EMM_FN5M_L:
|
||
LD A,L
|
||
LD (DE),A
|
||
INC DE
|
||
AND A
|
||
JR Z,EMM_FN5M_ERR
|
||
CP 0FFH
|
||
JR Z,EMM_FN5M_END
|
||
|
||
IN A,(PAGE2)
|
||
LD C,A
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD H,RAMD_FAT/256-40H
|
||
LD L,(HL)
|
||
LD A,C
|
||
OUT (PAGE2),A
|
||
|
||
INC B
|
||
JR NZ,EMM_FN5M_L
|
||
|
||
EMM_FN5M_ERR:
|
||
SCF
|
||
POP HL
|
||
POP DE
|
||
RET
|
||
|
||
EMM_FN5M_END:
|
||
POP HL
|
||
POP DE
|
||
AND A
|
||
RET
|
||
|
||
;*****************************************************************
|
||
; <09>®«ã票¥ ¤à¥á®¢ ¯®à⮢ ¨ ¤ ëå ¤«ï ¢®ááâ ®¢«¥¨ï
|
||
; ‚室: A - ®¬¥à ®ª ¯à®¥æ¨à®¢ ¨ï
|
||
; ‚ë室: B - ¤ ë¥, C - ¤à¥á ¯®àâ ®ª
|
||
;*****************************************************************
|
||
EMM_FN6:
|
||
AND A
|
||
LD C,PAGE0
|
||
IN B,(C)
|
||
RET Z
|
||
DEC A
|
||
LD C,PAGE1
|
||
IN B,(C)
|
||
RET Z
|
||
DEC A
|
||
LD C,PAGE2
|
||
IN B,(C)
|
||
RET Z
|
||
DEC A
|
||
LD C,PAGE3
|
||
IN B,(C)
|
||
RET Z
|
||
SCF
|
||
RET
|
||
|
||
FN_RAMD_R_W EQU 9BH
|
||
BLK_R_W:
|
||
RAMD_R_W:
|
||
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||
; º RD/WR SECTOR HL - BUFER º\
|
||
; º DE - ABS sector ¢ 256b ¡«®ª å º\
|
||
; º B - ç¨á«® ¤ ëå ¢ 256b ¡«®ª å º\
|
||
; º A' - ª®¬ ¤ ç⥨¥/§ ¯¨áì º\
|
||
; º A - block RAM º\
|
||
; º 0 - ç⥨¥, 255 - § ¯¨áì º\
|
||
; º ** NOT USED TR-DOS VARS ** º\
|
||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\
|
||
; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
||
AND A
|
||
SCF
|
||
RET C
|
||
PUSH HL
|
||
PUSH BC
|
||
INC D
|
||
|
||
LD C,PAGE2
|
||
IN B,(C)
|
||
LD A,SYS_PAGE
|
||
OUT (C),A
|
||
|
||
LD H,82H
|
||
LD L,A
|
||
|
||
RAMD_LOOP_D:
|
||
DEC D
|
||
JR Z,NOT_FOUR_BLK
|
||
LD L,(HL)
|
||
LD L,(HL)
|
||
LD L,(HL)
|
||
LD L,(HL)
|
||
JR RAMD_LOOP_D
|
||
|
||
NOT_FOUR_BLK:
|
||
LD A,E
|
||
NOT_FOUR_BLK1:
|
||
SUB 40H
|
||
JR C,NOT_ONE_BLK
|
||
LD L,(HL)
|
||
JR NOT_FOUR_BLK1
|
||
|
||
NOT_ONE_BLK:
|
||
AND 3FH
|
||
; ADD A,40H
|
||
LD D,A ; DE - ADRESS in RAM-Disk
|
||
LD E,0
|
||
|
||
LD A,L ; L - ⥪ã騩 ¡ ª RAM-Disk
|
||
|
||
OUT (C),B ; ¢®ááâ ®¢¨âì áâà ¨æã
|
||
POP BC ; ¤«¨ ¤ ëå
|
||
POP HL ; ¤à¥á ¡ãä¥à
|
||
|
||
BIT 7,H
|
||
JR NZ,BLK_PAGE1
|
||
|
||
BLK_PAGE3:
|
||
LD C,PAGE3
|
||
IN C,(C)
|
||
OUT (PAGE3),A
|
||
SET 7,D
|
||
SET 6,D
|
||
JR BLK_CONT1
|
||
|
||
BLK_PAGE1:
|
||
LD C,PAGE1
|
||
IN C,(C)
|
||
OUT (PAGE1),A
|
||
RES 7,D
|
||
SET 6,D
|
||
|
||
BLK_CONT1:
|
||
EX AF,AF'
|
||
AND A
|
||
JR NZ,NO_EX_RW1
|
||
EX DE,HL
|
||
NO_EX_RW1:
|
||
EX AF,AF'
|
||
|
||
LD A,16
|
||
BLK_LL1:
|
||
DUP 16
|
||
LDI
|
||
EDUP
|
||
DEC A
|
||
JR NZ,BLK_LL1
|
||
|
||
EX AF,AF'
|
||
JR NZ,NO_EX_RW2
|
||
EX DE,HL
|
||
NO_EX_RW2:
|
||
EX AF,AF'
|
||
|
||
INC B
|
||
DEC B
|
||
JP Z,BLK_EXIT_1
|
||
|
||
BIT 6,D
|
||
JP NZ,BLK_CONT1
|
||
|
||
BIT 7,D
|
||
JR Z,BLK_PAGE3_X
|
||
|
||
IN A,(PAGE1)
|
||
LD E,A
|
||
LD D,42H
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE1),A
|
||
LD A,(DE)
|
||
OUT (PAGE1),A
|
||
LD DE,4000H
|
||
JP BLK_CONT1
|
||
|
||
BLK_PAGE3_X:
|
||
IN A,(PAGE3)
|
||
LD E,A
|
||
LD D,0C2H
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE3),A
|
||
LD A,(DE)
|
||
OUT (PAGE3),A
|
||
LD DE,0C000H
|
||
|
||
BIT 7,H
|
||
JP Z,BLK_CONT1
|
||
|
||
LD E,A
|
||
LD A,C
|
||
OUT (PAGE3),A
|
||
IN A,(PAGE1)
|
||
LD C,A
|
||
LD A,E
|
||
OUT (PAGE1),A
|
||
LD DE,4000H
|
||
JP BLK_CONT1
|
||
|
||
BLK_EXIT_1:
|
||
LD A,D
|
||
RLCA
|
||
XOR D
|
||
RLCA
|
||
JR NC,BLK_EXIT_2
|
||
|
||
LD A,C
|
||
OUT (PAGE1),A
|
||
AND A
|
||
RET
|
||
BLK_EXIT_2:
|
||
LD A,C
|
||
OUT (PAGE3),A
|
||
AND A
|
||
RET
|
||
|
||
|
||
DISK_REDIR:
|
||
PUSH HL
|
||
LD HL,DISK_TYPE-4000h
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD A,(OPER_DISK)
|
||
AND 3
|
||
ADD A,L
|
||
LD L,A
|
||
LD L,(HL)
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
POP HL
|
||
RET
|
||
|
||
SET_DISK_TYPE:
|
||
PUSH HL
|
||
LD HL,DISK_TYPE-4000H
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD A,(OPER_DISK)
|
||
AND 3
|
||
ADD A,L
|
||
LD L,A
|
||
LD (HL),E
|
||
LD L,(HL)
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,L
|
||
POP HL
|
||
RET
|
||
|
||
|
||
RAMD_CALC_PAGE: ; ¢å®¤: DE - ram_disk trk_sec, A - RAM-Disk
|
||
; ¢ë室: HL - ¤à¥á, A - page
|
||
CP 16
|
||
CCF
|
||
RET C ; <20>…’ ’€ŠŽƒŽ RAM-Disk
|
||
|
||
PUSH AF
|
||
LD H,D
|
||
LD L,E
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD B,H
|
||
LD A,E
|
||
OR 0C0H
|
||
LD C,A ; C - ç áâì ¤à¥á , B - áâà ¨æ
|
||
POP AF
|
||
|
||
CALL EMM_FN4 ; <20>Ž‹“—ˆ’œ ‘’<E28098>€<EFBFBD>ˆ–“
|
||
LD L,0
|
||
LD H,C
|
||
|
||
; RET C
|
||
; LD B,A
|
||
; LD A,B
|
||
; CP 0FFH
|
||
; CCF
|
||
|
||
RET
|
||
|
||
;*****************************************************
|
||
;
|
||
; HL - ¡ãä¥à
|
||
;
|
||
;*****************************************************
|
||
|
||
Version EQU 020DH ; Version BIOS
|
||
|
||
ID_SPRINTER:
|
||
DB 'Sprinter BIOS: ver 2.13',0,"Sprinter",0,0
|
||
L_ID EQU $-ID_SPRINTER
|
||
;*****************************************************
|
||
|
||
FN_VERSION:
|
||
PUSH HL
|
||
EX DE,HL
|
||
LD HL,ID_SPRINTER
|
||
LD BC,L_ID
|
||
LDIR
|
||
POP HL
|
||
LD DE,Version
|
||
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD BC,(CONFIG_BYTE-4000h) ; Version PLD
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
LD A,2 ; —¨á«® ¯®«¥©
|
||
AND A
|
||
RET
|
||
|
||
;*****************************************************
|
||
|
||
EMM_FN7:
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
LD HL,08000H
|
||
LD DE,ID_SPRINTER
|
||
LD B,L_ID
|
||
ID_LOOP:
|
||
LD A,(DE)
|
||
CP (HL)
|
||
JR NZ,INIT_SYS_ALL
|
||
INC HL
|
||
INC DE
|
||
DJNZ ID_LOOP
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
RET
|
||
|
||
|
||
MSDOS_COLD_VARS:
|
||
DI
|
||
IN A,(PAGE2)
|
||
EX AF,AF'
|
||
LD A,SYS_PAGE
|
||
OUT (PAGE2),A
|
||
|
||
INIT_SYS_ALL:
|
||
LD DE,08000H
|
||
LD HL,ID_SPRINTER
|
||
LD BC,L_ID
|
||
LDIR
|
||
|
||
LD HL,DISK_TYPE-4000h
|
||
LD (HL),0
|
||
INC HL
|
||
LD (HL),1
|
||
INC HL
|
||
LD (HL),40H ; HDD
|
||
INC HL
|
||
LD (HL),3
|
||
INC HL
|
||
LD (HL),0 ; PAGE0
|
||
INC HL
|
||
LD (HL),5 ; PAGE1
|
||
INC HL
|
||
LD (HL),2 ; PAGE2
|
||
INC HL
|
||
LD (HL),0 ; PAGE3
|
||
|
||
LD A,9
|
||
LD (MSD_SECS-4000h),A
|
||
LD A,0
|
||
LD (DS_1440-4000h),A
|
||
|
||
LD HL,RAMD_KEYS-4000h
|
||
LD DE,RAMD_KEYS+1-4000h
|
||
|
||
LD BC,RAMD_KEY_NUM-1
|
||
LD (HL),0
|
||
LDIR
|
||
|
||
LD DE,ZG_ADRESS
|
||
LD (WIN_ZG-4000h),DE
|
||
LD HL,L_SCORPION
|
||
LD (CONFIG_ALL-4000h),HL
|
||
LD DE,CNF_0
|
||
LD (CONFIG_DE-4000h),DE
|
||
|
||
LD HL,TASK_DATA-4000h ; 㡨âì ¢á¥ § ¤ ç¨
|
||
LD DE,TASK_DATA+1-4000h
|
||
LD BC,0FFH
|
||
LD (HL),0
|
||
LDIR
|
||
|
||
EX AF,AF'
|
||
OUT (PAGE2),A
|
||
|
||
CALL EMM_FN1
|
||
RET
|
||
|
||
|
||
|