ORG #8000 MAINJP JP GETADDR JP RELOAD JP RELOAD1 JP MAINSTR JP MARKF JP DSOUR JP DDEST JP SETSUM JP GETSUM JP PBUFF JP GBUFF JP SETSCR JP KEYPRES JP WAITKEY JP MOVEMRK JP SETD1 JP SETD2 JP SETDD JP SETST JP RDFILE JP WRFILE JP INIBANK JP ASKDRV JP ASKDRV1 JP SETDRV0 JP SETDRV JP RESDRV JP JPDOS JP IM1ON JP IM2ON JP SETTRK JP MULT64 JP MULT32 JP MULT16 JP PRFILE JP ADRF1 JP ADRF2 JP EXHD JP INIMARK JP INTERR JP CLOCK JP RDCMOS JP RDCMOS2 JP INKEY_A JP INKEY_B JP KEYMAIN JP JPKEY JP LOADCAT JP SAVECAT JP SORTCAT JP CDISK JP CLEAR20 JP CLEAR21 JP CLEAR JP CL1 JP CLS JP LDIRHL JP LOAD JP SAVE JP SETRAM JP POSIT1 JP TURBO5 JP TURBO8 JP RESERR JP RESET JP ERRDRV2 JP ERRDRV3 JP DESCR JP ATTRIB JP ATRDE JP NUMBER1 JP NUMBER2 JP PRFEXT JP PRLEN8A JP PRLEN8 JP PRLEN JP PRCL20 JP PRCL21 JP PRINT JP MULT6X JP PRD1B JP PRH1B JP PRD2B JP PRH2B JP SRFCAT JP SRFC4 JP PAGE JP FILE3 JP FILE6 JP INPNUM1 JP INPNUM2 JP INPUT JP CURS_I JP GETNUM JP ANALYSE JP PRFILE JP CURS1 JP SRFRAM ORG #81B0 MAINADR DW RELOAD DW RELOAD1 DW RDF1 DW RDF3 DW RDF4+1 DW WRF1 DW WRF3 DW WRF4+1 DW INIBNK1 DW CLOCK1+1 DW INKEY6+3 DW ERRDOS4+1 DW ERRDRV+3 DW FILE7+1 DW FILE7+4 DW HOTOVR DW BUFFCAT DW BUFFSYS DW BUFFEXE DW BUFF_S DW BUFF_I DW BUFF_X DW BUFF_N ORG #8200 GETADDR PUSH DE LD DE,MAINADR LD H,0 LD L,A ADD HL,HL,HL,DE LD E,(HL) INC HL LD D,(HL) EX DE,HL POP DE RET START CALL CLS,IM2ON LD HL,RELOAD PUSH HL LD A,(IX-90) CP 8 JR C,START1 LD A,(IX-92) CP 8 RET NC START1 LD A,(IX-120) AND A CALL NZ,CHRAMD0 RET MODE LD A,(IX-89) AND A JR Z,FILE DEC A JR NZ,MODE1 LD A,(IX-83) AND A JP NZ,EXE MODE1 DEC A JP Z,CAT DEC A JP Z,SYS1 DEC A JP Z,BCOPY FILE CALL CLS FILE1 CALL INIFILE FILE2 CALL HEADERS FILE3 CALL PRFILE FILE4 CALL D_INFO FILE5 CALL CURS1,DESCR FILE6 CALL INKEY_A,KEYMAIN FILE7 LD HL,KFILE1 LD DE,KFILE2 CALL JPKEY JR FILE6 CPTOP POP HL LD A,(IX-88) AND A JR CPBOT1 CPBOT POP HL LD A,(IX-88) INC A CPBE1 CP (IX-84) JR NC,FILE6 CPBOT1 JR Z,FILE6 PUSH HL CURS1 EXA LD B,7 CALL SETXY1,ATRDE CURS12 LD A,(HL) XOR #50 LD (HL),A INC HL DJNZ CURS12 EXA RET F_LF CALL CPTOP SUB 16 JR NC,F_LF2 F_LF1 XOR A F_LF2 LD (IX-88),A LD B,(IX-85) AND 64 LD (IX-85),A CP B JR Z,FILE5,FILE3 F_RT CALL CPBOT ADD A,15 F_RT1 CP (IX-84) JR C,F_LF2 F_RT2 LD A,(IX-84) DEC A JR F_LF2 F_DN CALL CPBOT JR F_LF2 F_UP CALL CPTOP DEC A JR F_LF2 F_PGUP CALL CPTOP SUB 64 JR C,F_LF1,F_LF2 F_PGDN CALL CPBOT ADD A,63 JR F_RT1 EXE BIT 2,(IX-96) JP NZ,FILE6 LD A,(IX-83) AND A JP Z,FILE6 CALL SETCURS,INIEXE,CLEAR21 LD HL,FILE1 LD DE,BUFFEXF LD BC,EXE-FILE3 LDIR LD HL,INIEXE LD (BUFFEXF+1),HL JP BUFFEXF MARK LD A,(IX-89) DEC A JP Z,BUFFEXF+18 LD A,(IX-84) AND A JP Z,FILE6 CALL ADRF1 PUSH HL POP IY LD A,(HL) CP 1 JP Z,F_DN RLA LD HL,(VARS-81) LD B,0 LD C,(IY+13) JR NC,MARK1 RES 7,(IY) AND A SBC HL,BC DEC (IX-82) JR MARK2 MARK1 SET 7,(IY) ADD HL,BC INC (IX-82) MARK2 LD (VARS-81),HL CALL MARK_I,PRF2,CURS1 JP F_DN MARKALL LD A,(IX-84) AND A JP Z,FILE6 PUSH AF LD HL,BUFF_I LD BC,11 LD (HL),B CALL LDIRHL LD HL,BUFF_I+8 LD (HL),46 PUSH HL LD HL,MASKTXT CALL PRCL20 LD D,12 CALL INPUT,CLEAR20 POP DE LD HL,BUFF_I+9 LD BC,3 LDIR LD IY,BUFFCAT XOR A LD D,A,H,A,L,A EXX LD (IX-82),A POP BC MRKALL1 LD A,(IY) DEC A JR Z,MRKALL4 PUSH IY POP HL RES 7,(HL) LD DE,BUFF_I LD C,#F5 MRKALL2 LD A,(DE) AND A JR Z,MRKALL3 CP (HL) JR NZ,MRKALL4 MRKALL3 INC HL,DE,C JR NZ,MRKALL2 INC (IX-82) SET 7,(IY) EXX LD E,(IY+13) ADD HL,DE EXX MRKALL4 LD DE,16 ADD IY,DE DJNZ MRKALL1 EXX LD (VARS-81),HL MRKALL5 CALL PRF2 JP FILE4 UNMKALL LD A,(IX-84) AND A JP Z,FILE6 CALL INIMARK,MARK_I JR MRKALL5 CAT LD (IX-89),2 CALL D_INFO CAT1 CALL PRCAT CAT2 CALL CURS2,DESCR CAT3 CALL INKEY_A,KEYMAIN LD HL,KCAT1 LD DE,KCAT2 CALL JPKEY JR CAT3 CP00 POP HL LD A,(IX-88) AND A JR Z,CAT3,CP7F1 CP7F POP HL LD A,(IX-88) INC A JP M,CAT3 CP7F1 PUSH HL JR CURS2 C_LF LD A,(IX-86) AND A JR Z,CAT3 CALL CURS2 DEC (IX-86) JR CAT2 C_RT LD A,(IX-86) CP 7 JR Z,CAT3 CALL CURS2 INC (IX-86) JR CAT2 C_UP CALL CP00 DEC A JR C_PGDN1 C_DN CALL CP7F JR C_PGDN1 C_PGUP CALL CP00 LD A,(IX-88) SUB 16 JR NC,C_PGDN1 XOR A JR C_PGDN1 C_PGDN CALL CP7F ADD A,15 JP P,C_PGDN1 LD A,127 C_PGDN1 LD (IX-88),A AND 112 LD B,(IX-85) LD (IX-85),A CP B JR Z,CAT2,CAT1 C_EXIT CALL SORTCAT LD (VARS-84),BC LD (IX-89),0 LD A,(IX-88) CP C JR C,C_EXIT2 LD A,C AND A JR Z,C_EXIT1 DEC C C_EXIT1 LD (IX-88),C C_EXIT2 JP FILE3 CURS2 EXA CALL SETXY1 LD E,0 PUSH DE CALL ATRDE LD B,32 CURS21 LD A,(HL) XOR #50 LD (HL),A INC HL DJNZ CURS21 CALL CURS23 POP DE CALL MULT6X LD A,B,B,D CURS22 PUSH AF,BC CALL INVERT POP BC LD A,6 ADD A,C LD C,A POP AF DEC A JR NZ,CURS22 EXA RET CURS23 LD HL,COL_XL CURS24 LD A,(IX-86) CURS25 ADD A,A JP #172D C_EDIT CALL INIMARK,MARK_I LD HL,C_EDADR CALL CURS24 PUSH BC RET C_EDXY CALL SETXY1,CURS23 LD B,D JP MULT6X ECAT00 LD HL,VARS-88 LD DE,NUMBER1 LD A,(HL) PUSH HL CALL GETNUM PUSH AF CALL C_EDXY POP DE,HL ECAT00A CALL INPNUM2 AND A JP M,ECAT00A,CAT1 ECAT01 LD C,0 LD D,8 JR ECAT02A ECAT02 LD C,8 LD D,3 ECAT02A CALL ADRF1 PUSH HL LD B,0 ADD HL,BC LD C,D,A,C LD DE,BUFF_I PUSH HL,DE,BC,AF LDIR CALL C_EDXY POP DE CALL INPUT POP BC,DE,HL EX DE,HL LDIR ECAT02B CALL SETXY1 POP HL LD A,D LD C,(IX-88) CALL DESCR1,DESCR LD BC,(VARS-74) LD A,(IX-75) CALL CURS22,SETTRK,SAVECAT CALL CLEAR21,DESCR JP CAT3 ECAT03 CALL ADRF1 PUSH HL LD A,(IX-86) ADD A,A,A,3 CALL #172D PUSH HL LD HL,BC LD DE,NUMBER2 CALL GETNUM PUSH AF CALL C_EDXY POP DE ECAT03A CALL INPNUM1 EX DE,HL POP HL LD (HL),E INC HL LD (HL),D JR ECAT02B ECAT04 CALL ADRF1 PUSH HL LD DE,NUMBER1 LD A,(IX-86) ADD A,8 CALL #172D PUSH HL LD A,C CALL GETNUM PUSH AF CALL C_EDXY POP DE,HL CALL INPNUM2 JR ECAT02B SYS BIT 1,(IX-89) LD DE,CURS1 JR Z,SYS0 LD DE,CURS2 SYS0 CALL GETNUM1 LD A,(IX-89) LD (IX-79),A LD (IX-89),3 JR SYS3 SYS1 CALL CURS3 BIT 1,(IX-79) LD DE,PRFILE JR Z,SYS2 LD DE,PRCAT SYS2 CALL GETNUM1,DESCR SYS3 CALL D_INFO SYS4 CALL CURS3 SYS5 CALL INKEY_A,KEYMAIN LD HL,KSYS1 LD DE,KSYS2 CALL JPKEY JR SYS5 S_LF LD A,(IX-87) RRA JR NC,SYS5 S_LF1 CCF RLA S_LF2 CALL CURS3 LD (IX-87),A JR SYS4 S_RT LD A,(IX-87) RRA JR C,SYS5,S_LF1 S_UP LD A,(IX-87) SUB 2 JR C,SYS5,S_LF2 S_DN LD A,(IX-87) ADD A,2 CP 6 JR NC,SYS5,S_LF2 S_EDIT LD A,(IX-82) AND A JR Z,S_EDIT1 CALL INIMARK,MARK_I,PRF2 S_EDIT1 LD HL,S_EDADR LD A,(IX-87) S_EDIT2 CALL CURS25 PUSH BC RET ESYS00 LD HL,VARS-70 LD DE,BUFF_I LD BC,11 LD A,C PUSH HL,DE,BC,AF,HL,BC LDIR POP DE,HL LD C,72 PUSH BC CALL PRLEN POP BC,DE CALL INPUT POP BC,HL,DE LDIR JR ESYS02A ESYS01 LD HL,S_EDBYT-1 LD A,(IX-87) PUSH AF CALL #172D LD HL,VARS LD DE,NUMBER1 LD B,255 ADD HL,BC PUSH HL LD A,(HL) CALL GETNUM LD D,A POP HL,AF SRL A LD B,A SBC A,A AND #90 ADD A,#48 LD C,A CALL INPNUM2 JR ESYS02A ESYS02 LD HL,(VARS-55) LD DE,NUMBER2 CALL GETNUM LD D,A LD BC,#02D8 CALL INPNUM1 LD (VARS-55),HL ESYS02A CALL DISK_I,RESET,SAVECAT CALL CLEAR21,DESCR JP SYS5 S_EXIT CALL CURS3 LD A,(IX-79) LD (IX-89),A AND 2 JP Z,FILE5,CAT2 CURS3 EXA LD A,(IX-87) SRL A LD D,A SBC A,A AND 18 LD E,A CURS31 CALL ATRDE LD B,9 JP CURS12 ERRAMD LD A,(IX-120) AND A JP Z,FILE6 JR CHRAMD0 CHRAMD LD HL,VARS-44 LD DE,NUMBER1 LD A,(IX-120) LD (HL),A PUSH HL CALL GETNUM POP HL LD BC,#16A8 LD D,A CALL INPNUM2 LD B,A CP (IX-92) JR NC,CHRAMD LD C,(IX-120) ADD A,4 CP (IX-92) JR NC,CHRAMD LD (IX-120),B LD (IX-119),C LD A,C AND A JR Z,CHRAMD0 LD A,B AND A JR Z,CHRAMD1 LD A,B CP C JR Z,CHRAMD1 JR NC,CHRAMD2 LD A,(IX-92) CALL PAGE LD A,(#C8E2) LD L,A LD H,0 CALL MULT16 LD A,(#C8E1) CALL #172D EX DE,HL LD L,(IX-120) LD H,0 CALL MULT64 SBC HL,DE JP NC,CHRAMD3 CHRAMD0 LD A,(IX-92) CALL PAGE LD HL,#C000 LD BC,#0FFF LD (HL),L CALL LDIRHL LD HL,RAMDTXT LD DE,#C8F5 LD C,11 LDIR LD L,(IX-120) LD H,B CALL MULT64 LD BC,#FFF0 ADD HL,BC LD (#C8E5),HL LD HL,#0100 LD (#C8E1),HL LD HL,#C8E7 LD (HL),#10 CHRAMD1 CALL SYS_I BIT 2,(IX-96) JP Z,FILE6 LD A,(IX-120) AND A JP Z,RELOAD1,RELOAD CHRAMD2 LD A,(IX-120) SUB (IX-119) LD L,A LD H,0 CALL MULT64 JR CHRAMD4 CHRAMD3 LD A,(IX-119) SUB (IX-120) LD L,A LD H,0 CALL MULT64 EX DE,HL LD HL,0 SBC HL,DE CHRAMD4 LD A,(IX-92) CALL PAGE LD DE,(#C8E5) ADD HL,DE LD (#C8E5),HL JR CHRAMD1 PUTCAT LD HL,PUTCAT0 JR PG_CAT GETCAT LD HL,GETCAT0 PG_CAT LD DE,FILE6 PUSH DE BIT 2,(IX-96) RET NZ RES 0,(IX-95) PUSH HL CALL RESERR EXA CALL SETDRV0 POP HL EXA AND 64 RET NZ JP (HL) PUTCAT0 LD HL,#F000 LD DE,0 LD B,16 PUSH HL,BC CALL LOAD LD A,160 PUSH AF CALL FORMTRK POP DE PUTCAT1 POP BC,HL LD E,0 JP SAVE GETCAT0 LD HL,RELOAD EX (SP),HL LD HL,#F000 LD DE,#A000 LD B,16 PUSH HL,BC CALL LOAD XOR A CALL FORMTRK LD D,0 JP PUTCAT1 INPNUM1 PUSH DE,BC CALL INPUT,ANALYSE POP BC,DE JR NC,INPNUM1 RET INPNUM2 LD A,(HL) PUSH HL INPN21 CALL INPNUM1 INC H DEC H JR NZ,INPN21 POP HL LD (HL),A RET GETNUM EXX LD HL,PRNMEM LD (#5C4F),HL LD HL,BUFF_I LD (PRNMEM+1),HL EXX LD B,0 CALL GETNUM1 LD HL,PRSYM42 LD (#5C4F),HL LD HL,(PRNMEM+1) LD DE,BUFF_I AND A SBC HL,DE LD A,L RET GETNUM1 PUSH DE RET ANALYSE LD HL,BUFF_I LD DE,BUFF_N LD B,(IX-75) LD A,(HL) SUB 35 EXX LD C,A LD B,0 EXX AN1 LD A,(HL) CP 32 JR Z,AN5 CP 48 JR C,AN4 CP 58 JR C,AN3 EXX INC C DEC C EXX JR NZ,AN4 CP 65 JR C,AN4 CP 71 JR C,AN2 CP 97 JR C,AN4 CP 103 JR NC,AN4 AN2 AND #5F AN3 LD (DE),A INC DE EXX INC B EXX AN4 INC HL DJNZ AN1 AN5 EXX PUSH BC EXX POP BC LD A,B AND A RET Z LD A,C AND A JR NZ,AN8 CALL AN6 LD H,0 LD L,C JR Z,AN11 CALL AN6 LD H,C JR AN11 AN6 CALL AN7 LD C,A DEC B RET Z CALL AN7 .4 ADD A,A ADD A,C LD C,A DEC B RET AN7 DEC DE LD A,(DE) SUB 48 CP 10 RET C SUB 7 RET AN8 EXX LD HL,TPOWER EXX LD HL,0 AN9 PUSH BC CALL AN7 EXX LD E,(HL) INC HL LD D,(HL) INC HL PUSH HL LD L,A LD H,0 CALL #30A9 EX (SP),HL EXX POP BC JR C,AN10 ADD HL,BC AN10 POP BC CCF RET NC DJNZ AN9 AN11 LD A,L SCF RET PRNMEM LD HL,0 LD (HL),A INC HL LD (PRNMEM+1),HL RET INVERT CALL ADRXY LD DE,#FC00 LD B,A LD C,248 JR Z,INV2 INV1 SRL D RR E DJNZ INV1 LD B,A INV2 PUSH BC LD A,(HL) XOR D LD (HL),A INC HL LD A,(HL) XOR E LD (HL),A DEC HL POP BC INC H,C JR NZ,INV2 RET PRFILE LD A,(IX-88) AND 64 LD (IX-85),A CALL CLEAR,PRF4 RET Z PRF1 PUSH HL,DE,BC LD A,C CALL SETXY1+3 LD B,D,A,E .3 ADD A,A LD C,A CALL PRLEN8A INC C,C LD DE,1 LD A,(IX-89) DEC A CALL NZ,PRLEN POP BC,DE,HL INC C LD A,C PRFE1 CP (IX-84) JR NC,PRF2 ADD HL,DE DJNZ PRF1 PRF2 CALL PRF4 RET Z PRF3 PUSH HL,DE,BC LD A,(HL) RLA SBC A,A AND #FD EXA LD A,C CALL SETXY1+3,ATRDE EXA LD C,7 ADD A,C CALL #0B4C POP BC,DE,HL INC C LD A,C CP (IX-84) RET NC ADD HL,DE DJNZ PRF3 RET PRF4 LD DE,16 LD B,64 LD A,(IX-89) DEC A JR NZ,PRFE2 LD E,8 PRFE2 LD A,(IX-84) AND A RET Z LD A,(IX-85) LD C,A JP ADRF2 PRCAT LD A,(IX-88) AND 112 LD (IX-85),A PUSH AF CALL CLEAR POP AF LD DE,16 LD C,A,B,E CALL ADRF2 LD A,4 PRC1 PUSH HL,DE,BC,AF CALL DESCR1 POP AF,BC,DE,HL ADD HL,DE INC A,C DJNZ PRC1 RET PRBCOPY LD BC,#0990 LD A,(IX-28) CALL NUMBER1 LD BC,#0A90 LD A,(IX-27) CALL NUMBER1 LD BC,#0B90 LD A,(IX-26) CALL NUMBER1 LD BC,#0C90 LD A,(IX-25) CALL NUMBER1 LD HL,(VARS-24) LD BC,#0D90 JP NUMBER2 RUN CALL SETTRK,SETCURS,ADRF1 PUSH HL POP IY LD A,(HL) CP 32 JP C,FILE6 LD DE,BFILE LD BC,8 PUSH DE LDIR POP HL RES 7,(HL) LD C,(IX-89) DEC C JR NZ,RUN1 RLA JR C,RUN3,RUN5 RUN1 CALL RUNSPF LD A,(IY+8) CP 66 JR Z,RUN5 EXA LD A,(IY+13) CP 27 JR Z,RUN4 EXA CP 67 JR NZ,RUN2 EXA CP 192 RUN2 JP NZ,FILE6 RUN3 LD A,#EC LD C,#AF JR RUN6 RUN4 CALL SETTRK LD HL,#C000 LD BC,#1B00 LD D,(IY+15) LD E,(IY+14) PUSH HL,BC CALL LOAD POP BC,HL LD DE,#4000 LDIR CALL WAITSCR JP FILE2 RUN5 LD A,#F7 LD C,#20 RUN6 LD (BCOM1),A LD A,C LD (BCOM2),A BIT 2,(IX-96) JP NZ,FILE6 CALL CLS LD HL,RUNCODE LD DE,#4000 LD BC,BTEXT1-RUNCODE PUSH DE JP #33C3 RUNSPF PUSH IY POP HL LD DE,8 ADD HL,DE EX DE,HL LD HL,RUNEXT RUNSPF1 LD A,(HL) AND A RET Z PUSH HL,DE LD B,3 CALL SRFC4 POP DE JP Z,JPKEY2 POP HL LD BC,5 ADD HL,BC JR RUNSPF1 RUNRAM CALL IM1ON IN (#FB) LD HL,#3500 LD DE,#9A00 LD BC,M_EDADR-MSERV+20 LDIR IN (#7B) CALL IM2ON JP LDIMAGE RUNTCP LD C,(IX-96) RUNTCP1 LD B,(IY+12) LD D,(IY+15) LD E,(IY+14) LD H,(IY+11) LD L,0 PUSH HL LD A,(IX-96) LD (IX-94),A LD (IX-96),C CALL LOAD LD A,(IX-94) LD (IX-96),A RET P7START LD SP,#BFFF DI LD IX,VARS LD HL,#C016 LD DE,#5C00 LD BC,#3000 LDIR JP START CHSTART DI LD SP,#C000 LD IX,VARS LD HL,#0400 LD DE,#5C00 LD BC,#3000 LDIR LD HL,START PUSH HL JP INSC1 INSCACH LD A,0 INC A RET NZ IN (#FB) LD HL,#5C00 LD DE,#0400 LD BC,#3000 LDIR LD HL,CHSTART LD DE,#34AA LD C,INSCACH-CHSTART LDIR INSC1 IN (#7B) RET PACKSCR CALL SETTRK,ADRF1 PUSH IX,HL POP IY LD HL,#C000 LD B,(IY+13) LD E,(IY+14) LD D,(IY+15) CALL LOAD,CLS,#C000 POP IX CALL WAITSCR JP FILE2 WAITSCR LD A,(IX-78) LD (IX-78),0 PUSH AF CALL INKEY_A,CLS POP AF LD (IX-78),A RET RESCMOS LD A,(IX-77) INC A RET Z LD (IX-78),255 RET RUNCODE LD SP,#5800 CALL IM1ON LD A,7 CALL PAGE LD HL,P7START LD DE,#C000 LD BC,CHSTART-P7START LDIR LD HL,#5C00 LD B,#30 PUSH HL,BC LDIR XOR A CALL PAGE,INSCACH LD IY,#5C3A LD HL,#8BFF LD (#5C3A),HL LD HL,#15C6 LD DE,#5C10 LD BC,14 LDIR EX DE,HL LD C,24 LD (HL),B CALL LDIRHL LD (HL),B INC HL LD (HL),60 LD HL,#5B00 LD (HL),L DEC C CALL LDIRHL LD HL,#5D26 LD DE,#15AF LD C,21 LD (#5C4F),HL EX DE,HL LDIR LD (#5C53),DE LD HL,BTEXT1 LD C,BTEXT2-BTEXT1 LDIR EX DE,HL LD (#5C4B),HL LD (HL),128 INC HL LD (#5C59),HL CALL #16B0 LD DE,HL INC DE LD BC,#A2FF LD (HL),0 LDIR LD HL,#FFFF LD DE,#3E00 LD BC,#1303 LD (#5CB2),HL LD (#5CB4),HL LD SP,HL INC SP PUSH DE,BC LD (#5C3D),SP LD A,#C9 LD (#5CC2),A LD C,#18 CALL #3D13 JP #1B76 BTEXT1 DB "@00011900F9C0300E0000033D00" DB "@3AEA3A" BCOM1 DB "@0022" BFILE DS 9,34 BCOM2 DB "@000D" BTEXT2 ORG #8F00 DI LD SP,#5E00 LD IY,#5C3A CALL CLS,SCR1 LD IX,VARS LD HL,#5D1A LD DE,#5D1B LD BC,#01DD LD (HL),0 LDIR LD HL,SYM1F LD C,8 LDIR LD HL,FONT42 LD B,3 LDIR LD HL,#010A LD (#5C09),HL LD HL,0 LD (#5C0B),HL LD (#5C38),HL LD (#5C90),HL INC HL LD (#5C42),HL LD (#5C45),HL LD HL,#0701 LD (#5C47),HL LD (#5C8C),HL LD HL,PRSYM42 LD (#5C4F),HL LD HL,#5C4F LD (#5C51),HL LD HL,#5D3B LD (#5C53),HL LD (HL),13 INC HL LD (#5C4B),HL LD (HL),128 INC HL LD (#5C59),HL CALL #16B0 LD HL,#0802 LD (#5C6A),HL LD HL,#0700 LD (#5C8E),HL LD A,#0C LD (#5C3B),A XOR A LD (#5C41),A INC A LD (#5C44),A LD HL,#1111 LD (#5C2E),HL LD HL,#5C2E LD (#5C3D),HL LD HL,ERRDOS LD (#5CC3),HL LD HL,INTERR LD (#5D23),HL LD A,#C3 LD (#5CC2),A LD (#5CD1),A LD (#5CD8),A LD (#5D22),A XOR A LD (#5CD6),A LD A,(#5D19) AND 3 LD (IX-96),A CALL IM1ON,TSTCACH,TSTCMOS TST1 CALL TSTRAM LD A,(IX-69) ADD A,A DEC A LD (IX-92),A LD (IX-70),C CALL PRTEST LD HL,#4000 TST2 DEC HL LD A,H OR L JR Z,TST3 PUSH HL CALL TSTRAM POP HL LD A,C SUB (IX-70) JR NZ,TST1 XOR A IN (#FE) CPL AND #1F JR Z,TST2 TST3 LD A,#FD IN (#FE) AND 2 PUSH AF CALL CLS POP AF CALL Z,EDSETUP,IM2ON LD HL,SETUP+#C6 LD DE,VARS-128 LD BC,4 LDIR LD B,(HL) INC HL LD A,(IX-92) CP B JR C,TST4 LD (IX-92),B TST4 LD B,(HL) INC HL LD A,B CP 59 JR NC,TST5 ADD A,5 CP (IX-92) JR C,TST5 LD A,(IX-92) SUB 5 LD B,A TST5 LD (IX-120),B LD A,(IX-92) SUB B LD (IX-90),A LD DE,INSCACH+1 LD A,(HL) INC HL LDI LD HL,50 LD E,A LD D,0 CALL #30A9 LD (VARS-124),HL LD HL,INICOMM PUSH HL LD A,(IX-120) AND A RET Z CALL MAINSTR LD HL,#B800 LD DE,0 LD B,8 CALL LOAD LD A,(IX-92) CALL PAGE LD HL,CHRAMD1 LD A,(HL) PUSH HL,AF LD (HL),#C9 LD A,(#C8E7) CP #10 CALL NZ,CHRAMD0 POP AF,HL LD (HL),A LD DE,(#C8E1) LD A,(#C8E4) LD L,A LD H,#0C CALL MULT16 PUSH HL,DE,AF LD (RF2+1),HL CALL SETRAM EXX LD (VARS-40),HL LD (IX-35),E LD HL,SETUP LD B,18 RF1 PUSH HL,BC LD A,(HL) AND A JP Z,RF3 PUSH HL,HL LD DE,8 ADD HL,DE EX DE,HL POP HL CALL SRFRAM POP HL JR Z,RF3 PUSH HL CALL SRSETUP POP HL JR NZ,RF3 PUSH HL LD HL,RDTXT CALL PRCL20 POP HL EXX LD A,(IX-92) CALL PAGE LD HL,(#C8E5) LD D,0 LD E,(IY+13) SBC HL,DE JR C,RF3 PUSH HL EXX PUSH IY CALL PRFEXT LD HL,RDF3 LD DE,BUFF_I LD BC,6 PUSH HL,DE,BC,HL LDIR POP HL LD C,5 LD (HL),B CALL LDIRHL LD HL,RDF4+1 LD A,(HL) PUSH HL,AF LD (HL),#35 LD B,(IY+13) LD D,(IY+15) LD E,(IY+14) LD (IX-37),C LD (IX-50),B CALL RDFILE POP AF,HL LD (HL),A POP BC,HL,DE LDIR LD A,(IX-92) CALL PAGE POP HL RF2 LD DE,0 LD BC,16 LDIR LD (RF2+1),DE POP HL LD (#C8E5),HL LD HL,#C8E4 INC (HL) RF3 POP BC,HL LD DE,11 ADD HL,DE DEC B JP NZ,RF1 LD HL,SETUP+#9A LD DE,HOTOVR LD B,4 RF4 PUSH BC,HL,HL,DE LD DE,OVREXT LD BC,8 ADD HL,BC LD B,3 CALL SRFC4 POP DE,HL JR NZ,RF5 LD C,8 LDIR JR RF6 RF5 EX DE,HL LD BC,7 LD (HL),32 CALL LDIRHL RF6 POP HL LD BC,11 ADD HL,BC POP BC DJNZ RF4 LD A,(IX-92) CALL PAGE POP BC,DE,HL LD A,(#C8E4) CP B RET Z CALL SETST LD (#C8E1),DE RET INICOMM LD HL,RELOAD PUSH HL LD A,(INSCACH+1) INC A RET NZ CALL IM1ON IN (#FB) LD HL,0 LD DE,1 LD BC,#39FF LD (HL),L LDIR LD HL,#9800 LD DE,#0066 LD BC,CPROG7-CHMAGIC LDIR LD HL,#9A00 LD DE,#3500 LD BC,M_EDADR-MSERV+20 LDIR CALL INSCACH JP IM2ON SRSETUP EX DE,HL LD HL,#B800 LD A,11 CALL SRFCAT PUSH HL POP IY RET EDSETUP PUSH IX CALL SCR2 POP IX LD HL,SC2TXT CALL PRINT LD BC,#0800 EDS1 PUSH BC LD A,C AND 3 ADD A,65 LD C,#18 RST 16 LD A,58 RST 16 POP BC INC B,C LD A,B CP 20 JR C,EDS1 CALL PRS_N,PRS_D,PRS_F LD HL,SC2ATR CALL ATTRIB LD A,(IX-78) LD (IX-70),A XOR A LD (IX-69),A LD (IX-78),A CALL IM2ON LD HL,#0052 EDS2 CALL #162C EDS3 CALL CURS0 EDS4 CALL INKEY_B,KEYMAIN LD HL,KSETUP1 LD DE,KSETUP2 CALL JPKEY JR EDS4 ES_LF LD A,(IX-69) SUB 18 JR C,EDS4 ES_LF1 CALL CURS0 LD (IX-69),A JR EDS3 ES_RT LD A,(IX-69) ADD A,18 CP 36 JR NC,EDS4,ES_LF1 ES_UP LD A,(IX-69) AND A JR Z,EDS4 CP 18 JR Z,EDS4 DEC A JR ES_LF1 ES_DN LD A,(IX-69) CP 17 JR Z,EDS4 CP 35 JR Z,EDS4 INC A JR ES_LF1 ES_EDIT LD HL,ESETADR LD A,(IX-69) CP 18 JP NC,ES18 CALL CURS25 PUSH BC RET ES00 LD HL,SETUP+#CA LD A,(IX-69) CALL #172D LD DE,NUMBER1 PUSH HL,AF LD A,(HL) CALL GETNUM LD D,A POP AF,HL ADD A,4 LD B,A LD C,#60 CALL INPNUM2 JR EDS4 ES03 CALL CURS0 LD HL,PRS_N LD A,(SETUP+#CD) CPL LD (SETUP+#CD),A JP EDS2 ES04 LD HL,SETUP+#C6 LD A,(IX-69) SUB 4 LD D,A AND 3 CALL #172D PUSH HL LD HL,ESBCOM LD A,D SRL A,A CALL #172D POP HL LD A,(HL) XOR C LD (HL),A CALL CURS0 LD HL,PRS_D JP EDS2 ES16 CALL IM1ON,CLS LD A,(IX-70) LD (IX-78),A RET ES17 CALL CLS,MAINSTR LD HL,SETUP LD DE,(#5CEB) INC E BIT 4,E RES 4,E JR Z,ES17_1 INC D ES17_1 LD B,1 SET 0,(IX-95) CALL SAVE JR ES16 ES18 LD HL,11 LD A,(IX-69) SUB 18 LD E,A LD D,0 CALL #30A9 LD DE,SETUP ADD HL,DE LD DE,BUFF_I LD BC,8 PUSH HL,DE,BC LDIR LD A,46 LD (DE),A INC DE LD C,3 LDIR LD A,(IX-69) SUB 14 LD B,A LD C,#90 LD D,12 CALL INPUT POP BC,HL,DE LDIR INC HL LD C,3 LDIR CALL CURS0 LD HL,PRS_F JP EDS2 CURS0 EXA LD A,(IX-69) SUB 18 LD B,A CCF SBC A,A AND #0F ADD A,3 LD E,A,A,B AND A JP P,CURS01 ADD A,18 CURS01 ADD A,4 LD D,A CALL ATRDE LD B,9 CURS02 LD A,(HL) XOR #48 LD (HL),A INC HL DJNZ CURS02 EXA RET PRS_N LD BC,#0460 LD A,(SETUP+#CA) CALL NUMBER1 LD BC,#0560 LD A,(SETUP+#CB) CALL NUMBER1 LD BC,#0660 LD A,(SETUP+#CC) CALL NUMBER1 LD BC,#0760 LD A,(SETUP+#CD) JP PRCON PRS_D LD HL,TURBTXT LD DE,DOSTXT LD BC,#0801 CALL PRS_D1 LD HL,FASTTXT LD DE,SLOWTXT LD BC,#0C04 CALL PRS_D1 LD HL,NOTXT LD DE,YESTXT LD BC,#1002 PRS_D1 EXX LD HL,SETUP+#C6 LD B,4 PRS_D2 PUSH HL,BC LD A,(HL) EXX AND C PUSH HL,DE,BC,DE,AF LD C,#30 CALL Z,PRINT POP AF,HL CALL NZ,PRINT POP BC,DE,HL INC B EXX POP BC,HL INC HL DJNZ PRS_D2 RET PRS_F LD HL,SETUP LD BC,#1204 PRS_F1 PUSH HL,BC LD B,C LD C,#90 CALL PRLEN8 LD A,46 RST 16 LD E,3 CALL PRLEN POP BC,HL LD DE,11 ADD HL,DE INC C DJNZ PRS_F1 LD BC,#0412 PRS_F2 PUSH BC LD A,53 SUB B PUSH AF LD B,C LD C,#E4 LD A,60 RST 16 POP AF RST 16 POP BC INC C DJNZ PRS_F2 RET TSTCACH IN (#7B) LD HL,0 IN (#FB) LD C,(HL) LD (HL),L LD A,(HL) CALL WRF7 CPL LD (PRTEST5+1),A LD (HL),C IN (#7B) RET TSTCMOS XOR A LD (IX-78),A CALL RDCMOS CP 60 RET NC LD A,2 CALL RDCMOS CP 60 RET NC LD A,4 CALL RDCMOS CP 24 RET NC DEC (IX-78) RET TSTRAM LD HL,TSTDRV LD DE,TSTPAGE LD BC,#0A00 TSTR1 PUSH BC LD A,(DE) LD (IX-69),A INC DE PUSH DE EXA LD E,(HL) INC HL LD D,(HL) INC HL PUSH HL EX DE,HL LD DE,PAGE LD BC,24 LDIR LD HL,#C000 XOR A CALL PAGE LD D,(HL) LD (HL),0 EXA PUSH AF,AF CALL PAGE POP AF LD E,(HL) LD (HL),A XOR A CALL PAGE LD A,(HL) LD (HL),D AND A EXA POP AF CALL PAGE LD (HL),E XOR A CALL PAGE EXA POP HL,DE,BC RET Z INC C DJNZ TSTR1 RST 0 ZXSP LD (IX-91),A LD B,A .3 RLA AND #C0 LD C,A,A,B AND 7 OR #10,C LD BC,#7FFD OUT A RET DW 0 SCORP LD (IX-91),A LD BC,#1FFD PUSH AF RLA AND #10 OUT A POP AF AND 7 OR #10 LD BC,#7FFD OUT A RET NOP PROFI LD (IX-91),A LD BC,#DFFD PUSH AF .3 RRA AND 7 OUT A POP AF AND 7 OR #10 LD B,#7F OUT A RET ATM LD (IX-91),A LD BC,#FDFD PUSH AF .3 RRA AND 7 OUT A POP AF AND 7 OR #10 LD B,#7F OUT A RET PRTEST LD HL,SC1TXT CALL PRINT LD HL,SC1ATR CALL ATTRIB LD L,(IX-92) LD H,0 INC L CALL MULT16,PRD2B LD HL,BUFF_N+1 LD BC,#0960 LD D,4 LD A,#20 LD (PRTEST2),A PRTEST1 LD A,(HL) CP 48 PRTEST2 JR NZ,PRTEST3 JR PRTEST4 PRTEST3 RST 16 LD A,#18 LD (PRTEST2),A PRTEST4 INC HL DEC D JR NZ,PRTEST1 LD A,32 RST 16 LD BC,#0A60 LD A,(IX-78) CALL PRCON LD BC,#0B60 PRTEST5 LD A,0 PRCON LD HL,PRINT PUSH HL LD HL,YESTXT INC A RET Z LD HL,NOTXT RET SC1TXT DB 30,7,4,"Hardware test:" DB 30,9,4,"Memory :" DB 30,10,4,"CMOS Clock:" DB 30,11,4,"Shadow RAM:" DB 30,14,4,"(c) 09.10.2000 " DB "Sergey Selev aka" DB 30,15,4,"Cyber from Cobra " DB "Software" DB 30,18,4,"ZXNet : 500:322/62" DB 30,19,4,"FidoNet: 2:462/" DB "167.62" DB 30,21,4,"Press 'S' to edit " DB "setup",29 SC1ATR DB "@46011C070144030B0901" DB "@070310090C45021C0E01" DB "@44020812010702151209" DB "@05021E150100" SC2TXT DB 30,2,5,"General setup" DB 30,4,4,"Pages using:" DB 30,5,4,"Ramdisk :" DB 30,6,4,"Screensaver:" DB 30,7,4,"Autoinstall:" DB 30,8,16,"