Changes

Jump to: navigation, search

PROTRACKER372 PTU367 H

2,410 bytes added, 21:47, 8 March 2020
no edit summary
PTU367 C��╔Ы�ЬЕ COLOUR=5 zwet=1 CATHGT=22 HGT EQU 24 WINCOL EQU 7 TITLCOL EQU 56 FD EQU 32765 EMSTACK EQU #5F00 SYSBUF EQU #6800 LDIRKA EQU #BB80 CURSCOL EQU 56 SECBUF EQU #B700 ;TEXT=SECBUF+1 LINBUF EQU #BE00 WINBUF EQU #BF00 FILENAM EQU #5CDD FNEXT EQU FILENAM+8 MUZ=#C000 ORG #8000 begin FONTS INCBIN "42>> GO LD SP,#6000 OUT (-2),A INC A LD (IY-48),A LD (IY+48),A LD (IY+1),#CC LD (IY+14),COLOUR LD (IY-49),16 CALL OLDRV LD (23798),A LD HL,ONERROR LD (23747),HL CALL CLS ST CALL PRMENU STC LD C,0 CALL RULILKA LD A,C LD (STC+1),A LD DE,QUIT CALL 8020 JR NC,STPUSH LD B,0 LD HL,JPS ADD HL,BC,HL,BC LD E,(HL) INC HL LD D,(HL) STPUSH LD HL,ST PUSH HL,DE RET JPS DW PLOAD DW PPLAY DW PSAVE DW PCOM DW PSWAP DW PREN DW PSORT DW PHELP DW QUIT PLOAD LD HL,TLOAD CALL PRCAT JP NC,PLOADQ LD (LENGTH),HL PUSH BC PUSH DE CALL CLS LD HL,MUZ PUSH HL LD DE,MUZ+1 LD B,#40 LD (HL),L LDIR POP HL POP DE POP BC LD (ERRSP+1),SP PUSH HL LD A,64 CP B JR NC,$+3 LD B,A CALL EM15635 PLDCPU CALL DEPKFNT POP HL LD BC,#4000 PLOADCP LD DE,TDISTIN LD A,(DE) CPIR JR NZ,PLDBUGL LD (PLDOK+1),HL PLDCP0 INC DE LD A,(DE) OR A JR Z,PLDOK CP (HL) INC HL DEC BC JR Z,PLDCP0 JR PLOADCP PLDOK LD HL,0 LD BC,-14-1 ADD HL,BC LD DE,MUZ LD BC,#4000 LDIR
LD DE,MUZ
LD BC,#4000 LDIR LD DE,MUZ CALL deinit+3 LD D,0 LD HL,MUZ+105 LD A,48 PLDOKM0 LD C,(HL) INC HL LD B,(HL) INC HL EX DE,HL OR A SBC HL,BC ADD HL,BC EX DE,HL JR NC,$+4 LD D,B LD E,C DEC A JR NZ,PLDOKM0 LD HL,MUZ+1 ADD HL,DE LD C,(HL) LD B,0 INC HL ADD HL,BC LD DE,-MUZ ADD HL,DE LD (LENGTH),HL LD A,183 LD (MODOK),A PLOADQ JP CLS PLDBUGL LD A,(MUZ) CP 243 JR NZ,PLDBUG PLDBGL0 LD HL,TDEPKYN LD DE,#4040 CALL PRTEXT CALL IYKEY CP "n JR Z,PLDBUG CP "y JR NZ,PLDBGL0 LD HL,MUZ PUSH HL LD DE,(STADR+1) LD BC,(LENGTH) LDIR STADR CALL 0 EI JP PLDCPU PLDBUG LD HL,TLDBUG LD DE,#4060 CALL PRTEXT CALL IYKEY LD A,55 LD (MODOK),A JR PLOADQ TLDBUG DB "INVALID MODULE!",0 TDEPKYN DB "DEPACK (Y/N)?",0 TDISTIN DB " compilation of ",0 COPYTAB LD A,(MUZ+99) LD L,A ADD A,A ADD A,L LD L,0 RRA RR L RRA RR L ADD A,'TABS LD H,A LD DE,tab_frq LD BC,#C0 LDIR RET PPLAY MODOK SCF JR C,PLDBUG CALL COPYTAB CALL initia PPLAY0 RES 5,(IY+1) HALT CALL play BIT 5,(IY+1) JR Z,PPLAY0 LD A,(23560) OR #20 CP "f JR NZ,stop CALL play,play JR PPLAY0 stop CALL deinit AYOFF LD DE,#E00 OFF0 LD BC,-3 DEC D OUT (C),D LD B,#BF OUT (C),E JR NZ,OFF0 RET PSAVE LD A,(MODOK) RLA JP NC,PLDBUG LD A,"m LD (FNEXT),A CALL SAVE JP CLS PREN LD A,(MODOK) RLA JP NC,PLDBUG LD HL,MUZ LD DE,LINBUF LD BC,256 LDIR LD LX,20 PRENST PUSH BC CALL PRBY POP BC PUSH BC LD A,LX CALL 3742 INC L LD A,C ADD A,6 CALL PRCU POP BC LD HL,MUZ+#1E LD A,LX RRA JR NC,$+5 LD HL,MUZ+#42 LD B,0 ADD HL,BC CALL IYKEY JP NC,PRENNO ADD A,-13 JR Z,PRENQQ LD DE,PRENST PUSH DE LD DE,#1F20 DEC A JR Z,PRENEXT DEC A JR Z,PRENGR ADD A,3 JP Z,WORKDEL ADD A,2 JR NC,PRENNUD LD A,LX XOR 1 LD LX,A RET PRENNUD INC A JR Z,PRENIC INC A JP Z,WORKDC INC A RET Z INC A JP Z,CAPLNT SUB 193 RET Z DEC A RET Z DEC A RET Z SUB 55 CP 172 RET Z CP E RET C PUSH BC CALL RECODE-1 LD (HL),B POP BC PRENIC JP WORKIC PRENGR LD A,D INC A SUB C PUSH BC LD C,A LD B,0 LD D,H LD E,L INC HL LDIR DEC DE LD A,32 LD (DE),A POP BC RET PRENEXT LD A,D INC A SUB C LD B,A LD E,32 PRENEX0 LD A,(HL) LD (HL),E LD E,A INC HL DJNZ PRENEX0 RET PRENQQ RET PRENNO LD DE,MUZ LD HL,LINBUF LD BC,256 LDIR RET CAPLNT LD A,(23658) XOR 8 LD (23658),A RET TLEN DB "Compiled length=",0 T_ENT DB "Press <ENTER>",0 TENSTAD DB "Enter start address=#C000",0 TEDSTAD EQU $-5 PCOM LD A,(MODOK) RLA JP NC,PLDBUG CALL CLS CALL COPYTAB LD HL,-1-LENP LD DE,-1 LD BC,-MUZ-LENP LDDR LD BC,LENP LD HL,(LENGTH) ADD HL,BC LD (LENGTH),HL PUSH HL ;LD HL,ENDP-1 ;LDDR LD HL,T_ENT LD DE,#48EA CALL PRTEXT LD HL,TLEN LD DE,#4863 CALL PRTEXT POP HL PUSH HL INC E CALL PRNUM POP HL CALL PRNUMH LD BC,0 PCOMIN PUSH BC LD HL,TENSTAD LD DE,#48A5 PUSH DE CALL PRTEXT POP HL INC L POP BC LD A,C ADD A,TEDSTAD-TENSTAD CALL PRCU CALL IYKEY JR NC,PCOMQQ CP 13 JR Z,PCOMOK LD E,A SUB "0 RES 5,A CP "G"-"0 JR NC,PCOMIN CP "A"-"0 JR NC,PCOMSB CP 10 JR NC,PCOMIN JR $+4 PCOMSB SUB "A"-": PCOMDG LD HL,TEDSTAD ADD HL,BC LD (HL),E LD DE,PCOMOK+1-TEDSTAD ADD HL,DE LD (HL),A LD A,C XOR 1 LD C,A JR PCOMIN PCOMOK LD HL,#C000 LD A,H DB ")))) OR L
LD H,A
LD DEL,tab_frq0 LD BC,#C0 LDIR RET PPLAYMODOK SCF JR C,PLDBUG CALL COPYTAB CALL initiaPPLAY0 RES 5,(IYCADDR+1) HALT CALL play BIT 5,(IY+1) JR Z,PPLAY0 LD A,(23560) OR #20 CP "f JR NZ,stop CALL play,play JR PPLAY0stop CALL deinitAYOFF LD DE,#E00OFF0 LD BC,-3 DEC D OUT (C),D LD B,#BF OUT (C),E JR NZ,OFF0 RET  PSAVE LD A,(MODOK) RLA JP NC,PLDBUG LD A,"m LD (FNEXT),A CALL SAVE JP CLS PREN LD A,(MODOK) RLA JP NC,PLDBUG  LD HL,MUZ LD DE,LINBUF LD BC,256 LDIR LD LX,20PRENST PUSH BC CALL PRBY POP BC PUSH BC LD A,LX CALL 3742 INC LLENP LD A,C ADD A,6 CALL PRCU POP BC LD HL,MUZ+#1E LD A,LX RRA JR NC,$+5 LD HL,MUZ+#42 LD B,0 ADD HL,BC CALL IYKEY JP NC,PRENNO ADD A,-13 JR Z,PRENQQ LD DE,PRENST PUSH DE LD DE,#1F20 DEC A JR Z,PRENEXT DEC A JR Z,PRENGR ADD A,3 JP Z,WORKDEL ADD A,2 JR NC,PRENNUD LD A,LX XOR 1SUB 'PLAYER
LD LX,A
RET PRENNUD INC A JR Z,PRENIC INC A JP Z,WORKDC INC A RET Z INC A JP Z,CAPLNT SUB 193 RET Z DEC A RET Z DEC A RET Z SUB 55 CP 172 RET Z CP E RET C PUSH BC CALL RECODE-1 ;LD (HLMUZ+1),BHL POP BCEX DE,HLPRENIC JP WORKIC;сонг лежит в MUZ+LENPPRENGR LD A;пересчитываем его,D INC A SUB C PUSH BC LD C,Aкак будто он в DE LD B,0 LD D,H LD C,E,L INC HL LDIR DEC DE LD A,32 LD (DE),AMUZ+LENP POP BCCALL initia3 RET PRENEXT LD A,D INC A SUB C CALL PCOMCH LD B,A LD E,32PRENEX0 LD A,(HL) LD (HL),E LD E,A INC HL DJNZ PRENEX0 RET PRENQQ RET PRENNOPLAYER
LD DE,MUZ
LD HL,LINBUF
LD BC,256
LDIR
RET
CAPLNT
LD A,(23658)
XOR 8
LD (23658),A
RET
 
