diff --git a/Console/DOS_EQU.ASM b/Console/DOS_EQU.ASM deleted file mode 100644 index 040325b..0000000 --- a/Console/DOS_EQU.ASM +++ /dev/null @@ -1,71 +0,0 @@ -/* -VERSION EQU #00 -CHDISK EQU #01 -CURDISK EQU #02 -DSKINFO EQU #03 -G_ENTRY EQU #04 - -BOOTDSK EQU #09 -CREATE EQU #0A -CREAT_N EQU #0B -ERASE EQU #0D -DELETE EQU #0E -MOVE EQU #0F -RENAME EQU #10 -OPEN EQU #11 -CLOSE EQU #12 -READ EQU #13 -WRITE EQU #14 -MOVE_FP EQU #15 -ATTRIB EQU #16 -GET_D_T EQU #17 -PUT_D_T EQU #18 -F_FIRST EQU #19 -F_NEXT EQU #1A -MKDIR EQU #1B -RMDIR EQU #1C -CHDIR EQU #1D -CURDIR EQU #1E -SYSTIME EQU #21 -SETTIME EQU #22 - -WAITKEY EQU #30 -SCANKEY EQU #31 -ECHOKEY EQU #32 -CTRLKEY EQU #33 -EDIT EQU #34 -K_CLEAR EQU #35 - -SETWIN EQU #38 -SETWIN1 EQU #39 -SETWIN2 EQU #3A -SETWIN3 EQU #3B -FREEMEM EQU #3C -GETMEM EQU #3D -RETMEM EQU #3E -SETMEM EQU #3F - -EXEC EQU #40 -EXIT EQU #41 -WAIT EQU #42 - -GSWITCH EQU #43 -DOSNAME EQU #44 - -SETVMOD EQU #50 -GETVMOD EQU #51 -LOCATE EQU #52 -CURSOR EQU #53 -SELPAGE EQU #54 -SCROLL EQU #55 -CLEAR EQU #56 -RDCHAR EQU #57 -WRCHAR EQU #58 -WINCOPY EQU #59 -WINREST EQU #5A -PUTCHAR EQU #5B -PCHARS EQU #5C -RES_PRN EQU #5D -CTRLPRN EQU #5E -PRINT EQU #5F -*/ diff --git a/Console/DSS.INC b/Console/DSS.INC deleted file mode 100644 index 5197cee..0000000 --- a/Console/DSS.INC +++ /dev/null @@ -1,104 +0,0 @@ - -DSS_VERSION EQU #00 -DSS_CHDISK EQU #01 -DSS_CURDISK EQU #02 -DSS_DSKINFO EQU #03 -;DSS_G_ENTRY EQU #04 -; EQU #05 -; EQU #06 -; EQU #07 -; EQU #08 -DSS_BOOTDSK EQU #09 -;File io -DSS_CREATE EQU #0A -DSS_CREAT_N EQU #0B -; EQU #0C -;DSS_ERASE EQU #0D -DSS_DELETE EQU #0E -;DSS_MOVE EQU #0F -DSS_RENAME EQU #10 -DSS_OPEN EQU #11 -DSS_CLOSE EQU #12 -DSS_READ EQU #13 -DSS_WRITE EQU #14 -DSS_MOVE_FP EQU #15 -DSS_ATTRIB EQU #16 -DSS_GET_D_T EQU #17 -DSS_PUT_D_T EQU #18 -DSS_F_FIRST EQU #19 -DSS_F_NEXT EQU #1A -DSS_MKDIR EQU #1B -DSS_RMDIR EQU #1C -DSS_CHDIR EQU #1D -DSS_CURDIR EQU #1E -; EQU #1F -; EQU #20 -DSS_SYSTIME EQU #21 -DSS_SETTIME EQU #22 -; EQU #23 -; EQU #24 -; EQU #25 -; EQU #26 -; EQU #27 -; EQU #28 -; EQU #29 -; EQU #2A -; EQU #2B -; EQU #2C -; EQU #2D -; EQU #2E -; EQU #2F -;Keyboard -DSS_WAITKEY EQU #30 -DSS_SCANKEY EQU #31 -DSS_ECHOKEY EQU #32 -DSS_CTRLKEY EQU #33 -;DSS_EDIT EQU #34 -DSS_K_CLEAR EQU #35 -DSS_K_SETUP EQU #36 -DSS_TESTKEY EQU #37 -;Memory -DSS_SETWIN EQU #38 -DSS_SETWIN1 EQU #39 -DSS_SETWIN2 EQU #3A -DSS_SETWIN3 EQU #3B -DSS_INFOMEM EQU #3C -DSS_GETMEM EQU #3D -DSS_FREEMEM EQU #3E -DSS_SETMEM EQU #3F -;Execution -DSS_EXEC EQU #40 -DSS_EXIT EQU #41 -DSS_WAIT EQU #42 - -DSS_GSWITCH EQU #43 -DSS_DOSNAME EQU #44 -DSS_EX_PATH EQU #45 -DSS_ENVIRON EQU #46 -DSS_APPINFO EQU #47 -; EQU #48 -; EQU #49 -; EQU #4A -; EQU #4B -; EQU #4C -; EQU #4D -; EQU #4E -; EQU #4F - -DSS_SETVMOD EQU #50 -DSS_GETVMOD EQU #51 -DSS_LOCATE EQU #52 -DSS_CURSOR EQU #53 -DSS_SELPAGE EQU #54 -DSS_SCROLL EQU #55 -DSS_CLEAR EQU #56 -DSS_RDCHAR EQU #57 -DSS_WRCHAR EQU #58 -DSS_WINCOPY EQU #59 -DSS_WINREST EQU #5A -DSS_PUTCHAR EQU #5B -DSS_PCHARS EQU #5C -;DSS_RES_PRN EQU #5D -;DSS_CTRLPRN EQU #5E -DSS_PRINT EQU #5F -; diff --git a/Console/SYS.old b/Console/SYS.old deleted file mode 100644 index 92cbf0e..0000000 --- a/Console/SYS.old +++ /dev/null @@ -1,2074 +0,0 @@ - -;[BEGIN] -; -; SYSTEM.EXE /S /P -; -; /P Primary command processor -; /S Secondary command processor -; /C Execute batch file - -;-------------------------------------------------------------- -;Rev. Date Name Description -;-------------------------------------------------------------- -;R05 11-12-2002 DNS IMPLEMENTED %VAR% -;R04 11-12-2002 DNS ADD 'EVALSTRING' ROUTINE -;R03 11-12-2002 DNS NEW VERSION -;R02 19-11-2002 DNS CORRECT SOME ERROR MESSAGES -;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO -; - - ORG #8100-512 - INCLUDE "dss.inc" - INCLUDE "dos_equ.asm" -CR EQU 13 -LF EQU 10 - DB "EXE" ;EXE ID - DB #00 ;EXE VERSION - DW #0200 ;CODE OFFSET LOW - DW #0000 ;CODE OFFSET HIGH - DW #0000 ;END-BEG ;PRIMARY LOADER - DW #0000 ; - DW #0000 ;RESERVED - DW #0000 ; - DW #8100 ;LOAD ADDRESS - DW #8100 ;START ADDRESS - DW #BFFF ;STACK ADDRESS - - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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 - -; DEFS 490,0 - -; LD SP,#BFFF -START CALL INIT - CALL GET_CMD - EI - LD A,(RUNMODE) - AND #80 ;TEST PRIMARY - JP NZ,FPRIMAR - LD A,(RUNMODE) - AND #20 ;TEST SECONDARY - JP NZ,FSECOND - LD A,(RUNMODE) - AND #10 ;TEST BATCH FILE - JP NZ,FBATCHS - LD A,(RUNMODE) - AND #40 ;TEST PROCESS - JP NZ,FBATCH - JP QUIT - -FSECOND CALL VERS - JP CONSOLE - -FBATCHS - LD HL,CMDLINE - CALL BATCH - JP QUIT - -FBATCH - CALL CMDMODE - JP QUIT - -FPRIMAR LD C,CTRLKEY - RST #10 - LD A,B - AND #C0 - JP NZ,CONSOLE - LD HL,BATNAME - CALL BATCH - JP CONSOLE - -BATCH XOR A - LD C,OPEN - RST #10 - RET C - LD (BAT_FM),A - CALL NEWLINE - XOR A - RET - -NEWLINE LD DE,CMDLINE -ADDBAT PUSH DE - CALL READBAT - POP DE - OR A - JR NZ,BATLINE - EX DE,HL - LD DE,CMDLINE - AND A - SBC HL,DE - RET Z - LD A,L - LD (CMDLINE-1),A - CALL CMDMODE - LD C,CLOSE - LD A,(BAT_FM) - RST #10 - RET - -BATLINE LD HL,BATBUFF -NBLINE CALL MOVWORD - JP C,ADDBAT - LD A,B - LD (BAT_LEN),A - PUSH HL - EX DE,HL - LD DE,CMDLINE - AND A - SBC HL,DE - LD A,L - LD (CMDLINE-1),A - CALL CMDMODE - LD DE,CMDLINE - POP HL - JP NBLINE - -MOVWORD LD A,(BAT_LEN) - LD B,A -M00WORD LD A,(HL) - LD (DE),A - CP #20 - JR C,M01WORD - INC HL - INC DE - DJNZ M00WORD - SCF - RET - -M01WORD LD A,(HL) - CP #20 - RET NC - INC HL - DJNZ M01WORD - RET - -READBAT LD HL,BATBUFF - LD DE,128 - LD C,READ - LD A,(BAT_FM) - RST #10 - LD A,E - LD (BAT_LEN),A - RET - -CMDMODE XOR A - LD (POSIT),A - CALL EVALCMD ;R05 - LD IX,CMDLINE-2 - LD HL,CMDLINE - LD A,(HL) - CP "@" - JR NZ,NOALPHA - DEC HL - DEC (HL) - JR Z,NOEC - LD C,(HL) - INC HL - LD B,0 - LD D,H - LD E,L - INC HL - LDIR - JR NOEC -NOALPHA LD A,(ECHOFLG) - OR A - JR NZ,NOEC - LD DE,CMDLINE - CALL PRINT_S - CALL CRLF - LD A,(CMDLINE-1) - OR A - RET Z - CALL CRLF - CALL COMPBAT - RET - -NOEC LD A,(CMDLINE-1) - OR A - RET Z - CALL COMPBAT - RET - -COMPBAT LD HL,CMDLINE - DEC HL - LD C,(HL) - LD B,0 - INC HL -COMP00B LD A,(HL) - CP " " - JR NZ,COMP01B - INC HL - DEC C - JR NZ,COMP00B - RET -COMP01B LD D,H - LD E,L - ADD HL,BC - LD (HL),0 - SBC HL,BC - LD A,C - EX AF,AF' - LD A,#20 - CPIR - JR NZ,COMPB05 - INC C -COMPB05 EX AF,AF' - SUB C - LD C,A - LD HL,BATLIST - JP COMP004 - -INIT LD A,(IX-1) - LD (TASKX),A - PUSH IX - CALL CRLF - CALL GETPATH - POP IX - RET - -CONSOLE CALL CRLF -RE_ CALL GETXY - CALL GETPATH -; CALL VERS - LD HL,CMDLINE - LD DE,CMDLINE+1 - LD (HL),0 - LD BC,#7F - LDIR - CALL INPUT - CALL CRLF - LD A,(CMDLINE-1) - OR A - JP Z,RE_ - CALL CRLF - CALL COMP - JP RE_ - -GETXY LD C,CURSOR - RST #10 - JP LOCAT - -INPUT XOR A - LD (POSIT),A - LD (SHIFT),A - LD (LEN_NEW),A - LD IX,CMDLINE-2 - CALL CEDIT - CALL RES_CUR - RET - -COMP - CALL EVALCMD ;R05 - LD HL,CMDLINE - DEC HL - LD C,(HL) - LD B,0 - INC HL -COMP00 LD A,(HL) - CP " " - JR NZ,COMP01 - INC HL - DEC C - JR NZ,COMP00 - RET -COMP01 LD D,H - LD E,L - ADD HL,BC - LD (HL),0 - SBC HL,BC - LD A,C - EX AF,AF' - LD A,#20 - CPIR - JR NZ,COMP005 - INC C -COMP005 EX AF,AF' - SUB C - LD C,A - LD HL,CMDLIST -COMP004 PUSH BC - PUSH DE -COMP000 LD A,(DE) - CP #61 - JP C,COMP001 - CP #7B - JP NC,COMP001 - SUB #20 -COMP001 CP (HL) - JP NZ,COMP002 - INC HL - INC DE - DEC C - JP NZ,COMP000 - XOR A - CP (HL) - JP NZ,COMP002 - POP BC - POP BC - LD A,(DE) - CP " " - JR NZ,NOSPC - INC DE -NOSPC INC HL - LD A,(HL) - INC HL - LD H,(HL) - LD L,A - JP (HL) - -COMP002 XOR A - LD C,#FF - CPI - JP NZ,$-2 - INC HL - INC HL - POP DE - POP BC - LD A,(HL) - OR A - JP NZ,COMP004 - LD H,D ;CMDLINE - LD L,E - LD B,(HL) - INC HL - LD C,(HL) - INC HL - LD A,(HL) - OR A - JR NZ,RUN_EXT - LD A,":" - CP C - JR NZ,RUN_EXT - LD A,B - CP "a" - JR C,NOUP - CP "{" - JR NC,NOUP - AND #5F -NOUP SUB "A" - LD C,CHDISK - RST #10 - JP C,ERROR - JP GETPATH - -SAVEHL DW 0 - -RUN_EXT EX DE,HL - LD (SAVEHL),HL - LD BC,#0445 - LD DE,EXTBF - RST #10 - LD HL,(SAVEHL) - JR C,RUN_EXE - BIT 1,A - JR Z,NON_EXT - LD DE,EXTBF - LD HL,BATBF - LD B,3 - CALL COMPARE - LD HL,(SAVEHL) - JR Z,RUN_BAT - JP RUN_EXE - -NON_EXT LD BC,0+EXEC - RST #10 - RET NC - LD HL,(SAVEHL) - CP 3 - JP NZ,EXEERR - PUSH HL - LD A,(CMDLINE-1) - LD B,A -EXF000 LD A,(HL) - CP "!" - JR C,EXF001 - INC HL - DJNZ EXF000 - -EXF001 - LD E,B - LD D,0 - ADD HL,DE - PUSH HL - LD E,4 - ADD HL,DE - POP DE - EX DE,HL - LD C,B - LD B,0 - INC C - LDDR - INC HL - LD (HL),"." - INC HL - LD (HL),"B" - INC HL - LD (HL),"A" - INC HL - LD (HL),"T" -; LD HL,(SAVEHL) - POP HL - JP RUN_BAT - -RUN_EXE LD B,0 - LD C,EXEC - RST #10 - RET NC -EXEERR CP 5 - JP NC,ERROR - LD DE,0 ;BAD COMMAND OR FILENAME - JP ERR_MSG - -RUN_BAT CALL BATCH - JP C,EXEERR - RET - -BATLIST DB "PAUSE",0 - DW CPAUSE - DB "REM",0 - DW CREM -CMDLIST DB "CD",0 - DW CCHDIR - DB "CHDIR",0 - DW CCHDIR - DB "CLS",0 - DW CLS - DB "DATE",0 - DW CDATE - DB "DEL",0 - DW CDELET - DB "DIR",0 - DW DIR - DB "ECHO",0 - DW CECHO - DB "ERASE",0 - DW CDELET - DB "EXIT",0 - DW CEXIT - DB "HELP",0 - DW HELP - DB "MD",0 - DW CMKDIR - DB "MKDIR",0 - DW CMKDIR - DB "REN",0 - DW CRENAM - DB "RENAME",0 - DW CRENAM - DB "RD",0 - DW CRMDIR - DB "RMDIR",0 - DW CRMDIR - DB "SET",0 - DW CSET - DB "TIME",0 - DW CTIME - DB "VERSION",0 - DW VERS - DB "VER",0 - DW VERS - DB #00 - -CLS LD DE,#0000 - LD HL,#2050 - LD BC,#0700+CLEAR - LD A," " - RST #10 - LD DE,#0000 - JP LOCAT - -CRLF LD A,#0D - CALL PRINTX - LD A,#0A - JP PRINTX - -CDATE EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD DE,DTA - LD A,(DE) - OR A - JR Z,NOSETD - CALL STR2DEC - JR C,ILLEG - XOR A - CP H - JR NZ,ILLEG - LD A,31 - CP L - JR C,ILLEG - LD B,L - PUSH BC - CALL STR2DEC - POP BC - JR C,ILLEG - XOR A - CP H - JR NZ,ILLEG - LD A,12 - CP L - JR C,ILLEG - LD C,L - PUSH BC - CALL STR2DEC - PUSH HL - LD C,SYSTIME - RST #10 - POP IX - POP DE - LD C,SETTIME - RST #10 -NOSETD LD C,SYSTIME - RST #10 - PUSH IX - PUSH DE - LD A,D - LD HL,PRM1 - CALL PUTB - LD A,"-" - LD (HL),A - INC HL - POP DE - LD A,E - CALL PUTB - LD A,"-" - LD (HL),A - INC HL - PUSH HL - POP IX - POP HL - CALL PDIGIT - LD DE,DATEMSG - JP MESSAGE - -ILLEG LD DE,ILLGMSG - CALL MESSAGE - RET - -CTIME EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD DE,DTA - LD A,(DE) - OR A - JR Z,NOSETT - CALL STR2DEC - JR C,ILLEG - XOR A - CP H - JR NZ,ILLEG - LD A,23 - CP L - JR C,ILLEG - LD B,L - PUSH BC - CALL STR2DEC - POP BC - JR C,ILLEG - XOR A - CP H - JR NZ,ILLEG - LD A,59 - CP L - JR C,ILLEG - LD C,L - PUSH BC - CALL STR2DEC - POP BC - JR C,ILLEG - XOR A - CP H - JR NZ,ILLEG - LD A,59 - CP L - JR C,ILLEG - PUSH BC - LD A,L - PUSH AF - LD C,SYSTIME - RST #10 - POP BC - POP HL - LD C,SETTIME - RST #10 -NOSETT LD C,SYSTIME - RST #10 - PUSH BC - PUSH HL - LD A,H - LD HL,PRM1 - CALL PUTB - LD A,":" - LD (HL),A - INC HL - POP DE - LD A,E - CALL PUTB - LD A,":" - LD (HL),A - INC HL - POP AF - CALL PUTB - XOR A - LD (HL),A - LD DE,TIMEMSG - JP MESSAGE - -CPAUSE LD DE,PAUSMSG - CALL MESSAGE - LD C,WAITKEY - RST #10 - RET - - -CSET LD A,(DE) - OR A - JP Z,PRNENVIR - EX DE,HL - LD BC,#0200+DSS_ENVIRON - RST #10 - CALL C,ERROR - RET - -PRNENVIR - LD HL,DTA - LD BC,#0000+DSS_ENVIRON - RST #10 - LD HL,DTA -PRNENVX LD C,DSS_PCHARS - RST #10 - LD A,CR - LD C,DSS_PUTCHAR - RST #10 - LD A,LF - LD C,DSS_PUTCHAR - RST #10 - LD A,(HL) - OR A - JR NZ,PRNENVX - RET - - -CECHO EX DE,HL - LD A,(HL) - OR A - JR Z,ECHO_F - EX DE,HL - PUSH DE - LD B,3 - LD HL,ECHOON - CALL COMPARE - POP DE - JR Z,ECHO_FS - PUSH DE - LD B,4 - LD HL,ECHOOFF - CALL COMPARE - POP HL - JR Z,ECHO_FR - -;R03 REMOVE R01 - - LD C,PCHARS - RST #10 - JP CRLF - -ECHO_F LD A,(ECHOFLG) - OR A - LD DE,ON__MSG - JR Z,ECHON - LD DE,OFF_MSG -ECHON CALL FMESAGE - LD DE,PRM1 - CALL PUTPRM - LD DE,ECHOMSG - CALL MESSAGE - RET - -ECHO_FS XOR A - LD (ECHOFLG),A - RET - -ECHO_FR LD A,#FF - LD (ECHOFLG),A - RET - -;R04 - -EVALCMD - XOR A - LD HL,CMDLINE-1 - LD C,(HL) - LD B,A - INC HL - ADD HL,BC - LD (HL),A - SBC HL,BC - LD DE,TMPLINE - CALL EVALSTR - LD HL,TMPLINE - LD DE,CMDLINE - LD BC,#00FF -MOVLBAK LD A,(HL) - LDI - INC B - OR A - JR NZ,MOVLBAK - DEC B - LD A,B - LD (CMDLINE-1),A - AND A - RET - -; HL - STRING WITH %VAR% - -EVALSTR -;R04 LD DE,DTA -VARLOOP - LD A,(HL) - CP "%" - JR Z,TVARIABLE -VARL1 LDI - OR A - JR NZ,VARLOOP - LD BC,0 - LD (TVAR_PNT),BC -;R04 LD HL,DTA -;R04 - RET - - -;R01 -TVAR_PNT - DW 0 - -TVARIABLE - LD BC,(TVAR_PNT) - LD A,B - OR C - LD A,"%" - LD (TVAR_PNT),DE - JR Z,VARL1 - PUSH HL - LD H,D - LD L,E - DEC HL - AND A - SBC HL,BC - JR Z,TNOVAR - LD A,"=" - LD (DE),A - INC DE - XOR A - LD (DE),A - LD D,B - LD E,C - LD H,B - LD L,C - INC HL - LD BC,#0100+DSS_ENVIRON - RST #10 -TNOVAR POP HL - INC HL - LD BC,0 - LD (TVAR_PNT),BC - JP VARLOOP -;R01 - -COMPARE LD A,(DE) - CP #61 - JP C,COM001 - CP #7B - JP NC,COM001 - SUB #20 -COM001 CP (HL) - RET NZ - INC HL - INC DE - DJNZ COMPARE - RET - -CREM RET - -CCHDIR EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - XOR A - LD HL,DTA - CP (HL) - JR NZ,YP - LD (HL),"." - INC HL - LD (HL),"." - INC HL - LD (HL),0 - DEC HL - DEC HL -YP LD C,CHDIR - RST #10 - CALL C,ERROR - CALL GETPATH - RET - -CMKDIR EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD HL,DTA - LD C,MKDIR - RST #10 - CALL C,ERROR - RET - -CRMDIR EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD HL,DTA - LD C,RMDIR - RST #10 - CALL C,ERROR - RET - -CDELET EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD HL,DTA - LD C,DELETE - RST #10 - CALL C,ERROR - RET - -CRENAM EX DE,HL - LD DE,DTA - LD C,GSWITCH - RST #10 - LD DE,DTA+128 - LD C,GSWITCH - RST #10 - LD HL,DTA - LD DE,DTA+128 - LD C,RENAME - RST #10 - CALL C,ERROR - RET - -ERROR LD E,A - LD D,0 - JP ERR_MSG - -DIR LD HL,0 - LD (FILES),HL - LD (S_LOW),HL - LD (S_HIGH),HL - EX DE,HL - LD A,(HL) - OR A - JR NZ,YPS - LD HL,ALLFS -YPS LD DE,DTA - LD C,GSWITCH - RST #10 - LD HL,DTA - LD DE,DTA - LD A,#37 - LD BC,#0000+F_FIRST - RST #10 - JP C,ERROR - LD A,(PATHF) - LD (PRM1+0),A - LD A,":" - LD (PRM1+1),A - LD A,0 - LD (PRM1+2),A - LD HL,SER_NUM - LD DE,PRM2 - CALL PUTPRM - CALL GETPATH - LD HL,PATHF - LD DE,PRM3 - CALL PUTPRM - LD DE,DIR1MSG - CALL MESSAGE -; CALL CRLF -; CALL CRLF -DIRNEX LD HL,DTA - LD DE,33 - ADD HL,DE - CALL PNAME - LD IX,DTA - LD A,(IX+32) - AND #10 - JP NZ,NODADD - LD HL,(FILES) - INC HL - LD (FILES),HL - LD E,(IX+30) - LD D,(IX+31) - LD HL,(S_HIGH) - EXX - LD E,(IX+28) - LD D,(IX+29) - LD HL,(S_LOW) - CALL ADDXXX - LD (S_LOW),HL - EXX - LD (S_HIGH),HL -NODADD LD DE,DTA - LD C,F_NEXT - RST #10 - JR NC,DIRNEX - CALL ORDERS - RET - -ORDERS LD HL,(FILES) - LD IX,PRM1 - CALL PDIGIT - LD HL,(S_LOW) - EXX - LD HL,(S_HIGH) - EXX - CALL MAKE_LN - LD HL,L32BIT_+9 - LD A,(HL) - CP #20 - JR NZ,ALR2 - LD A,#30 - LD (HL),A -ALR2 LD DE,SIZEBFF - LD HL,L32BIT_;; +1 - LD A,(HL) - LDI - CP " " - JR Z,NOPO1 - LD A,"." -NOPO1 LD (DE),A - INC DE - LDI - LDI - LD A,(HL) - LDI - CP " " - JR Z,NOPO2 - LD A,"." -NOPO2 LD (DE),A - INC DE - LDI - LDI - LD A,(HL) - LDI - CP " " - JR Z,NOPO3 - LD A,"." -NOPO3 LD (DE),A - INC DE - LDI - LDI - LDI - LD HL,SIZEBFF - LD DE,PRM2 - CALL PUTPRM - LD DE,DIR2MSG - JP MESSAGE - -;HL':HL + DE':DE - -ADDXXX ADD HL,DE - EXX - ADC HL,DE - EXX - RET - -FILES DW 0 - -S_LOW DW 0 -S_HIGH DW 0 - -;12345678 123 1 234 567 890 " -; SIZE - -PNAME LD BC,8 - LD DE,PRM1 - LDIR - XOR A - LD (DE),A - LD DE,PRM2 - LDI - LDI - LDI - LD (DE),A - LD IX,DTA - CALL PRNSIZE - CALL PRNDATE - CALL PRNTIME - LD DE,DIR3MSG - JP MESSAGE - -PRINTB LD A,(HL) - PUSH BC - CALL PRINTX - POP BC - INC HL - DJNZ PRINTB - RET -;------------------ - -PUTB LD C,#2F -PUTB1 INC C - SUB 10 - JP NC,PUTB1 - ADD A,10 - ADD A,#30 - PUSH AF - LD A,C - LD (HL),A - INC HL - POP AF - LD (HL),A - INC HL - RET - - -PRNB LD C,#2F -PRNB1 INC C - SUB 10 - JP NC,PRNB1 - ADD A,10 - ADD A,#30 - PUSH AF - LD A,C - CALL PRINTX - POP AF - JP PRINTX - -STR2DEC LD HL,0 -STRLOOP LD A,(DE) - INC DE - OR A - RET Z - CP "-" - RET Z - CP ":" - RET Z - LD B,H - LD C,L - ADD HL,HL - ADD HL,HL - ADD HL,BC - ADD HL,HL - CALL ATODEC - RET C - ADD A,L - LD L,A - JR NC,STRLOOP - INC H - JR STRLOOP - -ATODEC CP "0" - RET C - CP ":" - CCF - RET C - SUB "0" - RET - -PDIGIT LD DE,10000 - LD A,#C8 - LD (RET_Z),A - CALL DIG - LD DE,1000 - CALL DIG - LD DE,100 - CALL DIG - LD DE,10 - CALL DIG - LD A,L - ADD A,#30 - LD (IX+0),A - INC IX - LD (IX+0),0 - RET - -DIG XOR A -DIG1 INC A - SBC HL,DE - JR NC,DIG1 - ADD HL,DE - DEC A -RET_Z RET Z - ADD A,#30 - LD (IX+0),A - INC IX - LD A,0 - LD (RET_Z),A - RET - -PRNSIZE LD A,(IX+32) - LD HL,DIRIDD - AND #10 - JP NZ,PRZ - LD L,(IX+28) - LD H,(IX+29) - EXX - LD L,(IX+30) - LD H,(IX+31) - EXX - PUSH IX - CALL MAKE_LN - LD HL,L32BIT_+9 - LD A,(HL) - CP #20 - JR NZ,ALR - LD A,#30 - LD (HL),A -ALR LD DE,SIZEBFF - LD HL,L32BIT_;; +1 - LDI - LD A," " - LD (DE),A - INC DE - LDI - LDI - LDI - LD (DE),A - INC DE - LDI - LDI - LDI - LD (DE),A - INC DE - LDI - LDI - LDI - LD HL,SIZEBFF - POP IX -PRZ LD DE,PRM3 - JP PUTPRM - -PRNDATE LD B,(IX+25) - LD C,(IX+24) - LD HL,SIZEBFF - CALL DATE - LD (HL),0 - LD HL,SIZEBFF - LD DE,PRM4 - LD A,(HL) - CP "0" - JP NZ,PUTPRM - LD (HL),#20 - JP PUTPRM - -PRNTIME LD B,(IX+22) - LD C,(IX+23) - LD HL,SIZEBFF - CALL TIME - LD (HL),0 - LD HL,SIZEBFF - LD DE,PRM5 - LD A,(HL) - CP "0" - JP NZ,PUTPRM - LD (HL),#20 - JP PUTPRM - -TIME - SRL C - RR B - SRL C - RR B - SRL C - RR B - SRL B - SRL B - LD A,C - CALL NUMB - LD (HL),":" - INC HL - LD A,B - JP NUMB - -DATE - LD A,C - AND #1F - PUSH BC - CALL NUMB - LD (HL),"." - INC HL - POP BC - LD A,C - SRL B - RLA - RLA - RLA - RLA - AND #0F - CALL NUMB - LD (HL),"." - INC HL - LD A,B - ADD A,#50 - CP 100 - JP C,NUMB -SUB100 SUB 100 - CP 100 - JP C,NUMB - JR SUB100 - -NUMB LD C,#2F -NUMB1 INC C - SUB 10 - JP NC,NUMB1 - ADD A,10 - ADD A,#30 - LD (HL),C - INC HL - LD (HL),A - INC HL - RET - -MAKE_LN LD IX,L32BIT_ - EXX - LD DE,#3B9A ; 1000000000 - EXX - LD DE,#CA00 - CALL GET_DIG - EXX - LD DE,#05F5 ; 100000000 - EXX - LD DE,#E100 - CALL GET_DIG - EXX - LD DE,#0098 ; 10000000 - EXX - LD DE,#9680 - CALL GET_DIG - EXX - LD DE,#000F ; 1000000 - EXX - LD DE,#4240 - CALL GET_DIG - EXX - LD DE,#0001 ; 100000 - EXX - LD DE,#86A0 - CALL GET_DIG - EXX - LD DE,#0000 ; 10000 - EXX - LD DE,#2710 - CALL GET_DIG - EXX - LD DE,#0000 ; 1000 - EXX - LD DE,#03E8 - CALL GET_DIG - EXX - LD DE,#0000 ; 100 - EXX - LD DE,#0064 - CALL GET_DIG - EXX - LD DE,#0000 ; 10 - EXX - LD DE,#000A - CALL GET_DIG - LD A,L ; 1 - ADD A,#30 - LD (IX+0),A - INC IX - LD HL,L32BIT_ - LD DE,#2030 -KILLZ LD A,(HL) - CP E - JR NZ,KILLZ2 - LD (HL),D - INC HL - JP KILLZ -KILLZ2 LD HL,L32BIT_+9 - LD A,(HL) - CP D - RET NZ - LD (HL),E - RET - -; HL:HL - DE:DE - -GET_DIG XOR A -INC_DG INC A - SBC HL,DE - EXX - SBC HL,DE - EXX - JP NC,INC_DG - ADD HL,DE - EXX - ADC HL,DE - EXX - DEC A - ADD A,#30 - LD (IX+0),A - INC IX - RET - -L32BIT_ DB "0000000000" - -DIRIDD DB " ",0 - -SIZEBFF DB "0 000 000 000",0,0 - -;------------------- - -VERS LD C,VERSION - RST #10 - LD A,D - LD HL,PRM1 - CALL GETDC - LD A,"." - LD (HL),A - INC HL - LD A,E - CALL GETDD - XOR A - LD (HL),A - LD DE,VERSMSG - JP MESSAGE - -GETDC LD B,#2F -GETDA INC B - SUB 10 - JR NC,GETDA - ADD A,10+"0" - LD C,A - LD A,"0" - CP B - LD A,C - JR Z,MDEC - LD (HL),B - INC HL -MDEC LD (HL),A - INC HL - RET - -GETDD LD B,#2F -GETDB INC B - SUB 10 - JR NC,GETDB - ADD A,10 - LD (HL),B - INC HL - RET Z - ADD A,"0" - LD (HL),A - INC HL - RET - -HELP LD DE,HELPMSG - CALL MESSAGE - RET - -CEXIT LD A,(TASKX) - DEC A - DEC A - RET Z - POP HL -QUIT LD B,0 - LD C,EXIT - RST #10 - RET - -ERR_MSG INC DE - LD HL,ERR0 - LD BC,ERR1-ERR0 - CALL LCPIR - CALL PRINTZ - CALL CRLF - JP CRLF - -MESSAGE CALL FMESAGE - CALL PRINTZ - CALL GETXY - RET - -FMESAGE INC DE - LD HL,MSG0 - LD BC,MSG1-MSG0 -LCPIR XOR A - CPIR - RET PO - RET NZ - DEC DE - LD A,D - OR E - JP NZ,LCPIR - RET - -PUTPRM LD BC,15 -PUTPRMA LD A,(HL) - LDI - RET PO - OR A - JR NZ,PUTPRMA - RET - -PRINTZ LD A,(HL) - INC HL - OR A - RET Z - CP "%" - JR NZ,PRINTZ2 - LD A,(HL) - INC HL - SUB "1" - PUSH HL - LD L,A - LD H,0 - ADD HL,HL - ADD HL,HL - ADD HL,HL - ADD HL,HL - LD BC,PRM1 - ADD HL,BC - LD C,PCHARS - RST #10 - POP HL - JR PRINTZ -PRINTZ2 LD C,PUTCHAR - RST #10 - JP PRINTZ - -ROOT DB "C:",#5C,0 - -ALLFS DB "*.*",0 - -SER_NUM DB "C37F-73AB",0 - -EXTBF DS 4 - -BATBF DB "BAT" - -ECHOON DB "ON",0 -ECHOOFF DB "OFF",0 - - -DIR1MSG EQU 0 -VERSMSG EQU 1 -DATEMSG EQU 2 -TIMEMSG EQU 3 -PAUSMSG EQU 4 -ILLGMSG EQU 5 -ECHOMSG EQU 6 -ON__MSG EQU 7 -OFF_MSG EQU 8 -DIR2MSG EQU 9 -DIR3MSG EQU 10 -HELPMSG EQU 11 - -MSG0 DB 0 - DB "Volume in drive %1 has no label",CR,LF - DB "Volume Serial number is %2",CR,LF - DB "Directory of %3",CR,LF,CR,LF,0 - DB "Estex DSS: Version %1",CR,LF,0 ;R02 - DB "Current date: %1",CR,LF,0 - DB "Current time: %1",CR,LF,0 - DB "Press any key to continue . . .",CR,LF,0 - DB "Invalid parametr",CR,LF,0 - DB "Echo is %1",CR,LF,0 - DB "on",0 - DB "off",0 - DB " %1 file(s) %2 bytes",CR,LF,CR,LF,0 -; FILENAME EXT SIZE DATE TIME - DB "%1 %2 %3 %4 %5",CR,LF,0 - DB "COMMANDS:",CR,LF,CR,LF - DB "CD DEL HELP REN TIME " - DB " ",CR,LF - DB "CHDIR DIR MD RENAME VER " - DB " ",CR,LF - DB "CLS ERASE MKDIR RMDIR VERSION " - DB " ",CR,LF - DB "DATE EXIT RD SET " - DB " ",CR,LF - DB 0 -MSG1 - -ERR0 DB #00 - DB "Bad command or file name",0 - DB "Invalid function",0 - DB "Invalid drive number",0 - DB "File not found",0 - DB "Path not found",0 - DB "Invalid handle",0 - DB "Extended error 6",0 - DB "File exist",0 - DB "File read only",0 - DB "Root overflow",0 - DB "No free space",0 - DB "Directory not empty",0 - DB "Can't delete current directory",0 - DB "Invalid media",0 - DB "Unknown operation",0 ;R02 - DB "Directory exist",0 - DB "Invalid filename",0 - DB "Invalid EXE-file",0 - DB "Not supported EXE-file",0 - DB "Access denied",0 - DB "Not ready",0 - DB "Seek error",0 - DB "Sector not found",0 - DB "CRC error",0 - DB "Write protect",0 - DB "Read error",0 - DB "Write error",0 - DB "Drive failure",0 - DB "Extended error 28",0 - DB "Extended error 29",0 - DB "No free memory",0 - DB "Invalid memory block",0 - DB "Extended error 32",0 - DB "Extended error 33",0 - DB "Extended error 34",0 - DB "35",0 - DB "36",0 - DB "37",0 - DB "38",0 - DB "39",0 - DB "40",0 - DB "41",0 - DB "42",0 - DB "43",0 - DB "44",0 - DB "45",0 - DB "46",0 - DB "47",0 - DB "48",0 - DB "49",0 - DB "50" - DB 0 -ERR1 - -PRM1 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM2 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM3 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM4 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM5 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM6 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM7 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM8 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -PRM9 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - -DTA ;DEFS 256,0 - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - -PATHF ;DEFS 256,0 - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - -BAT_FM DB 0 -BAT_LEN DB 0 - -ECHOFLG DB 0 - -PATHLEN DB 0 -PATH ;DEFS 40,0 - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 - -GETPATH LD C,2 - RST #10 - LD HL,PATHF - ADD A,"A" - LD (HL),A - INC HL - LD (HL),":" - INC HL - LD C,30 - RST #10 - LD HL,PATHF - LD DE,PATH - LDI - LDI - LDI - PUSH HL - XOR A - LD BC,34 - CPIR - JP NZ,LONGP - LD A,34 - SUB C - LD C,A - POP HL - LDIR - JR PHLEN - -LONGP CPIR - LD A,"." - LD (DE),A - INC DE - LD (DE),A - INC DE - LD (DE),A - INC DE - LD BC,31 - AND A - SBC HL,BC - LDIR - POP HL -PHLEN LD HL,PATH - LD BC,40 - XOR A - CPIR - LD A,39 - SUB C - LD (PATHLEN),A - LD C,A - INC C - INC C - LD A,80 - SUB C - LD (WINDOW),A - RET -PRINT_B LD C,A -PRINTBB PUSH BC - CALL PRINTX - POP BC - LD A,C - DJNZ PRINTBB - RET - -TEMPXY DW 0 - -CR_ LD C,CURSOR - RST #10 - LD E,0 - JP LOCAT - -LF_ LD C,CURSOR - RST #10 - LD A,D - CP #1F - JP Z,LFF - INC D - JP LOCAT - -LFF PUSH HL - PUSH DE - LD BC,#018A - LD DE,#0020 - EI - HALT - DI - RST ToBIOS - LD DE,#1F00 - CALL LOCAT - LD A,#20 - LD BC,#5082 - RST ToBIOS - EI - POP DE - CALL LOCAT - POP HL - RET - -PRINTX CP #20 - JP NC,CHAR - CP #0D - JP Z,CR_ - CP #0A - JP Z,LF_ -CHAR PUSH BC - LD BC,#0182 - RST ToBIOS - POP BC - RET - -LOCAT LD (TEMPXY),DE - LD C,LOCATE - RST #10 - RET - -;PRINTX LD C,PUTCHAR -; RST #10 -; RET - -CEDIT PUSH IX - POP HL - INC HL - INC HL - LD (ETXS),HL - XOR A - LD (POSIT),A - LD (SHIFT),A -EDIT1 LD DE,(ETXS) - CALL PRINT_S - CALL KEY - CP 13 - RET Z - LD HL,EDIT1 - PUSH HL - AND A - LD HL,#5400 - SBC HL,DE - JP Z,BACK - AND A - LD HL,#5600 - SBC HL,DE - JP Z,FORW - CP #08 - JP Z,DELET - CP #20 - RET C - EX AF,AF' - LD A,(IX+1) - CP (IX+0) - CCF - RET C - LD A,(IX+1) - LD E,A - LD D,0 - LD HL,(ETXS) - ADD HL,DE - LD A,(POSIT) - LD E,A - LD A,(IX+1) - SUB E - JR Z,ADD_SM - LD B,D - LD C,A - LD D,H - LD E,L - DEC HL - LDDR - EX DE,HL -ADD_SM EX AF,AF' - LD (HL),A - LD A,(POSIT) - INC A - LD (POSIT),A - LD (MAIN_X),A - INC (IX+1) - LD HL,(ETXE) - INC HL - LD (ETXE),HL - LD HL,SHIFT - SUB (HL) - CP (IX-1) - RET C - LD A,(STEP) - ADD A,(HL) - LD (HL),A -; CALL PAGE - RET - -BACK LD A,(POSIT) - OR A - RET Z ;JP Z,BCK - DEC A - LD (POSIT),A - LD (MAIN_X),A - INC A - LD HL,SHIFT - SUB (HL) - RET NZ - LD A,(STEP) - LD E,A - LD A,(HL) - SUB E - LD (HL),A -; CALL PAGE - RET - -FORW LD A,(POSIT) - CP (IX+1) - RET Z ; JP Z,FRD - INC A - LD (POSIT),A - LD (MAIN_X),A - LD HL,SHIFT - SUB (HL) - CP (IX-1) - RET C - LD A,(STEP) - ADD A,(HL) - LD (HL),A -; CALL PAGE - RET - -DELET LD A,(POSIT) - OR A - RET Z ; JP Z,LINKSTR - LD HL,(ETXS) - LD E,A - LD D,0 - ADD HL,DE - LD A,(IX+1) - SUB E - JR Z,SUB_SM - LD B,D - LD C,A - LD D,H - LD E,L - DEC DE - LDIR -SUB_SM XOR A - DEC HL - LD (HL),A - LD A,(POSIT) - DEC A - LD (POSIT),A - LD (MAIN_X),A - DEC (IX+1) - LD HL,(ETXE) - DEC HL - LD (ETXE),HL - LD HL,SHIFT - INC A - SUB (HL) - RET NZ - LD A,(STEP) - LD E,A - LD A,(HL) - SUB E - LD (HL),A -; CALL PAGE - RET - -KEY ;RES 5,(IY+1) - LD A,(SHIFT) - LD E,A - LD A,(POSIT) - SUB E - INC A - LD HL,PATHLEN - ADD A,(HL) - LD (_X+1),A - LD A,(POSIT) - CP (IX+1) - JP C,KEY0 - LD A,#20 - LD (_A+1),A - JP KEY1 -KEY0 LD E,A - LD D,0 - LD HL,(ETXS) - ADD HL,DE - LD A,(HL) - LD (_A+1),A -KEY1 CALL CURSORF - EI - HALT - LD C,SCANKEY - RST #10 - JP Z,KEY1 - RET - -CURSORX DB #00 - -CURSORF LD A,05 - DEC A - LD (CURSORF+1),A - RET NZ - LD A,05 - LD (CURSORF+1),A - LD DE,(TEMPXY) -_X LD E,#00 - CALL LOCAT - LD A,(CURSORX) - XOR #FF - LD (CURSORX),A - LD A,"_" - JR NZ,YEPCUR -_A LD A,#20 -YEPCUR CALL PRINTX - EI - RET - -RES_CUR LD A,(CURSORX) - OR A - RET Z - XOR #FF - LD (CURSORX),A - LD DE,(TEMPXY) - LD A,(_X+1) - LD E,A - CALL LOCAT - LD A,(_A+1) - JP PRINTX - -PRINT_S PUSH DE - CALL GETXY ;;; - LD DE,(TEMPXY) - LD E,0 - CALL LOCAT - LD HL,PATH - CALL PRINTZ - LD A,">" - CALL PRINTX - POP DE - EX DE,HL -SH LD BC,#0000 - ADD HL,BC - LD A,(SHIFT) - LD C,A - LD A,(IX+1) - SUB C - JP Z,EMT_STR - LD B,A - LD A,(IX-1) - SUB B - JR NC,PR_S - LD B,(IX-1) -PR_S PUSH BC - LD C,#86 - RST ToBIOS - POP BC -EMT_STR LD A,(IX-1) - SUB B - EI - RET Z - LD B,A - LD C,#82 - LD A,#20 - RST ToBIOS - EI - RET - -SHIFT EQU SH+1 - -GET_CMD LD D,XH - LD E,XL - EX DE,HL - LD E,(HL) - INC HL - LD D,0 - EX DE,HL - ADD HL,DE - LD (HL),0 -NEXTPRM EX DE,HL -SKIPSP LD A,(HL) - INC HL - CP " " - RET C - JR Z,SKIPSP - DEC HL - CP "/" - JR NZ,PROCESS - LD DE,BUFFER - LD C,GSWITCH - RST #10 - PUSH AF - EX DE,HL ;SAVE HL IN DE - LD HL,BUFFER - INC HL - CALL ISWITCH - POP AF - JP NC,NEXTPRM - XOR A - RET - -PROCESS LD DE,CMDLINE - LD BC,#00FF -NLDI LD A,(HL) - LDI - INC B - CP " " - JR NC,NLDI - DEC B - LD A,B - LD (CMDLINE-1),A - LD A,(RUNMODE) - OR #40 ;PROCESS - LD (RUNMODE),A - XOR A - RET - -ISWITCH LD A,(HL) - CP "a" - JR C,NUP - CP "{" - JR NC,NUP - SUB #20 -NUP -PR000 CP "P" - JR NZ,PR001 - LD A,(RUNMODE) - OR #80 ;PRIMARY CONSOLE - LD (RUNMODE),A - RET -PR001 CP "S" - JR NZ,PR002 - LD A,(RUNMODE) - OR #20 ;SECONDARY CONSOLE - LD (RUNMODE),A -PR002 CP "C" - JR NZ,PR003 - LD A,(RUNMODE) - OR #10 ;RUN BATCH FILE - LD (RUNMODE),A -PR003 RET - -TASKX DB 0 -RUNMODE DB 0 -STEP DB 8 -MAIN_X DB 0 - -LEN_OLD DB #00 -POSIT DB #00 -ETXS DW 0 -ETXE DW 0 -; +0 - Size buffer -; +1 - Amount simbols -; -1 - Scroll Window -WINDOW DB #50 -BUFFERC DB #FF -LEN_NEW DB #00 -CMDLINE ;DEFS #100,0 - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - -TMPLINE DS 256 - -BATNAME DB "system.bat",0 - -BUFFER -BATBUFF ;DEFS 129,0 - DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - DB 0