DWLOAD - DriveWire for everybody

A place to discuss everything Dragon related that doesn't fall into the other categories.

Re: DWLOAD - DriveWire for everybody

Postby jedie » Tue Oct 28, 2014 9:53 am

btw. is it possible to load the code via cassette?
Can somebody provide a .WAV file?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
jedie
 
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany

Re: DWLOAD - DriveWire for everybody

Postby tormod » Tue Oct 28, 2014 7:56 pm

Jedie, please see the DWLOAD HOWTO 2 (third post). I know I posted too much information in one go, but it is all in there :)

DWLOAD is not compatible with the old DLOAD protocol. It uses the DriveWire protocol which opens up for so many more possibilities. It merely recycles the DLOAD keyword. To modify the keyword it would have been necessary to patch the lower 8KB ROM, but this one is soldered on most Dragon 32 motherboards, so it was not an option.
User avatar
tormod
 
Posts: 414
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: DWLOAD - DriveWire for everybody

Postby jedie » Wed Oct 29, 2014 8:44 am

btw. where is the DWLOAD source code ?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
jedie
 
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany

Re: DWLOAD - DriveWire for everybody

Postby tormod » Wed Oct 29, 2014 9:50 pm

Jedie, see the first post. Much more interesting than the DWLOAD code is the code for the dweebs, showing how you can write your own dweebs. I will put them in a repository, but for now I'll attach a few here.
Attachments
dweeb-sources.tar.xz.zip
Some dweeb example source files
(2.92 KiB) Downloaded 78 times
User avatar
tormod
 
Posts: 414
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: DWLOAD - DriveWire for everybody

Postby sorchard » Sat Nov 01, 2014 11:35 pm

Has anybody else got DriveWire working with xroar under Windows?

I'm using the suggested command line for xroar, but after I type 'DLOAD', 'DWLOAD' appears and then nothing happens :?

The DriveWire server looks like it is working as I can see activity in the log when I connect with telnet.
Stew
sorchard
 
Posts: 373
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: DWLOAD - DriveWire for everybody

Postby pser1 » Sun Nov 02, 2014 12:13 am

hi, sorchard
I am not only using DWLOAD under XRoar, but use it to develop and test my dweebs
Besides, I use GDB to debug, 'cause most of the times things don't go perfect the first hundred times ;-)

If verything is well configured, when you write DLOAD, you are calling the default autoexec program.
There must be a file in the DW4 folder with exactly this name: AUTOLOAD.DWL

This one can be a Basic program that shows a menu or a game that starts immediately.

If you have other files in the DW4 folder, you can call them this way:
DLOAD"FileName.ext to load and run/exec it
DLOADN"FileName.ext just to load it

Note that DLOAD accepts the use of folders, for instance:
DLOAD"GAMES/KING.BIN"
DLOAD"BASIC/MyProgram.BAS
These will search the folder inside the DW4 one

Tell me what happens when you call an existing file in the DW4 folder, maybe we could find out what's happening.

cheers
pere
pser1
 
Posts: 977
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: DWLOAD - DriveWire for everybody

Postby sorchard » Sun Nov 02, 2014 10:49 am

Hi pser1, thanks for the help,

I'm still not having any luck...

When I use the suggested command line:

xroar -default-machine dragon64 -romlist d64_1=roms\d64-dwload-becker.rom -cart rsdos -cart-becker

The Dragon freezes at the copyright message, presumably because of the lack of rsdos rom?

If I reset the Dragon and type 'DLOAD"FLAP"', then nothing happens after 'DWLOAD' appears. (I put 'FLAP' in the same folder as the DriveWire executable)

Thinking it might work with dragondos, I tried this:

xroar -default-machine dragon64 -romlist d64_1=roms\d64-dragondos-dwload-becker.rom -cart dragondos -cart-becker

This time the Dragon starts up cleanly but I get the same behaviour after typing 'DLOAD"FLAP"'

Would you expect there to be an error message if a file cannot be found? And surely it doesn't require a dos rom to work, which implies that the suggested command line isn't quite right...
Stew
sorchard
 
Posts: 373
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: DWLOAD - DriveWire for everybody

Postby tormod » Sun Nov 02, 2014 11:49 am

sorchard wrote:Hi pser1, thanks for the help,

I'm still not having any luck...

When I use the suggested command line:

xroar -default-machine dragon64 -romlist d64_1=roms\d64-dwload-becker.rom -cart rsdos -cart-becker

The Dragon freezes at the copyright message, presumably because of the lack of rsdos rom?

No, you don't need any rsdos ROM, but XRoar requires this option to activate the Becker interface.

