mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-18 10:50:34 +03:00
Changed procedure "BANK"
This commit is contained in:
parent
305a557e34
commit
aae08dd436
@ -347,7 +347,7 @@ ADRST10: ;DS 512 ;,0
|
|||||||
;...............................................[LOW ADDRESS ]:
|
;...............................................[LOW ADDRESS ]:
|
||||||
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
; 0 1 2 3 4 5 6 7 8 9 DEC HEX
|
||||||
DB low F_START, low CHNDISK, low CURRDSK, low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
DB low F_START, low CHNDISK, low CURRDSK, low DISKINF, low NOPS, low NOPS, low NOPS, low NOPS, low SCANDRV, low BOOTDSK ; 0 00..09
|
||||||
DB low CREATE, low CREAT_N, low NOPS, low NOPS, low DELETE, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 A0..13
|
DB low CREATE, low CREAT_N, low NOPS, low NOPS, low DELETE, low NOPS, low RENAME, low OPEN_FN, low CLOSE_FN, low READ ; 1 0A..13
|
||||||
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR ; 2 14..1D
|
DB low WRITE, low MOVE_FP, low ATTRIB, low GET_D_T, low PUT_D_T, low F_FIRST, low F_NEXT, low MKDIR, low RMDIR, low CHDIR ; 2 14..1D
|
||||||
DB low CURRDIR, low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
DB low CURRDIR, low NOPS, low NOPS, low SYSTIME, low SETTIME, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 3 1E..27
|
||||||
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
DB low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low WAITKEY, low SCANKEY ; 4 28..31
|
||||||
@ -512,8 +512,12 @@ DEPLOY:
|
|||||||
POP AF
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,DRVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,DRVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DRVPAGE
|
||||||
|
;
|
||||||
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,DRV_CONTENT
|
LD HL,DRV_CONTENT
|
||||||
LD DE,#C000
|
LD DE,#C000
|
||||||
|
|||||||
193
DSS/DOS5.ASM
193
DSS/DOS5.ASM
@ -22,8 +22,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; A - ATTRIB
|
; A - ATTRIB
|
||||||
; B - MODE
|
; B - MODE
|
||||||
@ -59,7 +57,7 @@ WATTRIB PUSH AF
|
|||||||
POP BC
|
POP BC
|
||||||
RET C
|
RET C
|
||||||
SET 7,(IY+_sFM.ACCESS_MODE)
|
SET 7,(IY+_sFM.ACCESS_MODE)
|
||||||
RES 3,B ;CLEAR LABEL ATTR ;R03
|
RES 3,B ;CLEAR LABEL ATTR ;R03 ;!HARDCODE attribute bit
|
||||||
LD (IY+_sFM.ATTRIBUT),B
|
LD (IY+_sFM.ATTRIBUT),B
|
||||||
PUSH BC
|
PUSH BC
|
||||||
CALL CLOSE
|
CALL CLOSE
|
||||||
@ -153,8 +151,13 @@ DELETE LD DE,MASKARE
|
|||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
CALL SEARCH
|
CALL SEARCH
|
||||||
RET C
|
RET C
|
||||||
DELFILE LD A,DIRPAGE
|
DELFILE:
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
|
|
||||||
;PUSH AF
|
;PUSH AF
|
||||||
LD (IX+_sFM.NAME),#E5
|
LD (IX+_sFM.NAME),#E5
|
||||||
LD E,(IX+_sFM.ST_CLUSTER)
|
LD E,(IX+_sFM.ST_CLUSTER)
|
||||||
@ -216,8 +219,13 @@ RENAME PUSH DE
|
|||||||
LD A,DSS_Error.sys.FILE_EXISTS
|
LD A,DSS_Error.sys.FILE_EXISTS
|
||||||
CCF
|
CCF
|
||||||
RET C
|
RET C
|
||||||
LD A,DIRPAGE
|
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
|
|
||||||
LD HL,MASKARE
|
LD HL,MASKARE
|
||||||
LD D,XH
|
LD D,XH
|
||||||
LD E,XL
|
LD E,XL
|
||||||
@ -320,23 +328,29 @@ CLOSE: ;R08
|
|||||||
LD C,(IY+_sFM.HANDLE)
|
LD C,(IY+_sFM.HANDLE)
|
||||||
LD B,(IY+_sFM.HANDLE+1)
|
LD B,(IY+_sFM.HANDLE+1)
|
||||||
JR CLOSE2
|
JR CLOSE2
|
||||||
CLOSE1 ADD HL,DE
|
CLOSE1: ADD HL,DE
|
||||||
DEC BC
|
DEC BC
|
||||||
CLOSE2 LD A,B
|
CLOSE2: LD A,B
|
||||||
OR C
|
OR C
|
||||||
JR NZ,CLOSE1
|
JR NZ,CLOSE1
|
||||||
LD D,YH
|
LD D,YH
|
||||||
LD E,YL
|
LD E,YL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,DIRPAGE
|
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
|
|
||||||
POP HL
|
POP HL
|
||||||
LD BC,#0020
|
LD BC,#0020
|
||||||
LDIR
|
LDIR
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
CALL SAVEDIR
|
CALL SAVEDIR
|
||||||
NOTMODF LD A,(ACCESS)
|
NOTMODF:
|
||||||
|
LD A,(ACCESS)
|
||||||
CALL RES_FM
|
CALL RES_FM
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -347,15 +361,20 @@ ACCESS: DB #00
|
|||||||
HANDBUF: BLOCK HANDBUF.SIZE,0
|
HANDBUF: BLOCK HANDBUF.SIZE,0
|
||||||
|
|
||||||
|
|
||||||
|
WRT_HND:
|
||||||
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
|
|
||||||
WRT_HND LD A,DIRPAGE
|
|
||||||
CALL BANK
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD IX,DIR
|
LD IX,DIR
|
||||||
EXX
|
EXX
|
||||||
LD DE,0
|
LD DE,0
|
||||||
EXX
|
EXX
|
||||||
WRT_HN1 LD A,(IX+00)
|
WRT_HN1:
|
||||||
|
LD A,(IX+00)
|
||||||
OR A
|
OR A
|
||||||
JR Z,WRT_HN2
|
JR Z,WRT_HN2
|
||||||
CP #E5
|
CP #E5
|
||||||
@ -369,7 +388,8 @@ WRT_HN1 LD A,(IX+00)
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
WRT_HN2 LD D,XH
|
WRT_HN2:
|
||||||
|
LD D,XH
|
||||||
LD E,XL
|
LD E,XL
|
||||||
LD HL,HANDBUF
|
LD HL,HANDBUF
|
||||||
LD BC,HANDBUF.SIZE
|
LD BC,HANDBUF.SIZE
|
||||||
@ -390,7 +410,8 @@ WRT_HN2 LD D,XH
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
DOSNAME INC B
|
DOSNAME:
|
||||||
|
INC B
|
||||||
DEC B
|
DEC B
|
||||||
JP Z,GETNAME
|
JP Z,GETNAME
|
||||||
DEC B
|
DEC B
|
||||||
@ -401,25 +422,26 @@ DOSNAME INC B
|
|||||||
|
|
||||||
; HL - 11 bytes filename "FILENAMEEXT"
|
; HL - 11 bytes filename "FILENAMEEXT"
|
||||||
; DE - DOS filename "FILENAME.EXT",0
|
; DE - DOS filename "FILENAME.EXT",0
|
||||||
GETNAME LD BC,#08FF
|
GETNAME:
|
||||||
GETN1 LD A,(HL)
|
LD BC,#08FF
|
||||||
|
GETN1: LD A,(HL)
|
||||||
CP " "
|
CP " "
|
||||||
JR NZ,GETN3
|
JR NZ,GETN3
|
||||||
GETN2 INC HL
|
GETN2: INC HL
|
||||||
DJNZ GETN2
|
DJNZ GETN2
|
||||||
JR GETN4
|
JR GETN4
|
||||||
GETN3 LDI
|
GETN3: LDI
|
||||||
DJNZ GETN1
|
DJNZ GETN1
|
||||||
GETN4 LD A,(HL)
|
GETN4: LD A,(HL)
|
||||||
CP " "
|
CP " "
|
||||||
LD A,"."
|
LD A,"."
|
||||||
JR NZ,GETN5
|
JR NZ,GETN5
|
||||||
LD A,#00
|
LD A,#00
|
||||||
GETN5 LD (DE),A
|
GETN5: LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
RET Z
|
RET Z
|
||||||
LD B,#03
|
LD B,#03
|
||||||
GETN6 LD A,(HL)
|
GETN6: LD A,(HL)
|
||||||
CP " "
|
CP " "
|
||||||
RET Z
|
RET Z
|
||||||
LDI
|
LDI
|
||||||
@ -428,12 +450,13 @@ GETN6 LD A,(HL)
|
|||||||
DJNZ GETN6
|
DJNZ GETN6
|
||||||
RET
|
RET
|
||||||
|
|
||||||
DTABUF DW #0000
|
DTABUF: DW #0000
|
||||||
CURHND DW #0000
|
CURHND: DW #0000
|
||||||
NO_NEXT DB #00
|
NO_NEXT: DB #00
|
||||||
FNDMODE DB #00
|
FNDMODE: DB #00
|
||||||
|
|
||||||
F_FIRST LD (ACCESS),A
|
F_FIRST:
|
||||||
|
LD (ACCESS),A
|
||||||
LD (DTABUF),DE
|
LD (DTABUF),DE
|
||||||
LD A,B
|
LD A,B
|
||||||
LD (FNDMODE),A
|
LD (FNDMODE),A
|
||||||
@ -456,7 +479,7 @@ F_FIRST LD (ACCESS),A
|
|||||||
LD A,(ACCESS)
|
LD A,(ACCESS)
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
INC DE
|
INC DE
|
||||||
FIND_S LD BC,#0020
|
FIND_S: LD BC,#0020
|
||||||
ADD IX,BC
|
ADD IX,BC
|
||||||
LD (CURHND),IX
|
LD (CURHND),IX
|
||||||
LD HL,HANDBUF+12
|
LD HL,HANDBUF+12
|
||||||
@ -475,13 +498,14 @@ FIND_S LD BC,#0020
|
|||||||
LD (NO_NEXT),A
|
LD (NO_NEXT),A
|
||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
FIND_M2 CALL GETNAME
|
FIND_M2:
|
||||||
|
CALL GETNAME
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
LD (NO_NEXT),A
|
LD (NO_NEXT),A
|
||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
F_NEXT LD A,(NO_NEXT)
|
F_NEXT: LD A,(NO_NEXT)
|
||||||
OR A
|
OR A
|
||||||
LD A,DSS_Error.sys.INVALID_ACCESS
|
LD A,DSS_Error.sys.INVALID_ACCESS
|
||||||
SCF
|
SCF
|
||||||
@ -503,9 +527,13 @@ F_NEXT LD A,(NO_NEXT)
|
|||||||
INC DE
|
INC DE
|
||||||
JP FIND_S
|
JP FIND_S
|
||||||
|
|
||||||
NSEARCH EX AF,AF'
|
NSEARCH:
|
||||||
LD A,DIRPAGE
|
EX AF,AF'
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
CPL
|
CPL
|
||||||
@ -516,16 +544,21 @@ NSEARCH EX AF,AF'
|
|||||||
EXX
|
EXX
|
||||||
JP SEARCH1
|
JP SEARCH1
|
||||||
|
|
||||||
DSEARCH LD A,#10
|
DSEARCH:
|
||||||
|
LD A,#10
|
||||||
CALL ASEARCH
|
CALL ASEARCH
|
||||||
RET NC
|
RET NC
|
||||||
LD A,4
|
LD A,4
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SEARCH LD A,#23 ;%00100011
|
SEARCH: LD A,#23 ;%00100011 ;!!!!! ă ‘ ©¬ #27 - %0010'0111
|
||||||
ASEARCH EX AF,AF' ; 76ADLSHR
|
ASEARCH:
|
||||||
LD A,DIRPAGE
|
EX AF,AF' ; 76ADLSHR
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
CPL
|
CPL
|
||||||
@ -534,7 +567,8 @@ ASEARCH EX AF,AF' ; 76ADLSHR
|
|||||||
EXX
|
EXX
|
||||||
LD DE,0
|
LD DE,0
|
||||||
EXX
|
EXX
|
||||||
SEARCH1 LD A,(IX+00)
|
SEARCH1:
|
||||||
|
LD A,(IX+00)
|
||||||
OR A
|
OR A
|
||||||
JR Z,SEARCH4
|
JR Z,SEARCH4
|
||||||
CP #E5
|
CP #E5
|
||||||
@ -547,12 +581,14 @@ SEARCH1 LD A,(IX+00)
|
|||||||
LD E,XL
|
LD E,XL
|
||||||
LD B,11
|
LD B,11
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
SEARCH2 LD A,(DE)
|
SEARCH2:
|
||||||
|
LD A,(DE)
|
||||||
CP '?'
|
CP '?'
|
||||||
JR Z,SEARCH5
|
JR Z,SEARCH5
|
||||||
CP (HL)
|
CP (HL)
|
||||||
JR NZ,SEARCH3
|
JR NZ,SEARCH3
|
||||||
SEARCH5 INC HL
|
SEARCH5:
|
||||||
|
INC HL
|
||||||
INC DE
|
INC DE
|
||||||
DJNZ SEARCH2
|
DJNZ SEARCH2
|
||||||
LD D,XH
|
LD D,XH
|
||||||
@ -566,13 +602,15 @@ SEARCH5 INC HL
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SEARCH3 EXX
|
SEARCH3:
|
||||||
|
EXX
|
||||||
INC DE
|
INC DE
|
||||||
EXX
|
EXX
|
||||||
LD DE,#0020
|
LD DE,#0020
|
||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
JR NC,SEARCH1
|
JR NC,SEARCH1
|
||||||
SEARCH4 POP AF
|
SEARCH4:
|
||||||
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
||||||
SCF
|
SCF
|
||||||
@ -730,8 +768,12 @@ SUBDIR3 CALL FINDDIR
|
|||||||
|
|
||||||
|
|
||||||
; FIND "MASKAREA" IN DIRECTORY
|
; FIND "MASKAREA" IN DIRECTORY
|
||||||
FINDDIR LD A,DIRPAGE
|
FINDDIR:
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD IX,DIR
|
LD IX,DIR
|
||||||
.F_01: LD A,(IX+00)
|
.F_01: LD A,(IX+00)
|
||||||
@ -875,8 +917,11 @@ LOADDIR:
|
|||||||
LD IX,0
|
LD IX,0
|
||||||
LD B,A
|
LD B,A
|
||||||
CALL MOVE_FP
|
CALL MOVE_FP
|
||||||
LD A,DIRPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;!TEST no ldir
|
;!TEST no ldir
|
||||||
;LD HL,#C000
|
;LD HL,#C000
|
||||||
@ -924,8 +969,11 @@ SAVEDIR XOR A
|
|||||||
LD IX,0
|
LD IX,0
|
||||||
LD B,0
|
LD B,0
|
||||||
CALL MOVE_FP
|
CALL MOVE_FP
|
||||||
LD A,DIRPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(FatBuffer.DRIVE)
|
LD A,(FatBuffer.DRIVE)
|
||||||
LD (IY+_sFM.DRIVE),A
|
LD (IY+_sFM.DRIVE),A
|
||||||
@ -960,21 +1008,23 @@ RTD1S LD A,(FatBuffer.DRIVE)
|
|||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
DIRSIZE DW 0
|
DIRSIZE: WORD 0
|
||||||
|
|
||||||
;!FIXIT ŹĄŕĄ¤Ą« âě Żŕ®áâ® áâŕăŞâăŕă, ç⮡ Ż®«ăç âě ®¬Ąŕ áâŕ ¨ć ˇĄ§ í⮣® ŁĄ¬®ŕ
|
;!TEST
|
||||||
BANK: LD C,A
|
;BANK:
|
||||||
LD B,0
|
; LD C,A
|
||||||
LD HL,BANKTBL
|
; LD B,0
|
||||||
ADD HL,BC
|
; LD HL,BANKTBL
|
||||||
IN A,(SLOT3)
|
; ADD HL,BC
|
||||||
LD C,SLOT3
|
; IN A,(SLOT3)
|
||||||
OUTI
|
; LD C,SLOT3
|
||||||
RET
|
; OUTI
|
||||||
|
; RET
|
||||||
|
;
|
||||||
|
|
||||||
BANKTBL:
|
BANKTBL: BLOCK USING_MEMPAGES+1,#FF
|
||||||
BLOCK USING_MEMPAGES+1,#FF
|
|
||||||
|
|
||||||
|
;!TODO
|
||||||
;G_HAND1 POP IX
|
;G_HAND1 POP IX
|
||||||
; POP HL
|
; POP HL
|
||||||
; POP DE
|
; POP DE
|
||||||
@ -1082,22 +1132,18 @@ BANKTBL:
|
|||||||
;HANDTA DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
;HANDTA DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
; DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
; DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
|
||||||
MASKARE
|
MASKARE: BLOCK 32,0 ;!HARDCODE Ż®çĄ¬ă 32?
|
||||||
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
|
|
||||||
; HL - MASK "file*.t??"
|
; HL - MASK "file*.t??"
|
||||||
; DE - 11 bytes filename
|
; DE - 11 bytes filename
|
||||||
; RET: C=2 FILE WITHOUT EXTENTION
|
; RET: C=2 FILE WITHOUT EXTENTION
|
||||||
; C=1 FILE WITH EXTENTION
|
; C=1 FILE WITH EXTENTION
|
||||||
|
|
||||||
MASK PUSH HL
|
MASK PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LD H,D
|
LD H,D
|
||||||
LD L,E
|
LD L,E
|
||||||
INC DE
|
INC DE
|
||||||
LD (HL),#20
|
LD (HL),' '
|
||||||
LD BC,10
|
LD BC,10 ;!HARDCODE = size (FileName + Extension - 1)
|
||||||
LDIR
|
LDIR
|
||||||
POP DE
|
POP DE
|
||||||
POP HL
|
POP HL
|
||||||
@ -1610,8 +1656,11 @@ MKD03 INC HL
|
|||||||
DJNZ MKD03
|
DJNZ MKD03
|
||||||
INC HL
|
INC HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,DIRPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,DIRPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X DIRPAGE
|
||||||
|
;
|
||||||
POP HL
|
POP HL
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(DIR)
|
LD A,(DIR)
|
||||||
|
|||||||
@ -381,8 +381,11 @@ S4C02 INC HL
|
|||||||
; JP C,RDERR1
|
; JP C,RDERR1
|
||||||
LD HL,0
|
LD HL,0
|
||||||
LD (FATCASH),HL
|
LD (FATCASH),HL
|
||||||
LD A,FATPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,FATPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X FATPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
XOR A
|
XOR A
|
||||||
CALL RE_FAT
|
CALL RE_FAT
|
||||||
@ -457,8 +460,11 @@ SAVE_CUR_PATH
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
|
||||||
CALL CURRDSK
|
CALL CURRDSK
|
||||||
@ -496,8 +502,12 @@ BACK_CUR_PATH:
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
|
||||||
LD HL,TMP_CURDIR
|
LD HL,TMP_CURDIR
|
||||||
|
|||||||
@ -1,3 +1,14 @@
|
|||||||
|
|
||||||
|
;
|
||||||
|
MACRO SET_PAGE_X new_page
|
||||||
|
LD A,(BANKTBL+new_page)
|
||||||
|
LD B,A
|
||||||
|
LD C,SLOT3
|
||||||
|
IN A,(SLOT3)
|
||||||
|
OUT (C),B
|
||||||
|
ENDM
|
||||||
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
MACRO _mSavePath
|
MACRO _mSavePath
|
||||||
IF SAVE_PATH_MACRO
|
IF SAVE_PATH_MACRO
|
||||||
|
|||||||
@ -28,8 +28,12 @@ ENVIRON:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
INITENV:
|
INITENV:
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;!TEST
|
;!TEST
|
||||||
LD A,(BOOTDRV)
|
LD A,(BOOTDRV)
|
||||||
@ -56,8 +60,11 @@ INITENV:
|
|||||||
|
|
||||||
READENV:
|
READENV:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
LD H,A
|
LD H,A
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
IN L,(C)
|
IN L,(C)
|
||||||
@ -88,8 +95,11 @@ READENV:
|
|||||||
GETENV: PUSH DE
|
GETENV: PUSH DE
|
||||||
CALL ENV_EX
|
CALL ENV_EX
|
||||||
|
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
CALL F_ENV
|
CALL F_ENV
|
||||||
@ -111,9 +121,11 @@ GE_1: EX AF,AF'
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
SETENV: CALL ENV_EX
|
SETENV: CALL ENV_EX
|
||||||
;
|
;!TEST
|
||||||
LD A,ENVPAGE
|
;LD A,ENVPAGE
|
||||||
CALL BANK
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
CALL F_ENV
|
CALL F_ENV
|
||||||
|
|||||||
@ -560,8 +560,11 @@ RELATIVE_DIR EQU 0
|
|||||||
ABSOLUTE_DIR EQU 1
|
ABSOLUTE_DIR EQU 1
|
||||||
|
|
||||||
FINDPATH
|
FINDPATH
|
||||||
LD A,ENVPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,ENVPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X ENVPAGE
|
||||||
|
;
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
|
||||||
CALL CURRDSK
|
CALL CURRDSK
|
||||||
@ -871,7 +874,7 @@ NOINK LD A,H
|
|||||||
SUB B
|
SUB B
|
||||||
LD (SECBUF),A
|
LD (SECBUF),A
|
||||||
LD SP,EXEBUFF+510 ;R02
|
LD SP,EXEBUFF+510 ;R02
|
||||||
LD A,#FF
|
LD A,DSS_PAGE
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -1023,7 +1026,7 @@ NOINK2 CALL GETMEM
|
|||||||
SUB B
|
SUB B
|
||||||
LD (SECBUF),A
|
LD (SECBUF),A
|
||||||
LD SP,EXEBUFF+510
|
LD SP,EXEBUFF+510
|
||||||
LD A,#FF
|
LD A,DSS_PAGE
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|||||||
@ -61,8 +61,13 @@ R_F_FAT EX DE,HL
|
|||||||
LD A,10
|
LD A,10
|
||||||
RET C
|
RET C
|
||||||
EXX
|
EXX
|
||||||
LD A,FATPAGE
|
|
||||||
CALL BANK
|
;!TEST
|
||||||
|
;LD A,FATPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X FATPAGE
|
||||||
|
;
|
||||||
|
|
||||||
EXX
|
EXX
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH AF
|
PUSH AF
|
||||||
@ -218,8 +223,11 @@ W_T_FAT PUSH DE
|
|||||||
LD A,10
|
LD A,10
|
||||||
RET C
|
RET C
|
||||||
EXX
|
EXX
|
||||||
LD A,FATPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,FATPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X FATPAGE
|
||||||
|
;
|
||||||
EXX
|
EXX
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH AF
|
PUSH AF
|
||||||
@ -342,8 +350,11 @@ RE_FAT PUSH HL
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
WR_FAT EXX
|
WR_FAT EXX
|
||||||
LD A,FATPAGE
|
;!TEST
|
||||||
CALL BANK
|
;LD A,FATPAGE
|
||||||
|
;CALL BANK
|
||||||
|
SET_PAGE_X FATPAGE
|
||||||
|
;
|
||||||
EXX
|
EXX
|
||||||
PUSH AF
|
PUSH AF
|
||||||
CALL WR_FAT_
|
CALL WR_FAT_
|
||||||
|
|||||||
@ -613,7 +613,7 @@ NXTPART LD DE,#10
|
|||||||
|
|
||||||
PARTIT IN A,(SLOT3)
|
PARTIT IN A,(SLOT3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,#FF
|
LD A,DSS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
CALL PARTIT1
|
CALL PARTIT1
|
||||||
POP AF
|
POP AF
|
||||||
@ -701,7 +701,7 @@ LOADSEC PUSH IY
|
|||||||
LD IX,(CURSECL)
|
LD IX,(CURSECL)
|
||||||
LD HL,(CURSECH)
|
LD HL,(CURSECH)
|
||||||
LD DE,PART
|
LD DE,PART
|
||||||
LD BC,#0155
|
LD BC,1*256 + BIOS.DRV_READ
|
||||||
LD A,(DRV)
|
LD A,(DRV)
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
POP IY
|
POP IY
|
||||||
|
|||||||
@ -846,21 +846,23 @@ CONTROL CALL READ_M
|
|||||||
RET NC
|
RET NC
|
||||||
CALL MCORECT
|
CALL MCORECT
|
||||||
LD A,#00
|
LD A,#00
|
||||||
LD (REDY+1),A
|
LD (REDY),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
REFRESH LD A,#01
|
REFRESH LD A,#01
|
||||||
OR A
|
OR A
|
||||||
RET NZ
|
RET NZ
|
||||||
REDY LD A,#00
|
REDY+1: LD A,#00
|
||||||
; OR A
|
;????? ŻŽçĽŹă § ŞŽŹŹĽâ¨ŕŽ˘ Ž ˘ Žŕ¨Ł¨ ŤĽ?
|
||||||
; RET NZ
|
;OR A
|
||||||
|
;RET NZ
|
||||||
|
;
|
||||||
CALL RESTORE
|
CALL RESTORE
|
||||||
LD HL,(PIX_X)
|
LD HL,(PIX_X)
|
||||||
LD DE,(PIX_Y)
|
LD DE,(PIX_Y)
|
||||||
CALL MOUSE
|
CALL MOUSE
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
LD (REDY+1),A
|
LD (REDY),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
MODE_M DB #03
|
MODE_M DB #03
|
||||||
@ -892,26 +894,25 @@ SKIPXF DW 0
|
|||||||
REALXS DW 0
|
REALXS DW 0
|
||||||
REALYS DW 0
|
REALYS DW 0
|
||||||
|
|
||||||
Xx EQU #00
|
; Xx EQU #00
|
||||||
Ww EQU #FE
|
; Ww EQU #FE
|
||||||
Nn EQU #FF
|
; Nn EQU #FF
|
||||||
|
|
||||||
;MS_BMP
|
;MS_BMP
|
||||||
M_IMAGE:
|
M_IMAGE:
|
||||||
DB Xx,Xx,Nn,Nn,Nn,Nn,Nn,Nn,Nn,Nn
|
DH "00 00 FF FF FF FF FF FF FF FF"
|
||||||
DB Xx,Ww,Xx,Nn,Nn,Nn,Nn,Nn,Nn,Nn
|
DH "00 FE 00 FF FF FF FF FF FF FF"
|
||||||
DB Xx,Ww,Ww,Xx,Nn,Nn,Nn,Nn,Nn,Nn
|
DH "00 FE FE 00 FF FF FF FF FF FF"
|
||||||
DB Xx,Ww,Ww,Ww,Xx,Nn,Nn,Nn,Nn,Nn
|
DH "00 FE FE FE 00 FF FF FF FF FF"
|
||||||
DB Xx,Ww,Ww,Ww,Ww,Xx,Nn,Nn,Nn,Nn
|
DH "00 FE FE FE FE 00 FF FF FF FF"
|
||||||
DB Xx,Ww,Ww,Ww,Ww,Ww,Xx,Nn,Nn,Nn
|
DH "00 FE FE FE FE FE 00 FF FF FF"
|
||||||
DB Xx,Ww,Ww,Ww,Ww,Ww,Ww,Xx,Nn,Nn
|
DH "00 FE FE FE FE FE FE 00 FF FF"
|
||||||
DB Xx,Ww,Ww,Ww,Ww,Xx,Xx,Xx,Xx,Nn
|
DH "00 FE FE FE FE 00 00 00 00 FF"
|
||||||
DB Xx,Ww,Ww,Xx,Ww,Xx,Nn,Nn,Nn,Nn
|
DH "00 FE FE 00 FE 00 FF FF FF FF"
|
||||||
DB Xx,Ww,Xx,Xx,Ww,Ww,Xx,Nn,Nn,Nn
|
DH "00 FE 00 00 FE FE 00 FF FF FF"
|
||||||
DB Xx,Xx,Nn,Nn,Xx,Ww,Xx,Nn,Nn,Nn
|
DH "00 00 FF FF 00 FE 00 FF FF FF"
|
||||||
DB Xx,Nn,Nn,Nn,Xx,Ww,Ww,Xx,Nn,Nn
|
DH "00 FF FF FF 00 FE FE 00 FF FF"
|
||||||
DB Nn,Nn,Nn,Nn,Nn,Xx,Xx,Nn,Nn,Nn
|
DH "FF FF FF FF FF 00 00 FF FF FF"
|
||||||
DB Nn,Nn,Nn,Nn,Nn,Nn,Nn,Nn,Nn,Nn
|
DH "FF FF FF FF FF FF FF FF FF FF"
|
||||||
BLOCK 256-($-M_IMAGE),0
|
BLOCK 256-($-M_IMAGE),0
|
||||||
.Size EQU $-M_IMAGE
|
.Size EQU $-M_IMAGE
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user