;z80 ;zx-spectrum ;assembler ; сами проги просмотра MAIN "LView04",9 SHOW CALL UNDER RET C ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD BC,cat_adr ADD HL,BC PUSH HL POP IX LD E,A LD D,0 LD HL,ShowTab ADD HL,DE ADD HL,DE LD A,(HL) INC HL LD H,(HL) LD L,A JR shw_A TXTVIEW CALL UNDER RET C ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD BC,cat_adr ADD HL,BC PUSH HL POP IX LD HL,TXT_SHW shw_A CALL CALL_HL XOR A CALL BANK JP PANEL ShowTab DW BWS_SHW,SCR_SHW,MCX_SHW,RGB_SHW DW T8T_SHW,Y_SHW,IMG_SHW,ANI_SHW DW VSP_SHW,PT3PLAY,TXT_SHW,BAS_SHW DW PAK_SHW,LAY_SHW,CH6_SHW,CHC_SHW DW FN8_SHW,FN3_SHW,skip,skip DW skip,skip,skip,skip DW skip,skip,skip,skip DW skip,skip,skip,skip UNDER LD HL,tab_adr ; под курсором: LD A,(filter+1) ; A = тип DEC A ; HL = номер CP (HL) RET C LD A,(CursPos) LD HL,(UpTab) LD E,A LD D,0 ADD HL,DE ADD HL,DE LD A,(HL) INC HL LD L,(HL) LD H,0 AND A RET ; chunkz view CH6_SHW LD HL,#C000 LD B,6 CALL FLOAD LD HL,#C000 LD DE,#E000 ch6_C LD A,(HL) RRA RRA RRA RRA AND 15 LD (DE),A INC DE LD A,(HL) AND 15 LD (DE),A INC DE INC HL LD A,H CP #C6 JR C,ch6_C JR chcs_0 CHC_SHW LD HL,#E000 LD B,12 CALL FLOAD chcs_0 CALL CLS chcs_1 LD HL,#C000 LD DE,#C001 LD BC,#17FF LD (HL),L LDIR LD A,(ChunkNr) LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD DE,ChunkZ ADD HL,DE LD (Chk_Adr+1),HL LD DE,#E000 LD HL,#C000 chcs_X LD A,#A7 LD (ch_RL),A LD B,64 PUSH HL chcs_2 LD A,(DE) CALL OUTCHNK INC DE LD A,(ch_RL) XOR #90 LD (ch_RL),A CP #A7 JR NZ,chcs_3 INC L chcs_3 DJNZ chcs_2 POP HL LD A,H ADD A,4 LD H,A AND 7 JR NZ,chcs_4 LD A,L ADD A,32 LD L,A JR C,chcs_4 LD A,H SUB 8 LD H,A chcs_4 LD A,H CP #D8 JR C,chcs_X LD HL,#C000 LD DE,#4000 LD BC,#1800 LDIR chcs_5 CALL NOKEY CALL WAITKEY CP 32 RET Z CP 13 RET Z SUB "1" CP 8 JR NC,chcs_5 LD (ChunkNr),A JR chcs_1 ChunkNr DB 0 ChunkZ INCBIN "CHANKS-1" INCBIN "CHANKS-2" INCBIN "CHANKS-3" INCBIN "CHANKS-4" INCBIN "CHANKS-5" INCBIN "CHANKS-6" INCBIN "CHANKS-7" INCBIN "CHANKS-8" OUTCHNK PUSH HL PUSH DE AND 15 ADD A,A ADD A,A LD E,A LD D,0 Chk_Adr LD DE,ChunkZ ADD A,E LD E,A ADC A,D SUB E LD D,A LD C,#F0 ch_RL AND A JR NC,ocha_1 LD C,#0F ocha_1 LD A,4 ocha_2 EXA LD A,(DE) AND C OR (HL) LD (HL),A INC DE INC H EXA DEC A JR NZ,ocha_2 POP DE POP HL RET ; 4-layer view LAY_SHW LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),L LDIR CALL CLS_ATM CALL LOADALL XOR A CALL IMGBANK LD HL,#C00F EXX LD C,0 EXX LD A,%0100 ; B CALL LAY_DEP LD DE,#0108 CALL GET_ATM LD A,%0101 ; R CALL LAY_DEP LD DE,#0210 CALL GET_ATM LD A,%0110 ; G CALL LAY_DEP LD DE,#0420 CALL GET_ATM LD A,%0111 ; I CALL LAY_DEP LD DE,#4080 CALL GET_ATM ; CALL DROPATM LD A,(ATMFLAG) AND A JR NZ,SEE_ATM LD A,%1100 OUT (#DF),A JR SEE_EX SEE_ATM CALL ATM_ON SEE_EX CALL NOKEY CALL WAITKEY CALL NOKEY XOR A OUT (#DF),A ATM_OFF LD BC,#FF77 LD A,#A3+8 JP OUT_DOS ATM_ON LD A,7 CALL BANK LD BC,#7FFD LD A,#18 OUT (C),A LD BC,#FF77 LD A,#A0+8 JP OUT_DOS LAY_DEP OUT (#DF),A LD DE,#4000 ldep_1 LD B,(HL) INC HL LD C,0 LD A,H OR L JR NZ,ldep_2 EXX INC C LD A,C EXX CALL IMGBANK LD HL,#C000 ldep_2 RR B JR NC,ldep_3 LD C,(HL) INC HL LD A,H OR L JR NZ,ldep_3 EXX INC C LD A,C EXX CALL IMGBANK LD HL,#C000 ldep_3 LD A,C LD (DE),A INC D LD A,D AND 7 JR NZ,ldep_2 LD A,D SUB 8 LD D,A INC E JR NZ,ldep_1 LD A,D ADD A,8 LD D,A CP #58 JR C,ldep_1 RET GET_ATM LD A,(ATMFLAG) AND A RET Z LD A,(CurBank) PUSH AF PUSH HL LD A,D LD (L_mask+1),A LD A,E LD (R_mask+1),A LD DE,#E017 LD A,12 CALL MAKPAIR LD DE,#E013 LD A,8 CALL MAKPAIR LD DE,#C017 LD A,4 CALL MAKPAIR LD DE,#C013 XOR A CALL MAKPAIR POP HL POP AF JP BANK MAKPAIR LD A,E CALL BANK LD E,4 LD HL,#4000 LD B,192 sd_BCK PUSH HL LD A,32 sd_CYC EXA RRC (HL) LD A,(DE) JR NC,sd_A R_mask OR 0 sd_A RRC (HL) JR NC,sd_B L_mask OR 0 sd_B LD (DE),A INC DE INC L EXA DEC A JR NZ,sd_CYC POP HL CALL NEXT_HL DUP 8 INC DE EDUP DJNZ sd_BCK RET CLS_ATM LD A,(ATMFLAG) AND A RET Z LD A,#13 CALL CLRBANK LD A,#17 CLRBANK CALL BANK LD HL,#C000 LD DE,#C001 LD BC,#3FFF LD (HL),L LDIR RET DROPATM LD A,(ATMFLAG) AND A RET Z LD DE,#1013 CALL DRPBANK LD DE,#1117 DRPBANK LD HL,#C000 dban_1 LD A,D CALL BANK LD C,(HL) LD A,E CALL BANK LD (HL),C INC HL LD A,H OR L JR NZ,dban_1 RET ; запуск BASIC BAS_SHW PUSH IX POP HL LD DE,23773 LD BC,8 LDIR LD A,(POSIT+1) AND 3 LD (23798),A LD (23833),A LD C,1 CALL 15635 stack LD SP,0 LD HL,10072 EXX LD IY,23610 AND A RET ; смотрим *.Y Y_SHW LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),0 LDIR LD A,(IX+11) AND A LD A,(IX+12) JR Z,ysh_1 INC A ysh_1 LD B,A LD A,(IX+13) SUB B PUSH AF LD E,(IX+14) LD D,(IX+15) LD HL,#B800 CALL LOAD POP AF PUSH AF JR Z,y_2 LD B,A XOR A CALL IMGBANK LD HL,#C000 CALL LOAD y_2 XOR A CALL BANK CALL #B800 POP AF JR Z,y_3 XOR A CALL IMGBANK CALL CLS CALL tsh_3A y_1A LD A,#BF IN A,(254) RRA JR C,y_1A CALL NOKEY y_3 XOR A LD (rgb_C1+1),A JP rgbsh_X ; пакованый (текст) PAK_SHW CALL CLS CALL LOAD_1 LD A,(HL) CP "h" RET NZ INC L LD A,(HL) CP "r" RET NZ INC L LD A,(HL) CP "2" RET NZ INC L BIT 7,(HL) JR Z,psh_DPK LD BC,(#BF04) ; непакованый LD HL,#BF08 LD DE,#C000 XOR A CALL IMGBANK dep_NP1 LDI LD A,D OR E JR NZ,dep_NP3 LD A,(imgyet+1) INC A CALL IMGBANK dep_NP3 LD A,B OR C JR Z,dep_NPE LD A,L AND A CALL Z,LOAD_NX JR dep_NP1 dep_NPE EX DE,HL JP tsh_2 psh_DPK LD HL,(#BF0C) ; упакованый PUSH HL LD HL,(#BF0A) PUSH HL LD HL,(#BF08) PUSH HL XOR A CALL IMGBANK LD DE,#C000 LD B,E EXX LD HL,#BF0E LD DE,#1003 LD C,#80 L24653 LD A,(HL) INC L CALL Z,LOAD_NX EXX LD (DE),A INC E CALL Z,ADD_DE L24658 EXX L24659 SLA C JR NZ,L24667 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24667 JR C,L24653 LD B,1 L24671 LD A,64 L24673 SLA C JR NZ,L24681 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24681 RLA JR NC,L24673 CP E JR C,L24692 ADD A,B LD B,A XOR D JR NZ,L24671 L24692 ADD A,B CP 4 JR Z,L24774 ADC A,255 L24699 CP 2 L24701 EXX LD C,A LD H,255 EXX JR C,L24800 JR Z,L24751 SLA C JR NZ,L24718 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24718 JR C,L24751 LD A,127 LD B,E DJNZ L24802 L24725 DJNZ L24760 LD B,A SBC A,A L24729 SLA C JR NZ,L24737 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24737 RLA DEC A INC B JR NZ,L24729 CP #E1 JR NZ,L24748 LD A,(HL) INC L CALL Z,LOAD_NX L24748 EXX LD H,A EXX L24751 LD A,(HL) INC L CALL Z,LOAD_NX L24753 EXX LD L,A ADD HL,DE CALL DOBROS JR L24658 L24760 ADD A,6 RLA LD B,A L24764 LD A,(HL) INC L CALL Z,LOAD_NX EXX LD (DE),A INC E CALL Z,ADD_DE EXX DJNZ L24764 JP L24659 L24774 SLA C JR NZ,L24782 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24782 LD A,D JR NC,L24802 LD A,(HL) INC L CALL Z,LOAD_NX CP D JR NC,L24699 OR A JR Z,L24817 EXX LD B,A EXX LD A,(HL) INC L CALL Z,LOAD_NX JR L24701 L24800 LD A,63 L24802 SLA C JR NZ,L24810 LD C,(HL) INC L CALL Z,LOAD_NX RL C L24810 RLA JR NC,L24802 DJNZ L24725 JR L24753 L24817 EXX POP HL CALL IDE_HL POP HL CALL IDE_HL POP HL CALL IDE_HL EX DE,HL JP tsh_2 IDE_HL LD A,L LD (DE),A INC E CALL Z,ADD_DE LD A,H LD (DE),A INC E RET NZ ADD_DE INC D RET NZ PUSH AF LD A,(imgyet+1) INC A CALL IMGBANK LD DE,#C000 POP AF RET DOBROS LD A,H CP #C0 LD A,(imgyet+1) LD (bank_de+1),A JR NC,dob_1 SET 7,H SET 6,H DEC A dob_1 LD (bank_hl+1),A bank_hl LD A,0 CALL IMGBANK LD A,(HL) INC L JR NZ,bhl_1 INC H JR NZ,bhl_1 LD HL,bank_hl+1 INC (HL) LD HL,#C000 bhl_1 PUSH AF bank_de LD A,0 CALL IMGBANK POP AF LD (DE),A INC E CALL Z,ADD_DE LD A,(imgyet+1) LD (bank_de+1),A DEC BC LD A,B OR C JR NZ,bank_hl RET ; просмотр текста TXT_SHW CALL CLS CALL LOADALL LD A,(IX+11) LD L,A AND A JR Z,tsh_1 DEC H tsh_1 LD A,H AND A JR NZ,tsh_2 LD A,(imgyet+1) INC A CALL IMGBANK tsh_2 LD (HL),10 INC L JR NZ,tsh_3 INC H JR NZ,tsh_3 LD A,(imgyet+1) INC A CALL IMGBANK tsh_3 LD (HL),0 LD DE,#C000 LD HL,0 LD C,0 tsh_3W LD A,C CALL IMGBANK tsh_3Y LD A,(DE) INC E JR NZ,tsh_3Y2 INC D JR NZ,tsh_3Y2 INC C LD DE,#C000 EXA LD A,C CALL IMGBANK EXA tsh_3Y2 AND A JR Z,tsh_3E CP 13 JR NZ,tsh_3Y INC HL JR tsh_3Y tsh_3E LD (T_lins),HL LD A,D AND #3F LD D,A LD A,C RRCA RRCA AND #C0 OR D LD D,A LD (GFX_ofs+1),DE LD DE,23 SBC HL,DE JR C,tsh_3F INC HL tsh_3F ADD HL,HL ADD HL,HL LD B,H LD C,L LD DE,#BF00 XOR A LD HL,0 tsh_3F1 EX DE,HL LD (HL),D INC L LD (HL),A INC L EX DE,HL ADD HL,BC ADC A,0 BIT 7,E JR Z,tsh_3F1 LD HL,0 LD (UPL_nr),HL tsh_3A XOR A LD HL,#C000 LD (rpr_2+1),A LD (up_bank+1),A LD (up_addr+1),HL CALL PRN_PGE LD (dn_bank),A LD (dn_addr),HL LD HL,#0101 LD (23561),HL LD HL,TShwTab JP INKEYS dn_bank DB 0 dn_addr DW 0 T_lins DW 0 ; строк в тексте TShwTab DBW 13,0 DBW "Q",TXT_UP DBW 11,TXT_UP DBW "A",TXT_DN DBW 10,TXT_DN DBW "P",PAGEDN DBW 9,PAGEDN DBW "O",PAGEUP DBW 8,PAGEUP DBW "8",TXT_M1 DBW "9",TXT_M2 DBW "0",TXT_M3 DBW "1",CHADCOL DBW "2",CHADCOL DBW "3",CHADCOL DBW "4",CHADCOL DBW "5",CHADCOL DBW "6",CHADCOL DBW "7",CHADCOL DB 0 CHADCOL LD A,C SUB "0" LD (dncol+1),A JP PRLIN TXT_M1 XOR A JR txt_m TXT_M2 LD A,1 JR txt_m TXT_M3 LD A,2 txt_m LD (rpr_2+1),A JP PRN_PGE PAGEUP LD B,22 pup_1 PUSH BC CALL TXT_UP POP BC DJNZ pup_1 RET PAGEDN LD B,22 pdn_1 PUSH BC CALL TXT_DN POP BC DJNZ pdn_1 RET TXT_UP LD HL,(up_addr+1) LD A,(up_bank+1) CALL PRV_LIN RET C LD (up_addr+1),HL LD (up_bank+1),A LD HL,(dn_addr) LD A,(dn_bank) CALL PRV_LIN LD (dn_addr),HL LD (dn_bank),A CALL SCRL_DN LD A,#C9 LD (rpr_D),A CALL PRLIN XOR A LD (rpr_D),A LD HL,(UPL_nr) DEC HL LD (UPL_nr),HL JP SCBAR TXT_DN LD HL,(dn_addr) LD A,(dn_bank) CALL IMGBANK LD A,(HL) AND A RET Z LD HL,(up_addr+1) LD A,(up_bank+1) CALL NXT_LIN LD (up_addr+1),HL LD (up_bank+1),A CALL SCRL_UP LD A,#C9 LD (rpr_D),A LD HL,(dn_addr) LD A,(dn_bank) LD DE,#50C0 CALL rpr_ZX XOR A LD (rpr_D),A imgyet LD A,0 LD (dn_addr),HL LD (dn_bank),A LD HL,(UPL_nr) INC HL LD (UPL_nr),HL JP SCBAR PRV_LIN LD C,A CALL IMGBANK LD A,(HL) AND A CALL NZ,FIND_13 RET C CALL FIND_13 INC HL LD A,H AND A LD A,C RET NZ INC A LD HL,#C000 RET FIND_13 DEC HL LD A,H CP #C0 JR NC,plin_2 LD A,C SUB 1 RET C LD C,A CALL IMGBANK LD H,#FF plin_2 LD A,(HL) CP 13 JR NZ,FIND_13 plin_3 LD A,C RET NXT_LIN LD C,A CALL IMGBANK nlin_1 LD A,(HL) LD B,A AND A SCF RET Z INC L JR NZ,nlin_2 INC H JR NZ,nlin_2 LD A,C INC A AND 3 LD C,A CALL IMGBANK LD H,#C0 nlin_2 LD A,B CP 13 JR NZ,nlin_1 LD A,C AND A RET SCRL_UP LD HL,#5840 LD DE,#5820 EXX LD HL,#4040 LD DE,#4020 LD B,21 scup_1 LD C,255 DUP 31 LDI EDUP LD A,(HL) LD (DE),A INC H INC D DUP 31 LDD EDUP LD A,(HL) LD (DE),A INC H INC D LD A,H AND 7 JP NZ,scup_1 LD A,L ADD A,32 LD L,A JR C,scup_2 LD A,H SUB 8 LD H,A scup_2 LD A,E ADD A,32 LD E,A JR C,scup_3 LD A,D SUB 8 LD D,A scup_3 EXX DUP 32 LDI EDUP EXX DEC B JP NZ,scup_1 LD HL,#50C0 FILER LD C,8 fila_2 LD B,32 LD A,L fila_1 LD (HL),0 INC L DJNZ fila_1 LD L,A INC H DEC C JR NZ,fila_2 RET SCRL_DN LD HL,#5ABF LD DE,#5ADF EXX LD HL,#57A0 LD DE,#57C0 LD B,21 scdn_1 LD C,255 DUP 31 LDI EDUP LD A,(HL) LD (DE),A DEC H DEC D DUP 31 LDD EDUP LD A,(HL) LD (DE),A LD A,H DEC H DEC D AND 7 JP NZ,scdn_1 LD A,L SUB 32 LD L,A JR C,scdn_2 LD A,H ADD A,8 LD H,A scdn_2 LD A,E SUB 32 LD E,A JR C,scdn_3 LD A,D ADD A,8 LD D,A scdn_3 EXX DUP 32 LDD EDUP EXX DEC B JP NZ,scdn_1 LD HL,#4020 JP FILER TXTSKIN LD HL,#4500 LD BC,#20FF CALL HLINE LD HL,#5800 LD BC,#2002 CALL HLINE LD HL,#52E0 LD BC,#20FF CALL HLINE LD HL,#5AE0 LD BC,#2002 CALL HLINE LD HL,#4301 LD DE,LF_box CALL SCBOX LD HL,#430A LD DE,RG_box CALL SCBOX JP SCBAR PRN_PGE CALL TXTSKIN PRLIN LD DE,#4020 up_addr LD HL,0 up_bank LD A,0 rpr_ZX CALL IMGBANK rpr_0 LD A,#A7 LD (PRINT),A LD A,#F0 LD (fntmask+1),A CPL LD (scrmask+1),A LD A,#A7 LD (colflag),A LD A,(dncol+1) LD (color+1),A LD A,(rpr_2+1) AND A CALL Z,DEFCOL PUSH DE rpr_1 LD A,(HL) AND A JP Z,rpr_EX LD B,A INC L JR NZ,rpr_2X INC H JR NZ,rpr_2X LD A,(imgyet+1) INC A AND 3 CALL IMGBANK LD HL,#C000 rpr_2X LD A,B CP 13 JP Z,rpr_DX CP 10 JR Z,rpr_1 CP 255 JR Z,rpr_GFX rpr_2 LD A,0 DEC A JR Z,rpr_M1 DEC A JR Z,rpr_M2 rpr_M3 LD A,B CALL SETCOL JR NC,rpr_1 rpr_M1 LD A,B rpr_M1A CALL PRINT JR rpr_1 rpr_M2 LD A,B CP 32 CALL NC,PRINT JR rpr_1 rpr_GFX LD A,(HL) INC L JR NZ,rpg_1 INC H JR NZ,rpg_1 EXA LD A,(imgyet+1) INC A CALL IMGBANK EXA rpg_1 CP 128 JR C,rpr_M1A col_FLG AND A JR C,rpr_M1A AND 127 EXA LD A,(imgyet+1) PUSH AF EXA PUSH HL PUSH DE GFX_ofs LD HL,0 LD DE,#120 CALL ADDING LD A,H RLCA RLCA AND 3 CALL IMGBANK LD A,H OR #C0 LD H,A POP DE PUSH DE LD A,E AND #E0 EXA inaz_1 EXA LD E,A EXA LD BC,#20FF inaz_2 LDI LD A,H OR L JR NZ,inaz_3 LD A,(imgyet+1) INC A CALL IMGBANK LD HL,#C000 inaz_3 DJNZ inaz_2 DEC DE INC D LD A,D AND 7 JR NZ,inaz_1 LD A,D DEC A RRA RRA RRA AND 3 OR #58 LD D,A EXA LD E,A LD BC,#20FF inaz_4 LDI LD A,H OR L JR NZ,inaz_5 LD A,(imgyet+1) INC A CALL IMGBANK LD HL,#C000 inaz_5 DJNZ inaz_4 POP DE POP HL POP AF CALL IMGBANK LD A,#37 LD (PRINT),A JP rpr_1 rpr_DX CALL PRINTS LD A,(PRINT) CP #37 JR NZ,rpr_DX POP DE rpr_D NOP LD A,E ADD A,32 LD E,A JR NC,rd_0 LD A,D ADD A,8 LD D,A rd_0 LD A,E CP #E0 JP NZ,rpr_0 LD A,D CP #50 JP NZ,rpr_0 PUSH DE rpr_EX LD A,#37 LD (colflag),A CALL PRINTS LD A,(imgyet+1) POP DE RET SETCOL AND A SCF RET Z CP 8 JR C,scol_Y JR Z,dncol SUB 13 SCF RET Z CP 8 CCF RET C OR #40 JR scol_Y dncol LD A,5 scol_Y PUSH AF CALL PRINTS POP AF LD (color+1),A AND A RET DEFCOL LD A,(imgyet+1) PUSH AF PUSH HL CALL NXT_LIN DEC HL JR C,dcol_1 DEC HL dcol_1 LD A,H CP #C0 LD A,C DEC A CALL C,IMGBANK LD A,(HL) DEC A CP 7 JR C,dcol_1A SUB 13 CP 7 JR NC,dcol_2 OR #40 dcol_1A INC A LD (color+1),A dcol_2 POP HL POP AF JP IMGBANK SCBOX LD B,5 scbx_1 LD A,(DE) LD (HL),A INC DE INC H DJNZ scbx_1 RET LF_box DB #02,#02,#FE,#02,#02 RG_box DB #40,#40,#7F,#40,#40 SCBAR LD HL,#BF00 LD BC,0 UPL_nr EQU $-2 XOR A scba_1 LD E,(HL) INC HL LD D,(HL) INC HL EX DE,HL AND A SBC HL,BC EX DE,HL JR NC,setbar INC A CP 64 JR C,scba_1 setbar LD HL,#4402 PUSH AF sba_1 SUB 8 JR C,sba_2 LD (HL),255 INC L JR sba_1 sba_2 ADD A,8 JR Z,sba_3A LD (HL),0 sba_3 SCF RR (HL) DEC A JR NZ,sba_3 INC L sba_3A LD A,L CP 10 JR Z,sba_3B LD (HL),0 sba_3B POP DE LD A,64 SUB D sba_4 SUB 8 JR C,sba_5 JR NC,sba_5 LD (HL),0 INC L JR sba_4 sba_5 LD DE,#4502 CALL COPYBAR LD DE,#4602 COPYBAR LD HL,#4402 LD BC,8 LDIR RET ; просмотр *.888 T8T_SHW LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),L LDIR LD A,1 CALL BANK LD HL,#B800 LD B,(IX+13) LD E,(IX+14) LD D,(IX+15) CALL LOAD CALL DEPACK XOR A CALL BANK LD HL,#4000 LD DE,#B800 LD BC,#1800 LDIR XOR A LD (rgb_C1+1),A JP rgbsh_X INCLUDE "888depak",12 ; играем PT3 музоны PT3PLAY CALL NOKEY XOR A CALL BANK LD HL,#C000 LD B,(IX+13) CALL FLOAD LD DE,PT3head CALL PLAYTST JR Z,muz_Y LD DE,VTXhead CALL PLAYTST RET NZ muz_Y LD HL,#4803 LD BC,#1C18 LD A,15 CALL WINDOW LD A,(#C063) LD C,A LD B,0 LD HL,FRQtabz ADD HL,BC ADD HL,BC LD A,(HL) INC HL LD H,(HL) LD L,A LD DE,PT3addr+#200 LD BC,192 LDIR LD A,15 LD (color+1),A LD HL,PLAYtxt CALL STRING LD DE,#482B LD HL,#C01E LD B,32 CALL B_PRN LD DE,#484B LD HL,#C042 LD B,32 CALL B_PRN LD HL,#5924 LD (HL),2 INC L LD (HL),4 INC L LD (HL),5 LD HL,#5944 LD (HL),2 INC L LD (HL),4 INC L LD (HL),5 PT3init LD HL,#C000 CALL PT3addr+3 EI pt3_1 HALT CALL PT3addr+5 CALL BARS LD A,#DF IN A,(#FE) RRA JR NC,PT3pauz LD A,#FD IN A,(#FE) AND 8 JR Z,PT3fast LD A,#7F IN A,(254) AND 16 JR Z,PT3init LD A,#BF IN A,(#FE) RRA JR C,pt3_1 JP PT3addr+8 PT3fast CALL PT3addr+5 CALL BARS JR pt3_1 PT3pauz CALL PT3addr+8 CALL NOKEY CALL WAITKEY CALL NOKEY JR pt3_1 BARS LD HL,#4824 LD A,8 CALL SETBAR LD HL,#4825 LD A,9 CALL SETBAR LD HL,#4826 LD A,10 SETBAR LD BC,#FFFD OUT (C),A IN A,(C) LD B,16 AND 15 set_X CP B JR C,set_0 LD (HL),#3C JR set_1 set_0 LD (HL),0 set_1 LD C,A INC H LD A,H AND 7 JR NZ,set_2 LD H,#48 LD A,L ADD A,32 LD L,A set_2 LD A,C DJNZ set_X RET PLAYtxt DB 1,#27,#48,"Трек...." DB 1,#47,#48,"Автор..." DB 0 PLAYTST LD HL,#C000 ptst_2 LD A,(DE) AND A RET Z CP 1 JR Z,ptst_1 CP (HL) RET NZ ptst_1 INC DE INC HL JR ptst_2 WINDOW LD (LINE_AT+1),A PUSH HL PUSH BC CALL LINE_00 CALL LINE_FF win_1 CALL LINE_CN DJNZ win_1 CALL LINE_FF CALL LINE_00 POP BC LD A,B ADD A,4 RRCA RRCA RRCA AND 31 LD B,A POP HL LD A,H RRA RRA RRA AND 3 OR #58 LD H,A win_2 CALL LINE_AT DJNZ win_2 RET LINE_AT LD A,5 LD D,A LD E,A CALL LINE LD DE,32 ADD HL,DE RET LINE_CN LD DE,#4002 XOR A JR line LINE_FF LD DE,#7FFE LD A,#FF JR line LINE_00 XOR A LD D,A LD E,A line CALL LINE JP NEXT_HL LINE PUSH HL LD (HL),D INC L LD D,C lin_1 LD (HL),A INC L DEC D JR NZ,lin_1 LD (HL),E POP HL RET PT3head DB "ProTracker 3.",1," compilation of",0 VTXhead DB "Vortex Tracker II 1.",1," module:",0 FRQtabz DW PT_Tab,ST_Tab,ASM_Tab,RealTab ; смотрим ролики VIDEOSTUDIO VSP_SHW XOR A CALL IMGBANK LD HL,VSP_MEM CALL SETDRIVER LD HL,#C000 LD B,1 CALL FLOAD LD HL,#C051 LD DE,vsplens LD (DWN_VSP+1),DE LD BC,#100-#51 LDIR XOR A LD (DE),A CALL CLS LD A,(#C002) CP 1 CALL Z,SKIP_FP CP 6 LD A,7 JR C,vsh_1 LD A,(#C00F) vsh_1 LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),A LDIR CALL DWN_VSP vsplay CALL PLAY RET C CALL WAITKEY JP NOKEY SKIP_FP PUSH AF LD HL,#F800 LD B,8 CALL DLOAD POP AF RET VSP_MEM CP 7 JR C,VSPBANK PUSH DE PUSH HL CALL DWN_VSP POP HL POP DE XOR A LD (CURPAG),A JR VSPBANK VSPAGE PUSH BC VSPBANK LD BC,VspRams JP vspage DWN_VSP LD DE,vsplens XOR A CALL VSPLOAD LD A,1 CALL VSPLOAD LD A,3 CALL VSPLOAD LD A,4 CALL VSPLOAD LD A,6 CALL VSPLOAD LD (DWN_VSP+1),DE RET VSPLOAD CALL VSPAGE LD A,(DE) AND A RET Z LD B,A INC DE PUSH DE LD HL,#C000 CALL DLOAD POP DE RET ; INCLUDE "VSPLAY",10 INCLUDE "PLAYER1",10 ; смотрим анимацию ANI_SHW CALL CLS CALL LOADALL CALL NOKEY XOR A CALL IMGBANK LD HL,IMGBANK CALL HIMEM LD HL,#C000 LD DE,#4000 CALL INITANI ash_1 HALT CALL FDELAY CALL PLAYANI XOR A IN A,(254) CPL AND 31 JR Z,ash_1 RET INCLUDE "ANIPLAY3",11 ; просмотр IMAGE IMG_SHW CALL LOADALL ish_4 XOR A CALL IMGBANK LD HL,(#C008) LD (image_X+1),HL LD HL,(#C00A) LD (image_Y+1),HL CALL CLS LD HL,0 LD (X_vimg+1),HL shimg_1 LD (Y_vimg+1),HL CALL DRAWIMG shimg_2 CALL INPUTJ BIT 4,C RET NZ LD A,C AND 15 JR Z,shimg_2 X_vimg LD HL,0 RR C CALL C,img_R RR C CALL C,img_L LD (X_vimg+1),HL Y_vimg LD HL,0 RR C CALL C,img_D RR C CALL C,img_U JR shimg_1 img_L LD A,H OR L RET Z DEC HL RET img_R PUSH HL LD DE,32 ADD HL,DE image_X LD DE,0 AND A SBC HL,DE POP HL RET NC INC HL RET img_U LD DE,8 AND A SBC HL,DE RET NC ADD HL,DE RET img_D PUSH HL LD DE,192 ADD HL,DE image_Y LD DE,0 AND A SBC HL,DE POP HL RET NC LD DE,8 ADD HL,DE RET DRAWIMG LD HL,(image_Y+1) LD A,H OR L RET Z LD DE,(Y_vimg+1) AND A SBC HL,DE LD DE,192 CALL GET_MIN LD A,L LD (Y_dimg+1),A LD HL,(image_X+1) LD DE,(X_vimg+1) AND A SBC HL,DE LD DE,32 CALL GET_MIN LD A,L LD (X_dimg+1),A LD HL,(X_vimg+1) LD DE,12 ADD HL,DE LD DE,(Y_vimg+1) LD A,(image_X+1) CALL ADDING LD A,H RLCA RLCA AND 3 LD C,A CALL IMGBANK LD A,H OR #C0 LD H,A LD DE,#4000 Y_dimg LD B,192 dimg_1 PUSH BC PUSH HL PUSH DE X_dimg LD B,32 dimg_2 LD A,(HL) LD (DE),A INC E INC HL LD A,H OR L JR NZ,dimg_3 LD A,C INC A AND 3 LD C,A CALL IMGBANK LD HL,#C000 dimg_3 DJNZ dimg_2 POP HL CALL NEXT_HL EX DE,HL POP BC LD HL,(image_X+1) ADD HL,BC POP BC LD A,H CP #C0 JR NC,dimg_4 LD A,H OR #C0 LD H,A LD A,C INC A AND 3 LD C,A CALL IMGBANK dimg_4 DJNZ dimg_1 RET ; экраны #1800 и #1B00 BWS_SHW LD HL,#C000 LD B,#18 CALL FLOAD LD HL,#D800 LD DE,#D801 LD BC,767 LD (HL),7 LDIR LD A,#37 JR scrsh_1 SCR_SHW LD HL,#C000 LD B,#1B CALL FLOAD LD A,#A7 scrsh_1 LD (scr_F),A LD HL,#C000 LD DE,#4000 LD BC,#1B00 LDIR CALL NOKEY scrsh_2 CALL WAITKEY CP "I" JR Z,scr_I scr_F SCF JR NC,scrsh_3 CP "1" JR C,scrsh_3 CP "8" JR NC,scrsh_3 SUB "1"-1 LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),A LDIR CALL NOKEY JR scrsh_2 scrsh_3 CP 32 RET Z CP 13 JR NZ,scrsh_2 RET scr_I LD HL,#4000 si_1 LD A,(HL) CPL LD (HL),A INC HL LD A,H CP #58 JR C,si_1 CALL NOKEY JR scrsh_2 ; двухэкранники MCX_SHW LD BC,#7FFD LD A,#17 OUT (C),A LD HL,#C000 LD B,#1B CALL FLOAD LD BC,#7FFD LD A,#10 OUT (C),A LD HL,#C000 LD B,#1B CALL DLOAD CALL NOKEY LD HL,#C000 LD DE,#4000 LD BC,#1B00 LDIR LD BC,#7FFD LD DE,#1018 mcxn_0 LD A,(FDELAY) CP #37 JR Z,mcxsh_1 mcxn_1 LD E,#C0 HALT mcxn_2 OUT (C),D IN A,(#FF) INC A JR Z,mcxn_2 mcxn_3 IN A,(#FF) INC A JR NZ,mcxn_3 LD A,D XOR 8 LD D,A DEC E JR NZ,mcxn_2 XOR 8 LD D,A LD A,#F7 IN A,(254) RRA JR NC,mcxsh_X LD A,#BF IN A,(254) RRA JR C,mcxn_1 RET mcxsh_X LD DE,#1018 mcxsh_1 OUT (C),E HALT OUT (C),D HALT LD A,#F7 IN A,(254) RRA RRA JR NC,mcxn_0 LD A,#7F IN A,(254) RRA RET NC LD A,#BF IN A,(254) RRA JR C,mcxsh_1 RET ; триколоры RGB_SHW XOR A LD (rgb_C1+1),A LD HL,#5800 LD DE,#5801 LD BC,#3FF LD (HL),L LDIR LD A,#10 CALL BANK LD HL,#B800 LD B,#48 CALL FLOAD rgbsh_X CALL NOKEY LD A,#10 CALL BANK LD A,(EXTFLAG) AND A JR Z,rgbs_X CALL DROPVID rgbe_X LD A,"R" rgbe_Y LD (rgbe_R+1),A rgbe_1 CALL NOKEY CALL WAITKEY CP "8" JR Z,rgbe_R CP "9" JR Z,rgbe_B CP 32 JR Z,rgbe_E CP 13 JR NZ,rgbe_1 rgbe_E CALL NOKEY JP rgbs_E rgbe_R LD A,0 CP "R" CALL NZ,SET_RGB JR rgbe_X rgbe_B LD A,(rgbe_R+1) CP "B" CALL NZ,SET_BRG LD A,"B" JR rgbe_Y rgbs_X LD HL,#5800 LD DE,#5801 LD BC,767 LD (HL),L LDIR LD HL,#E800 LD DE,#4000 LD BC,#1800 LDIR LD BC,#7FFD LD A,#17 OUT (C),A LD HL,#4000 LD DE,#C000 LD BC,#1800 LDIR rgbsh_Z LD L,1 LD BC,#0204 JR rgbsh_0 rgbsh_M LD B,L LD C,L rgbsh_0 LD A,(rgb_C1+1) CP B JR NZ,rgbsh_P LD A,(rgb_C2+1) CP C JR Z,rgbsh_1 rgbsh_P LD A,B LD (rgb_C1+1),A LD A,C LD (rgb_C2+1),A LD BC,#7FFD LD A,#17 OUT (C),A LD A,L LD HL,#D800 LD DE,#D801 LD BC,767 LD (HL),A LDIR LD BC,#7FFD LD A,#10 OUT (C),A rgbsh_1 LD HL,#B800 ; R (B) LD DE,#4000 rgb_C1 LD A,2 CALL DROPSCR LD HL,#D000 ; G (R) LD DE,#4000 rgb_C2 LD A,4 CALL DROPSCR HALT LD BC,#7FFD LD A,#18 OUT (C),A LD A,#F7 IN A,(254) LD B,5 LD L,1 rgb_1 RRA JR NC,rgbsh_M INC L DJNZ rgb_1 LD A,#EF IN A,(254) RLA RLA RLA RLA JR NC,rgbsh_M INC L RLA JR NC,rgbsh_M RLA JR NC,rgbsh_Z LD L,4 LD BC,#0102 RLA JR NC,rgbsh_0 LD A,#BF IN A,(254) RRA JR NC,rgbs_E LD A,#7F IN A,(254) RRA JR C,rgbsh_1 rgbs_E XOR A OUT (#DF),A CALL ATM_OFF JP PAL_ATM DROPVID CALL CLS_ATM XOR A CALL BANK LD A,%0101 ; R OUT (#DF),A LD HL,#B800 LD DE,#4000 LD BC,#1800 LDIR LD DE,#0210 CALL GET_ATM LD A,%0110 ; G OUT (#DF),A LD HL,#D000 LD DE,#4000 LD BC,#1800 LDIR LD DE,#0420 CALL GET_ATM LD A,%0100 ; B OUT (#DF),A LD HL,#E800 LD DE,#4000 LD BC,#1800 LDIR LD DE,#0108 CALL GET_ATM LD A,%0111 ; I OUT (#DF),A LD HL,#4000 LD DE,#4001 LD BC,#17FF LD (HL),L LDIR LD A,(ATMFLAG) AND A JP NZ,ATM_ON LD A,%1000 OUT (#DF),A RET DROPSCR EXX LD D,A LD E,A LD HL,#5820 LD BC,32 EXX LD A,#40 SUB H LD (add_on+1),A LD (old_sp+1),SP EI HALT LD BC,#7FFD LD A,#10 OUT (C),A CALL FDELAY DI dscr_1 LD A,H EXA LD A,E DUP 7 DUP 32 LDI EDUP DEC DE DEC HL LD E,A LD L,A INC H INC D EDUP DUP 32 LDI EDUP ADD A,32 LD E,A LD L,A JR C,dscr_2 EXA LD H,A add_on ADD A,0 LD D,A dscr_2 EXX LD SP,HL DUP 16 PUSH DE EDUP ADD HL,BC EXX LD A,D CP #58 JP C,dscr_1 old_sp LD SP,0 EI RET