Wrathchild Posted February 3, 2009 Share Posted February 3, 2009 Hi, One of the things on my 'things to do' list was to have the Last Ninja 3 tune's from the C64 play on the Atari. The original Sid Player didn't load the LN3 SID tune due to memory usage conflicts so I re-located the code and tables that it uses such that the tunes could run. Sadly tunes 6 & 7 of the 10 crash the Atari and so I changed the start tune to 8 such that the tunes can be cycled through (by pressing space). Tune 3 is the intro tune I like - sounds OK too. By using something like AtrUtil you can import other SID tunes to the disk image that may not have worked for you against the original 1.0 beta. Regards, Mark sid_ln3.zip Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 (edited) Hi Mark, I've been using Święty's SID2POKEY recently, I got the sources from Tebe, it's a nice way to use SID's. I'll ask Tebe if it's ok to PM you the sources, I'm not sure if they are public. Tebe has used the routine in his conversion of the game "Nibbly" a couple of years ago, it's actually the sid songs used in the game. Edited February 3, 2009 by Tezz Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2009 Share Posted February 3, 2009 Seems to crash here on the emu after a short time. How does this work? Is everything using wave tables? Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 sorry to deviate from the original question about SIDPLAY but, if you're interested in SID2POKEY (and in case anyone missed it a couple of years back), basically it's much more useful as it doesn't use a CPU intensive "Softsynth" method like SIDPlay but uses normal POKEY functions, it enables playing of the SIDs via precalculation frequencies which emulate the SIDs ADSR envelope. There's some further info on SID2POKEY on the Polish sites but no updates as Saint hasn't been active with the Atari since then (as far as I know) Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 3, 2009 Share Posted February 3, 2009 oh. I would be interested in the sources... at least if his converter is better than the ones used for the HARD productions (Veronika, Joyride, etc.) Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 oh. I would be interested in the sources... at least if his converter is better than the ones used for the HARD productions (Veronika, Joyride, etc.)Hi Heaven, here's an example attached of the two main Nibbly subtunes along with the sid file. I've been using SIDedit for Windows to relocate other sids. I'll ask Tebe if it's ok to post the sources here or to PM them.sid2pokey_example.zip Quote Link to comment Share on other sites More sharing options...
emkay Posted February 3, 2009 Share Posted February 3, 2009 What's really interesting for me....: How are some percussions and hihats done with the C64... double.zip Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 3, 2009 Share Posted February 3, 2009 (edited) they sound better than Sanyi's HARDsid method... heheh...and it is from Drax... just saw the credits in sid2play... one of the best... Edited February 3, 2009 by Heaven/TQA Quote Link to comment Share on other sites More sharing options...
miker Posted February 3, 2009 Share Posted February 3, 2009 (edited) @Heaven: a bit better - AUDCTL ($d208) is used here for increasing note-resolution (more octaves on 8-bit channels). Just got this zip from TeBe - it contains sid2pokey procedure used in Nibbly with sources. Warning - comments are in Polish! Edit: This particular one works only with sid loaded from $a000 So, let's go with it... nibbly_msx.zip Edited February 3, 2009 by miker Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted February 3, 2009 Author Share Posted February 3, 2009 This particular one works only with sid loaded from $a000 Thanks guys - don't worry about this - I'll be CA65'ing it anyway Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 Just got this zip from TeBe - it contains sid2pokey procedure used in Nibbly with sources. Warning - comments are in Polish! So, let's go with it... cool, saves me asking if it's ok to post it here then Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted February 3, 2009 Share Posted February 3, 2009 This particular one works only with sid loaded from $a000 Thanks guys - don't worry about this - I'll be CA65'ing it anyway Mark...no... translate the comments instead... Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 .no... translate the comments instead... I've already done that a couple of months ago, I'll go and dig out the edited sources... Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 I translated it quickly at the time via Google translate so it should really be edited into better English.. First part...... /* INIT - initialization player for song DEFSONG LOOP - main loop and synchronizing with frame RELOCATE_MEM - prescribes higher SID'a at the address stored in the module LOAD_ADRESS LOAD_ADRESS - SID address model in RAM, stored in reverse order (hi, lo) EMULATOR - propriate player SID 21.06.2006 */ * --- PLAYER Using ZERO ENERGY OD $F0..$FF --- * .public emulator, sid_init, sid_restart, sid_mem, sid_end, sid_stop ORG $a000 ; address is consistent with the address of the SID file and ; follows the relocation of this place in the same place sid_mem = $a000 ; ins 'nibbly.sid' sid_end = sid_mem + 4460 ; Length of SID file .print 'SID: ',sid_mem,'..',sid_end *--- SID2POKEY PLAYER org $9000 noise_tab equ * Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 dta b($ff,$ff,$c8,$a4,$80,$60,$40,$20,$20,$1C,$19,$17,$15,$14,$12,$11) dta b($10,$0F,$0E,$0E,$0D,$0C,$0C,$0B,$0B,$0A,$0A,$0A,$09,$09,$09,$09) dta b($08,$08,$08,$08,$07,$07,$07,$07,$07,$07,$06,$06,$06,$06,$06,$06) dta b($06,$06,$06,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05,$05) dta b($04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04) dta b($04,$04,$04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03) ;5 dta b($03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03) ;6 dta b($03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03) ;7 dta b($03,$03,$03,$03,$03,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;8 dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;9 dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;a dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;b dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;c dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;d dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ;e dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$01,$01) ;f ; dla 15 khz loval_15 dta b($00,$00,$ff,$01,$67,$56,$25,$01,$E4,$34,$8C,$AB,$63,$93,$23,$01) dta b($1F,$72,$F3,$9A,$62,$46,$43,$56,$7B,$B2,$F7,$4A,$A8,$12,$85,$01) dta b($84,$10,$A1,$39,$D7,$7A,$21,$CD,$7D,$31,$E9,$A3,$61,$22,$E5,$AB) dta b($73,$3E,$0B,$D9,$AA,$7C,$50,$25,$FC,$D4,$AE,$89,$65,$43,$21,$01) dta b($E1,$C2,$A5,$88,$6C,$51,$37,$1D,$04,$EC,$D4,$BD,$A7,$91,$7C,$67) dta b($53,$3F,$2C,$19,$07,$F5,$E3,$D2,$C1,$B1,$A1,$91,$82,$73,$64,$56) dta b($48,$3A,$2C,$1F,$12,$06,$F9,$ED,$E1,$D5,$C9,$BE,$B3,$A8,$9D,$93) dta b($88,$7E,$74,$6A,$61,$57,$4E,$45,$3C,$33,$2A,$22,$19,$11,$09,$01) dta b($F9,$F1,$E9,$E1,$DA,$D3,$CB,$C4,$BD,$B6,$AF,$A9,$A2,$9C,$95,$8F) dta b($88,$82,$7C,$76,$70,$6A,$65,$5F,$59,$54,$4E,$49,$43,$3E,$39,$34) dta b($2F,$2A,$25,$20,$1B,$16,$11,$0D,$08,$04,$FF,$FB,$F6,$F2,$ED,$E9) dta b($E5,$E1,$DD,$D9,$D5,$D1,$CD,$C9,$C5,$C1,$BD,$BA,$B6,$B2,$AF,$AB) dta b($A8,$A4,$A1,$9D,$9A,$96,$93,$90,$8D,$89,$86,$83,$80,$7D,$7A,$77) dta b($74,$71,$6E,$6B,$68,$65,$62,$5F,$5D,$5A,$57,$54,$52,$4F,$4C,$4A) dta b($47,$44,$42,$3F,$3D,$3A,$38,$35,$33,$31,$2E,$2C,$2A,$27,$25,$23) dta b($20,$1E,$1C,$1A,$17,$15,$13,$11,$0F,$0D,$0B,$09,$07,$05,$03,$01) Index_15 dta $00,$00,$56,$2A,$1A,$11,$C,$9,$8,$5,$5,$4,$3,$3,$2,$2 dta $2,$2,$2,$1,$1,$1,$1,$1,$1,$1,$1,$0,$1,$80,$1,$80 dta $1,$80,$1,$80,$1,$80,$80,$1,$80,$80,$1,$80,$80,$80,$1,$80 dta $80,$80,$80,$1,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$80 dta $1,$80,$80,$80,$80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $1,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 Look_15 dta b($00,$00,$FF,$A9,$7F,$65,$54,$48,$3F,$37,$32,$2D,$29,$26,$23,$21) dta b($1F,$1D,$1B,$19,$18,$17,$16,$15,$14,$13,$12,$11,$11,$10,$10,$0F) dta b($0F,$0E,$0E,$0D,$0D,$0C,$0C,$0C,$0B,$0B,$0B,$0A,$0A,$0A,$0A,$09) dta b($09,$09,$09,$09,$08,$08,$08,$08,$08,$07,$07,$07,$07,$07,$07,$07) dta b($07,$06,$06,$06,$06,$06,$06,$06,$06,$06,$05,$05,$05,$05,$05,$05) dta b($05,$05,$05,$05,$05,$05,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04) dta b($04,$04,$04,$04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03) dta b($03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03) dta b($03,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) dta b($02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02) ; dla 64 khz loval_64 dta b($00,$FF,$FF,$FF,$FF,$FF,$FF,$00,$FF,$9E,$75,$81,$B6,$5A,$E5,$F8) dta b($A0,$D0,$B7,$3B,$44,$C1,$A3,$DC,$63,$2E,$35,$73,$E2,$7D,$3F,$25) dta b($2C,$50,$90,$E8,$57,$DC,$74,$1E,$D8,$A2,$7B,$61,$53,$52,$5B,$6E) dta b($8B,$B2,$E0,$17,$55,$9B,$E7,$3A,$93,$F1,$55,$BF,$2D,$A0,$17,$93) dta b($13,$96,$1D,$A8,$37,$C8,$5D,$F4,$8F,$2C,$CC,$6E,$13,$BA,$64,$F) dta b($BD,$6C,$1E,$D1,$87,$3E,$F6,$B1,$6D,$2A,$E9,$A9,$6B,$2E,$F2,$B7) dta b($7E,$46,$F,$D9,$A4,$70,$3E,$C,$DB,$AB,$7C,$4E,$20,$F4,$C8,$9D) dta b($73,$4A,$21,$F9,$D2,$AB,$85,$60,$3B,$17,$F3,$D0,$AE,$8C,$6A,$4A) dta b($29,$A,$EA,$CB,$AD,$8F,$71,$54,$38,$1C,$0,$E4,$C9,$AF,$94,$7A) dta b($61,$48,$2F,$16,$FE,$E6,$CF,$B7,$A0,$8A,$73,$5D,$48,$32,$1D,$ dta b($F3,$DF,$CA,$B6,$A3,$8F,$7C,$69,$56,$44,$31,$1F,$D,$FB,$EA,$D9) dta b($C7,$B7,$A6,$95,$85,$75,$65,$55,$45,$36,$26,$17,$8,$F9,$EA,$DC) dta b($CE,$BF,$B1,$A3,$95,$88,$7A,$6D,$5F,$52,$45,$38,$2C,$1F,$13,$6) dta b($FA,$EE,$E2,$D6,$CA,$BE,$B3,$A7,$9C,$90,$85,$7A,$6F,$64,$5A,$4F) dta b($44,$3A,$2F,$25,$1B,$11,$7,$FD,$F3,$E9,$DF,$D6,$CC,$C3,$B9,$B0) dta b($A7,$9E,$95,$8C,$83,$7A,$71,$68,$60,$57,$4F,$46,$3E,$35,$2D,$25) Index_64 dta $00,$00,$00,$00,$00,$00,$00,$00,$19,$17,$13,$10,$D,$C,$9,$9 dta $8,$7,$6,$5,$5,$5,$4,$4,$3,$3,$3,$3,$3,$2,$2,$2 dta $2,$2,$2,$2,$1,$2,$1,$1,$2,$1,$1,$1,$1,$1,$1,$1 dta $1,$1,$1,$80,$1,$1,$1,$80,$1,$1,$80,$1,$80,$1,$80,$1 dta $80,$1,$80,$1,$80,$1,$80,$1,$80,$80,$1,$80,$80,$1,$80,$80 dta $1,$80,$80,$1,$80,$80,$1,$80,$80,$80,$1,$80,$80,$80,$1,$80 dta $80,$80,$80,$1,$80,$80,$80,$80,$1,$80,$80,$80,$80,$1,$80,$80 dta $80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $1,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$1,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$1,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $1,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$1,$80,$80,$80,$80,$80,$80,$80,$80 dta $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80 Look_64 dta b($00,$00,$00,$00,$00,$00,$00,$00,$FF,$E6,$CF,$BC,$AC,$9F,$93,$8A) dta b($81,$79,$72,$6C,$67,$62,$5D,$59,$55,$52,$4F,$4C,$49,$46,$44,$42) dta b($40,$3E,$3C,$3A,$38,$37,$35,$34,$33,$31,$30,$2F,$2E,$2D,$2C,$2B) dta b($2A,$29,$28,$27,$27,$26,$25,$24,$24,$23,$22,$22,$21,$21,$20,$20) dta b($1F,$1F,$1E,$1E,$1D,$1D,$1C,$1C,$1B,$1B,$1B,$1A,$1A,$1A,$19,$19) dta b($19,$18,$18,$18,$17,$17,$17,$16,$16,$16,$16,$15,$15,$15,$15,$14) dta b($14,$14,$14,$14,$13,$13,$13,$13,$13,$12,$12,$12,$12,$12,$11,$11) dta b($11,$11,$11,$11,$10,$10,$10,$10,$10,$10,$10,$F,$F,$F,$F,$F) dta b($F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$E,$E,$E,$E,$E) dta b($E,$E,$E,$E,$E,$D,$D,$D,$D,$D,$D,$D,$D,$D,$D,$D) dta b($D,$C,$C,$C,$C,$C,$C,$C,$C,$C,$C,$C,$C,$C,$B,$B) dta b($B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$A,$A) dta b($A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A,$A) dta b($A,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9) dta b($9,$9,$9,$9,$9,$9,$9,$9,$8,$8,$8,$8,$8,$8,$8,$ dta b($8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$8,$ ; TABLICE DLA ATTACK att_a dta $0f,$0f,$0f,$0d,$08,$05,$04,$04,$03,$01,$00,$00,$00,$00,$00,$00 att_u dta $00,$00,$00,085,107,182,180,000,051,071,163,102,081,027,016,010 ; TABLICE DLA DECAY dec_a dta $0f,$0d,$06,$04,$02,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00 dec_u dta $00,085,170,113,206,231,145,085,017,109,054,034,027,009,005,003 x28tab dta 0,28,56,84,112,140,168,196,224,252,255 m_init jmp (init_adress) m_play jmp (play_adress) sid_version brk sid_offset dta a(0) hlenght dta $20 load_adress dta a($0010) END_ADRESS dta a(sid_end) init_adress dta a($1000) play_adress dta a($1003) buf_start dta a(0) songs dta 1 defsong dta 1 header dta b($50,$53,$49,$44) zp_bufor :4 brk sid_regmap :32 brk zp_tmp1 equ $f0 ; $20 zp_tmp2 equ zp_tmp1+1 zp_tmp6 equ zp_tmp2+1 zp_tmp7 equ zp_tmp6+1 c12_lo equ zp_tmp1 c12_hi equ zp_tmp2 c1_frqlo equ zp_tmp2 c1_frqhi equ zp_tmp1 c1_pwlo equ sid_regmap+2 c1_pwhi equ sid_regmap+3 c1_ctrl equ zp_tmp7 c1_atde equ sid_regmap+5 c1_stre equ sid_regmap+6 c2_frqlo brk c2_frqhi brk c2_pwlo equ sid_regmap+9 c2_pwhi equ sid_regmap+10 c2_ctrl brk c2_atde equ sid_regmap+12 c2_stre equ sid_regmap+13 c3_frqlo brk c3_frqhi brk c3_pwlo equ sid_regmap+16 c3_pwhi equ sid_regmap+17 c3_ctrl brk c3_atde equ sid_regmap+19 c3_stre equ sid_regmap+20 sid_init sta defsong nextsong jsr siddescription beq good_sid good_sid equ * lda load_adress+1 sta $fe lda load_adress sta $ff ldx hlenght test ldy #0 lda ($fe),y ; cmp #{ldx $8000,y} ; beq testd cmp #{sta $8000} beq testd cmp #{sta $8000,x} beq testd cmp #{sta $8000,y} beq testd cmp #{stx $8000} beq testd cmp #{sty $8000} bne testn testd ldy #2 lda ($fe),y cmp #$d4 ; jmp testn bne testn dey lda ($fe),y ; and #31 cmp #31 bcs testn adc <sid_regmap sta ($fe),y lda >sid_regmap adc #0 iny sta ($fe),y lda $fe adc #3 sta $fe bcc test bcs sprhi testn inc $fe bne test sprhi inc $ff beq restart dex bpl test lda #3 sta $d20f sta $d21f restart ldx #0 txa clr_sid sta sid_regmap,x inx cpx #$20 bne clr_sid lda #0 sta $314 sta $315 ldx defsong dex txa tay jsr m_init ldx $314 beq no_c64nmi lda $315 beq no_c64nmi stx play_adress sta play_adress+1 ; lda #{rts} ; sta $ea31 no_c64nmi ; sei ; lda #$fe ; sta $d301 ldy #0 sty c1_oldctrl sty c2_oldctrl sty c3_oldctrl sty ch1_vol sty ch2_vol sty ch3_vol sty ch1_adsr sty ch2_adsr sty ch3_adsr sty ch1_cnt sty ch2_cnt sty ch3_cnt rts EMULATOR ; dec $d01a JSR M_PLAY ; SID to POKEY routine ver. 2.99 ; dynamic channel allocation ; lda #128 ; sta $d01a ;----------------- ;Emulation AdSR procedure, and the rest of SID ;----------------- MAX_15 EQU 13 lda zp_tmp1 sta zp_bufor lda zp_tmp2 sta zp_bufor+1 lda zp_tmp6 sta zp_bufor+2 lda zp_tmp7 sta zp_bufor+3 ; kopiowanie zmiennych do remapowania w locie ! lda sid_regmap+4 sta c1_ctrl ; AdSR service volume, and whether something should be played ; kanal 1 ; lda c1_ctrl lsr @ bcc new1 lda #0 c1_oldctrl equ *-1 and #1 bne new1 ; lda #0 sta ch1_adsr sta ch1_cnt new1 lda c1_ctrl ; read the record of control sta c1_oldctrl and #8 ; bit test - 1 zero beq play1 ldx #1 ; adsr =0 stx ch1_vol ; mute_channel dex stx ch1_cnt stx ch1_adsr beq mute1 Quote Link to comment Share on other sites More sharing options...
Tezz Posted February 3, 2009 Share Posted February 3, 2009 This is way too long to post I'll just attach it Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.