TLEN DB "Compiled length=",0
T_ENT DB "Press <ENTER>",0
TENSTAD DB "Enter start address=#C000",0
TEDSTAD EQU $-5
 
PCOM
LD A,(MODOK)
RLA
JP NC,PLDBUG
CALL CLS
CALL COPYTAB
LD HL,-1-LENP
LD DE,-1
LD BC,-MUZ-LENP
LDDR
LD BC,LENP
LD HL,(LENGTH)
ADD HL,BC
LD (LENGTH),HL
PUSH HL
;LD HL,ENDP-1
;LDDR
LD HL,T_ENT
LD DE,#48EA
CALL PRTEXT
LD HL,TLEN
LD DE,#4863
CALL PRTEXT
POP HL
PUSH HL
INC E
CALL PRNUM
POP HL
CALL PRNUMH
LD BC,0
PCOMIN PUSH BC
LD HL,TENSTAD
LD DE,#48A5
PUSH DE
CALL PRTEXT
POP HL
INC L
POP BC
LD A,C
ADD A,TEDSTAD-TENSTAD
CALL PRCU
CALL IYKEY
JR NC,PCOMQQ
CP 13
JR Z,PCOMOK
LD E,A
SUB "0
RES 5,A
CP "G"-"0
JR NC,PCOMIN
CP "A"-"0
JR NC,PCOMSB
CP 10
JR NC,PCOMIN
JR $+4
PCOMSB SUB "A"-":
PCOMDG LD HL,TEDSTAD
ADD HL,BC
LD (HL),E
LD DE,PCOMOK+1-TEDSTAD
ADD HL,DE
LD (HL),A
LD A,C
XOR 1
LD C,A
JR PCOMIN
PCOMOK LD HL,#C000
LD A,H
DB "))))
OR L
LD H,A
LD L,0
LD (CADDR+1),HL
LD DE,LENP
ADD HL,DE
SUB 'PLAYER
LD LX,A
;LD (MUZ+1),HL
EX DE,HL
;сонг лежит в MUZ+LENP
;пересчитываем его,как будто он в DE
LD B,D,C,E
LD DE,MUZ+LENP
CALL initia3
CALL PCOMCH
LD HL,PLAYER
LD DE,MUZ
LD BC,LENP
LDIR
XOR A
SUB LX
LD LX,A
CALL PCOMCH
 
