Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Acorn Invaders (Sound & Music...)

1 view
Skip to first unread message

garet...@yahoo.com

unread,
Jul 1, 2008, 7:55:00 AM7/1/08
to
I am still using TrackerModule v4.0x for the music. Is this 32/26bit
neutral?
If not, is there a similar module that is?

I'm still missing SFX... I'm looking for some period analog/discrete
type effects from the era of the original Taito arcade. Information on
how to mix them with the music track would be useful. Ideally a music
module that allowed me to cache sampled effects would be nice. In the
time I've been away from the scene, I'd forgotton how much of a PIG
the audio could be from within BASIC. Ideally I'd have created sound
effects using SOUND & ENVELOPE commands, as the sound chip in the Beeb
was similar if not the same as the one in the original Taito arcade.
Acorn in their wisdom of course, never provided SOUND & ENVELOPE
backwards compatibility with the 8bit BBC hardware though, did they?
(Not directly from BASIC anyway.)

I've heard that both BeebSound & Zeribeeb (Could be Zeribeep, not
sure) can be used to emulate Beeb audio. However, if I'm to use these,
I'm going to need documentation/examples of how they can be used from
within BASIC. I've only ever seen them as part of compiled programs,
and never seen any documentation. The other big question of course is
how compatible are these with TrackerModule?

I would appreciate any help that I can get as far as this is
concerned, as once I've finished the changes to the internal timers
(happening now) I'll be cracking on with fully implementing sound.

Thanks in advance...

garet...@yahoo.com

unread,
Jul 1, 2008, 7:57:00 AM7/1/08
to
Oh... I forgot...

The site should be up on a permanent basis now and the source code for
this project can be viewed from http://www.garethlock.com/acorn/invaders

Alex Macfarlane Smith

unread,
Jul 1, 2008, 7:01:19 PM7/1/08
to
garet...@yahoo.com wrote:
> I am still using TrackerModule v4.0x for the music. Is this 32/26bit
> neutral?
> If not, is there a similar module that is?
>
I did do a 32-bit version of QTMTracker at one point, but no-one
confirmed whether it worked on any 32-bit platforms. I may still have it
kicking around, or someone else may have done a better one.

Alex.

garet...@yahoo.com

unread,
Jul 2, 2008, 7:53:41 AM7/2/08
to
On Jul 2, 12:01 am, Alex Macfarlane Smith <nos...@archifishal.co.uk>
wrote:

Thanks Alex... That would be helpful... I'm familiar with QTMTracker,
so it shouldn't be a big learning curve...

Martin Hansen

unread,
Jul 4, 2008, 2:42:46 PM7/4/08
to
> I did do a 32-bit version of QTMTracker at one point, but no-one
> confirmed whether it worked on any 32-bit platforms. I may still have it
> kicking around, or someone else may have done a better one.
> Alex.

OK. I need bringing up to speed on this.

Is QTMTracker the same as QTMModule ?

I just posted a new post because I'm after QTMModule, which I think
got 32-bitted, but all references to which now take me to a dead link.

Regards,
Martin.

Alex Macfarlane Smith

unread,
Jul 5, 2008, 6:00:45 AM7/5/08
to

