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 "