Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

A place to discuss everything Dragon related that doesn't fall into the other categories.
davidbowman
Posts: 28
Joined: Thu Jun 20, 2013 1:37 pm
Location: Scotland
Contact:

Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by davidbowman »

Hi there,

Hope someone here might be able to help with a problem I'm having with Alldream wavs created in XRoar loading into a real Dragon32 (and vise-versa).
When I save an Alldream wav file in XRoar it saves and loads just fine in XRoar, and if save an Alldream wav file in a real Dragon32 it saves and load just fine to the real Dragon32.
But if I try to load the Alldream file created in XRoar into Alldream in the real Dragon32 it will display the file name and the E error, and when finished loading all I get is a row of question marks; and when I try to load an Alldream file created on a real Dragon32 into Alldream in XRoar it displays the file name, then the emulator screen freezes and a reset is required.

Many thanks,
dB.
sixxie
Posts: 1354
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by sixxie »

When loading into a real Dragon, are you using a tape recorder with motor control? If not, try (under emulation) typing POKE144,2 before saving - this increases the leader length to account for a gap that gets left out of the audio file because it "turned the motor off".

The other way around I don't have a good explanation for offhand - might need to see an example wav. The default Dragon 32 leader is quite short, could just be that (in which case same fix might apply)... Same version of Alldream both sides?
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by zephyr »

The Dream assembler always resets the cassette header tone length to only 4 bytes. See the October 1984 issue of Dragon User (Dragon Answers) for more information.
sixxie
Posts: 1354
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by sixxie »

4 bytes? Crazy. But good catch!
davidbowman
Posts: 28
Joined: Thu Jun 20, 2013 1:37 pm
Location: Scotland
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by davidbowman »

sixxie wrote:... try (under emulation) typing POKE144,2
Same version of Alldream both sides?
...might need to see an example wav.
Tried the POKE, both ways, and it didn't work.
I'm using the Alldream ROM in XRoar, and a separate PC (as a glorified tape recorder/player) to load the cassette version of Alldream onto the real Dragon.
A test copy of the wavs from XRoar and the real Dragon are posted here: http://www.mediafire.com/download/yctov ... amtest.zip
The file "testrd.wav" has been created on the real Dragon and "testxd.wav" on XRoar.
The files contain nothing more than 3 lines of useless code, different "yy" in both files:

LDA #$11
LDB #$yy
RTS

Thanks for the help.
dB.

P.S.
I tried the POKEs suggested in Dragon User Oct 1984 and that didn't work.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by zephyr »

Which version of Alldream (Cartridge or Cassette) are you using?
davidbowman
Posts: 28
Joined: Thu Jun 20, 2013 1:37 pm
Location: Scotland
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by davidbowman »

zephyr wrote:Which version of Alldream (Cartridge or Cassette) are you using?
I'm using Cartridge version for XRoar and Cassette version for real Dragon.

dB.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by zephyr »

Try the attached (experimental) patched copy of the Alldream cartridge version under XROAR.
Attachments
ALLDREAM_ZEPHYR_PATCHED.zip
(7.19 KiB) Downloaded 225 times
davidbowman
Posts: 28
Joined: Thu Jun 20, 2013 1:37 pm
Location: Scotland
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by davidbowman »

zephyr wrote:Try the attached (experimental) patched copy of the Alldream cartridge version under XROAR.
Thanks, but the file it created still won't load onto a real Dragon (works OK in XRoar); it finds the file name then
displays the E error and when finished loading displays about 6 lines of question marks.

I just received my Dragon Cartridge PCBs from iteadstudio and will burn a ROM version of Alldream onto it - once
the EPROMs arrive; hopefully this may fix the problem.

dB.
Sarah
Posts: 177
Joined: Wed Apr 13, 2011 3:36 pm
Contact:

Re: Alldream(XRoar)wav<--->Alldream(real Dragon)wav, Errors.

Post by Sarah »

I seem to remember early and later (or tape and cartridge?) versions of Alldream used different save/load formats? The ones you're using might be incompatible with each other; you could work around that by loading the cartridge version of Alldream into RAM on your cassette based machine although it'll occupy more RAM by itself leaving you less workspace.

The short leader format used by Alldream put each line of the source into a separate block, didn't it? It doesn't need to sync all those blocks in the usual way when loading back, though, so really only the first block needs a long leader but others still need to be sufficient for Alldream to successfully complete an insert. It can become unreliable with longer text and was rather inefficient due to all the overhead anyway. I only used the built-in save/load functions with really small projects... anything longer than a trivial amount of source code and you're often better off simply using CSAVEM and CLOADM instead. Obviously you need to figure out a safe start address to begin your CSAVEM, ensuring that you save all your text, ending at the top of reserved RAM.

For example, if you were using cartridge Alldream and had done the usual CLEAR200,20001 then a really conservative CSAVEM"WHATEVS",&H4E21,&H7FFF,&HC000 would be sure to save all your source (but includes any unused memory too). It can be loaded back with the same CLEAR followed by CLOADM and EXEC then reply 'Y' when asked 'OLD TEXT?' and away you go. The same idea can be used with cassette Alldream just substitute the appropriate end and exec addresses.

Tip: Working on a large project? CLEAR200,1224 allows all of $600-$7FFF to be used as workspace for Alldream... once that's not enough memory then you'll need to split your project up!
Post Reply