tmc.asx
资源名称:tcpmp.rar [点击查看]
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:12k
源码类别:
Windows CE
开发平台:
C/C++
- *---------------*
- * TMC Player *
- *Jaskier/Taquart*
- *---------------*
- org $0500
- byte equ $fa
- bajt equ $fb
- addr equ $fc
- adrsng equ $fe
- player equ *
- jmp init
- jmp play
- jmp sound
- maxvol dta b(15)
- volume dta d' '
- freqen dta d' '
- kanal dta d' '
- aktwys dta d' '
- numdzw dta d' '
- audctl dta d' '
- aud1 dta b(0)
- aud2 dta b(0)
- voltab dta d' '
- dta d' !!!!!!!!'
- dta d' !!!!!!!!""""'
- dta d' !!!!!"""""###'
- dta d' !!!!""""####$$'
- dta d' !!!"""###$$$%%'
- dta d' !!"""##$$$%%&&'
- dta d' !!""##$$%%&&'''''
- dta d' !!""##$$%%&&''''('
- dta d' !!""#$$%%&''''(()'
- dta d' !!"##$%%&''''())*'
- dta d' !!"#$$%&''''()**+'
- dta d' !""#$%&&''()**+,'
- dta d' !"##$%&''()**+,-'
- dta d' !"#$%&''''()*+,-.'
- dta d' !"#$%&''()*+,-./'
- frqtab dta b(0),b($f1),b($e4),b($d7)
- dta b($cb),b($c0),b($b5),b($aa)
- dta b($a1),b($98),b($8f),b($87)
- dta b($7f),b($78),b($72),b($6b)
- dta b($65),b($5f),b($5a),b($55)
- dta b($50),b($4b),b($47),b($43)
- dta b($3f),b($3c),b($38),b($35)
- dta b($32),b($2f),b($2c),b($2a)
- dta b($27),b($25),b($23),b($21)
- dta b($1f),b($1d),b($1c),b($1a)
- dta b($18),b($17),b($16),b($14)
- dta b($13),b($12),b($11),b($10)
- dta b(15),b(14),b(13),b(12)
- dta b(11),b(10),b(9),b(8)
- dta b(7),b(6),b(5),b(4)
- dta b(3),b(2),b(1),b(0)
- dta b(0),b($f2),b($e6),b($da)
- dta b($ce),b($bf),b($b6),b($aa)
- dta b($a1),b($98),b($8f),b($89)
- dta b($80),b($7a),b($71),b($6b)
- dta b($65),b($5f),b($5c),b($56)
- dta b($50),b($4d),b($47),b($44)
- dta b($3e),b($3c),b($38),b($35)
- dta b($32),b($2f),b($2d),b($2a)
- dta b($28),b($25),b($23),b($21)
- dta b($1f),b($1d),b($1c),b($1a)
- dta b($18),b($17),b($16),b($14)
- dta b($13),b($12),b($11),b($10)
- dta b(15),b(14),b(13),b(12)
- dta b(11),b(10),b(9),b(8)
- dta b(7),b(6),b(5),b(4)
- dta b(3),b(2),b(1),b(0)
- dta b(0),b($ff),b($f1),b($e4)
- dta b($d8),b($ca),b($c0),b($b5)
- dta b($ab),b($a2),b($99),b($8e)
- dta b($87),b($7f),b($79),b($73)
- dta b($70),b($66),b($61),b($5a)
- dta b($55),b($52),b($4b),b($48)
- dta b($43),b($3f),b($3c),b($39)
- dta b($37),b($33),b($30),b($2d)
- dta b($2a),b($28),b($25),b($24)
- dta b($21),b($1f),b($1e),b($1c)
- dta b($1b),b($19),b($17),b($16)
- dta b($15),b($13),b($12),b($11)
- dta b($10),b(15),b(14),b(13)
- dta b(12),b(11),b(10),b(9)
- dta b(8),b(7),b(6),b(5)
- dta b(4),b(3),b(2),b(1)
- dta b(0),b($f3),b($e6),b($d9)
- dta b($cc),b($c1),b($b5),b($ad)
- dta b($a2),b($99),b($90),b($88)
- dta b($80),b($79),b($72),b($6c)
- dta b($66),b($60),b($5b),b($55)
- dta b($51),b($4c),b($48),b($44)
- dta b($40),b($3c),b($39),b($35)
- dta b($32),b($2f),b($2d),b($2a)
- dta b($28),b($25),b($23),b($21)
- dta b($1f),b($1d),b($1c),b($1a)
- dta b($18),b($17),b($16),b($14)
- dta b($13),b($12),b($11),b($10)
- dta b(15),b(14),b(13),b(12)
- dta b(11),b(10),b(9),b(8)
- dta b(7),b(6),b(5),b(4)
- dta b(3),b(2),b(1),b(0)
- basslo dta b(0),b($f2),b($33),b($96)
- dta b($e2),b($38),b($8c),b($00)
- dta b($6a),b($e8),b($6a),b($ef)
- dta b($80),b($08),b($ae),b($46)
- dta b($e6),b($95),b($41),b($f6)
- dta b($b0),b($6e),b($30),b($f6)
- dta b($bb),b($84),b($52),b($22)
- dta b($f4),b($c8),b($a0),b($7a)
- dta b($55),b($34),b($14),b($f5)
- dta b($d8),b($bd),b($a4),b($8d)
- dta b($77),b($60),b($4e),b($38)
- dta b($27),b($15),b($06),b($f7)
- dta b($e8),b($db),b($cf),b($c3)
- dta b($b8),b($ac),b($a2),b($9a)
- dta b($90),b($88),b($7f),b($78)
- dta b($70),b($6a),b($64),b($5e)
- basshi dta b(0),b(13),b(13),b(12)
- dta b(11),b(11),b(10),b(10)
- dta b(9),b(8),b(8),b(7)
- dta b(7),b(7),b(6),b(6)
- dta b(5),b(5),b(5),b(4)
- dta b(4),b(4),b(4),b(3)
- dta b(3),b(3),b(3),b(3)
- dta b(2),b(2),b(2),b(2)
- dta b(2),b(2),b(2),b(1)
- dta b(1),b(1),b(1),b(1)
- dta b(1),b(1),b(1),b(1)
- dta b(1),b(1),b(1),b(0)
- dta b(0),b(0),b(0),b(0)
- dta b(0),b(0),b(0),b(0)
- dta b(0),b(0),b(0),b(0)
- dta b(0),b(0),b(0),b(0)
- czygrx dta d' '
- pozwpt dta d' '
- delay dta d' '
- numptr dta d' '
- poddzw dta d' '
- wysdzw dta d' '
- znksz dta d' '
- frq dta d' '
- vol1ch dta d' '
- vol2ch dta d' '
- adcvl1 dta d' '
- adcvl2 dta d' '
- adrsnl dta d' '
- adrsnh dta d' '
- slupy dta d' '
- opad1 dta d' '
- opad2 dta d' '
- lopad1 dta d' '
- lopad2 dta d' '
- typ dta d' '
- param dta d' '
- pomoc1 dta d' '
- pomoc2 dta d' '
- czekaj dta d' '
- dtyp dta d' '
- ltyp dta d' '
- ilperm dta d' '
- aperm dta d' '
- dperm dta d' '
- lperm dta d' '
- kolejn dta d' '
- tempo dta b(0)
- ltempo dta b(0)
- pozptr dta b(0)
- czygrc dta b(0)
- przeci dta b(4),b(5),b(6),b(7)
- dta b(0),b(1),b(2),b(3)
- audtb1 dta b(4),b(2),b(0),b(0)
- dta b(4),b(2),b(0),b(0)
- audtb2 dta b(0),b(16),b(0),b(8)
- dta b(0),b(16),b(0),b(8)
- play lda czygrc
- beq r1-3
- lda pozptr
- cmp #64
- bcc r1
- dec ltempo
- beq *+5
- jmp sound
- ldx #7
- lda #0
- p1 sta pozwpt,x
- sta delay,x
- dex
- bpl p1
- sta pozptr
- tax
- ldy #15
- p2 lda (adrsng),y
- bpl p3
- dey
- lda (adrsng),y
- bpl *+5
- jmp stop
- stx addr
- asl @
- asl @
- rol addr
- asl @
- rol addr
- asl @
- rol addr
- zm0 adc #0
- sta adrsng
- lda addr
- zm1 adc #0
- sta adrsng+1
- bcc p2-2
- p3 sta numptr,x
- dey
- lda (adrsng),y
- sta poddzw,x
- inx
- dey
- bpl p2
- clc
- lda adrsng
- adc #16
- sta adrsng
- bcc *+4
- inc adrsng+1
- jmp sound
- r1 dec ltempo
- bpl r1-3
- inc pozptr
- lda tempo
- sta ltempo
- ldx #7
- r2 dec delay,x
- bmi *+5
- jmp r14
- ldy numptr,x
- zm2 lda $ffff,y
- sta addr
- zm3 lda $ffff,y
- sta addr+1
- ldy pozwpt,x
- r3 lda (addr),y
- bne r4
- jsr nparam
- jmp r13
- r4 cmp #$40
- bcs r5
- adc poddzw,x
- sta wysdzw,x
- jsr nparam
- ldy numdzw,x
- jsr dzwiek
- jmp r13
- r5 bne r8
- iny
- inc pozwpt,x
- lda (addr),y
- bpl r6
- sta bajt
- jsr nparam
- lda bajt
- r6 and #$7f
- bne r7
- lda #64
- sta pozptr
- bne r13
- r7 sta tempo
- sta ltempo
- bne r13
- r8 cmp #$80
- bcs r11
- and #$3f
- adc poddzw,x
- sta wysdzw,x
- iny
- inc pozwpt,x
- lda (addr),y
- and #127
- bne r9
- lda #64
- sta pozptr
- bne r10
- r9 sta tempo
- sta ltempo
- r10 jsr nparam
- ldy numdzw,x
- jsr dzwiek
- jmp r13
- r11 cmp #$c0
- bcs r12
- and #$3f
- sta numdzw,x
- iny
- inc pozwpt,x
- jmp r3
- r12 and #$3f
- sta delay,x
- r13 inc pozwpt,x
- r14 dex
- bmi sound
- jmp r2
- sound ldx #7
- p5 lda czygrx,x
- beq p6
- jsr graj
- lda audctl,x
- and audtb1,x
- beq p6
- ldy #71
- lda (addr),y
- clc
- adc aktwys,x
- sta aktwys+2,x
- tay
- lda frqtab,y
- sec
- adc pomoc1,x
- sta frq+2,x
- p6 dex
- bpl p5
- asl maxvol
- asl maxvol
- asl maxvol
- asl maxvol
- inx
- stx addr
- stx addr+1
- ldx #7
- p9 txa
- tay
- lda vol1ch,y
- bne p10
- ldy przeci,x
- lda vol2ch,y
- bne p10
- txa
- tay
- lda #0
- p10 sta byte
- tya
- sta kanal,x
- lda frq,y
- sta freqen,x
- lda audctl,y
- sta bajt
- ora addr+1
- sta addr+1
- lda bajt
- and audtb1,x
- beq p11
- lda frq+2,y
- sta freqen+2,x
- p11 lda bajt
- and audtb2,x
- beq p12
- lda aktwys,y
- and #$3f
- tay
- iny
- sty addr
- lda basshi-1,y
- sta freqen,x
- jmp p13
- p12 ldy addr
- beq p13
- lda basslo-1,y
- sta freqen,x
- lda #0
- sta addr
- p13 lda byte
- ora maxvol
- tay
- lda voltab,y
- ldy kanal,x
- ora znksz,y
- sta volume,x
- cpx #4
- bne p14
- lda addr+1
- sta aud2
- lda #0
- sta addr+1
- p14 dex
- bpl p9
- lsr maxvol
- lsr maxvol
- lsr maxvol
- lsr maxvol
- lda addr+1
- quit ldx #3
- stx $d21f
- stx $d20f
- ldx freqen+4
- ldy freqen
- stx $d210
- sty $d200
- ldx volume+4
- ldy volume
- stx $d211
- sty $d201
- ldx freqen+5
- ldy freqen+1
- stx $d212
- sty $d202
- ldx volume+5
- ldy volume+1
- stx $d213
- sty $d203
- ldx freqen+6
- ldy freqen+2
- stx $d214
- sty $d204
- ldx volume+6
- ldy volume+2
- stx $d215
- sty $d205
- ldx freqen+7
- ldy freqen+3
- stx $d216
- sty $d206
- ldx volume+7
- ldy volume+3
- stx $d217
- sty $d207
- sta aud1
- ldx aud2
- stx $d218
- sta $d208
- rts
- graj lda adrsnl,x
- sta addr
- lda adrsnh,x
- sta addr+1
- ldy slupy,x
- cpy #63
- beq n6
- inc slupy,x
- inc slupy,x
- inc slupy,x
- lda (addr),y
- and #$f0
- sta znksz,x
- lda (addr),y
- and #15
- sec
- sbc adcvl1,x
- bpl n1
- lda #0
- n1 sta vol1ch,x
- iny
- lda (addr),y
- and #15
- sec
- sbc adcvl2,x
- bpl n2
- lda #0
- n2 sta vol2ch,x
- lda (addr),y
- and #$f0
- beq n8
- bpl n3
- ldy #73
- lda (addr),y
- ldy slupy,x
- dey
- dey
- bpl n4
- n3 lda #0
- n4 sta audctl,x
- lda (addr),y
- and #$70
- beq n9
- lsr @
- lsr @
- sta n5+1
- lda #0
- sta pomoc1,x
- iny
- lda (addr),y
- n5 bcc *
- nop
- nop
- nop
- nop
- jmp a1
- nop
- jmp a2
- nop
- jmp a3
- nop
- jmp a4
- nop
- jmp a5
- nop
- jmp a6
- nop
- jmp a7
- n6 lda opad1,x
- beq n7
- dec lopad1,x
- bne n7
- sta lopad1,x
- lda vol1ch,x
- and #15
- beq n7
- dec vol1ch,x
- n7 lda opad2,x
- beq n8
- dec lopad2,x
- bne n8
- sta lopad2,x
- lda vol2ch,x
- and #15
- beq n8
- dec vol2ch,x
- n8 ldy #72
- lda (addr),y
- sta audctl,x
- n9 lda aperm,x
- clc
- adc #63
- tay
- lda (addr),y
- adc wysdzw,x
- sta aktwys,x
- tay
- lda frqtab,y
- sta frq,x
- dec lperm,x
- bpl m1
- lda dperm,x
- sta lperm,x
- lda kolejn,x
- beq m6
- clc
- adc aperm,x
- sta aperm,x
- beq m7
- cmp ilperm,x
- bne m1
- lda #$fe
- m7 clc
- adc #1
- sta kolejn,x
- bne m1
- m6 inc aperm,x
- lda ilperm,x
- cmp aperm,x
- bcs m1
- lda #0
- sta aperm,x
- m1 lda czekaj,x
- beq m2
- dec czekaj,x
- rts
- m2 lda pomoc2,x
- sta byte
- lda param,x
- sta bajt
- jsr m4
- dec ltyp,x
- bpl m4-1
- lda byte
- sta pomoc2,x
- lda bajt
- sta param,x
- lda dtyp,x
- sta ltyp,x
- rts
- m4 lda typ,x
- sta m5+1
- m5 bpl *
- jmp typ0
- nop
- jmp typ1
- nop
- jmp typ2
- nop
- jmp typ3
- nop
- jmp typ4
- nop
- jmp typ5
- nop
- jmp typ6
- nop
- jmp typ7
- typ1 lda byte
- inc byte
- and #3
- lsr @
- bcc t2
- bne typ6
- lda bajt
- t1 sta pomoc1,x
- clc
- adc frq,x
- sta frq,x
- typ0 rts
- t2 lda #0
- sta pomoc1,x
- rts
- typ2 jsr t5
- jmp t1
- typ3 jsr t5
- clc
- adc aktwys,x
- jmp a5
- typ4 lda byte
- sta pomoc1,x
- clc
- adc frq,x
- t3 sta frq,x
- lda byte
- clc
- adc bajt
- sta byte
- rts
- typ5 lda aktwys,x
- sec
- sbc byte
- sta aktwys,x
- tay
- lda frqtab,y
- jmp t3
- typ6 lda frq,x
- sec
- sbc bajt
- sta frq,x
- sec
- lda #0
- sbc bajt
- sta pomoc1,x
- rts
- typ7 lda ltyp,x
- bne typ0
- lda bajt
- bpl t4
- lda vol2ch,x
- beq typ0
- lda vol1ch,x
- cmp #15
- beq typ0
- inc vol1ch,x
- rts
- t4 lda vol1ch,x
- beq typ0
- lda vol2ch,x
- cmp #15
- beq typ0
- inc vol2ch,x
- rts
- t5 ldy byte
- lda bajt
- bmi t6
- iny
- iny
- t6 dey
- tya
- sta byte
- cmp bajt
- bne t7
- lda bajt
- eor #$ff
- sta bajt
- t7 tya
- rts
- a2 adc frq,x
- a1 sta frq,x
- rts
- a3 ldy wysdzw,x
- adc frqtab,y
- sta frq,x
- tya
- sta aktwys,x
- rts
- a4 and $d20a
- sta frq,x
- rts
- a7 adc wysdzw,x
- a5 sta aktwys,x
- tay
- lda frqtab,y
- sta frq,x
- rts
- a6 sta aktwys,x
- tay
- lda frq,x
- adc frqtab,y
- sta frq,x
- rts
- nparam iny
- inc pozwpt,x
- lda (addr),y
- lsr @
- lsr @
- lsr @
- lsr @
- sta adcvl1,x
- lda (addr),y
- and #15
- sta adcvl2,x
- rts
- songx jsr stop
- ldy #15
- zm4 lda #0
- sta adrsng
- zm5 lda #0
- sta adrsng+1
- d5 txa
- beq inic
- d3 lda (adrsng),y
- bpl d4
- dex
- d4 clc
- lda adrsng
- adc #16
- sta adrsng
- bcc d5
- inc adrsng+1
- bcs d5
- playx jsr stop
- lda #0
- sta addr
- txa
- asl @
- asl @
- rol addr
- asl @
- rol addr
- asl @
- rol addr
- zm6 adc #0
- sta adrsng
- lda addr
- zm7 adc #0
- sta adrsng+1
- inic lda #64
- sta pozptr
- lda #1
- sta ltempo
- sta czygrc
- rts
- init cmp #$10
- bcc songx
- cmp #$20
- bcc playx
- cmp #$30
- bcs *+5
- jmp d2
- cmp #$40
- bcs i1
- txa
- and #15
- beq i1-1
- sta tempo
- rts
- i1 cmp #$50
- bcc stop
- cmp #$60
- bcs i2
- lda #0
- i3 sta czygrc
- rts
- i2 cmp #$70
- bcc i3
- lda #1
- sta ltempo
- lda #64
- sta pozptr
- sty addr
- stx addr+1
- ldy #30
- lda (addr),y
- sta tempo
- lda addr
- clc
- adc #32
- sta zm8+1
- bcc *+3
- inx
- stx zm8+2
- clc
- adc #$40
- sta zm9+1
- bcc *+3
- inx
- stx zm9+2
- clc
- adc #$40
- sta zm2+1
- bcc *+3
- inx
- stx zm2+2
- clc
- adc #$80
- sta zm3+1
- bcc *+3
- inx
- stx zm3+2
- clc
- adc #$80
- sta adrsng
- sta zm0+1
- sta zm4+1
- sta zm6+1
- bcc *+3
- inx
- stx adrsng+1
- stx zm1+1
- stx zm5+1
- stx zm7+1
- stop ldy #7
- lda #0
- sta czygrc
- d9 sta $d200,y
- sta $d210,y
- sta volume,y
- sta vol1ch,y
- sta vol2ch,y
- sta audctl,y
- sta czygrx,y
- dey
- bpl d9
- sta $d208
- sta $d218
- sta aud1
- sta aud2
- rts
- d1 sta vol1ch,x
- sta vol2ch,x
- sta audctl,x
- lda wysdzw,x
- sta aktwys,x
- rts
- d0 tya
- eor #$f0
- lsr @
- lsr @
- lsr @
- lsr @
- sta adcvl1,x
- tya
- and #15
- eor #15
- sta adcvl2,x
- rts
- d2 and #7
- sta addr
- txa
- ldx addr
- and #$3f
- beq d0
- sta wysdzw,x
- dzwiek lda #0
- sta czygrx,x
- zm8 lda $ffff,y
- sta adrsnl,x
- sta addr
- zm9 lda $ffff,y
- sta adrsnh,x
- sta addr+1
- ora addr
- beq d1
- ldy #74
- lda (addr),y
- sta opad1,x
- sta lopad1,x
- iny
- lda (addr),y
- sta opad2,x
- sta lopad2,x
- iny
- lda (addr),y
- and #$70
- lsr @
- lsr @
- sta typ,x
- lda (addr),y
- and #15
- sta param,x
- lda (addr),y
- bpl d7
- lda param,x
- eor #$ff
- clc
- adc #1
- sta param,x
- d7 iny
- lda (addr),y
- sta czekaj,x
- iny
- lda (addr),y
- and #$3f
- sta dtyp,x
- sta ltyp,x
- iny
- lda (addr),y
- and #$80
- beq d8
- lda #1
- d8 sta kolejn,x
- lda (addr),y
- and #$70
- lsr @
- lsr @
- lsr @
- lsr @
- sta ilperm,x
- bne d6
- sta kolejn,x
- d6 lda (addr),y
- and #15
- sta dperm,x
- sta lperm,x
- dey
- lda (addr),y
- and #$c0
- clc
- adc wysdzw,x
- sta wysdzw,x
- sta aktwys,x
- tay
- lda frqtab,y
- sta frq,x
- lda #0
- sta slupy,x
- sta pomoc1,x
- sta pomoc2,x
- sta aperm,x
- lda #1
- sta czygrx,x
- rts
- endplr end