CADDR LD HL,#C000
LD (SSTART+1),HL
LD A,"C
LD (FNEXT),A
CALL SAVE
LD HL,0
LD (SSTART+1),HL
PCOMQQ
LD HL,MUZ
PUSH HL
JP PLDCPU
PCOMCH
LD HL,TABC
LD BC,LTABC
PCOMCH0 LD E,(HL)
INC HL
LD A,(HL)
SUB #C0-'PLAYER
LD D,A
INC HL
LD A,(DE)
ADD A,LX
LD (DE),A
DEC BC
LD A,B
OR C
JR NZ,PCOMCH0
RET
PHELP
CALL CLS
IFN 0
DI
LD (PHELPE+1),SP
LD HL,-1-LENP
LD DE,-1
LD BC,-MUZ-LENP
LDDR
LD HL,#5FFF
INC B
LDDR
LD HL,PHELPE
LD (#5E33),HL
LD HL,TEXT
LD (#5D64),HL
LD HL,PAKHELP+6
JP #5D5A
 
PHELPE LD SP,0
XOR A
LD (DE),A
LD (TEXT-1),A
LD HL,MUZ+LENP-1
LD DE,#5FFF
LD BC,256
LDDR
EI
ENDIF
CALL LISTER
IFN 0
LD HL,MUZ+LENP
LD DE,MUZ
LD B,64
LDIR
ENDIF
JP CLS
 
PSORT
LD A,(MODOK)
RLA
JP NC,PLDBUG
 
 
LD DE,MUZ+201 ;POS
 
LD C,0 ;CURR.PAT
PSORT0
LD A,(DE)
CP -1
JR Z,POK
LD B,A
CP C
JR C,PSORTOK
LD H,D
LD L,E
PSORT1 LD A,(HL)
CP -1
JR Z,PSORT1Q
CP B
LD (HL),C
JR Z,PSORT1E
CP C
LD (HL),B
JR Z,$+3
LD (HL),A
PSORT1E INC HL
JR PSORT1
PSORT1Q
LD A,B
PUSH BC
PUSH DE
LD HL,(MUZ+103)
SLA C
LD B,'MUZ
ADD HL,BC
EX DE,HL
LD HL,(MUZ+103)
ADD A,A
LD C,A
ADD HL,BC
LD B,6
PSORT2 LD A,(DE)
LD C,(HL)
LD (HL),A
LD A,C
LD (DE),A
INC HL
INC DE
DJNZ PSORT2
POP DE
POP BC
INC C,C,C
PSORTOK
INC DE
JR PSORT0
 
POK
LD HL,#58E0
LD DE,#58E1
LD BC,31
LD (HL),#44
LDIR
LD HL,TOK
LD DE,#40E6
CALL PRTEXT
CALL IYKEY
JP CLS
 
TPOSS DB "POSITIONS:",0
DB "PATTERNS:",0
DB "TRACKS:",0
 
DB "SAMPLES:",0
DB "ORNAMENTS:",0
 
TOK DB "OPERATION COMPLETED OK.",0
 
TA_B DB " -> 1. A<>B",0
TB_C DB "2. B<>C",0
 
PSWAP
LD A,(MODOK)
RLA
JP NC,PLDBUG
LD HL,TA_B
LD DE,#4895
CALL PRTEXT
INC HL
LD DE,#48B8
CALL PRTEXT
 
PSWAPK CALL IYKEY
JP NC,CLS
CP "2
JR Z,ACB
CP "1
JR NZ,PSWAPK
LD A,197
LD (ACBX1),A
LD A,193
LD (ACBX2),A
ACB LD HL,MUZ
DI
LD (Sav_SP0+1),SP
LD D,H
LD E,L
LD BC,100
ADD HL,BC
INC HL
LD SP,HL
ADD HL,BC
XOR A
ACBMAX LD C,(HL) INC C JR Z,ACBMAXQ DEC C INC HL CP C JR NC,ACBMAX LD A,C JR ACBMAXACBMAXQ POP HL;AF POP HL ADD HL,DE  LD SP,HLACB0 POP BC POP DEACBX1 POP HL ;PUSH BC PUSH DEACBX2 PUSH HL ;POP BC POP DE POP HL SUB 3 JR NC,ACB0LX LD A,225 LD (ACBX1)LX,A LD A,229CALL PCOMCH LD (ACBX2),A Sav_SP0 LD SP,0 EI JP POKPRMENU CALL DEPKFNT CADDR LD HL,#5800 LD DE,#5801C000 LD BC,31 LD (HLSSTART+1),6 LDIR LD HL,#5A40 LD DEA,#5A41 LD "C,128 LD (HLFNEXT),7A LDIR LD C,63 LD (HL),6 LDIR LD HL,TPTUTIL LD DE,#4004 CALL PRTEXT LD HL,TBY LD DE,#50E3 CALL PRTEXTSAVE LD HL,TMENU LD DE,#4809 PUSH DE LD LX,0PRMENU0 PUSH DE INC LX LD C,0PRMENU2 LD A,(HLSSTART+1) INC HL CP 32 JR C,$+7 CALL PRSYM JR PRMENU2 POP DE CALL NXTLINE XOR A OR (HL) JR NZ,PRMENU0 LD A,(MODOK) RLA JR NC,PRMENNN CALL PRBY CALL PRNS PCOMQQ LD HL,(LENGTH) LD DE,#5040MUZ PUSH HL CALL PRNUM JP PLDCPU POP HL CALL PRNUMH LD A,(MUZ+99) PCOMCH LD HL,TFRQTABPRMNFR0 SUB 1TABC JR C,PRMENFR LD EBC,ALTABC XOR A LD B,H CPIR PCOMCH0 LD A,E JR PRMNFR0PRMENFR LD DE,#5050 CALL PRTEXTPRMENNN POP (HL) CALL FINDATR-1 LD H,A LD B,LX RET TFRQTAB DB "ProTracker 3.1",0 DB "SoundTracker or PT2",0 DB "ASM or PSC",0 DB "Real sound",0PRNS LD INC HL,MUZ+105 LD BC,#2000 LD D,CPRNSsmp
LD A,(HL)
SUB #C0-'PLAYER LD D,A INC HL OR LD A,(HLDE) INC HL ADD A,LX JR Z LD (DE),$+3A INC D DEC BC DJNZ PRNSsmp LD A,B OR C JR NZ,#10PCOMCH0 RET PHELPPRNSorn CALL CLS IFN 0 DI LD A,(HLPHELPE+1),SP INC LD HL,-1-LENP LD DE,-1 LD BC,-MUZ-LENP OR (HL) LDDR INC LD HL JR Z,$+3#5FFF INC CB DJNZ PRNSorn LDDR LD AHL,CPHELPE PUSH AF LD (#5E33),HL PUSH DE LD HL,TEXT LD (#5D64),HL LD HL,MUZPAKHELP+2016 JP #5D5A PHELPE LD SP,0
XOR A
LD (DE),A LD (TEXT-1),A LD HL,MUZ+LENP-1 LD DE,#5FFF LD BC,256 LDDR EI ENDIF CALL LISTER IFN 0 LD HL,MUZ+LENP LD DE,MUZ LD B,64 LDIR ENDIF JP CLS PSORT LD A,(MODOK) RLA JP NC,PLDBUG LD DE,MUZ+201 ;POS LD C,0 ;CURR.PAT PSORT0 LD A,(DE) CP -1 JR Z,POK LD B,A CP C JR C,PSORTOK LD H,D LD L,E PSORT1 LD A,(HL) CP -1 JR Z,PSORT1Q CP B LD (HL),C JR Z,PSORT1E CP C LD (HL),B JR Z,$+3 LD (HL),A PSORT1E INC HL JR PSORT1SRTMAX PSORT1Q LD A,B PUSH BC PUSH DE LD HL,(MUZ+103) SLA C LD B,'MUZ ADD HL,BC EX DE,HL LD HL,(MUZ+103) ADD A,A LD C,A ADD HL,BC LD B,6 PSORT2 LD A,(DE) LD C,(HL) LD (HL),A LD A,C LD (DE),A INC HL INC DE DJNZ PSORT2 POP DE POP BC INC C,C,C PSORTOK INC DE JR PSORT0 POK LD HL,#58E0 LD DE,#58E1 LD BC,31 LD (HL),#44 LDIR LD HL,TOK LD DE,#40E6 CALL PRTEXT CALL IYKEY JP CLS TPOSS DB "POSITIONS:",0 DB "PATTERNS:",0 DB "TRACKS:",0 DB "SAMPLES:",0 DB "ORNAMENTS:",0 TOK DB "OPERATION COMPLETED OK.",0 TA_B DB " -> 1. A<>B",0 TB_C DB "2. B<>C",0 PSWAP LD A,(MODOK) RLA JP NC,PLDBUG LD HL,TA_B LD DE,#4895 CALL PRTEXT INC HL LD DE,#48B8 CALL PRTEXT PSWAPK CALL IYKEY JP NC,CLS CP "2 JR Z,SRTMAXQACB CP "1 JR NZ,PSWAPK LD A,197 LD (ACBX1),A LD A,193 LD (ACBX2),A ACB LD HL,MUZ DI LD (Sav_SP0+1),SP LD D,H LD E,L LD BC,100 ADD HL,BC INC HL LD SP,HL ADD HL,BC XOR A ACBMAX LD C,(HL) INC DC JR Z,ACBMAXQ DEC C INC HL CP C JR NC,ACBMAX LD A,C JR ACBMAX ACBMAXQ POP HL;AF POP HL ADD HL,DE LD SP,HL ACB0 POP BC POP DE ACBX1 POP HL ;PUSH BC PUSH DE ACBX2 PUSH HL ;POP BC POP DE POP HL SUB 3 JR NC,ACB0 LD A,225 LD (ACBX1),A LD A,229 LD (ACBX2),A Sav_SP0 LD SP,0 EI JP POK PRMENU CALL DEPKFNT LD HL,#5800 LD DE,#5801 LD BC,31 LD (HL),6 LDIR LD HL,#5A40 LD DE,#5A41 LD C,128 LD (HL),7 LDIR LD C,63 LD (HL),6 LDIR LD HL,TPTUTIL LD DE,#4004 CALL PRTEXT LD HL,TBY LD DE,#50E3 CALL PRTEXT LD HL,TMENU LD DE,#4809 PUSH DE LD LX,0 PRMENU0 PUSH DE INC LX LD C,0 PRMENU2 LD A,(HL) INC HL CP 32 JR C,$+7 CALL PRSYM JR PRMENU2 POP DE CALL NXTLINE XOR A OR (HL) JR NZ,PRMENU0 LD A,(MODOK) RLA JR NC,SRTMAXPRMENNN CALL PRBY CALL PRNS LD HL,(LENGTH) LD DE,#5040 PUSH HL CALL PRNUM POP HL CALL PRNUMH LD A,(MUZ+99) LD HL,TFRQTAB PRMNFR0 SUB 1 JR C,PRMENFR LD E,A XOR A LD B,H CPIR LD A,E JR PRMNFR0 PRMENFR LD DE,#5050 CALL PRTEXT PRMENNN POP HL CALL FINDATR-1 LD H,A LD B,LX RET TFRQTAB DB "ProTracker 3.1",0 DB "SoundTracker or PT2",0 DB "ASM or PSC",0 DB "Real sound",0 PRNS LD HL,MUZ+105 LD BC,#2000 LD D,C PRNSsmp LD A,(HL) INC HL OR (HL) INC HL JR Z,$+3 INC D DJNZ PRNSsmp LD B,#10 PRNSorn LD A,(HL) INC HL OR (HL) INC HL JR Z,$+3 INC C DJNZ PRNSorn
LD A,C
JR SRTMAX
SRTMAXQ LD BC,3
INC B
SUB C
JR NC,$-2
PUSH BC
PUSH DE
LD A,B
RLCA
ADD A,B
LD B,A
LD HL,(MUZ+103)
LD DE,MUZ
ADD HL,DE ;PATS
LD HX,0
SRTNTR
LD DE,LINBUF
LD C,HX
INC C
DEC C
JR Z,SRTNTRA
SRTNTR0 LD A,(DE)
INC E
CP (HL)
INC HL
JR NZ,SRTNTR1
LD A,(DE)
CP (HL)
JR Z,SRTNTRQ
SRTNTR1 DEC HL
INC E
DEC C
JR NZ,SRTNTR0
SRTNTRA LD A,(HL)
LD (DE),A
INC HL
INC E
LD A,(HL)
LD (DE),A
INC HX
SRTNTRQ
INC HL
DJNZ SRTNTR
 
LD HL,TPOSS
LD DE,#4040
CALL PRTEXT
INC E
POP AF
CALL PRNUMA
INC HL
LD DE,#4060
CALL PRTEXT
INC E
POP AF
CALL PRNUMA
INC HL
LD DE,#4080
CALL PRTEXT
INC E
LD A,HX
CALL PRNUMA
 
INC HL
LD DE,#40A0
CALL PRTEXT
INC E
POP AF
CALL PRNUMA
INC HL
LD DE,#40C0
CALL PRTEXT
INC E
POP AF
JP PRNUMA
PRBY
LD HL,TSONG
LD DE,#5080
CALL PRTEXT
LD HL,MUZ+#1E
CALL PRSTR-2
LD HL,TSONGBY
LD DE,#50A0
CALL PRTEXT
LD HL,MUZ+#42
LD B,32
PRSTR
LD A,(HL)
INC HL
CALL PRSYM
DJNZ PRSTR
RET
 
TSONG DB "MUSIC:",0
TSONGBY DB " BY:",0
 
RULILKA
PUSH HL
CALL CURSCNT
LD A,14
LD (CURSOR0-1),A
CALL CURSOR
CALL IYKEY
PUSH AF
CALL CURRES
LD A,8
LD (CURSOR0-1),A
POP AF
POP HL
SUB 8
JR Z,RUL0
DEC A
JR Z,RULZ
SUB 2
JR NZ,RULILND
CP C
JR NZ,$+3
RULZ LD C,B
DEC C
JR RULILKA
RULILND INC A
RET NZ
INC C
LD A,C
SUB B
JR NZ,$+3
RUL0 LD C,A
JR RULILKA
DDE
INC D
LD A,D
AND 7
RET NZ
LD A,E
ADD A,32
LD E,A
RET C
LD A,D
ADD A,-8
LD D,A
RET
 
LD A,H
FINDATR RRA
RRA
RRA
AND 3
OR 88
RET
 
NAME
LD C,0
WORKPN
PUSH BC
CALL WORKPP
POP BC
LD B,0
LD HL,FILENAM
ADD HL,BC
CALL IYKEY
RET NC
ADD A,-13
RET Z
LD DE,WORKPN
PUSH DE
LD HL,MUZ+201 XOR A LD D,A SRTMAX LD C,(HL) INC C JR Z,SRTMAXQ INC D DEC C INC HL CP C JR NC,SRTMAX LD A,C JR SRTMAX SRTMAXQ LD BC,3 INC B SUB C JR NC,$-2 PUSH BC PUSH DE LD A,B RLCA ADD A,B LD B,A LD HL,(MUZ+103) LD DE,MUZ ADD HL,DE ;PATS LD HX,0 SRTNTR LD DE,LINBUF LD C,HX INC C DEC C JR Z,SRTNTRA SRTNTR0 LD A,(DE) INC E CP (HL) INC HL JR NZ,SRTNTR1 LD A,(DE) CP (HL) JR Z,SRTNTRQ SRTNTR1 DEC HL INC E DEC C JR NZ,SRTNTR0 SRTNTRA LD A,(HL) LD (DE),A INC HL INC E LD A,(HL) LD (DE),A INC HX SRTNTRQ INC HL DJNZ SRTNTR LD HL,TPOSS LD DE,#4040 CALL PRTEXT INC E POP AF CALL PRNUMA INC HL LD DE,#4060 CALL PRTEXT INC E POP AF CALL PRNUMA INC HL LD DE,#4080 CALL PRTEXT INC E LD A,HX CALL PRNUMA INC HL LD DE,#40A0 CALL PRTEXT INC E POP AF CALL PRNUMA INC HL LD DE,#40C0 CALL PRTEXT INC E POP AF JP PRNUMA PRBY LD HL,TSONG LD DE,#5080 CALL PRTEXT LD HL,MUZ+#1E CALL PRSTR-2 LD HL,TSONGBY LD DE,#50A0 CALL PRTEXT LD HL,MUZ+#42 LD B,32 PRSTR LD A,(HL) INC HL CALL PRSYM DJNZ PRSTR RET TSONG DB "MUSIC:",0 TSONGBY DB " BY:",0 RULILKA PUSH HL CALL CURSCNT LD A,14 LD (CURSOR0-1),A CALL CURSOR CALL IYKEY PUSH AF CALL CURRES LD A,8 LD (CURSOR0-1),A POP AF POP HL SUB 8 JR Z,RUL0 DEC A JR Z,RULZ SUB 2 JR NZ,RULILND CP C JR NZ,$+3 RULZ LD C,B DEC C JR RULILKA RULILND INC A RET NZ INC C LD A,C SUB B JR NZ,$+3 RUL0 LD C,A JR RULILKA DDE INC D LD A,D AND 7 RET NZ LD A,E ADD A,32 LD E,A RET C LD A,D ADD A,-8 LD D,A RET LD A,H FINDATR RRA RRA RRA AND 3 OR 88 RET NAME LD C,0 WORKPN PUSH BC CALL WORKPP POP BC LD B,0 LD HL,FILENAM ADD HL,BC CALL IYKEY RET NC ADD A,-13 RET Z LD DE,WORKPN PUSH DE LD DE,#720 INC A JR NZ,WORKND WORKDEL CP C RET Z DEC HL LD (HL),E WORKDC CP C RET Z DEC C RET WORKND SUB -3 JR Z,WORKIC INC A JR Z,WORKDC INC A INC A JP Z,CAPLNT ADD A,6 CP E RET C CALL RECODE-1 BIT 7,B RET NZ LD (HL),B WORKIC LD A,C SUB D ADC A,D LD C,A RET LD B,A RECODE LD A,B CP 198 LD B,"[ RET Z INC B CP 205 RET Z INC B CP 197 RET Z LD B,"{ CP 204 RET Z INC B CP 195 RET Z INC B CP 203 RET Z INC B CP 226 RET Z LD B,A RET PRFNDO SBC HL,BC LD (PRCDESC+1),HL LD DE,#4009 LD C,0 PRFN LD B,8 CALL PRSYM-1 INC HL DJNZ $-4 DB ">. CALL PRSYM LD A,(HL) PRSYM PUSH HL PUSH DE LD L,A XOR A OR C LD H,'FONTS JR Z,PRSMED DUP 4 RLCA EDUP SUB -80 JP P,PRSSLOW LD C,0 DUP 7 LD A,(DE) OR (HL) LD (DE),A INC D INC H EDUP LD A,(DE) OR (HL) LD (DE),A POP AF LD D,A POP HL RET PRSMED INC E INC C DUP 8 DB "~ RLCA RLCA LD (DE),A INC D INC H EDUP ORG $-2 JR PRS42D PRSSLOW LD H,A INC C DUP 4 LD A,(DE) OR (HL) LD (DE),A INC E DB "$~$ LD (DE),A INC D DB "~$ LD (DE),A DEC E LD A,(DE) OR (HL) LD (DE),A INC H INC D EDUP ORG $-2 INC E PRS42D POP AF LD D,A POP HL RET TYN CALL WINDTXT DW #4847,#1F11 CALL 8020 JR NC,$-3 TYN0 CALL 8020 CCF JR C,TYNQ AND 4 HALT JR Z,TYNQ LD A,#DF IN A,(-2) CPL AND 16 JR Z,TYN0 TYNQ PUSH AF CALL PUTWIN POPRET POP AF RET IYKEY RES 5,(IY+1) IY0 BIT 5,(IY+1) JR Z,IY0 CALL 8020 LD A,(23560) RET CURSCNT EX DE,HL LD L,C LD H,0 DB "))))) ADD HL,DE RET CURSOR PUSH BC
LD A,(HL)
LD (CURSORR-1),A LD C,CURSCOL JR CURSORR CURRES PUSH BC LD C,5 CURSORR PUSH HL LD B,8 CURSOR0 DB "q, DJNZ $-2 POP HL POP BC RET EM6 LD BC,262 EM15635 LD A,195 LD (23746),A LD (EMSP+1),SP PUSH BC PUSH DE PUSH HL CALL AYOFF LD HL,#5C00 LD D,'SYSBUF LD BC,#400 LDIR DRV LD A,0 LD (23798),A OR #3C LD (23830),A LD H,L LD (23823),HL LD (23802),HL POP HL POP DE POP BC LD SP,EMSTACK CALL 15635 EMSP LD SP,0 LD A,201 LD (23746),A RET ONERROR LD (ERRDE+1),DE EX (SP),HL LD DE,8020 OR A SBC HL,DE JR NZ,ERRSP POP HL ERRDE LD DE,0 SCF RET ERRSP LD SP,0 LD HL,SYSBUF LD DE,#5C00 LD BC,#400 LDIR CALL DEPKFNT LD HL,SAVERR CALL WINDTXT DW #4848,#2711 CALL IYKEY OR A OLDRV LD A,(23833) LD (DRV+1),A RET PRCURXY PUSH BC PUSH DE JR PRCU3 WORKPP PUSH BC LD DE,#400B LD HL,FILENAM CALL PRFN-2 LD A,32 CALL PRSYM POP BC LD A,C CP 8 SBC A,-17 LD HL,#4000 PRCU LD E,A PUSH BC PUSH DE PUSH HL JR PRCUS PRCUR PUSH BC PUSH DE CURXY EQU $+1 LD DE,0 PRCU3 PUSH HL LD A,D CALL 3742 PRCUS LD A,E RLCA ADD A,E ADD A,A LD C,0 SBC A,C LD B,A RRA RRA RRA AND 31 ADD A,L LD L,A LD A,B CPL AND 7 INC A LD B,A CUR1 PUSH BC LD A,#FC ADD A,A RL C DJNZ $-3 LD B,A LD A,C XOR (HL) DB "w, LD A,L AND 31 LD A,B JR Z,$+4 XOR (HL) DB "w-$ POP BC LD A,H AND 7 JR NZ,CUR1 CURQ POP HL POP DE POP BC RET CLS LD H,64 CALL CLA+7 LD A,COLOUR CLA LD BC,#2FF LD H,88 JR $+6 LD BC,#17FF XOR A LD L,0 DB "w LD D,H LD E,1 JR $+5 LDIR1 LD BC,256 LDIR RET NXTLINE LD A,E ADD A,32 LD E,A RET NC LD A,D SUB -8 LD D,A RET PRCATU LD DE,SECBUF PUSH DE PUSH HL LD HL,SECBUF LD D,L,E,L LD BC,#905 CALL Z,EM15635 CALL DEPKFNT CALL CLS CALL DEPKFNT LD A,TITLCOL LD HL,#5AE0 DB "w, JR NZ,$-2 LD HL,#5820 DB "-w JR NZ,$-2 LD DE,#4000 POP HL LD (PRCRE+4),HL CALL PRTEXT LD DE,#50E0 LD HL,TFREE CALL PRTEXT INC E LD HL,(SECBUF+#8E5) CALL PRNUM LD C,B POP HL LD (PRCATF0-2),HL LD DE,#4020 PRCAT0 LD (PRCRE+1),HL LD A,C CP 88 RET Z XOR A OR (HL) RET Z ;DEC A ;JR Z,PRCATNO PUSH BC
PUSH DE
LD L,A XOR A OR C LD H,'FONTS JR Z,PRSMED DUP 4 RLCA EDUP SUB -80 JP P,PRSSLOW LD C,0 DUP 7 LD A,(DE) OR (HL) LD (DE),A INC D INC H EDUP LD A,(DE) OR (HL) LD (DE),A POP AF LD D,A POP HL RET PRSMED INC E INC C DUP 8 DB "~ RLCA RLCA LD (DE),A INC D INC H EDUP ORG $-2 JR PRS42DPRSSLOW LD H,A INC C DUP 4 LD A,(DE) OR (HL) LD (DE),A INC E DB "$~$ LD (DE),A INC D DB "~$ LD (DE),A DEC E LD A,(DE) OR (HL) LD (DE),A INC H INC D EDUP ORG $-2 INC EPRS42D POP AF LD D,A POP HL RET   TYN CALL WINDTXT DW #4847,#1F11 CALL 8020 JR NC,$-3TYN0 CALL 8020 CCF JR C,TYNQ AND 4 HALT JR Z,TYNQ LD A,#DF IN A,(-2) CPL AND 16 JR Z,TYN0TYNQ PUSH AF CALL PUTWINPOPRET POP AF RET  IYKEY RES 5,(IY+1)IY0 BIT 5,(IY+1) JR Z,IY0 CALL 8020 LD A,(23560) RET  CURSCNT EX DE,HL LD L,C LD H,0 DB "))))) ADD HL,DE RET CURSOR PUSH BC LD A,(HL) LD (CURSORR-1),A LD C,CURSCOL JR CURSORRCURRES PUSH BC LD C,5CURSORR PUSH HL LD B,8CURSOR0 DB "q, DJNZ $-2 POP HL POP BC RET  EM6 LD BC,262EM15635 LD A,195 LD (23746),A LD (EMSP+1),SP PUSH BC PUSH DE PUSH HL CALL AYOFF LD HL,#5C00 LD D,'SYSBUF LD BC,#400 LDIR DRV LD A,0 LD (23798),A OR #3C LD (23830),A LD H,L LD (23823),HL LD (23802),HLPRFN POP HLIFN zwet
POP DE
POP BC
LD SP,EMSTACK
CALL 15635
EMSP LD SP,0
LD A,201
LD (23746),A
RET
ONERROR LD (ERRDE+1),DE
EX (SP),HL
LD DE,8020
OR A
SBC HL,DE
JR NZ,ERRSP
POP HL
ERRDE LD DE,0
SCF
RET
ERRSP LD SP,0
LD HL,SYSBUF
LD DE,#5C00
LD BC,#400
LDIR
CALL DEPKFNT
LD HL,SAVERR
CALL WINDTXT
DW #4848,#2711
CALL IYKEY
OR A
OLDRV LD A,(23833)
LD (DRV+1),A
RET
 
PRCURXY PUSH BC
PUSH DE
JR PRCU3
WORKPP PUSH BC
LD DE,#400B
LD HL,FILENAM
CALL PRFN-2
LD A,32
CALL PRSYM
POP BC
LD A,C
CP 8
SBC A,-17
LD HL,#4000
PRCU LD E,A
PUSH BC
PUSH DE
PUSH HL
JR PRCUS
PRCUR PUSH BC
PUSH DE
CURXY EQU $+1
LD DE,0
PRCU3 PUSH HL
LD A,D
CALL 3742RRCA PRCUS LD A,E RRCA RLCA RRCA ADD A,E80 ADD ALD D,A LD C,0 SBC A,C(HL) LD BC,A#47 RRA SUB "B RRA JR Z,zwY RRA AND 31 LD C,#07 ADD DEC A,L LD L JR Z,AzwY LD AC,B#45 CPL CP "m"-"C AND 7 INC A LD B JR Z,AzwYCUR1 PUSH BC DEC C LD A,#FC CP "W"-"C ADD A JR Z,AzwY RL CP "p"-"C DJNZ $-3 JR NZ,zwN zwY LD B,A8 LD A,C XOR LD (HLDE) DB "w, LD A,L AND 31 INC E LD A,B JR Z, DJNZ $+4 XOR (HL) DB "w-$2 POP BC LD A,H zwN AND 7ENDIF JR NZ RES 3,CUR1CURQ POP HLL
POP DE
POP BC RET  CLS LD H,64 CALL CLA+7 LD A,COLOURCLA LD BC,#2FF LD H,88 JR $+6 LD BC,#17FF XOR A LD L,0 DB "w LD D,H LD E,1 JR $+5LDIR1 LD BC,256 LDIR RET NXTLINE
LD A,E
ADD A,32
LD E,A
RET NC
LD A,D
RLA CP 80+81 JR C,PRCprok LD A,E ADD A,64+8 LD E,A LD D,64 PRCprok POP BC INC C ;DB "~ PRCATNO ;DB "w LD A,L SUB -816 LD L,A JR NZ,PRCAT0 INC H JR PRCAT0 PRCRE LD DE,0 LD HL,0 LD DA,(DE) OR A RET JR NZ,$+6PRCATU PRCAT
LD DE,SECBUF
PUSH DE
PUSH HL
LD HL,SECBUF
LD D,L,E,L
LD BC,#905
CALL Z,EM15635
CALL DEPKFNT
CALL CLS
CALL DEPKFNT
LD A,TITLCOL
LD HL,#5AE0
DB "w,
JR NZ,$-2
LD HL,#5820
DB "-w
JR NZ,$-2
LD DE,#4000
POP HL
LD (PRCRE+4),HL
CALL PRTEXT
LD DE,#50E0
LD HL,TFREE
CALL PRTEXT
INC E
LD HL,(SECBUF+#8E5)
CALL PRNUM
LD C,B
POP HL
LD (PRCATF0-2),HL
LD DE,#4020
PRCAT0 LD (PRCRE+1),HL
LD A,C
CP 88
RET Z
XOR A
OR LD (HLERRSP+1),SP RET Z CALL PRCATU+3 ;DEC XOR A ;JR CP C JP Z,PRCATNO PUSH BC PUSH DEOLDRV LD CHL,3(PRCDESC+1) CALL PRFNSAVTEST IFN zwet JP NZ,PRCCPN POP DE PUSH DE PRCB LD B,0 PRCATST LD A,DB RRCA CP C RRCA RRCA ADD A JP NC,80PRCCPN LD DL,A-1 INC L SUB 22 LD AJR NC,$-3 ;nom=stolb+4*(stroka+1) ;HL=8*(#1100+nom) LD CADD A,#4723 SUB "BADD A,A,A,A JR ZADD A,zwYL ;SUB -4 LD CH,#0711 DEC LD L,A JR Z DB "))) PUSH HL CALL CURSOR PUSH BC LD A,zwYB LD C(PRCB+1),#45A CP "m"-"C LD BC,16 JR Z LD HL,zwYSECBUF PRCATF0 DEC C(HL) INC (HL) CP "W"-"C ADD HL,BC JR Z,zwYPRCATF0 CP "p" ADD A,-"C1 JR NZC,zwNPRCATF0zwY CALL PRFNDO LD B DB ",~,8 PUSH HL LD AH,C(HL) LD (DE)L,A INC E DJNZ $-2zwN ENDIF RES 3 LD B,L32 POP DE SUB B CALL NXTLINE CP 96 LD A,EB ADD A JR NC,32PRFNE LD A,DH RLA SUB B CP 80+81 JR C,PRCprok96 LD A,EB ADD A JR NC,64$+84 LD EB,H LD A,L PRFNE CALL PRSYM LD DA,64BPRCprok CALL PRSYM POP BC INC C ;DB "~ CALL PRSTLENPRCATNO ;DB "w POP BC LD A,L CALL IYKEY SUB -16 POP HL LD L,A RET NC JR NZ,PRCAT0 CALL CURRES INC H CP 13 JR PRCAT0Z,PRCDESCPRCRE SUB 8 LD DEJP C,0PRCRE LD HL JR NZ,0PRCATNL LD A,(DE)B OR A SUB CATHGT JR NZNC,$+6PRCAT3 LD DE,SECBUF XOR A LD (ERRSP+1)B,SP CALL PRCATU+3A
XOR A
CP C JP Z,OLDRV LD HL,(PRCDESC+1) CALL SAVTEST JP NZ,PRCCPNPRCB LD B,0PRCATST LD PRCATNL DEC A,B CP C JP NC,PRCCPN LD L,-1 INC L SUB 22 JR NC,$-3;nom=stolb+4*(stroka+1);HL=8*(#1100+nom) ADD A,23 ADD A,A,ANZ,A ADD A,L ;SUB -4 LD H,11 LD L,A DB "))) PUSH HL CALL CURSOR PUSH BCPRCATNR
LD A,B
LD (PRCB+1),A LD BC,16 LD HL,SECBUFPRCATF0 DEC (HL) INC (HL) ADD HL,BC JR Z,PRCATF0 ADD A,-1 JR C,PRCATF0 CALL PRFNDO DB ",~, PUSH HL LD H,(HL) LD L,A LD B,32 SUB B CP 96 LD A,B JR NC,PRFNE LD A,H SUB B CP 96CATHGT LD A,B JR NC,$+4 LD B,H LD A,LPRFNE CALL PRSYM LD A,B CALL PRSYM POP BC INC C CALL PRSTLEN POP BC CALL IYKEY POP HL RET NC CALL CURRES CP 13 JR Z,PRCDESC SUB 8 JP C,PRCRE JR NZ,PRCATNL LD A,B SUB CATHGT JR NC,$+3
XOR A
LD B,A XOR APRCATNL DEC A JR NZ,PRCATNR LD A,B ADD A,CATHGT LD B,A XOR A PRCATNR DEC A JR NZ,PRCATND INC B PRCATND DEC A JR NZ,PRCATNU PRCATUP XOR A CP B JR Z,$+3 DEC B PRCND JP PRCATST PRCCPN LD B,C JR PRCATUP PRCATNU SUB "1"-11 CP 4 JR NC,PRCND LD (DRV+1),A LD HL,(PRCRE+4) JP PRCAT PRCDESC LD HL,0 CALL LDIR9-3 LD E,(HL) INC L LD D,(HL) LD (STADR+1),DE GETbde INC L LD E,(HL) INC L LD D,(HL) GETBDE INC L PUSH DE LD A,(HL) INC L LD E,(HL) INC L LD D,(HL) POP HL LD B,A LD C,5 SCF RET REMFN LD HL,FNBUF LD DE,FILENAM LDIR9 LD BC,9 LDIR RET SAVE LD HL,TSAVE LENGTH EQU $+1 LD DE,0 LD (SDESCHL+1),DE DEC DE INC D RET Z LD (ERRSP+1),SP PUSH DE CALL PRCATU LD HL,(SSTART+1) LD BC,LENGTH CALL PRSTLEN LD HL,FILENAM LD DE,FNBUF CALL LDIR9 CALL NAME JP NC,POPRET LD HL,LINBUF LD DE,8 LD BC,#105 CALL EM15635 POP BC LD A,(LINBUF+#E4) LD C,A LD DE,0 SAV0 LD A,E LD (SAVSEC+1),A LD HL,WINBUF PUSH BC PUSH DE PUSH HL LD BC,#105 CALL EM15635 POP HL POP DE POP BC SAV1 LD A,C OR A JP Z,SAVNEON CALL SAVTEST JR NZ,NOERASE LD A,C DEC A JR Z,SAVON PUSH BC LD A,L OR 15 LD L,A LD A,B LD B,(HL) DEC L LD C,(HL) DEC L CP (HL) RES 2,L JR Z,SAVOVER RES 3,L DEC L LD (HL),1 PUSH DE PUSH HL LD HL,LINBUF+#F4 INC (HL) LD HL,WINBUF CALL EM6 POP HL POP DE POP BC NOERASE DEC C LD A,16 ADD A,L LD L,A JR NC,SAV1 INC E JR SAV0 SAVOVER LD D,B LD E,C POP BC CALL SAVTAM XOR A LD (SAVFLAG+3),A JR SAVALL2 SAVON SET 3,L INC L CALL SAVTAM LD E,(HL) INC L LD D,(HL) LD HL,LINBUF+#E5 ADD A,(HL) LD (HL),A INC HL JR NC,$+3 INC (HL) SAVALL LD HL,LINBUF+#E5 LD A,(HL) SUB B LD (HL),A INC HL JR NC,$+3 DEC (HL) SAVALL2 PUSH BC PUSH DE LD E,C LD D,'WINBUF SDESCHL LD HL,0 LD BC,MUZ ADD HL,BC LD C,L LD L,-1 LD B,14 SAVSDES LD A,C CP L JR Z,SAVSEC LD A,(DE) DEC E LD (HL),A DEC L DJNZ SAVSDES SAVS0 LD A,C CP L ;; JR Z,$+4 LD (HL),0 DEC HL JR NZ,SAVS0 SAVSEC LD DE,0 LD HL,WINBUF CALL EM6 POP DE POP BC LD HL,MUZ SVNXPAG LD C,6 CALL EM15635 LD DE,(23796) SAVFLAG LD (LINBUF+#E1),DE LD HL,MUZ LD (SVNXPAG-2),HL LD HL,LINBUF LD A,H LD (SAVFLAG+3),A LD DE,8 JP EM6 SAVNEON LD HL,LINBUF+#E4 LD A,(HL) INC (HL) CP 128 RET Z PUSH BC CALL SAVEPP SAVNEO0 LD A,(DE) LD (HL),A INC DE INC L DJNZ SAVNEO0 POP BC CALL SAVTAM LD DE,(LINBUF+#E1) LD (HL),E INC L LD (HL),D JP SAVALL SAVTAM PUSH BC SSTART LD BC,0 LD (HL),C INC L LD (HL),B INC L LD BC,(LENGTH) LD (HL),C INC L LD (HL),B INC L POP BC LD A,(HL) LD (HL),B LD C,L INC L RET SAVEPP LD L,A LD H,0 LD D,H DB ")))) LD E,H LD A,E LD (SAVSEC+1),A LD H,'WINBUF PUSH HL LD L,D LD BC,#105 CALL EM15635 POP HL LD DE,FILENAM LD B,9 RET SAVTEST PUSH BC,DE,HL LD DE,FILENAM LD B,9 SAVTST0 LD A,(DE) CP (HL) JR NZ,POP3 INC HL,DE DJNZ SAVTST0 POP3 POP HL,DE,BC RET PRNUMH CALL PRSK PUSH HL LD A,H CALL PRHEX LD A,L JR PRNUMAQ PRSK LD A,"( CALL PR88 LD A,"# JR PR88 PRNUMA PUSH HL PUSH AF LD L,A LD H,0 CALL PRNUM3 CALL PRSK POP AF PRNUMAQ CALL PRHEX LD A,") CALL PR88 POP HL RET PRHEX LD C,A DUP 4 RRA EDUP CALL PRH LD A,C PRH AND 15 ADD A,"0 CP ": JR C,$+4 SUB ":"-"A JR PR88 PRAHL CALL PR88 LD A,H CALL PR88 LD A,L PR88 PUSH HL ADD A,A LD L,A LD H,15 DB ")) JR PRDGUSE PRSTLEN PUSH BC LD DE,#4015 CALL PRNUM DB ">, CALL PR88 POP HL LD A,(HL) INC HL LD H,(HL) LD L,A PRNUM LD BC,10000 CALL PRDIG PRNUM4 LD BC,1000 CALL PRDIG PRNUM3 LD BC,100 CALL PRDIG PRNUM99 LD BC,10 LD H,B CALL PRDIG LD C,1 PRDIG LD A,120 PRDIG0 ADD A,8 SBC HL,BC JR NC,PRDIG0 ADD HL,BC PUSH HL LD H,61 LD L,A PRDGUSE PUSH DE LD B,8 DB "~ RRCA OR (HL) INC L LD (DE),A INC D DJNZ $-6 POP DE POP HL INC E RET PRTEXT LD C,0 PRTXT XOR A OR (HL) RET Z INC HL CALL PRSYM JR PRTXT GETWIN LD HL,LDIRKA LD (HL),E INC HL LD (HL),D INC HL LD (HL),C INC HL LD (HL),B INC HL PUSH BC PUSH DE GETWIN0 PUSH BC EX DE,HL PUSH HL LD B,0 LDIR POP HL EX DE,HL POP BC CALL DDE DJNZ GETWIN0 POP DE POP BC RET WINDTXT EX (SP),HL LD E,(HL) INC HL LD D,(HL) INC HL LD C,(HL) INC HL LD B,(HL) INC HL EX (SP),HL PUSH DE PUSH BC PUSH DE PUSH HL LD A,B SUB -9 LD B,A CP 50 LD HL,WINBUF CALL C,GETWIN EX DE,HL PUSH BC CALL FINDATR-1 LD H,A CALL LDIR1 DEC H POP BC SRL B,B,B GETWN1 PUSH BC PUSH HL LD B,C GWCOL LD (HL),WINCOL INC L DJNZ $-3 POP HL LD C,32 ADD HL,BC POP BC DJNZ GETWN1 CALL DEPKFNT POP HL POP DE POP BC PUSH BC WINDTIT LD B,C PUSH DE XOR A LD (DE),A INC E DJNZ $-2 POP DE CALL DDE JR NC,WINDTIT POP BC WINDBOK PUSH BC PUSH DE LD A,128 LD (DE),A LD B,C DEC B XOR A INC E LD (DE),A DJNZ $-2 INC A LD (DE),A POP DE CALL DDE POP BC DJNZ WINDBOK LD B,C LD A,-1 LD (DE),A INC E DJNZ $-2 POP DE LD B,-2 PUSH DE CALL WIND0XT POP HL CALL FINDATR-1 LD H,A PUSH HL LD (HL),TITLCOL INC L DEC C JR NZ,$-4 POP HL LD DE,64 ADD HL,DE RET WIND0XT PUSH BC PUSH DE CALL WINDPX0 POP DE INC E CALL NXTLINE DEC E POP BC INC B XOR A OR (HL) JR NZ,WIND0XT RET WINDPX0 LD C,0 LD B,42 WINDOX0 DEC B XOR A OR (HL) RET Z INC HL CP 13 RET Z CALL PRSYM JR WINDOX0 PUTWIN LD HL,LDIRKA LD E,(HL) INC HL LD D,(HL) INC HL LD C,(HL) INC HL LD B,(HL) INC HL PUSH DE PUTWIN0 PUSH BC PUSH DE LD B,0 LDIR POP DE POP BC CALL DDE DJNZ PUTWIN0 POP DE LD A,D CALL FINDATR LD D,A CALL LDIR1 DEPKFNT LD E,0 DEPKFN1 LD H,#6E LD L,E LD D,'FONTS LD B,4 DEPKFN2 CALL DEPKA DB "q$w RES 4,H CALL DEPKB DB "w%q CALL DEPKA DB "w$q RES 4,H CALL DEPKB DB "q%w DJNZ DEPKFN2 INC E JR NZ,DEPKFN1 RET DEPKA LD A,(DE) INC D LD C,A DB "$$ SET 4,H XOR A DEPKB SRL C RRA SRL C RRA RET OUTME PUSH BC LD BC,FD OUT (C),A POP BC RET QUIT LD HL,SSBREAK CALL TYN PUTWD RET Z JR QUIT3 QUIT2 CALL TYN JR C,PUTWD CALL NZ,SAVE QUIT3 LD A,23 CALL OUTME LD HL,(#C000) LD DE,#FF31 XOR A SBC HL,DE JP Z,#C000 LD H,A,L,A QUITHL PUSH HL LD A,16 CALL OUTME JP 15663 TFREE DB "Free:",0 TLOAD DB "Load file:",0 TSAVE DB "Save file:",0 TPTUTIL DB "Pro Tracker 3.x Utility v1.367" NOP TBY DB "(C) 09.03.2004 by Alone Coder" DB "/i8",0 TMENU DB " LOAD MODULE",1 DB " PLAY MODULE",1 DB " SAVE MODULE",1 DB " COMPILE SONG",1 DB " SWAP CHANNELS",1 DB " RENAME SONG",1 DB " SORT PATTERNS",1 ; DB "TRACKS/POSITIONS",1 DB " HELP",1 DB " QUIT",1,0 SSBREAK DB " Выход из программы",13,13 DB "QUIT?STAY?QUIT?STAY?",13 DB " Sure to quit(Y/N)?",0 SAVERR DB " ERROR",13,13 DB " Virtual memory",13 DB " allocation error",0 LISTER ;CALL DEPKFNT LD HL,TEXT CALL PRPAGE START CALL IYKEY RET NC LD HL,STQ PUSH HL SUB "9 JR Z,UP INC A JR Z,DOWN SUB 11-"8 JR Z,UP INC A JR Z,DOWN INC A JR Z,PGDN INC A JR Z,PGUP SUB -3 JR Z,PGDN INC A JR Z,PGUP POP HL STQ JR START PGUP LD HL,(TOP) UPPAGE LD B,HGT CALL LINEUP DJNZ $-3 PRPAGE LD (TOP),HL LD DE,#4000 LD B,HGT PRPAGE0 CALL PRLINE CALL NXTLINE DJNZ PRPAGE0 LD (BOTTOM),HL RET PGDN LD HL,(BOTTOM) LD (TOP),HL LD DE,#4000 LD B,HGT DNPAGE0 LD A,(HL) OR A JR Z,UPPAGE CALL PRLINE CALL NXTLINE DJNZ DNPAGE0 LD (BOTTOM),HL RET BOTTOM=$+1 DOWN LD HL,0 LD A,(HL) OR A RET Z PUSH HL CALL SCRUP LD HL,(TOP) CALL LINEDN LD (TOP),HL POP HL LD DE,#50E0 CALL PRLINE LD (BOTTOM),HL RET TOP=$+1 UP LD HL,0 DEC HL LD A,(HL) INC HL OR A RET Z CALL LINEUP LD (TOP),HL PUSH HL CALL SCRDN LD HL,(BOTTOM) CALL LINEUP LD (BOTTOM),HL POP HL LD DE,#4000 PRLINE PUSH BC PUSH DE DEC E LD BC,#2A00 PRLINEP LD A,(HL) OR A JR Z,PRLINEQ INC HL CP 13 JR Z,PRLINEQ CALL PRSYM DJNZ PRLINEP INC HL PRLNE POP DE POP BC RET PRLINEQ LD A,32 CALL PRSYM DJNZ $-5 JR PRLNE SCRDN LD B,HGT-1 LD HL,#50E0 SCRDN0 LD D,H,E,L,A,L SUB 32 LD L,A JR NC,$+6 LD A,H SUB 8 LD H,A CALL LDIRER DJNZ SCRDN0 RET LDIRER INC B PUSH HL LD A,8 LDIR0 PUSH DE,HL DUP 32 LDI EDUP POP HL,DE INC H,D DEC A JR NZ,LDIR0 POP HL RET SCRUP LD B,HGT-1 LD HL,#4000 SCRUP0 LD D,H,E,L CALL NXTLINE EX DE,HL CALL LDIRER DJNZ SCRUP0 RET LINEDN LD A,(HL) OR A RET Z INC HL CP 13 JR NZ,LINEDN RET LINEUP DEC HL LD A,(HL) OR A JR Z,LFQ LINEUP0 DEC HL LD A,(HL) OR A JR Z,LFQ CP 13 JR NZ,LINEUP0 LFQ INC HL RET deinit LD DE,MUZ PUSH DE LD HL,TcomT LD BC,TcomTln
LDIR
POP DE RET SAVEDI LD HL,TSAVELENGTH EQU $+1105 LD ADD HL,DE,0 LD (SDESCHLdei_SP0+1),DE DEC DESP INC D RET Z LD (ERRSP+1)SP,SP PUSH DE CALL PRCATUHL LD HL,(SSTART+1)201-105 LD BCADD HL,LENGTH CALL PRSTLENSP LD HLBC,FILENAM0 LD DEA,FNBUF-1 CALL LDIR9CPIR CALL NAME JP NCOR A ;SUB HL,POPRETSP-105 LD SBC HL,LINBUFSP LD DEBC,8105 LD ADD HL,BC,#105 CALL EM15635DEC SP,SP
POP BC
LD A,(LINBUF+#E4)
LD C,A
LD DE,0
SAV0 LD A,E
LD (SAVSEC+1),A
LD HL,WINBUF
PUSH BC
PUSH DE
PUSH HL
LD BC,#105
CALL EM15635
POP HL
POP DE
POP BC
SAV1 LD A,C
OR A
JP Z,SAVNEON CALL SAVTEST JR NZ,NOERASE LD A,C DEC A JR Z,SAVON PUSH BC LD A,L OR 15 LD L,A LD A,B LD B,(HL) DEC L LD C,(HL) DEC L CP (HL) RES 2,L JR Z,SAVOVER RES 3,L DEC L LD (HL),1 PUSH DE PUSH HL LD HL,LINBUF+#F4 INC (HL) LD SBC HL,WINBUF CALL EM6 POP HL POP DE POP BCNOERASE DEC C LD A,16 ADD A,L LD L,A JR NC,SAV1 INC E JR SAV0SAVOVER LD D,B LD E,C POP BC CALL SAVTAM XOR A LD (SAVFLAG+3),A JR SAVALL2SAVON SET 3,L INC L CALL SAVTAM LD E,(HL) INC L LD D,(HL) LD HL,LINBUF+#E5 ADD A,(HL) LD (HL),A INC HL JR NC,$+3 INC (HL)SAVALL LD HL,LINBUF+#E5 LD A,(HL) SUB B LD (HL),A INC HL JR NC,$+3 DEC (HL)SAVALL2 PUSH BC PUSH EX DE LD E,C LD D,'WINBUFSDESCHL LD HL,0 LD BC,MUZ ADD HL,BC LD C,L LD L,-1 LD B,14SAVSDES LD A,C CP L JR Z,SAVSEC LD A,(DE) DEC E LD (HL),A DEC L DJNZ SAVSDESSAVS0 LD A,C CP L49;; JR Z,$+448 LD (HL),0 DEC HL JR NZ,SAVS0SAVSEC LD DE,0 LD HL,WINBUF CALL EM6 dia_s0 POP DE POP BC LD HL,MUZSVNXPAG LD C,6 CALL EM15635 LD DE,(23796)SAVFLAG LD (LINBUF+#E1),DE LD HL,MUZ LD (SVNXPAG-2),HL LD HL,LINBUF
LD A,H
LD (SAVFLAG+3),ACP #40 LD DE,8 JP EM6SAVNEON LD HLJR C,LINBUF$+#E43 LD A,(ADD HL) INC (HL) CP 128 RET Z PUSH BC CALL SAVEPPSAVNEO0 LD A,(DE) LD ( PUSH HL),A INC DE INC L DJNZ SAVNEO0 POP BC CALL SAVTAM LD DE,(LINBUF+#E1) LD (HL),E INC L LD (HL),D JP SAVALLSAVTAM DJNZ dia_s0 PUSH BCSSTART deiNpa0 LD BC,0 LD (HL),C INC L LD (HL)A,B INC L deiNpa DEC SP LD POP BC,(LENGTH) LD (HL),C INC L LD (HL),B INC L POP BC LD A JR Z,(HL)deiNpaQ LD (HL), DEC B LD C,L CP B INC L RET SAVEPP LD L JR NC,AdeiNpa LD H,0 JR deiNpa0 LD D,H DB ")))) deiNpaQ LD E,H LD ADD A,E3 LD (SAVSEC+1),A LD H,'WINBUF PUSH HL LD L,D LD BC,#105 CALL EM15635 POP HL LD DE,FILENAM LD B,9 RET SAVTEST PUSH BC,DE,HL LD DE,FILENAM LD B,9SAVTST0 LD A,(DE) CP (HL) JR NZ,POP3 INC HL,DE DJNZ SAVTST0POP3 dia_p0 POP HL,DE,BC RET PRNUMH CALL PRSK PUSH HL
LD A,H
CALL PRHEX LD A,L JR PRNUMAQPRSK LD A,"( CALL PR88 LD A,"CP # JR PR88PRNUMA PUSH HL PUSH AF LD L,A LD H,0 CALL PRNUM3 CALL PRSK POP AFPRNUMAQ CALL PRHEX LD A,") CALL PR88 POP HL RET PRHEX LD C,A DUP 4 RRA EDUP CALL PRH LD A,CPRH AND 15 ADD A,"0 CP ":40 JR C,$+4 SUB ":"-"A JR PR88PRAHL CALL PR88 LD A,H CALL PR88 LD A,LPR88 PUSH HL ADD A,A LD L,A LD H,15 DB ")) JR PRDGUSEPRSTLEN PUSH BC LD DE,#4015 CALL PRNUM DB ">, CALL PR88 POP HL LD A,(HL) INC HL LD H,(HL) LD L,APRNUM LD BC,10000 CALL PRDIGPRNUM4 LD BC,1000 CALL PRDIGPRNUM3 LD BC,100 CALL PRDIGPRNUM99 LD BC,10 LD H,B CALL PRDIG LD C,1PRDIG LD A,120PRDIG0 ADD A,8 SBC HL,BC JR NC,PRDIG0 ADD HL,BC PUSH HL LD H,61 LD L,APRDGUSE PUSH DE LD B,8 DB "~ RRCA OR (HL) INC L LD (DE),A INC D DJNZ $-6 POP DE POP HL INC E RET PRTEXT LD C,0PRTXT XOR A OR (HL) RET Z INC HL CALL PRSYM JR PRTXTGETWIN LD HL,LDIRKA LD (HL),E INC HL LD (HL),D INC HL LD (HL),C INC HL LD (HL),B INC HL PUSH BC PUSH DEGETWIN0 PUSH BC EX DE,HL PUSH HL LD B,0 LDIR POP HL EX DE,HL POP BC CALL DDE DJNZ GETWIN0 POP DE POP BC RET WINDTXT EX (SP),HL LD E,(HL) INC HL LD D,(HL) INC HL LD C,(HL) INC HL LD B,(HL) INC HL EX (SP),HL PUSH DE PUSH BC PUSH DE PUSH HL LD A,B SUB -9 LD B,A CP 50 LD HL,WINBUF CALL C,GETWIN EX DE,HL PUSH BC CALL FINDATR-1 LD H,A CALL LDIR1 DEC H POP BC SRL B,B,BGETWN1 PUSH BC PUSH HL LD B,CGWCOL LD (HL),WINCOL INC L DJNZ $-3 POP HL LD C,32 ADD HL,BC POP BC DJNZ GETWN1 CALL DEPKFNT POP HL POP DE POP BC PUSH BCWINDTIT LD B,C PUSH DE XOR A LD (DE),A INC E DJNZ $-2 POP DE CALL DDE JR NC,WINDTIT POP BCWINDBOK PUSH BC PUSH DE LD A,128 LD (DE),A LD B,C DEC B XOR A INC E LD (DE),A DJNZ $-2 INC A LD (DE),A POP DE CALL DDE POP BC DJNZ WINDBOK LD B,C LD A,-1 LD (DE),A INC E DJNZ $-2 POP DE LD B,-2 PUSH DE CALL WIND0XT POP HL CALL FINDATR-1 LD H,A PUSH HL LD (HL),TITLCOL INC L DEC C JR NZ,$-4 POP HL LD DE,64
ADD HL,DE
RET WIND0XT PUSH BCHL PUSH DE POP HL CALL WINDPX0 DJNZ dia_p0 POP DE dei_SP0 LD SP,0 INC E EI CALL NXTLINE RET DEC E TcomT POP BC DB "ProTracker 3.6" INC B TcomTln=$-TcomT XOR A PAKHELP OR (HL)NOP JR NZ,WIND0XT TEXT INCBIN "acbdoc .W" RET NOP WINDPX0 LD C,0 TABC INCBIN "TABC LD B,42 LTABC EQU $-TABC/2WINDOX0 DEC B FNBUF DS 9 XOR A DISPLAY $ OR DS .(HL-$) RET Z TABS INC HL INCBIN "tb_PT CP 13 INCBIN "tb_ST RET Z INCBIN "tb_ASM CALL PRSYM INCBIN "tb_REAL JR WINDOX0 INCLUDE "PTUPLAY",#C2PUTWIN initia LD HLDE,LDIRKAMUZ LD EB,(HL) INC HL LD D,(HL)C,E INC HL initia3 ;LD C,(HLia_pos0+1),BC INC HL DI LD BHL,(HL)101 INC ADD HL PUSH ,DEPUTWIN0 PUSH BCHL PUSH DE LD (sav_SP0+1),SP LD BSP,0HL LDIR POP AF POP DEHL POP ADD HL,BC CALL DDE DJNZ PUTWIN0 POP DE LD A(Psa_chn+1),DHL CALL FINDATR LD D,AB,E,C CALL LDIR1DEC SP,SPDEPKFNT LD EB,049;48 ia_s0 POP HLDEPKFN1 LD H ADD HL,#6EDE PUSH HL POP HL DJNZ ia_s0
LD L,E
LD DADD HL,'FONTSSP LD B,4DEPKFN2 CALL DEPKA DB "q$w RES 4,H CALL DEPKB DB "w%q CALL DEPKA DB "w$q RES 4,HD CALL DEPKB DB "q%w DJNZ DEPKFN2 INC E JR NZ,DEPKFN1 RET DEPKA LD A,(DEPsa_beg+1) INC D,HL
LD C,A
DB "$$
SET 4,H
XOR A
DEPKB SRL C
RRA
SRL C
RRA
RET
OUTME
PUSH BC
LD BC,FD
OUT (C),A
POP BC
RET
QUIT
LD HL,SSBREAK
CALL TYN
PUTWD RET Z
JR QUIT3
QUIT2
CALL TYN
JR C,PUTWD
CALL NZ,SAVE
QUIT3
LD A,23
CALL OUTME
LD HL,(#C000)
LD DE,#FF31
XOR A
SBC HL,DE
JP Z,#C000
LD H,A,L,A
QUITHL PUSH HL
LD A,16
CALL OUTME
JP 15663
 
TFREE DB "Free:",0
TLOAD DB "Load file:",0
TSAVE DB "Save file:",0
 
TPTUTIL DB "Pro Tracker 3.x Utility v1.367"
NOP
TBY DB "(C) 09.03.2004 by Alone Coder"
DB "/i8",0
 
TMENU DB " LOAD MODULE",1
DB " PLAY MODULE",1
DB " SAVE MODULE",1
DB " COMPILE SONG",1
DB " SWAP CHANNELS",1
DB " RENAME SONG",1
DB " SORT PATTERNS",1
; DB "TRACKS/POSITIONS",1
DB " HELP",1
DB " QUIT",1,0
SSBREAK
DB " Выход из программы",13,13
DB "QUIT?STAY?QUIT?STAY?",13
DB " Sure to quit(Y/N)?",0
SAVERR
DB " ERROR",13,13
DB " Virtual memory",13
DB " allocation error",0
LISTER
;CALL DEPKFNT
LD HL,TEXT
CALL PRPAGE
START CALL IYKEY
RET NC
LD HL,STQ
PUSH HL
SUB "9
JR Z,UP
INC A
JR Z,DOWN
SUB 11-"8
JR Z,UP
INC A
JR Z,DOWN
INC A
JR Z,PGDN
INC A
JR Z,PGUP
SUB -3
JR Z,PGDN
INC A
JR Z,PGUP
POP HL
STQ
JR START
PGUP
LD HL,(TOP)
UPPAGE LD B,HGT
CALL LINEUP
DJNZ $-3
PRPAGE LD (TOP),HL
LD DE,#4000
LD B,HGT
PRPAGE0 CALL PRLINE
CALL NXTLINE
DJNZ PRPAGE0
LD (BOTTOM),HL
RET
PGDN
LD HL,(BOTTOM)
LD (TOP),HL
LD DE,#4000
LD B,HGT
DNPAGE0 LD A,(HL)
OR A
JR Z,UPPAGE
CALL PRLINE
CALL NXTLINE
DJNZ DNPAGE0
LD (BOTTOM),HL
RET
BOTTOM=$+1
DOWN
LD HL,0
LD A,(HL)
OR A
RET Z
PUSH HL
CALL SCRUP
LD HL,(TOP)
CALL LINEDN
LD (TOP),HL
POP HL
LD DE,#50E0
CALL PRLINE
LD (BOTTOM),HL
RET
TOP=$+1
UP
LD HL,0
DEC HL
LD A,(HL)
INC HL
OR A
RET Z
CALL LINEUP
LD (TOP),HL
PUSH HL
CALL SCRDN
LD HL,(BOTTOM)
CALL LINEUP
LD (BOTTOM),HL
POP HL
LD DE,#4000
PRLINE PUSH BC
PUSH DE
DEC E
LD BC,#2A00
PRLINEP LD A,(HL)
OR A
JR Z,PRLINEQ
INC HL
CP 13
JR Z,PRLINEQ
CALL PRSYM
DJNZ PRLINEP
INC HL
PRLNE
POP DE
POP BC
RET
PRLINEQ LD A,32
CALL PRSYM
DJNZ $-5
JR PRLNE
SCRDN
LD B,HGT-1
LD HL,#50E0
SCRDN0 LD D,H,E,L,A,L
SUB 32
LD L,A
JR NC,$+6
LD A,H
SUB 8
LD H,A
CALL LDIRER
DJNZ SCRDN0
RET
LDIRER
INC B
PUSH HL
LD A,8
LDIR0 PUSH DE,HL
DUP 32
LDI
EDUP
POP HL,DE
INC H,D
DEC A
JR NZ,LDIR0
POP HL
RET
SCRUP
LD B,HGT-1
LD HL,#4000
SCRUP0 LD D,H,E,L
CALL NXTLINE
EX DE,HL
CALL LDIRER
DJNZ SCRUP0
RET
LINEDN
LD A,(HL)
OR A
RET Z
INC HL
CP 13
JR NZ,LINEDN
RET
LINEUP
DEC HL
LD A,(HL)
OR A
JR Z,LFQ
LINEUP0 DEC HL
LD A,(HL)
OR A
JR Z,LFQ
CP 13
JR NZ,LINEUP0
LFQ INC HL
RET
deinit
LD DE,MUZ
PUSH DE
LD HL,TcomT
LD BC,TcomTln
LDIR
POP DE
DI
LD HL,105
ADD HL,DE
LD (dei_SP0+1),SP
LD SP,HL
LD HL,201-105
ADD HL,SP
LD BC,0
LD A,-1
CPIR
OR A ;SUB HL,SP-105
SBC HL,SP
LD BC,105
ADD HL,BC
DEC SP,SP
POP BC
PUSH BC
OR A
SBC HL,BC
EX DE,HL
LD B,49;48
dia_s0 POP HL
LD A,H
CP #40
JR C,$+3
ADD HL,DE
PUSH HL
POP HL
DJNZ dia_s0
deiNpa0 LD A,B
deiNpa DEC SP
POP BC
INC B
JR Z,deiNpaQ
DEC B
CP B
JR NC,deiNpa
JR deiNpa0
deiNpaQ
ADD A,3
LD B,A
dia_p0 POP HL
LD A,H
CP #40
JR C,$+3
ADD HL,DE
PUSH HL
POP HL
DJNZ dia_p0
dei_SP0 LD SP,0
EI
RET
TcomT
DB "ProTracker 3.6"
TcomTln=$-TcomT
PAKHELP
NOP
TEXT INCBIN "acbdoc .W"
NOP
 
TABC INCBIN "TABC
LTABC EQU $-TABC/2
FNBUF DS 9
DISPLAY $
DS .(-$)
TABS
INCBIN "tb_PT
INCBIN "tb_ST
INCBIN "tb_ASM
INCBIN "tb_REAL
INCLUDE "PTUPLAY",#C2
initia
LD DE,MUZ
LD B,D,C,E
initia3
;LD (ia_pos0+1),BC
DI
LD HL,101
ADD HL,DE
PUSH HL
LD (sav_SP0+1),SP
LD SP,HL
POP AF
POP HL
ADD HL,BC
LD (Psa_chn+1),HL LD D,B,E,C DEC SP,SP LD B,49;48ia_s0 POP HL ADD HL,DE PUSH HL POP HL DJNZ ia_s0 LD L,E ADD HL,SP LD H,D LD (Psa_beg+1),HL LD C,A ADD HL,BC LD (Psa_lop+1),HL iniNpa0 LD A,B iniNpa DEC SP POP BC INC B JR Z,iniNpaQ DEC B CP B JR NC,iniNpa JR iniNpa0 iniNpaQ ADD A,3 LD B,A ia_p0 POP HL ADD HL,DE PUSH HL POP HL DJNZ ia_p0 LD HL,T_m LD C,D LD B,T_m_l ini_m0 LD E,(HL) INC HL LD D,(HL) INC HL LD A,C LD (DE),A DJNZ ini_m0 LD HL,#101 LD (int_qty),HL ;&A_qty LD (B_qty),HL ;&C_qty sav_SP0 LD SP,0 EI XOR A LD (Am_vol+1),A LD (Bm_vol+1),A LD (Cm_vol+1),A LD HL,DUMMYORN LD (Ao_adr+1),HL LD (Bo_adr+1),HL LD (Co_adr+1),HL LD (As_adr+1),HL LD (Bs_adr+1),HL LD (Cs_adr+1),HL LD (Ach_adr+1),HL SUB 16 LD (Ag_vol+1),A LD (Bg_vol+1),A LD (Cg_vol+1),A SBC A,A LD (Avb_lok+1),A LD (Cvb_lok+1),A LD (Bvb_lok+1),A POP DE DEC DE JP eff_tmp end DISPLAY $,"<",SECBUF ORG #5CDD DB "PTU1.367B INCLUDE "mrip*",#C5 ORG $ CALL 8026 JP NC,nenado LD HL,QUITHL LD (HL),225 XOR A JP GO+3 DISPLAY $MUZ PUSH DE LD HL,TcomT LD BC,Tco

Navigation menu