I have a 32-bit version, but it doesn't play music on either RO5 (IIRC)
or RO6 (I'm guessing because the Sound system changed in some subtle way).

Alex.

Martin Hansen

unread,
Jul 6, 2008, 8:30:25 AM7/6/08
to
On 5 Jul, 11:00, Alex Macfarlane Smith <nos...@archifishal.co.uk>
wrote:
> Alex.- Hide quoted text -
>
> - Show quoted text -

OK, Alex. If you'd be kind enough to email that to me, I'll try it
out.

Going back to the top : if I were starting from scratch, what is the
best way to play background music to a game, but have the game sound
effects pass through ?

Regards,
Martin.

Alex Macfarlane Smith

unread,
Jul 6, 2008, 6:36:40 PM7/6/08
to

I believe the best way is to use the SharedSound system - this allows
multiple sound clients to generate sound and it gets combined when
output to the sound system. (I think)

There was documentation on how to use it at
http://www.espmusic.co.uk/ssnd.htm, but this has been missing for quite
a while - other people may still have the details I guess.

Alex.

Martin Hansen

unread,
Jul 8, 2008, 5:56:55 AM7/8/08
to
> I'm still missing SFX... I'm looking for some period analog/discrete
> type effects from the era of the original Taito arcade

Gareth,
There are a ton of sounds at:

http://arcade.demon.co.uk/filepages/file47.htm

I don't know if any are suitable - came across the page while looking
for something else.
Regards,
Martin.

garet...@yahoo.com

unread,
Jul 10, 2008, 11:08:30 AM7/10/08
to

Thanks Martin... I'll take a look at these when I get in... As things
stand, I've glued things together in a rudementary fashion adding the
new SWIs to the lookup table and got the module and music to load,
however, I'm not getting and sound out. I do get the occasional single
first note, then all sounds cuts out... I'm only using the basic
TimPlayer module here though, I haven't used any of the surrounding
glue that you provided me with. Although it helped me figure things
out, along with the StongHelp file, all I needed was the core
player... Nice to find something on RISC OS that plays the common PC
Tracker formats though.

I'll post the listing up when I get in. If you could have a quick look
at it when you get the chance. Personally I can't see where I'm going
wrong here... I use the same calls from the BASIC interpreter with the
module loaded and the music plays fine... Where does TimPlayer load
the file to in memory?? I'm using a dynamic heap allocation library
(LibASH, A variation on Steve Rivell's Application Slot Heap library
for BASIC) for memory management here... Could it be that I'm
inadvertantly trashing the buffer used by TimPlayer??

Answers on a postcard please... ;-)

Thanks in advance

Gareth

garet...@yahoo.com

unread,
Jul 10, 2008, 12:03:55 PM7/10/08
to
On Jul 10, 4:08 pm, garethl...@yahoo.com wrote:
>
> Thanks Martin... I'll take a look at these when I get in... As things
> stand, I've glued things together in a rudementary fashion adding the
> new SWIs to the lookup table and got the module and music to load,
> however, I'm not getting and sound out. I do get the occasional single
> first note, then all sounds cuts out... I'm only using the basic
> TimPlayer module here though, I haven't used any of the surrounding
> glue that you provided me with. Although it helped me figure things
> out, along with the StongHelp file, all I needed was the core
> player... Nice to find something on RISC OS that plays the common PC
> Tracker formats though.
>
> I'll post the listing up when I get in. If you could have a quick look
> at it when you get the chance. Personally I can't see where I'm going
> wrong here... I use the same calls from the BASIC interpreter with the
> module loaded and the music plays fine... Where does TimPlayer load
> the file to in memory?? I'm using a dynamic heap allocation library
> (LibASH, A variation on Steve Rivell's Application Slot Heap library
> for BASIC) for memory management here... Could it be that I'm
> inadvertantly trashing the buffer used by TimPlayer??
>
> Answers on a postcard please... ;-)
>
> Thanks in advance
>
> Gareth

Had a further play with the code when I got home and worked out why
the music wasn't playing. Got that going... Soon after that, I had the
music toggle function up and running... Still something screwy with
the volume controls though... Can you help me with this Martin, if I
post the code up on the download page... Calls to FNswi_get() in the
30 range are to the music player, FNswi_get(6) is
OS_ReadMonotonicTime. You can find the code in the usual place at
http://www.garethlock.com/acorn/invaders

Martin Hansen

unread,
Jul 10, 2008, 4:59:08 PM7/10/08
to
On 10 Jul, 17:03, garethl...@yahoo.com wrote:
> On Jul 10, 4:08 pm, garethl...@yahoo.com wrote:

> music toggle function up and running... Still something screwy with
> the volume controls though... >

In the sample app I sent you I used

SYS "TimPlayer_SongVolume", song%, 128

The 128 was half volume : You can push it up to 256 for nominal fulll
volume. On RISC OS 6 on my StrongARM RiscPC this is defening and
distorted: On the Iyonix it's loud but not distorted - that's why I
chopped it down to 128.

Have you tried running several versions of the tune at the same time ?
I did before I inserted the Song_Unload instruction : I was starting
to go mad, as, indeed, where the rest of the household.

