| |
zenda
Registered: Nov 2006 Posts: 22 |
BASIC Demo - using sid ??!
Hi.
I would like to use this tune in a Basic-demo, but don't know if it is/how it is possible ?? http://www.c64.org/HVSC/MUSICIANS/H/Haard_Lars/Captured.sid
and how do I "capture" it into the basiccode ??
/zenda
17 years ago I could make an asm-demo - now I can do a
10 ? "yes sir I can boogie"
20 goto 10
;-) |
|
... 3 posts hidden. Click here to view all posts.... |
| |
zenda
Registered: Nov 2006 Posts: 22 |
Hi
thanx for the replies...
Rambones - I'll send you a d64...
/Zenda |
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
@rambones: Avoid $8000-$9FFF for player, because many cartridges with BASIC extensions will crash if you combine BASIC + music then. |
| |
null Account closed
Registered: Jun 2006 Posts: 645 |
/me knows that all to well... but you can also just kill the cartridge after loading... works good enough
anyways, I'm curious about when it's done... =)
------------------------------------
Knoeki/DigitalSoundsSystem/SwappersWithAttitude |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Hehe, graham, the music IS at 7800-8300..
Now i need to ask a question, he wants a STOP function built in. So how do i properly STOP the IRQ ?
first i did:
sei
lda $0315
sta $c000
lda $0314
sta $c001
lda #>irq
sta $0315
;setup irq and play music
...
then..:
stop:
sei
lda $c000
sta $0315
lda $c001
sta $0314
lda #0
sta $d418
cli
rts
but this dont work, as the basic then halts..
How to to it clean and proper ?
|
| |
Mace
Registered: May 2002 Posts: 1799 |
Usually, the IRQ is just $EA31, so why not just reset those values in $0314/$0315?
Also, you only set $0315 in the example above.
|
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Got it working now.
I had installed a raster irq, and that wouldnt stop properly, now i just used plain CIA (which the music is anyway).
all ok :)
|
| |
JackAsser
Registered: Jun 2002 Posts: |
Just redirect $0314/15 to their default values (i.e. $ea31), also stop the raster IRQs from being generated ($d01a=0). Your stop routine garbages the A-register, I dunno if that's the cause to your problems.
try:
stop:
sei
pha
lda #<$ea31
sta $0314
lda #>$ea31
sta $0315
lda #$00
sta $d418
sta $d01a
pla
cli
rts
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote:Hehe, graham, the music IS at 7800-8300..
It is now, but you could always relocate it somewhere else if that's a problem.
Always an interesting exercise! ;)
BTW, If you look in the original game, e.g Captured, it already contains an interrupt player.
It doesn't $ea31 and it doesn't allow you to reset the IRQ, but the rest is there.
Patch:
[Reset]
POKE30760,76
POKE30761,49
POKE30762,234
Start:
SYS30732
Stop:
SYS65418:POKE54296,0
Note: 65418 ($ff8a) is actually unsafe (no SEI) but will only fail if an interrupt occurs when just the MSB of the interrupt vector has been overwritten.
|
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
No worries, got it playing, and stopping with BASIC ok.
|
| |
null Account closed
Registered: Jun 2006 Posts: 645 |
Quote:It is now, but you could always relocate it somewhere else if that's a problem.
Always an interesting exercise! ;)
o.O intresting, yes.... quick, no... ;)
------------------------------------
Knoeki/DigitalSoundsSystem/SwappersWithAttitude |
Previous - 1 | 2 - Next |