ORG #61FD JP #8F00 RELOAD LD SP,#5E00 CALL GBUFF,RESCMOS,MAINSTR XOR A OUT (#FE) CALL PAGE,SETDRV0 BIT 2,A CALL Z,RESDRV,LOADCAT,SORTCAT LD (VARS-84),BC BIT 1,(IX-95) JR Z,RELOAD0 CALL RESERR AND #40 LD (CDISK1+1),A RELOAD0 CALL INIMARK,CLEAR21 JP MODE RELOAD1 LD SP,#5E00 CALL MAINSTR LD HL,CHANDRV CALL PRCL20,RESCURS RELOAD2 LD A,(IX-96) CALL ASKDRV JR C,RELOAD2 CP 4 JR NZ,RELOAD3 LD B,(IX-120) INC B DEC B JR Z,RELOAD1 LD B,(IX-89) DEC B JR Z,RELOAD1 RELOAD3 LD (IX-96),A JR RELOAD MAINSTR LD HL,FILEAT1 CALL ATTRIB LD (IX-77),255 CALL CLEAR20 LD A,(IX-96) CALL SETD21 EI HALT RET INCL "TC_P1" D_INFO CALL DISK_I,MARK_I SYS_I LD BC,#140C LD A,(IX-96) ADD A,65 RST 16 LD A,58 RST 16 CALL CLEAR20 LD BC,#16A8 LD A,(IX-120) CALL NUMBER1 SYS_I1 LD BC,#97A8 LD A,(IX-92) SUB (IX-120) LD (IX-90),A LD L,A LD H,0 CALL MULT64 LD (VARS-52),HL LD (VARS-50),HL JR MARK_I1 DISK_I LD HL,VARS-70 LD BC,#0048 CALL PRLEN8 SET 7,B LD E,3 CALL PRLEN LD BC,#0148 LD A,(IX-59) CALL NUMBER1 LD BC,#0248 LD A,(IX-58) CALL NUMBER1 LD BC,#00D8 LD A,(IX-56) CALL NUMBER1 LD BC,#01D8 LD A,(IX-57) CALL NUMBER1 LD HL,(VARS-55) LD BC,#02D8 JR MARK_I1 MARK_I LD BC,#1648 LD A,(IX-82) CALL NUMBER1 LD HL,(VARS-81) LD BC,#9748 MARK_I1 JP NUMBER2 MULT64 ADD HL,HL MULT32 ADD HL,HL MULT16 ADD HL,HL .3 ADD HL,HL RET ADRF1 LD A,(IX-88) ADRF2 PUSH AF,BC EXA LD A,(IX-89) DEC A LD BC,BUFFCAT LD A,41 JR NZ,ADRF21 LD BC,BUFFEXE XOR A ADRF21 LD (ADRF22),A EXA LD L,A LD H,0 ADRF22 .4 ADD HL,HL ADD HL,BC POP BC,AF RET HEXDEC0 CALL EXHD,CURS1 JP FILE4 HEXDEC1 CALL EXHD,CURS2,D_INFO JP CAT1 HEXDEC2 CALL EXHD JP SYS1 HEXDEC3 CALL EXHD,CURS4 JP BCOPY1 HEXDEC4 CALL EXHD,CURS5 JP MS1 EXHD LD A,(IX-115) CPL LD (IX-115),A RET SETXY1 LD A,(IX-88) LD D,A RRA AND 24 LD E,A,A,D AND 15 ADD A,4 LD D,A RET INIEXE LD A,1 JR INI_FE1 INIFILE XOR A INI_FE1 LD (IX-89),A LD HL,KFILE1 AND A JR Z,INI_FE2 LD HL,KEXE1 INI_FE2 LD (FILE6+7),HL ADD A,#AC LD (CPBE1+2),A LD (F_RT1+2),A LD (F_RT2+2),A LD (PRFE1+2),A LD (PRFE2+2),A XOR A LD (IX-88),A LD (IX-85),A LD A,(IX-89) DEC A RET Z LD A,(IX-72) AND A RET Z LD A,(IX-71) CP (IX-84) JR C,INI_FE3 LD A,(IX-84) AND A JR Z,INI_FE3 DEC A INI_FE3 LD (IX-88),A RET SETCURS LD A,(IX-88) LD (IX-71),A LD (IX-72),255 RET RESCURS LD (IX-72),0 RET INIMARK XOR A LD (IX-82),A LD (IX-81),A LD (IX-80),A LD HL,BUFFCAT LD DE,16 LD B,(IX-84) INC B DEC B RET Z INIMRK1 RES 7,(HL) ADD HL,DE DJNZ INIMRK1 RET INTERR PUSH IY,IX,HL,DE,BC,AF EXX EXA PUSH HL,DE,BC,AF LD IX,VARS LD HL,BUFF_N LD DE,#5C0D PUSH HL,DE .3 LDI CALL CLOCK POP HL,DE .3 LDI POP AF,BC,DE,HL EXX EXA POP AF,BC,DE,HL,IX,IY EI RET CLOCK LD A,(IX-78) INC A RET NZ LD A,2 CALL RDCMOS CP (IX-77) LD (IX-77),A RET Z CLOCK1 LD BC,#14DE LD A,4 CALL PRCMOS LD A,58 RST 16 LD A,2 PRCMOS CALL RDCMOS,PRD1B LD HL,BUFF_N+1 LD DE,2 JP PRLEN RDCMOS PUSH BC,AF LD A,#0B CALL RDCMOS2 LD (RDCMOS1+1),A POP AF CALL RDCMOS2 POP BC RDCMOS1 LD D,0 BIT 2,D RET NZ LD D,A .4 RRCA AND #0F ADD A,A LD E,A ADD A,A,A,A,A,E LD E,A,A,D AND #0F ADD A,E RET RDCMOS2 LD BC,#EFF7 LD D,128 OUT D LD B,#DF OUT A LD B,#BF IN A LD B,#EF LD D,0 OUT D RET INPUT LD HL,BUFF_I LD E,0 LD (IX-75),D LD (VARS-74),BC INPUT0 CALL PRELINE INPUT1 CALL CURS_I INPUT2 PUSH HL,DE,BC CALL INKEY_A POP BC,DE,HL CP 6 JR Z,I_CP CP 8 JR Z,I_LF CP 9 JR Z,I_RT CP 12 JR Z,I_BS CP 13 JR Z,CURS_I CP 15 JR Z,INPUT3 CP 32 JR C,INPUT2 BIT 3,(IY+48) JR Z,INPUT4 CP 97 JR C,INPUT4 CP 123 JR NC,INPUT4 SUB 32 JR INPUT4 INPUT3 XOR A INPUT4 LD (HL),A LD A,D DEC A JR Z,INPUT0 DEC D INC HL,E LD A,C ADD A,6 LD C,A JR INPUT0 I_CP LD A,(IY+48) XOR 8 LD (IY+48),A JR INPUT2 I_LF LD A,E AND A JR Z,INPUT2 CALL CURS_I DEC HL,E INC D LD A,C SUB 6 LD C,A JR INPUT1 I_RT LD A,D DEC A JR Z,INPUT2 CALL CURS_I DEC D INC HL,E LD A,C ADD A,6 LD C,A JR INPUT1 I_BS LD A,E AND A JR Z,INPUT2 LD (HL),32 DEC HL,E INC D LD A,C SUB 6 LD C,A JP INPUT0 CURS_I PUSH HL,DE,BC LD A,B CALL INVERT POP BC,DE,HL RET PRELINE PUSH HL,DE,BC LD HL,BUFF_I LD BC,(VARS-74) LD D,0 LD E,(IX-75) CALL PRLEN POP BC,DE,HL RET INKEY_A XOR A JR INKEY0 INKEY_B LD A,255 INKEY0 LD (IX-76),A LD IY,#5C3A EI LD A,(IY+48) PUSH AF XOR A LD (IY-50),A LD (IY+48),A LD (IY+62),246 INKEY1 LD HL,(VARS-124) LD (INKEY6+1),HL RES 5,(IY+1) INKEY2 HALT LD A,(IX-76) AND A JR NZ,INKEY3 BIT 2,(IX-96) JR NZ,INKEY3 CALL CDISK JR Z,INKEY3 CALL RESCURS JP RELOAD INKEY3 RST 56 BIT 5,(IY+1) JR NZ,INKEY4 LD A,(IX-76) AND A JR Z,INKEY6 LD A,(IY+62) AND A JR NZ,INKEY2 INKEY4 POP AF LD (IY+48),A LD A,(IY-50) AND A RET P LD HL,KEYTAB-1 INKEY5 INC HL EXA LD A,(HL) AND A RET Z EXA CP (HL) INC HL JR NZ,INKEY5 LD A,(HL) RET INKEY6 LD HL,0 DEC HL LD (INKEY6+1),HL LD A,H OR L JR NZ,INKEY2 CALL SCRSAVE JR INKEY1 KEYMAIN LD HL,KEYCOM KMAIN0 LD C,A KMAIN1 LD B,(HL) KMAIN2 INC HL LD A,(HL) AND A JR Z,KMAIN3 JP M,KMAIN1 CP C JR NZ,KMAIN2 LD A,B RET KMAIN3 LD A,C RET JPKEY AND A JP M,JPKEY3 DEC HL,HL JPKEY1 INC HL,HL EXA LD A,(HL) AND A RET Z EXA CP (HL) INC HL JR NZ,JPKEY1 JPKEY2 POP AF LD A,(HL) INC HL LD H,(HL) LD L,A JP (HL) JPKEY3 ADD A,A LD L,A LD H,0 ADD HL,DE JR JPKEY2 CLEAR20 LD BC,#1418 LD D,32 CL201 LD A,32 RST 16 DEC D JR NZ,CL201 RET CLEAR21 LD BC,#0800 LD A,#A8 JR CL1 CLEAR LD HL,#5880 LD (HL),7 CALL LDIRHL0 LD BC,#8000 LD A,#20 CL1 PUSH BC,AF CALL #22B0 LD BC,31 LD (HL),B CALL LDIRHL POP AF,BC INC A DJNZ CL1 RET CLS LD HL,#4000 LD BC,#1AFF LD (HL),L JR LDIRHL LDIRHL0 LD BC,#01FF LDIRHL LD DE,HL INC DE LDIR RET ERRDOS LD BC,HL POP DE PUSH DE LD HL,#1F54 AND A SBC HL,DE RET Z LD HL,#1B7B AND A SBC HL,DE JR NZ,ERRDOS1 LD (IX-53),3 BIT 0,(IX-95) JR NZ,ERRDOS1 LD HL,#0010 ADD HL,SP LD SP,HL POP BC,DE,HL JR ERRDRV ERRDOS1 LD (IX-53),0 LD HL,#1111 AND A SBC HL,DE JR Z,ERRDOS3 INC (IX-53) LD HL,#29D8 AND A SBC HL,BC JR Z,ERRDOS2 INC (IX-53) ERRDOS2 LD HL,#000A ADD HL,SP LD SP,HL JR ERRDOS4 ERRDOS3 LD SP,#5E00 ERRDOS4 LD DE,(#5CF4) ERRDRV PUSH HL,DE,BC CALL IM2ON PUSH DE LD HL,ERRTXT CALL PRCL21 POP DE LD BC,#1500 LD A,(IX-96) ADD A,65 RST 16 LD C,#6C LD A,D PUSH DE CALL NUMBER1 POP DE LD C,#9C LD A,E SET 7,B CALL NUMBER1 LD HL,ERRTAB LD A,(IX-53) ADD A,A CALL #172D LD HL,BC LD BC,#150C PUSH AF CALL PRINT POP AF JP Z,RELOAD1 ERRDRV1 CALL INKEY_B AND A JR Z,ERRDRV1 CP 7 JP Z,RELOAD1 CP 105 PUSH AF CALL Z,CLEAR21 POP AF JR Z,ERRDRV3 CP 114 PUSH AF CALL Z,CLEAR21 POP AF JR NZ,ERRDRV1 ERRDRV2 LD IY,DISK1 LD HL,#3F94 JR ERRDRV4 ERRDRV3 LD IY,DISK3 LD HL,#3D2F ERRDRV4 CALL IM1ON BIT 0,(IX-95) JR NZ,ERRDRV5 CALL RESET POP BC,DE,HL JP (IY) ERRDRV5 LD IY,#5C3A POP AF,AF EX (SP),HL JP #3D2F DESCR LD A,(IX-89) DEC A RET Z CALL ADRF1 LD C,A LD A,21 DESCR1 PUSH HL,AF LD A,C POP BC LD C,6 CALL NUMBER1 POP HL LD C,#1E CALL PRFEXT DEC HL,HL LD C,#6C LD A,2 DESCR2 EXA LD E,(HL) INC HL LD D,(HL) INC HL PUSH HL EX DE,HL CALL NUMBER2 LD A,32 RST 16 POP HL EXA DEC A JR NZ,DESCR2 LD A,3 DESCR3 EXA LD A,(HL) INC HL PUSH HL CALL NUMBER1 LD A,32 RST 16 POP HL EXA DEC A JR NZ,DESCR3 RET HEADERS LD (IX-77),255 LD HL,FILETXT CALL PRINT LD HL,FILEATR CALL ATTRIB HEAD1 LD HL,HOTOVR LD BC,#0308 LD A,4 HEAD2 PUSH AF CALL PRLEN8 LD A,C ADD A,16 LD C,A POP AF DEC A JR NZ,HEAD2 RET ATTRIB LD A,(HL) AND A RET Z INC HL LD B,(HL) INC HL LD C,(HL) INC HL LD D,(HL) INC HL LD E,(HL) INC HL PUSH HL CALL ATRDE LD DE,32 ATTRIB1 PUSH HL,BC CALL #0B4C POP BC,HL ADD HL,DE DJNZ ATTRIB1 POP HL JR ATTRIB ATRDE LD L,D LD H,0 LD D,#58 CALL MULT32 ADD HL,DE RET NUMBER1 LD D,(IX-115) INC D JR NZ,NUM11 CALL PRH1B LD A,35 RST 16 LD E,2 JR NUM22 NUM11 CALL PRD1B LD E,3 JR NUM22 NUMBER2 LD D,(IX-115) INC D JR NZ,NUM21 CALL PRH2B LD A,35 RST 16 LD E,4 JR NUM22 NUM21 CALL PRD2B LD E,5 NUM22 LD HL,BUFF_N BIT 7,B JR Z,NUM23 INC HL DEC E NUM23 LD D,0 JR PRLEN PRFEXT CALL PRLEN8A LD DE,3 LD A,32 RST 16 JR PRLEN PRLEN8A LD A,(HL) PUSH HL,AF RES 7,(HL) CALL PRLEN8 POP AF,DE LD (DE),A RET PRLEN8 LD DE,8 PRLEN LD A,(HL) CP 32 JR C,PRLEN1 CP 128 JR C,PRLEN2 PRLEN1 BIT 7,B LD A,31 JR Z,PRLEN2 INC A PRLEN2 RST 16 INC HL DEC DE LD A,D OR E JR NZ,PRLEN RET PRWAIT CALL PRCL20,INKEY_A CP 13 RET Z LD HL,FILE6 EX (SP),HL JP CLEAR20 PRCL20 PUSH HL CALL CLEAR20 POP HL LD BC,#1418 JR PRINT PRCL21 PUSH HL CALL CLEAR21 POP HL LD BC,#1500 PRINT LD A,(HL) CP 29 RET Z CP 30 JR Z,PRINT2 RST 16 PRINT1 INC HL JR PRINT PRINT2 INC HL LD B,(HL) INC HL LD C,(HL) CALL MULT6X JR PRINT1 MULT6X LD A,C ADD A,A,A,C,A,A LD C,A RET PRD1B LD IY,BUFF_N LD DE,#2F64 CALL PRD1B1 LD DE,#2F0A CALL PRD1B1 LD DE,#2F01 PRD1B1 INC D SUB E JR NC,PRD1B1 ADD A,E LD (IY),D JR PRD2B4 PRD2B LD IY,BUFF_N LD DE,10000 CALL PRD2B1 LD DE,1000 CALL PRD2B1 LD DE,100 CALL PRD2B1 LD E,10 CALL PRD2B1 LD E,1 PRD2B1 LD A,47 PRD2B2 ADD A,1 SBC HL,DE JR NC,PRD2B2 ADD HL,DE PRD2B3 LD (IY),A PRD2B4 INC IY RET PRH1B LD IY,BUFF_N JR PRH2B1 PRH2B LD IY,BUFF_N LD A,H CALL PRH2B1 LD A,L PRH2B1 PUSH AF .4 RRCA CALL PRH2B2 POP AF PRH2B2 AND 15 ADD A,48 CP 58 JR C,PRD2B3 ADD A,7 JR PRD2B3 PRSYM42 EXX PUSH DE,BC,BC LD DE,#03FF EXX POP BC RES 7,B LD L,A LD H,0 LD DE,FONTADR-256 .3 ADD HL,HL ADD HL,DE EX DE,HL CALL ADRXY LD B,A LD C,8 JR Z,PRSYM2 PRSYM1 EXX SCF RR D,E EXX DJNZ PRSYM1 LD B,A PRSYM2 PUSH BC LD A,B AND A LD A,(DE) LD C,0 JR Z,PRSYM5 PRSYM3 SRL A RR C DJNZ PRSYM3 LD B,A LD A,(HL) EXX AND D EXX OR B LD (HL),A INC HL LD A,(HL) EXX AND E EXX OR C LD (HL),A DEC HL PRSYM4 POP BC INC DE,H DEC C JR NZ,PRSYM2 POP BC LD A,6 ADD A,C LD C,A PUSH BC EXX POP BC,DE EXX RET PRSYM5 LD C,A LD A,(HL) AND 3 OR C LD (HL),A JR PRSYM4 ADRXY LD A,B AND #18 OR #40 LD H,A,A,B .3 RRCA AND #E0 LD L,A,A,C .3 RRCA AND #1F ADD A,L LD L,A,A,C AND 7 RET RUNHOVR LD A,(IY-50) CP 64 JR NZ,RUNH1 LD A,34 RUNH1 SUB 33 LD (IX-44),A CALL EH_N4 PUSH HL LD BC,#0800 RUNH2 LD A,(HL) CP 32 JR NZ,RUNH3 INC C RUNH3 INC HL DJNZ RUNH2 POP HL LD A,C CP 8 JR C,TVIEW1 JP FILE6 DOCTOR LD HL,DOCT JR TVIEW1 KEYHELP LD HL,HELP JR TVIEW1 TVIEWER LD HL,TXTV TVIEW1 LD DE,FILE6 JR RUNOVR SCRSAVE LD HL,SCRS LD DE,#0052 RUNOVR PUSH DE LD DE,OVREXT CALL SRFRAM RET NZ CALL SETTRK PUSH HL POP IY LD C,4 JP RUNTCP1 SRFRAM PUSH DE LD DE,#5CDD LD BC,8 LDIR POP HL LD C,3 LDIR LD A,(IX-91) PUSH AF LD A,(IX-92) CALL PAGE LD HL,#C000 LD DE,#5CDD LD A,11 PUSH DE,DE CALL SRFCAT POP DE EXA LD BC,16 LDIR POP HL,AF CALL PAGE EXA RET SRFCAT LD (SRFC2+1),A LD B,128 SRFC1 LD A,(HL) AND A JR Z,SRFC5 LD C,(HL) RES 7,(HL) PUSH BC,HL,DE SRFC2 LD B,0 CALL SRFC4 POP DE,HL LD (HL),C JR Z,SRFC3 LD BC,16 ADD HL,BC SRFC3 POP BC RET Z DJNZ SRFC1 JR SRFC5 SRFC4 LD A,(DE) CP (HL) RET NZ INC HL,DE DJNZ SRFC4 RET SRFC5 INC B RET EHOVR LD HL,0 LD (VARS-44),HL EHOVR1 CALL HEAD1 EHOVR2 CALL CURS5 EHOVR3 CALL INKEY_A,KEYMAIN LD HL,KEHOVR1 LD DE,KEHOVR2 CALL JPKEY JR EHOVR3 EH_LF CALL CURS5 LD A,(IX-44) DEC A EH_LF1 AND 3 LD (IX-44),A JR EHOVR2 EH_RT CALL CURS5 LD A,(IX-44) INC A JR EH_LF1 EH_DEL CALL CURS5,EH_N4 LD BC,7 LD (HL),32 CALL LDIRHL JR EHOVR1 EH_NEW LD A,(IX-43) CALL ADRF2 LD B,128 EH_N1 INC (IX-43) LD A,(HL) AND A JR Z,EH_N2 PUSH HL,BC LD DE,8 ADD HL,DE LD DE,OVREXT LD B,3 CALL SRFC4 JR Z,EH_N3 POP BC,HL LD DE,16 ADD HL,DE DJNZ EH_N1 EH_N2 LD (IX-43),0 JR EHOVR3 EH_N3 POP DE,DE CALL EH_N4 EX DE,HL LD BC,8 PUSH DE LDIR POP HL RES 7,(HL) CALL CURS5 JR EHOVR1 EH_N4 LD HL,HOTOVR LD A,(IX-44) ADD A,A,A,A,A,A JP #172D EH_EXIT LD HL,FILE6 PUSH HL CURS5 LD A,(IX-44) ADD A,A,A,A,A,A LD E,A LD D,3 CALL ATRDE LD B,8 CURS51 LD A,(HL) XOR #18 LD (HL),A INC HL DJNZ CURS51 RET KFILE1 DB 7:DW RELOAD1 DB 33:DW RUNHOVR DB 34:DW PACKSCR DB 35:DW RUNHOVR DB 36:DW RUNHOVR DB 43:DW MARKALL DB 45:DW UNMKALL DB 50:DW SQUEEZE DB 51:DW TVIEWER DB 52:DW DOCTOR DB 53:DW COPY DB 54:DW CAT DB 55:DW SYS DB 56:DW DELETE DB 57:DW MOVE DB 64:DW RUNHOVR DB 76:DW GETCAT DB 82:DW ERRAMD DB 83:DW PUTCAT DB 94:DW HEXDEC0 DB 98:DW BCOPY DB 99:DW COPY DB 100:DW DELETE DB 101:DW EXE DB 104:DW KEYHELP DB 109:DW MOVE DB 110:DW CHRAMD DB 111:DW EHOVR DB 114:DW CAT DB 121:DW SYS DB 122:DW SQUEEZE DB 0 KFILE2 DW F_LF,F_RT,F_UP,F_DN DW F_PGUP,F_PGDN,RUN,MARK KEXE1 DB 7:DW RELOAD1 DB 14:DW FILE1 DB 0 KCAT1 DB 7:DW RELOAD1 DB 14:DW C_EXIT DB 55:DW SYS DB 94:DW HEXDEC1 DB 121:DW SYS DB 0 KCAT2 DW C_LF,C_RT,C_UP,C_DN,C_PGUP DW C_PGDN,C_EDIT,CAT3 KSYS1 DB 7:DW RELOAD1 DB 14:DW S_EXIT DB 94:DW HEXDEC2 DB 0 KSYS2 DW S_LF,S_RT,S_UP,S_DN,SYS5,SYS5 DW S_EDIT,SYS5 KBCOPY1 DB 7:DW RELOAD1 DB 14:DW B_EXIT DB 94:DW HEXDEC3 DB 0 KBCOPY2 DW B_LF,B_RT,B_UP,B_DN,BCOPY4 DW BCOPY4,B_EDIT,BCOPY4 KEHOVR1 DB 14:DW EH_EXIT DB 0 KEHOVR2 DW EH_LF,EH_RT,EHOVR3,EHOVR3 DW EHOVR3,EHOVR3,EH_NEW,EH_DEL TPOWER DW 1,10,100,1000,10000 FILETXT DB 30,0,0,"Disk title :" DB 30,1,0,"Files",30,1,11,58 DB 30,2,0,"Del. files :" DB 30,0,24,"First track:" DB 30,1,24,"First sect.:" DB 30,2,24,"Free sect. :" DB 30,22,0,"Mark files :" DB 30,23,0,"Mark sect. :" DB 30,22,20,"Ramdisk:" DB 30,22,32,"pages" DB 30,23,20,"Buffer :" DB 30,23,33,"sect.",29 FILEATR DB "@04030900000403090012" DB "@0703090009070203001B" DB "@070105021B0F01200300" DB "@44020916000702041609" DB "@440206160F07020B1615" FILEAT1 DB "@0D010314000F011D1403" DB "@460120150000" BCOPTXT DB 30,9,12,"From track :" DB 30,10,12,"From sector:" DB 30,11,12,"To track :" DB 30,12,12,"To sector :" DB 30,13,12,"Block size :" DB 30,14,12,"Start copy :OK",29 BCOPATR DB "@44060909090705040912" DB "@4601030E1200" RAMDTXT DB "Ramdisk E: " CHANDRV DB "Drive:",29 MASKTXT DB "Mask:",29 DELTXT DB "Delete files",29 RDTXT DB "Reading ",29 WRTXT DB "Writing ",29 SQTXT DB "Squeeze disk",29 MOVETXT DB "Move to ",29 COPYTXT DB "Copy to ",29 OVRTXT DB " exists, overwrite?",29 DIRFULL DB "Disk / directory full",29 INSSD DB "Insert source disk",29 INSDD DB "Insert destination disk",29 ERRTAB DW ERR0,ERR1,ERR2,ERR3 ERRTXT DB 32,58,30,21,12 DB " Trk: Sec:",29 ERR0 DB "No disk",29 ERR1 DB "Read only",29 ERR2 DB "Disk error",29 ERR3 DB "Break",29 FTRK DB "@0102030405060708" DB "@090A0B0C0D0E0F10" C_EDADR DW ECAT00,ECAT01,ECAT02,ECAT03 DW ECAT03,ECAT04,ECAT04,ECAT04 S_EDADR DW ESYS00,ESYS01,ESYS01,ESYS01 DW ESYS01,ESYS02 B_EDADR DW EBCOP0,EBCOP0,EBCOP0,EBCOP0 DW EBCOP1,BC1 S_EDBYT DB "@C8C5C7C6" KEYCOM DB "@80088109820B830A84048505" DB "@860D870F00" KEYTAB DB "@C65BCD5CC55DCC7B" DB "@C37CCB7DE27EAC7F00" COL_XL DB "@010305080E0312051805" DB "@1E0322032603" RUNEXT DB "TXT" DW TVIEWER DB "faq" DW TVIEWER DB "hlp" DW TVIEWER DB "inf" DW TVIEWER DB "lst" DW TVIEWER DB "psc" DW PACKSCR DB "ram" DW RUNRAM OVREXT DB "tcp" DW RUNTCP DB "txt" DW TVIEWER DB 0 SCRS DB "scrsaver" HELP DB "help " TXTV DB "textview" DOCT DB "dmanager" HOTOVR DS 32,32 BUFF_S EQU #5B00; [256] PAGE EQU #5C10; [24] BUFF_I EQU #5D40; [32] BUFF_X EQU #5D60; [64] BUFF_N EQU #5DA0; [6] VARS EQU #5E80; [<256>] FONTADR EQU #5F00; [768] BUFFCAT EQU #8C00; [2048] BUFFSYS EQU #9400; [256] BUFFEXE EQU #9500; [1024] BUFFEXF EQU #9900; [256] ORG #0066,#9800 CHMAGIC LD (#0064),SP LD SP,#0064 PUSH AF LD A,R DI PUSH AF LD A,I PUSH AF,BC,DE,HL EXX EXA PUSH AF,BC,DE,HL,IX,IY LD HL,CHM1 PUSH HL RETN CHM1 CALL IM1ON-#5800 LD IX,VARS-#5800 LD HL,#C000 LD DE,#0300 XOR A CHM2 LDI LD BC,63 ADD HL,BC DEC A JR NZ,CHM2 CALL PAGE-#5800 LD A,(IX-90) CP 9 JP C,#34AA CALL PAGE-#5800 LD HL,#4000 LD DE,#C000 LD BC,#4000 PUSH DE,BC LDIR LD A,(IX-90) DEC A CALL PAGE-#5800 POP BC,DE LDIR XOR A CALL PAGE-#5800 LD HL,#0400 LD DE,#5C00 LD BC,#3000 LDIR LD HL,#3500 LD DE,#9A00 LD BC,M_EDADR-MSERV+20 LDIR JP MSERV CPROG LD SP,#004C LD IX,VARS-#5800 LD A,(IX-90) CALL PAGE-#5800 LD HL,#C000 LD DE,#4000 LD BC,#4000 PUSH HL,BC LDIR LD A,(IX-90) DEC A CALL PAGE-#5800 POP BC,HL LDIR LD A,(#0028) CALL PAGE-#5800 AND 7 LD HL,#0029 OR (HL) LD HL,#002D OR (HL) LD (CPROG4+1),A LD HL,(#002A) LD BC,CPROG7-CPROG6+4 SBC HL,BC LD (CPROG5+1),HL EX DE,HL LD HL,CPROG6 LD C,CPROG7-CPROG6 LDIR EX DE,HL DEC HL,HL LD (CPROG3+1),HL LD HL,#0018 LD BC,#1000 CPROG1 PUSH BC LD E,C LD BC,#FFFD OUT E LD BC,#BFFD OUTI POP BC INC C DJNZ CPROG1 LD A,(#002C) AND 7 OUT (#FE) POP IY,IX,HL,DE,BC,AF EXX EXA POP HL,DE,BC,AF LD I,A CP 63 JR Z,CPROG2 IM 2 CPROG2 POP AF LD R,A LD A,#F3 JP PO,CPROG3 LD A,#FB CPROG3 LD (0),A POP AF LD SP,(#002A) PUSH BC,AF LD BC,#7FFD CPROG4 LD A,0 CPROG5 JP 0 CPROG6 OUT A IN (#7B) POP AF,BC NOP RET CPROG7 ORG #9A00 MSERV LD SP,#5E00 CALL INIRAM IN (#7B) LD IX,VARS XOR A LD (IX-116),A LD (IX-89),A CALL IM2ON MSERV1 CALL CLS,INTF JP RELOAD MSRELOA LD HL,CHANDRV CALL PRCL20,RESCURS MSREL1 LD A,(IX-96) CALL ASKDRV JR C,MSREL1 LD (IX-96),A JR MSERV1 LDIMAGE CALL SETTRK LD HL,BUFFEXF LD E,(IY+14) LD D,(IY+15) LD B,1 PUSH IY CALL LOAD POP HL LD DE,BUFF_I LD BC,8 LDIR LD HL,AF_RAM LDI LD BC,#2000 LDIM1 PUSH BC,BC LD A,C CALL RDCMOS1+5,IRAM4,PAGE POP BC CALL SVIM3 LD IY,BUFF_I LD HL,BUFFCAT LD (IY+9),E LD (IY+10),D PUSH IY POP DE LD A,11 CALL SRFCAT PUSH HL POP IY LD HL,#C000 LD B,#40 LD E,(IY+14) LD D,(IY+15) CALL Z,LOAD POP BC LD A,C INC A DAA LD C,A DJNZ LDIM1 JP CONTIN MS0 CALL D_INFO,INTF LD HL,MSTXT CALL PRINT LD HL,MSATR CALL ATTRIB MS1 CALL MSINFO MS2 CALL CURS6 MS3 CALL INKEY_B,KEYMAIN LD HL,KMSERV1 LD DE,KMSERV2 CALL JPKEY JR MS3 MS_UP LD A,(IX-116) AND A JR Z,MS3 DEC A MS_UP1 CALL CURS6 LD (IX-116),A JR MS2 MS_DN LD A,(IX-116) INC A CP 11 JR Z,MS3,MS_UP1 MS_EDIT LD HL,M_EDADR LD A,(IX-116) CALL CURS25 PUSH BC RET SVIM128 LD A,8 JR SVIM0 SVIM256 LD A,16 JR SVIM0 SVIM512 LD A,32 SVIM0 LD L,A LD H,0 CALL MULT64 EX DE,HL INC DE LD HL,(VARS-55) SBC HL,DE JR C,MS3 LD B,A LD C,0 LD A,(IX-59) ADD A,B JP M,MS3 PUSH AF,HL,BC CALL INFNAME POP BC LD DE,(VARS-57) PUSH DE,BC SVIM1 PUSH BC LD A,C CALL IRAM4,PAGE LD HL,#C000 LD B,#40 CALL SAVE POP BC INC C DJNZ SVIM1 LD HL,BUFFEXF INC B CALL SAVE POP BC LD A,(IX-59) CALL ADRF2 EX DE,HL PUSH DE,BC SVIM2 PUSH BC,BC LD HL,BUFF_I LD BC,8 LDIR POP BC PUSH HL EX DE,HL CALL SVIM3 LD (HL),114 INC HL LD (HL),E INC HL LD (HL),D INC HL LD (HL),0 INC HL LD (HL),64 INC HL LD (HL),64 INC HL,HL,HL EX DE,HL POP HL,BC LD A,C INC A DAA LD C,A DJNZ SVIM2 LD HL,BUFF_I LD C,8 LDIR LD HL,AF_RAM LD C,3 LDIR EX DE,HL LD (HL),B INC HL LD (HL),1 INC HL LD (HL),1 POP AF ADD A,(IX-59) INC A LD (IX-59),A JR SVSCR1 SVIM3 LD A,C .4 RRA AND #0F ADD A,48 LD E,A,A,C AND #0F ADD A,48 LD D,A RET SV1SCR LD A,(IX-90) JR SVSCR0 SV2SCR LD A,7 SVSCR0 EXA BIT 7,(IX-59) JP NZ,MS3 LD HL,(VARS-55) LD BC,27 AND A SBC HL,BC JP C,MS3 PUSH HL EXA CALL PAGE,INFNAME LD HL,#C000 LD DE,(VARS-57) LD B,#1B PUSH DE CALL SAVE LD A,(IX-59) CALL ADRF2 EX DE,HL LD HL,BUFF_I LD BC,8 PUSH DE LDIR LD HL,AF_SCR LD C,6 LDIR INC (IX-59) SVSCR1 POP HL,DE CALL SETST POP HL LD (VARS-55),HL LD (VARS-57),DE CALL SAVECAT,CLEAR20 XOR A CALL PAGE,DISK_I JP MS3 CONTIN CALL IM1ON,INSCACH IN (#FB) LD HL,BUFFEXF LD DE,#004C LD BC,24 LDIR LD DE,#0018 LD BC,22 LDIR JP CPROG CHBORD LD HL,BUFFEXF+44 LD BC,#0E48 CHBORD1 LD DE,NUMBER1 LD A,(HL) PUSH HL,BC,AF CALL GETNUM LD D,A POP AF,BC,HL CALL INPNUM2 CHBORD2 CALL CURS6 JP MS1 CHROM LD A,(BUFFEXF+41) XOR #10 LD (BUFFEXF+41),A JR CHBORD2 CHPAGE LD HL,BUFFEXF+40 LD BC,#1048 JR CHBORD1 CHSCRN LD A,(BUFFEXF+45) XOR 8 LD (BUFFEXF+45),A JR CHBORD2 INFNAME LD HL,BUFF_I LD BC,7 LD (HL),32 CALL LDIRHL LD HL,FNTXT CALL PRCL20 LD D,8 CALL INPUT JP SETTRK MSINFO LD BC,#0E48 LD A,(BUFFEXF+44) CALL NUMBER1 LD HL,R48TXT LD BC,#0F48 LD A,(BUFFEXF+41) AND #10 JR NZ,MS_I1 LD HL,R128TXT MS_I1 CALL PRINT LD BC,#1048 LD A,(BUFFEXF+40) CALL NUMBER1 LD BC,#1148 LD A,(BUFFEXF+45) .3 RRA AND 1 ADD A,49 RST 16 RET INIRAM LD HL,BUFFEXF LD BC,#00FF LD (HL),B PUSH HL CALL LDIRHL POP DE LD HL,#004C LD BC,24 LDIR EX DE,HL LD BC,#1000 IRAM1 PUSH BC LD B,0 PUSH BC LD E,C LD BC,#FFFD OUT E INI POP DE LD BC,#FFFD OUT E LD BC,#BFFD OUT D POP BC INC C DJNZ IRAM1 PUSH HL LD BC,#2000 IRAM2 PUSH BC LD A,C CALL IRAM4,PAGE LD HL,#C000 LD DE,#0300 LD B,E CALL IRAM6 POP BC JR Z,IRAM3 INC C DJNZ IRAM2 IRAM3 POP HL LD DE,(#0064) XOR A LD (HL),C INC HL LD (HL),#10 INC HL LD (HL),E INC HL LD (HL),D INC HL LD (HL),A INC HL LD (HL),A JP PAGE IRAM4 CP 2 JR Z,IRAM5 CP 5 RET NZ LD A,(IX-90) RET IRAM5 LD A,(IX-90) DEC A RET IRAM6 LD A,(DE) CP (HL) RET NZ PUSH BC LD BC,64 ADD HL,BC POP BC INC DE DJNZ IRAM6 RET CURS6 EXA LD A,(IX-116) ADD A,7 LD D,A LD E,0 CALL ATRDE LD B,12 CURS61 LD A,(HL) XOR #50 LD (HL),A INC HL DJNZ CURS61 EXA RET INTF LD HL,FILE3 LD DE,INTF2 LD B,3 INTF1 LD A,(DE) EXA LD A,(HL) LD (DE),A EXA LD (HL),A INC HL,DE DJNZ INTF1 RET INTF2 JP MS0 KMSERV1 DB 7:DW MSRELOA DB 94:DW HEXDEC4 DB 0 KMSERV2 DW MS3,MS3,MS_UP,MS_DN,MS3,MS3 DW MS_EDIT,MS3 MSTXT DB 30,5,4,"Turbo Commander " DB "magic service v1.0" DB 30,7,0,"Turbo Commander" DB 30,8,0,"Save 128K image" DB 30,9,0,"Save 256K image" DB 30,10,0,"Save 512K image" DB 30,11,0,"Save 1st screen" DB 30,12,0,"Save 2nd screen" DB 30,13,0,"Continue program" DB 30,14,0,"Border col.:" DB 30,15,0,"ROM type :" DB 30,16,0,"Page number:" DB 30,17,0,"Screen :",29 MSATR DB "@4601200500070D20070000" R48TXT DB "48 ",29 R128TXT DB "128",29 FNTXT DB "Filename:",29 AF_SCR DB "@430040001B1B" AF_RAM DB "@72616D004040" M_EDADR DW RELOAD,SVIM128,SVIM256 DW SVIM512,SV1SCR,SV2SCR DW CONTIN,CHBORD,CHROM,CHPAGE DW CHSCRN INCL "TC_P2" ORG #8C00 FONT42 INCB "font42" ORG #A100 SCR1 INCB "SC096_01" SCR2 INCB "SC096_02"