I think, from the StrongHelp documentation, you can push it up to 1024
but this is to do with mixing in other signals which I haven't looked
at yet . I've spent today updating websites, but I'll look into
hunting out sound effects and mixing them through the background audio
tomorrow.

I'm impressed at how much you are pushing this onward... Sorry, I've
not kept up with you today.

Regards,
Martin.

garet...@yahoo.com

unread,
Jul 10, 2008, 6:58:31 PM7/10/08
to

I can alter the volume from the command line, that's not the
problem... The problem arises when I attach the keypad "+" & "-" keys
to provide a volume control from within the game... The setting of 256
seems to match the output of TrackerModule when set to full output of
127 so I've got the same as I had before. (On my test machines at any
rate.) I haven't uploaded the new version on the website yet as I seem
to remember you wanting me to keep a lid on it. However, I can mail
you the archive that I would have uploaded today, with the work I've
done with TimPlayer so far if you'd prefer. Just let me know here if
that's the way you want to go...

In response to the comment about progress... It's amazing what you can
perform when given a free day and a suite of Acorns at the local
computer club. ;-)

Anyhow, I look forward to your reply...

garet...@yahoo.com

unread,
Jul 10, 2008, 7:09:10 PM7/10/08
to
Oh... I forgot to mention... If you allow me to send you the archive
which includes the Tools I use to encode the LUTs that FNswi_get(),
FNstring_get() & FNsprite_get() search through, you can find the raw
text versions of these LUTs by running !DevEnv and Shift-Clicking !
Strings. The raw files are named SWIs, Strings & ImgLUT (I think)
respectively... Anyhow... You can tell from their names what they are.

Each line consists of a number and a string. The number is what is
passed to FN xxx_get(). A simple obfuscation technique that I added to
the code, not for practical purposes really, but this WAS originally
written as part of a tutorial that covered writing commercial quality
games in BBC BASIC and I wanted to touch on how programs could be
written to be harder to reverse engineer. Using these simple LUTs in
conjunction with something like BASCrunch makes a very effective
deterrent, I think, anyway...

Thanks again Martin

Martin Hansen

unread,
Jul 11, 2008, 5:11:01 AM7/11/08
to
Hi Gareth,
Please do upload to your site the latest work you'e done on your game,
including the sound functionality that you have added.
What I'd prefer not to be passed around just yet is my !TimMusic
application, mainly because I want to do more work on it before
putting it out - it'll be free when I do - and part of a programming
tutorial.
I must confess to not having the time to get involved with the
intricate detail of your game, but what I will contribute is some
sound samples and, if you need it, (and I can supply it!) a demo of
how to mix them through the background tune.

I *HATE* compression and software protection. So much RISC OS code is
now lost because the original author compressed it and then gave away
or dumped the machine with the source code on it. Even on RISC OS, new
versions of the OS break previously working apps and if the source is
gone, it's one hell of a job to reconstruct it. I know, I've done that
reconstruction it with two apps so far this year...

With a money spinning commercial application, anti-piracy software is
fair enough - e.g. The Virtual Acorn emulation package. But with
anything else, it's simply a distraction from the main programming
task, and creates problems for the future.

