347 lines
7.5 KiB
Plaintext
347 lines
7.5 KiB
Plaintext
|
|
; LAST UPDATE: 25.03.2025 savelij
|
|
|
|
; !FIXIT ¯¥à¥¤¥« âì ®¤¨ ª®¢ë¥ ®ª á à §ë¬ â¥ªá⮬ ¤«ï ®è¨¡®ª ¯®¤ ¢â®¬ â¨ç¥áªãî ¯à®æ¥¤ãàã
|
|
;[]===========================================================[]
|
|
DOSErrorR ;[x] 30/07/23 -bug ¢ë«¥â § ¯à¥¤¥«ë â ¡«¨æë ®è¨¡®ª
|
|
CP (.error - .ErrorWins)/2
|
|
JR C,.calc_addr
|
|
LD HL,.error
|
|
JR .goto_addr
|
|
|
|
.calc_addr: LD HL,.ErrorWins
|
|
ADD A,A
|
|
ADD A,L
|
|
LD L,A
|
|
JR NC,.goto_addr
|
|
INC H
|
|
.goto_addr: LD A,(HL)
|
|
INC HL
|
|
LD H,(HL)
|
|
LD L,A
|
|
LD A,H
|
|
OR L
|
|
RET Z
|
|
CALL SetMouse
|
|
JP (HL)
|
|
|
|
.ErrorWins DEFW 0x0000 ; 00
|
|
DEFW 0x0000 ; 01
|
|
DEFW InvDrive ; 02
|
|
DEFW FileNFound ; 03
|
|
DEFW InvPath ; 04
|
|
DEFW 0x0000 ; 05
|
|
DEFW FileNFound ; 06
|
|
DEFW FILEexists ; 07
|
|
DEFW 0x0000 ; 08
|
|
DEFW ROOToverflow ; 09
|
|
DEFW NoDiskSpace ; 0A
|
|
DEFW DIRnotEmpty ; 0B
|
|
DEFW 0x0000 ; 0C
|
|
DEFW InvMedia ; 0D
|
|
DEFW 0x0000 ; 0E
|
|
DEFW DIRexists ; 0F
|
|
DEFW InvName ; 10
|
|
DEFW InvEXEfile ; 11
|
|
DEFW InvEXEver ; 12
|
|
DEFW 0x0000 ; 13
|
|
DEFW NotReady ; 14
|
|
DEFW 0x0000 ; 15
|
|
DEFW 0x0000 ; 16
|
|
DEFW 0x0000 ; 17
|
|
DEFW WriteProtect ; 18 ; [ ] 26/06/2024
|
|
DEFW 0x0000 ; 19
|
|
DEFW 0x0000 ; 1A
|
|
DEFW 0x0000 ; 1B
|
|
DEFW NotReady ; 1C
|
|
DEFW 0x0000 ; 1D
|
|
DEFW NoMemory ; 1E
|
|
DEFW 0x0000 ; 1F
|
|
DEFW 0x0000 ; 20
|
|
DEFW 0x0000 ; 21
|
|
DEFW 0x0000 ; 22
|
|
DEFW ToManyFilesInDir ; 23
|
|
; always last in the table:
|
|
.error: DW UnknownError ; if no ERROR in this table then will show this message
|
|
|
|
;--------------------------------------------------------------
|
|
WriteProtect:
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 37,18,COLORP.HIGHGRAY,"Drive is write protected"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
InvDrive
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 24,18,COLORP.HIGHGRAY,"Invalid drive letter:"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_BORDER 120,15,16,12
|
|
W_FILL 122,16,12,10,COLORI.WHITE
|
|
W_END
|
|
JP InputDrive
|
|
|
|
InvMedia
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 46,18,COLORP.HIGHGRAY,"Invalid media:"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_BORDER 120,15,16,12
|
|
W_FILL 122,16,12,10,COLORI.WHITE
|
|
W_END
|
|
JR InputDrive
|
|
|
|
NotReady
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 36,18,COLORP.HIGHGRAY,"Drive not ready:"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_BORDER 120,15,16,12
|
|
W_FILL 122,16,12,10,COLORI.WHITE
|
|
W_END
|
|
InputDrive PUSH IY
|
|
SPDSS DSSF.CURDISK
|
|
POP IY
|
|
ADD A,"A"
|
|
LD (CurDrv),A
|
|
LD IX,DriveStr
|
|
LD HL,ErrorTab1
|
|
CALL InputLine
|
|
WINDOWCLOSE
|
|
CALL SetClock
|
|
LD A,(CurDrv)
|
|
RES 5,A
|
|
SUB "A"
|
|
PUSH IY
|
|
SPDSS DSSF.CHDISK
|
|
POP IY
|
|
JP C,DOSErrorR
|
|
LD HL,BegDIR
|
|
PUSH IY
|
|
SPDSS DSSF.CHDIR
|
|
POP IY
|
|
JP C,DOSErrorR
|
|
CALL SetMouse
|
|
LD A,0x01
|
|
RET
|
|
|
|
ErrorTab1 DEFW 0x011C,0x0164,0x0076,0x0084,0x01,0x0000,InputLine.InpLnExtN,0x0000
|
|
DEFW 0x8000
|
|
|
|
DriveStr DEFB 0x01,0x00,0x00,0x00
|
|
DEFB 0x01
|
|
DEFW 0x015C,0x006A
|
|
DEFW 0x000A
|
|
DEFB 0xF0
|
|
CurDrv DUPL 0x02,0x00
|
|
|
|
;--------------------------------------------------------------
|
|
InvPath
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 70,18,COLORP.HIGHGRAY,"Invalid path"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
ErrorLp0 LD IX,ErrorTab2
|
|
CALL TestCoords
|
|
SPDSS DSSF.SCANKEY
|
|
JR Z,ErrorLp0
|
|
LD A,B
|
|
OR A
|
|
JR NZ,ErrorLp0
|
|
LD A,E
|
|
CP 0x1B
|
|
JR Z,ErrorExt0
|
|
CP 0x0D
|
|
JR Z,ErrorExt0
|
|
RES 5,A
|
|
CP "O"
|
|
JR NZ,ErrorLp0
|
|
ErrorExt0
|
|
WINDOWCLOSE
|
|
CALL SetClock
|
|
LD HL,BegDIR
|
|
PUSH IY
|
|
SPDSS DSSF.CHDIR
|
|
POP IY
|
|
JP C,DOSErrorR
|
|
CALL SetMouse
|
|
LD A,0x01
|
|
RET
|
|
|
|
ErrorTab2 DEFW 0x011C,0x0164,0x0076,0x0084,0x21,0x0000,ErrorExt0,0x0000
|
|
DEFW 0x8000
|
|
|
|
;--------------------------------------------------------------
|
|
FileNFound
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 60,18,COLORP.HIGHGRAY,"File not found"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
ROOToverflow
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 64,18,COLORP.HIGHGRAY,"ROOT overflow"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
NoDiskSpace
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 62,18,COLORP.HIGHGRAY,"No disk space"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
DIRnotEmpty
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 40,18,COLORP.HIGHGRAY,"Directory is not empty"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
FILEexists
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 72,18,COLORP.HIGHGRAY,"File exists"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
DIRexists
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 56,18,COLORP.HIGHGRAY,"Directory exists"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
InvName
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 66,18,COLORP.HIGHGRAY,"Invalid name"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
InvEXEfile
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 60,18,COLORP.HIGHGRAY,"Invalid EXE file"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
InvEXEver
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 40,18,COLORP.HIGHGRAY,"Unsupport EXE version"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
NoMemory
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 52,18,COLORP.HIGHGRAY,"No memory space"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
ToManyFilesInDir:
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 30,18,COLORP.HIGHGRAY,"Too many directory entries"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
JP ErrorLp
|
|
|
|
UnknownError: ;[x] 30/07/23 -bug ¢ë«¥â § ¯à¥¤¥«ë â ¡«¨æë ®è¨¡®ª
|
|
MAKEWINDOW WINSUBOBJ.STORE
|
|
W_MAIN 224,88,192,48
|
|
W_FILL 4,2,184,10,COLORI.RED
|
|
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
|
W_TEXT 60,18,COLORP.HIGHGRAY,"Unknown Error"
|
|
W_BUTTON 60,30,72,14
|
|
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
|
W_END
|
|
;JP ErrorLp
|
|
|
|
ErrorLp LD IX,ErrorTab3
|
|
CALL TestCoords
|
|
SPDSS DSSF.SCANKEY
|
|
JR Z,ErrorLp
|
|
LD A,B
|
|
OR A
|
|
JR NZ,ErrorLp
|
|
LD A,E
|
|
CP 0x1B
|
|
JR Z,ErrorExt
|
|
CP 0x0D
|
|
JR Z,ErrorExt
|
|
RES 5,A
|
|
CP 'O'
|
|
JR NZ,ErrorLp
|
|
ErrorExt
|
|
WINDOWCLOSE
|
|
SUB A
|
|
RET
|
|
|
|
ErrorTab3 DEFW 0x011C,0x0164,0x0076,0x0084,0x21,0x0000,ErrorExt,0x0000
|
|
DEFW 0x8000
|