If it hangs after the copyright message, it is because it tries to get AUTOLOAD.DWL from the server. On a real Dragon it will timeout in less than a second if there is no DriveWire server, however the Becker routines for emulation don't have a timeout, so it hangs...
If I reset the Dragon and type 'DLOAD"FLAP"', then nothing happens after 'DWLOAD' appears. (I put 'FLAP' in the same folder as the DriveWire executable)

If it just hangs, it is not communicating with the DW4 server. On the other hand, if a file is missing on the server, you would get a MO ERROR (mount error) and it would not hang.

Thinking it might work with dragondos, I tried this:

xroar -default-machine dragon64 -romlist d64_1=roms\d64-dragondos-dwload-becker.rom -cart dragondos -cart-becker

This time the Dragon starts up cleanly but I get the same behaviour after typing 'DLOAD"FLAP"'

Would you expect there to be an error message if a file cannot be found? And surely it doesn't require a dos rom to work, which implies that the suggested command line isn't quite right...

As explained above, a file not found yields a MO error. The command line is right, it is an XRoar quirk.

If you use the files and command lines in my HOWTOs there should not be any problem, I spend quite some time testing it all out. But what I don't have control over is your DriveWire4 server installation and configuration. That you can telnet to it sounds promising though.

Does XRoar spit out exactly this?
Code: Select all
$ xroar -default-machine dragon64 -romlist d64_1=d64-dwload-becker.rom -cart rsdos -cart-becker
Module init: GTK+-2 UI
Module init: GTK+-2 file requester
Module init: GtkGLExt video
Module init: OSS audio
ERROR: OSS: failed to open device
Module init failed: OSS audio
Module init: ALSA audio
   16-bit signed little-endian, stereo, 48000Hz
   3 frags * 320 frames/frag = 960 frames buffer (20ms)
Module init: GTK+-2 keyboard input
Machine: Dragon 64
Loading ROM: ./d64-dwload-becker.rom
   32K mode BASIC CRC = 0x4c2eb7f5
Cartridge: RS-DOS

Or is there any warning messages about the Becker interface or server?
User avatar
tormod
 
Posts: 414
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

Re: DWLOAD - DriveWire for everybody

Postby sorchard » Sun Nov 02, 2014 10:13 pm

My apologies, I was jumping to conclusions without really knowing what I was talking about :oops:

I captured an instruction trace and it's stuck in spin here:

Code: Select all
bf43| f6ff41      LDB     $ff41               cc=d4 a=ff b=00 dp=00 x=0000 y=0001 u=0012 s=7f2a
bf46| c502        BITB    #$02                cc=d4 a=ff b=00 dp=00 x=0000 y=0001 u=0012 s=7f2a
bf48| 27f9        BEQ     $bf43               cc=d4 a=ff b=00 dp=00 x=0000 y=0001 u=0012 s=7f2a


At the risk of making more assumptions it looks like it's waiting for something to read from the Becker port.


xroar stderr output is this:

Code: Select all
Module init: Windows SDL UI
Module init: Windows file requester
Module init: SDL OpenGL video
Module init: SDL audio
   16-bit signed little-endian, stereo, 48000Hz
   2 frags * 1920 frames/frag = 3840 frames buffer (80.0ms)
Module init: SDL keyboard input
   No joysticks found
Machine: Dragon 64
Loading ROM: roms\d64-dwload-becker.rom
Loading ROM: ./Dragon Data Ltd - Dragon 64 - IC18.rom
   32K mode BASIC CRC = 0x4c2eb7f5
   64K mode BASIC CRC = 0x17893a42
Cartridge: RS-DOS
Module shutdown: SDL keyboard input
Module shutdown: SDL audio
Module shutdown: SDL OpenGL video
Module shutdown: Windows file requester
Module shutdown: Windows SDL UI


It seems to confirm that xroar does see DriveWire running because if I don't start DriveWire first then I see this line:

WARNING: becker: connect 127.0.0.1:65504 failed

I'm sure I've missed an important step somewhere. I'll have to have a play to see if I can provoke some different behaviour.
Stew
sorchard
 
Posts: 373
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: DWLOAD - DriveWire for everybody

Postby tormod » Sun Nov 02, 2014 11:18 pm

In the DriveWire4 GUI there is a command line interface at the bottom of the window saying "Hint: You can enter DW commands here". In this field, type
Code: Select all
dw server status

and it will print what version you have. It should be 4.3.3o, 4.3.3p or 4.3.4d.
User avatar
tormod
 
Posts: 414
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland

PreviousNext

Return to Dragon General

Who is online

Users browsing this forum: pser1 and 3 guests