I'll try and get the sound effects sorted over the weekend, and send
you where I get too before Monday (When I'll be starting work again).

Keep pushing this forward - it is the way to get the job done !

Regards,
Martin.

Martin Hansen

unread,
Jul 11, 2008, 5:23:42 AM7/11/08
to
On 5 Jul, 11:00, Alex Macfarlane Smith <nos...@archifishal.co.uk>
wrote:
> >> I did do a 32-bit version of QTMTracker at one point, but no-one
> >> confirmed whether it worked on any 32-bit platforms.
> >> Alex.

>
> I have a 32-bit version, but it doesn't play music on either RO5 (IIRC)
> or RO6 (I'm guessing because the Sound system changed in some subtle way).
> Alex.

Alex,
It was very king of you to send this too me - sadly, you are right -
it does not play on RISC OS 6.
Given that, and other problems, I didn't give it a fair try out on my
Iyonix....
I am, however, making progress with a module called !TimPlayer.
I'm working on an app to demonstrate how to use this, which I'll send
you in due course.
Thanks again for what you sent - it was useful in helping me find way
way through the cloud of confusion that I was in at the time !
Regards,
Martin.


Martin Hansen

unread,
Jul 11, 2008, 6:25:01 AM7/11/08
to
On the Iconbar website, there is an excellent, and recent, background
reading article on the RISC OS sound system written by Jeffrery Lee :

http://www.iconbar.com/articles/Building_the_Dream_2_-_The_RISC_OS_Sound_System/index1209.html

Regards,
Martin.

garet...@yahoo.com

unread,
Jul 11, 2008, 9:47:20 AM7/11/08
to
On Jul 11, 10:11 am, Martin Hansen <m...@shrewsbury.org.uk> wrote:

> I *HATE* compression and software protection. So much RISC OS code is
> now lost because the original author compressed it and then gave away
> or dumped the machine with the source code on it. Even on RISC OS, new
> versions of the OS break previously working apps and if the source is
> gone, it's one hell of a job to reconstruct it. I know, I've done that
> reconstruction it with two apps so far this year...

I'm not particularly fond of compression either, but it was a
necessary evil here... I needed to optimise the code to get running at
anything like real-time on older 1st Gen RPC/A7000 hardware. After
that it's fine... I'm not even going to go into the laughs I had while
trying it out on an old A3020... It took 5 odd mins just to get a full
rack of invaders from one side of the screen to the other!!

As far as protection is concerned, it's not really protection, rather
obfuscation... Anyway, that's why I released both the packed & source
code and the tools I used to generate the encoded string lookups along
with the raw text input. Because it was never really meant to make it
hard to develop, rather to demonstrate what could be done if the need
ever arose...

Anyhow... It's not really that complex... Here's what the decoder
does...

DEFFNencode_string(in$)
LOCAL out$,i%
out$=""
FOR i%=1 TO LEN(in$)
out$+=CHR$(ASC(MID$(in$,i%,1) EOR 131)
NEXT i%
=out$

Just a simple XOR... Like I said... I didn't really want to go to town
on it, rather provide a demonstration of one of the more common
techniques employed in commercial games.

Rob Kendrick

unread,
Jul 11, 2008, 10:03:03 AM7/11/08
to
On Fri, 11 Jul 2008 06:47:20 -0700 (PDT)
garet...@yahoo.com wrote:

> DEFFNencode_string(in$)
> LOCAL out$,i%
> out$=""
> FOR i%=1 TO LEN(in$)
> out$+=CHR$(ASC(MID$(in$,i%,1) EOR 131)
> NEXT i%
> =out$
>
> Just a simple XOR... Like I said... I didn't really want to go to town
> on it, rather provide a demonstration of one of the more common
> techniques employed in commercial games.

This is so trivial and obvious, any "game cracker" will spot it
instantly from just looking at the data. Most commercial games use
things somewhat more involved - either a real crypto system with a
complex way of calculating the key, or XOR with multiple keys and back
referencing.

Of course, it's completely and utterly without worth or value to do
this anyway.

B.

garet...@yahoo.com

unread,
Jul 11, 2008, 6:32:58 PM7/11/08
to
On Jul 11, 3:03 pm, Rob Kendrick <n...@rjek.com> wrote:
> On Fri, 11 Jul 2008 06:47:20 -0700 (PDT)
>

Like I said in my post, I could have put a couple more layers of XOR
on this, but that wasn't the prime purpose of the exercise... It was
just to demonstrate what COULD be done in a commercial game...
Anyhow... A lot of early pre-MCU arcade boards had their program ROMS
encrypted in exactly this fashion. The CPU, a RAM chip, a battery and
gate logic all encased in epoxy. You couldn't read the key out of the
epoxy CPU because the logic gate prevented reading the address range
mapped to the ram chip inside. See the documentation on MAMEDev for
examples of this in action.

garet...@yahoo.com

unread,
Jul 11, 2008, 6:35:54 PM7/11/08
to
On Jul 10, 5:03 pm, garethl...@yahoo.com wrote:
> Had a further play with the code when I got home and worked out why
> the music wasn't playing. Got that going... Soon after that, I had the
> music toggle function up and running... Still something screwy with
> the volume controls though... Can you help me with this Martin, if I
> post the code up on the download page... Calls to FNswi_get() in the
> 30 range are to the music player, FNswi_get(6) is
> OS_ReadMonotonicTime. You can find the code in the usual place athttp://www.garethlock.com/acorn/invaders- Hide quoted text -

>
> - Show quoted text -

Code now posted at the usual place...

Rob Kendrick

unread,
Jul 11, 2008, 6:42:30 PM7/11/08
to
On Fri, 11 Jul 2008 15:32:58 -0700 (PDT)
garet...@yahoo.com wrote:

> Like I said in my post, I could have put a couple more layers of XOR
> on this, but that wasn't the prime purpose of the exercise... It was
> just to demonstrate what COULD be done in a commercial game...

Why bother, though? It serves no purpose in a commercial game, and has
dozens of disadvantages.

> Anyhow... A lot of early pre-MCU arcade boards had their program ROMS
> encrypted in exactly this fashion. The CPU, a RAM chip, a battery and
> gate logic all encased in epoxy. You couldn't read the key out of the
> epoxy CPU because the logic gate prevented reading the address range
> mapped to the ram chip inside. See the documentation on MAMEDev for
> examples of this in action.

If they "encrypted" it in exactly this fashion, there are only 256
possible keys. Even using the computers of the day, this would have
taken perhaps 20 minutes to crack. It's completely and utterly without
purpose, need or warrant. The sooner we can get that into people's
heads, the better.

B.

Martin Hansen

unread,
Jul 12, 2008, 5:49:53 AM7/12/08
to
Plus, RISC OS needs all the programmers it can get - and one of the
best ways to learn is to look at and try to understand how other folks
software does what it does.
If the files are scrambled in some way - that purpose has been
scuppered....
Regards,
Martin.


Alex Macfarlane Smith

unread,
Jul 12, 2008, 6:01:43 AM7/12/08
to

Everyone should really encrypt their programs by ROT13'ing them twice.

Alex.

garet...@yahoo.com

unread,
Jul 12, 2008, 1:12:11 PM7/12/08
to
On Jul 10, 5:03 pm, garethl...@yahoo.com wrote:
> OS_ReadMonotonicTime. You can find the code in the usual place athttp://www.garethlock.com/acorn/invaders- Hide quoted text -
>
> - Show quoted text -

Back to the topic in hand... What follows is the volume control
handler. It is invoked by scanning the keyboard for INKEY(-59) or
INKEY(-60) (Numpad +/-). I've converted the obfuscation back to
strings in this snippet so you guys can see what's going on, but other
than that it's a direct pull from the listing...

REM Offs. | Purpose | Value
REM -------+----------+------
REM 0 | Status | 0=Off, 1=On
REM 4 | Handle | TimPlayer internal handle.
REM 8 | Delay | Snapshot of OS_ReadMonotonicTime last done
DEFPROCevnt_kb_volume(vol%)
LOCAL mstatus%,mhandle%,mdelay%,mt%,cvol%,nvol%
cvol%=0:nvol%=0 :REM Temp volume store.
mstatus%=0:mhandle%=4:mdelay%=8 :REM Music object offsets.
SYS "TimPlayer_SongVolume" ,soundstate%!mhandle%,-1 TO cvol%
IF soundstate%!mstatus%=1 THEN
SYS "OS_ReadMonotonicTime" TO mt%
IF mt%-soundstate%!mdelay%>=10 THEN
nvol%=cvol%+vol%
IF nvol%>=0 AND nvol%<=256 THEN
SYS "TimPlayer_SongVolume" ,soundstate%!mhandle%,nvol%
soundstate%!mdelay%=mt%
ENDIF
ENDIF
ENDIF
ENDPROC

This code is obviously better viewed in a monospaced font, but there
we are... The value passed as vol% is either 2 or -2 depending on
whether the player wants to increase the volume or lower it. The
soundstate% object starts of zero-filled and gets setup when the song
is loaded.

Any ideas as to why the sound cuts out all together when this is
triggered with either the + or - keys... (makes no difference whether
you're turning it up or down!)

Help gratefully appreciated as always...

Martin Hansen

unread,
Jul 13, 2008, 2:32:42 PM7/13/08
to
Dear Gareth,
Cripes - I've spent all weekend on this, but I've finally, in the last
half hour, got it working.
Woo- pee- doo !!!
I've got to tidy up the code a bit then I'll email it to you.
The problem has been that it's easy enough to get something working on
either RISC OS 5 or 6 but not on both.
What I'll send you plays a background tune and then each time you
click the mouse plays one of four missile sounds through the
background tune.
I've also put a big effort into making sure it does not rely on any
resources outside of itself so, hopefully, quite a solid base upon
which to build.
If you could test it on other versions of the OS that would be great.
I need to do a few other things over the next few days, but I'm aiming
to focus upon the actual sounds themselves next.
Just had another play now - it's bloody good !
Regards,
Martin.

garet...@yahoo.com

unread,
Jul 14, 2008, 11:27:59 AM7/14/08
to

If you could integrate a debugged version of that volume changer
routine posted previously, then I'd be grateful... What I'm trying to
do is read the current volume for a given song make the change (either
add or subtract 2) check against the upper and lower allowed values
and then update it... I need the OS_ReadMonotonicTime bit to provide a
delay to prevent it running too fast on fast hardware...

The value read using the call is stored every time a volume change is
made. When the routine is next entered, it reads it again and checks
the current value against the stored one. The volume is only changed
if a set period between now and the last time the volume was changed
has elapsed.

From what you are saying though, it certainly sounds like something I
could build on... When I get it, I'll give it a whirl and see if I can
tidy up the volume code at the same time.

> Just had another play now - it's bloody good !

If by that you mean the game, then thanks... That was done initially,
mostly from memory. I then touched up the behaviour playing the MAME
emulation and using it as a guide. The graphics and character set were
produced in !Paint and all coding was done with !Zap. The various
tools that make up the development environment were either my own
work, or in the case of Make (The back-end of !MakeInv & !MakeErr) the
jobfile interpreter was written by me and jury-rigged onto a stripped
down version of MH's BASCrunch...

Thanks for any help in advance...

Martin Hansen

unread,
Jul 15, 2008, 1:56:42 PM7/15/08
to
> If you could integrate a debugged version of that volume changer
> routine posted previously, then I'd be grateful... What I'm trying to
> do is read the current volume for a given song make the change (either
> add or subtract 2) check against the upper and lower allowed values
> and then update it... I need the OS_ReadMonotonicTime bit to provide a
> delay to prevent it running too fast on fast hardware...
> The value read using the call is stored every time a volume change is
> made. When the routine is next entered, it reads it again and checks
> the current value against the stored one. The volume is only changed
> if a set period between now and the last time the volume was changed
> has elapsed.

O.K. I'll have a think about this and maybe try to rustle something up
over the weekend. It occured to me earlier today that there are two
volumes that you might want to control. Firstly there is the
background music, secondly the special sound fx. So players can turn
off one or the other or both, quite apart from the volume settings.
Nothing is ever simple or straight forward...

> From what you are saying though, it certainly sounds like something I
> could build on... When I get it, I'll give it a whirl and see if I can
> tidy up the volume code at the same time.

How is it ?
I ought to run it through a non strongARM machine. I've got a couple
up in the attic : It's a bit of an effort though...

Regards,
Martin

garet...@yahoo.com

unread,
Jul 15, 2008, 8:13:14 PM7/15/08
to

OK... With a few experiments of my own, I think I've nailed down the
bug with the volume changer...

According to the documentation the following test code should load the
song, set the volume at 128 and return that value in v%...

c%=-1:v%=-1
SYS"TimPlayer_SongLoad",,"<Invaders$Dir>.Resources.Sound.Intro" TO c%
SYS"TimPlayer_SongPlay",c%
SYS"TimPlayer_SongVolume",c%,128
SYS"TimPlayer_SongVolume",c%,-1 TO v%
PRINT v%

Currently, whatever value I set with the first call to
"TimPlayer_SongVolume", v% ALWAYS returns as zero. I suspect this is a
bug in the TimPlayer module itself and have reported it as such to
Andre. I await his reply.

So, as a result, the volume was always getting set to zero, whatever
happened...

garet...@yahoo.com

unread,
Jul 16, 2008, 7:43:24 AM7/16/08
to
On Jul 16, 1:13 am, garethl...@yahoo.com wrote:

>
> OK... With a few experiments of my own, I think I've nailed down the
> bug with the volume changer...
>
> According to the documentation the following test code should load the
> song, set the volume at 128 and return that value in v%...
>
> c%=-1:v%=-1
> SYS"TimPlayer_SongLoad",,"<Invaders$Dir>.Resources.Sound.Intro" TO c%
> SYS"TimPlayer_SongPlay",c%
> SYS"TimPlayer_SongVolume",c%,128
> SYS"TimPlayer_SongVolume",c%,-1 TO v%
> PRINT v%
>
> Currently, whatever value I set with the first call to
> "TimPlayer_SongVolume", v% ALWAYS returns as zero. I suspect this is a
> bug in the TimPlayer module itself and have reported it as such to
> Andre. I await his reply.
>
> So, as a result, the volume was always getting set to zero, whatever
> happened...

OK... Update...
The e-mail containing the bug report I sent to Andre last night (sent
to address on website) bounced. Does anyone out there either know his
current e-mail or any other way he can be contacted? Is there anyone
else who maintains TimPlayer that can be contacted??

Evan Clark

unread,
Jul 16, 2008, 1:08:12 PM7/16/08
to
In article
<d93c0d21-cedb-468e...@79g2000hsk.googlegroups.com>,
<garet...@yahoo.com> wrote:

> OK... Update...
> The e-mail containing the bug report I sent to Andre last night (sent
> to address on website) bounced. Does anyone out there either know his
> current e-mail or any other way he can be contacted? Is there anyone
> else who maintains TimPlayer that can be contacted??

You could try the email address from any of the StrongHelp manuals within
current downloads on the DigitalCD website. He has used that address on
the DigitalCD mailing list as recently as 11th June.

HTH.

Evan.

Andre

unread,
Jul 17, 2008, 5:42:22 AM7/17/08
to

<garet...@yahoo.com> wrote in message
news:d93c0d21-cedb-468e...@79g2000hsk.googlegroups.com...

> On Jul 16, 1:13 am, garethl...@yahoo.com wrote:
>
>>
>> OK... With a few experiments of my own, I think I've nailed down the
>> bug with the volume changer...
>>
>> According to the documentation the following test code should load the
>> song, set the volume at 128 and return that value in v%...
>>
>> c%=-1:v%=-1
>> SYS"TimPlayer_SongLoad",,"<Invaders$Dir>.Resources.Sound.Intro" TO c%
>> SYS"TimPlayer_SongPlay",c%
>> SYS"TimPlayer_SongVolume",c%,128
>> SYS"TimPlayer_SongVolume",c%,-1 TO v%

I think it should be "TO ,v%" instead of "TO v%".

André

garet...@yahoo.com

unread,
Jul 17, 2008, 1:04:42 PM7/17/08
to
On Jul 17, 10:42 am, "Andre" <andre.nore...@siemens.com> wrote:
> <garethl...@yahoo.com> wrote in message

OK... I'll try poking around in R1 then... The docs did say R0
however... I think I'm right is saying that SYS has the following
format...

SYS <SWI Call>,<R0>, <R1> ... etc ... TO <R0>, <R1> ... etc ...

I'll try it out anyhow... Thanks for taking the time to spot this
post...

I'll let you know how I get on...

Martin Hansen

unread,
Jul 17, 2008, 1:37:34 PM7/17/08
to
Dear André,
As you are here can I just say a bit thank you for DigitalCD and all
of the extensive supporting documentation.
I'll be mentioning your website in the August edition of RISCOScode.
Regards,
Martin.

http://www.RISCOScode.com

garet...@yahoo.com

unread,
Jul 18, 2008, 7:24:58 AM7/18/08
to

OK... Just as you suspected... Found it in what I thought of as
<R1>... Code altered back to what it was before I had to hack in a
local volume store.

0 new messages