[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Moving binary files to /RAM
"GarberStreet" <willy46pa@comcast.net> wrote in message
U9SdnWtLiM2RD2DcRVn-gA@comcast.com">news:U9SdnWtLiM2RD2DcRVn-gA@comcast.com...
>
> "Laine Houghton" <laine@intergate.com> wrote in message
> 10vr1sftgit59c6@corp.supernews.com">news:10vr1sftgit59c6@corp.supernews.com...
> :
> : "Simon Williams" <email@DELETE_THIS.luddite.no-ip.com> wrote in message
> : news:1gr5zon.d2hs7hoiep0yN%email@DELETE_THIS.luddite.no-ip.com...
> : > On a tangent, but still related:
> : >
> : > Just so you know why this matters, I'll explain what I'm up to: I'm
> : > trying to put together another drum sequencing program using DAC522 a
> la
> : > TIMELORD. I thought that by using /RAM to store the samples I could
> make
> : > use of more/bigger samples thus extending the programs capabilities
> : > however:
> : >
> : > I have 16 samples named "A"..."P", each 3072 bytes copied to
> : > /RAM/SAMPLES/
> : >
> : > I'm using this code to play them in order:
> : >
> : > 160 FOR F = 65 TO 80
> : > 170 PRINT CHR$(4)"BLOAD /RAM/SAMPLES/" CHR$(F) ",A$2000"
> : > 180 CALL 35840 : REM DAC522
> : > 190 NEXT F
> : >
> : > What happens, oddly enough, is that the first 12 samples play
> : > back-to-back as one would hope, but then there is a noticeable delay
> : > between the last four. I've tried this on a IIe, IIgs and IIc+ with
> the
> : > same result...
> : >
> : > Any ideas...?
> :
> : I did a test saving blocks of 1's 2's 3's......... 3072 bytes just as
> the
> : program would do. The 12's representing the 12'th file ends right at
> $BFFF
> : The 13'th to 16'th files would be contained in the bank 1 bank 2 and
> beyond
> : memory.
> :
> : I'm guessing that the bank switching overhead introduces an unavoidable
> : delay that a program such as yours is sensative to.
> :
> : A good incentive to get down to the assy work. With a 1 meg card you
> could
> : move 12 files worth of samples to successive 64k banks.
> :
> : If I did my napkin math correctly that would be 180 files and it should
> work: as smooth as the 12 alone.
> :
> : Laine...
>
> My suggestion would be to try moving the first 3072 into memory
> at one location and start playing, then while playing, move second
> 3072 into another part of ram at another location, then alternate
> them until all of the sections are played. Would this work, and also
> would it solve the problem?
A 1.2 MHz Apple II is not a good candidate for a multitasking machine.
Just moving the upper end of memory into the area the DAC requires is slow
enough that the user is jolted. Based on Simon's observations.
If I don't get dragged of in a different direction I'll write a little tool
to move the memory around that is controlled from basic.
Laine...