p3xtraplayer
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| p3xtraplayer [2016/05/04 22:36] – darkbyte | p3xtraplayer [2017/02/16 13:30] (current) – darkbyte | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== protracker 3 extra player ==== | + | ====PT3 extreme |
| + | |||
| + | ---- | ||
| + | |||
| + | //Syntax is for ASL.// | ||
| <code z80> | <code z80> | ||
| Line 11: | Line 15: | ||
| cpu z80undoc | cpu z80undoc | ||
| relaxed on | relaxed on | ||
| - | |||
| - | |||
| - | music_init equ p3x_init | ||
| - | music_play equ p3x_play | ||
| - | music_stop equ p3x_mute | ||
| Line 21: | Line 20: | ||
| demo di | demo di | ||
| - | call music_init | + | ld hl, |
| + | call p3x_initv0 | ||
| demoloop ei | demoloop ei | ||
| halt | halt | ||
| - | call music_play | + | call p3x_play |
| jr demoloop | jr demoloop | ||
| + | |||
| + | ; bit.0 if you want to play without looping | ||
| + | ; bit.1 if you play looped but fadeout after few seconds | ||
| + | ; bit.7 is set each time when loop is passed | ||
| + | p3x_setup: | ||
| ; | ; | ||
| - | p3x_init: | + | p3x_init: |
| p3x_initv0: | p3x_initv0: | ||
| ld (mdaddr2+1), | ld (mdaddr2+1), | ||
| Line 36: | Line 41: | ||
| ld de,100 | ld de,100 | ||
| add hl,de | add hl,de | ||
| + | dec hl | ||
| + | ld a,(hl) | ||
| + | ld (NoteTableMode+1), | ||
| + | inc hl | ||
| ld a,(hl) | ld a,(hl) | ||
| ld (Delay+1), | ld (Delay+1), | ||
| Line 91: | Line 100: | ||
| ld bc, | ld bc, | ||
| ldir | ldir | ||
| - | inc a | ||
| - | ld (DelyCnt), | ||
| ld hl, | ld hl, | ||
| ld (ChanA+CHP_NtSkCn), | ld (ChanA+CHP_NtSkCn), | ||
| Line 103: | Line 110: | ||
| ld (ChanC+CHP_OrnPtr), | ld (ChanC+CHP_OrnPtr), | ||
| - | xor a | ||
| ld (p3x_globalvol+1), | ld (p3x_globalvol+1), | ||
| ld (chkfadeout+1), | ld (chkfadeout+1), | ||
| - | ld a,(NoteTableMode) | + | inc a |
| + | ld (DelyCnt),a | ||
| + | |||
| + | NoteTableMode: | ||
| rla | rla | ||
| and 7 | and 7 | ||
| Line 451: | Line 460: | ||
| ret | ret | ||
| - | c_p3x_delay: ld a,(bc) | + | c_delay: ld a,(bc) |
| inc bc | inc bc | ||
| ld (Delay+1), | ld (Delay+1), | ||
| Line 499: | Line 508: | ||
| dw c_nop | dw c_nop | ||
| dw c_engls | dw c_engls | ||
| - | dw c_p3x_delay | + | dw c_delay |
| dw c_nop | dw c_nop | ||
| dw c_nop | dw c_nop | ||
| Line 841: | Line 850: | ||
| ret | ret | ||
| - | enablefade: | + | ;zavolat forcefade s 1 v akumulatore pre dohranie modulu fadeoutom |
| + | enablefade: ld a,48 | ||
| + | forcefade: | ||
| inc (hl) | inc (hl) | ||
| ld hl, | ld hl, | ||
| ld (resetfadeout+1), | ld (resetfadeout+1), | ||
| ld (resetfadeout1+1), | ld (resetfadeout1+1), | ||
| - | ld a,48 | ||
| ld (conutfadeout+1), | ld (conutfadeout+1), | ||
| ld (divfadeout+1), | ld (divfadeout+1), | ||
| Line 864: | Line 874: | ||
| divfadeout: | divfadeout: | ||
| srl a | srl a | ||
| + | ld l,a | ||
| + | srl l | ||
| + | add a,l | ||
| jr nz, | jr nz, | ||
| inc a | inc a | ||
| Line 1045: | Line 1058: | ||
| - | ; bit.0 if you want to play without looping | ||
| - | ; bit.1 if you play looped but fadeout after few seconds | ||
| - | ; bit.7 is set each time when loop is passed | ||
| - | p3x_setup: | ||
| + | org $C000 | ||
| ; | ; | ||
| - | ; music in ProTracker 3.6 (Vortex Tracker II) format | + | ; music in ProTracker 3.6 (Vortex Tracker II) format |
| - | songdata binclude " | + | songdata binclude " |
| + | </ | ||
| - | NoteTableMode equ songdata | + | ---- |
| - | p3x_delay equ songdata+1 | + | |
| - | MDLADDR equ songdata-99 | + | |
| - | </ | + | |
| - | Navigation: [[general]] . [[math]] . [[graphic]] . [[sound]] . [[system]] . [[other]] . back to [[start]] | + | **Navigation: [[general]] . [[math]] . [[graphic]] . [[sound]] . [[system]] . [[other]] . back to [[start]]** |
p3xtraplayer.1462394164.txt.gz · Last modified: 2016/05/04 22:36 by darkbyte
