DWLOAD - DriveWire for everybody

A place to discuss everything Dragon related that doesn't fall into the other categories.
KenH
Posts: 177
Joined: Fri Oct 12, 2012 9:50 am

Re: DWLOAD - HOWTO 1 : DWLOAD in ROM/EPROM (real or Xroar)

Post by KenH » Wed Nov 12, 2014 7:48 pm

jedie wrote:
tormod wrote:DECB binary, Dragon DOS binary or BASIC files
What format is the AUTOLOAD.DWL ?!?
It's kind of tokinized BASIC with some more meta information... It's a DECB format?

Where can i find the specification of .DWL files?
DLOAD can load the following file formats:
1) DECB basic files
2) DragonDos basic files
3) DECB binaries
4) DragonDos binaries

The files must be padded to a length that is a multiple of 256 for DW4 server compatibility.
You can rename any of the above 4 types of files to AUTOLOAD.DWL and it will be loaded on startup (unless you press shift to bypass).

beretta
Posts: 4
Joined: Mon Nov 10, 2014 4:55 pm

Re: DWLOAD - DriveWire for everybody

Post by beretta » Thu Nov 13, 2014 6:25 am

< first post alert >

Hello All!

Kudus Tormod! I'm glad someone was able to put the "Named Object" support of Aaron's Drivewire to good use! It was orginally hacked into DW for CoCoBoot1... which failed miserably in the CoCo community. The command line passing is very much a *good thing* too! Seems like there is much coolness happening in the Dragon world lately! cheers

- -
Brett Gordon

jedie
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: DWLOAD - DriveWire for everybody

Post by jedie » Thu Nov 13, 2014 10:56 am

Thanks for the information and links!
... 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

User avatar
tormod
Posts: 416
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland
Contact:

Re: DWLOAD - DriveWire for everybody

Post by tormod » Thu Nov 13, 2014 11:06 pm

Thanks Brett! It is the year of the Dragon, again and again :) Looking forward to dwload "BRUB" :) once it works on level1...

jedie
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: DWLOAD - DriveWire for everybody

Post by jedie » Sat Nov 15, 2014 11:58 pm

tormod wrote:Ahhh... Thanks for being unstoppable! You are probably the first DriveWire user who goes straight to DWLOAD without having played with HDB-DOS or NitrOS-9 :) They both require a disk image loaded in slot 0. What you found out is very useful to know!
As i sayed before: I must not mount a disk in slot 0 with real hardware.

But now i play with XRoar and the beckerport and run into the issues from above:
sorchard wrote: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)

So i attached a .dsk file to drive 0... Restart all, but this doesn't fix it.

I turned all logging on in DriveWire server, here the complete logs: https://gist.github.com/jedie/b26f8d50fa1c7fddc536



EDIT: I'm working on becker port support in my DWLOAD-Server... I see one interesting thing:
Currently there is one situation here: The AUTOLOAD.DWL doesn't exist and the error code $f4 is send back. XRoar stay at the copyright message.
Use soft-reset and type DLOAD, server sen $f4 back, but no error message.
... 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

sorchard
Posts: 419
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: DWLOAD - DriveWire for everybody

Post by sorchard » Sun Nov 16, 2014 11:58 am

@jedie

Looking at the log you're getting the same 'Handler #0 has died' problem I was getting.
jedie wrote:I must not mount a disk in slot 0 with real hardware.
It took me days to figure this out. One of the disks needs to be associated with a file. It could be any number, not necessarily 0. When it works, you find that the files you access become associated with drives 255 counting downwards. DriveWire remembers these files and associates them to the same drives again on next start. Now you don't need to do anything to keep it working.

And maybe you didn't need to put a disk in and got it to work, that is the nature of bugs involving uninitialised data.

When the TCP/IP connection breaks, both the server and xroar need to be closed and restarted. Well you could first reset the server, wait for it to initialise, and then turn the Becker port off and back on again in xroar to reconnect, but it's easier to just close everything and start again. The server must be running before xroar, otherwise there won't be a listening port when xroar attempts to connect.

Once I understood all of this, the problems went away and it's worked perfectly.
jedie wrote:XRoar stay at the copyright message.
Tormod explained that the Becker port version of the ROM for emulation doesn't have as much error checking as the ROM for real hardware. It doesn't normally cause me a problem and it is easy to reset.
Stew

jedie
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: DWLOAD - DriveWire for everybody

Post by jedie » Sun Nov 16, 2014 3:03 pm

Hm. Dosn't help. I have restarted everything oder only XRoar...

Here another log: https://gist.github.com/jedie/b26f8d50fa1c7fddc536
I have marked XRoar restarts:

* I started DriveWire Server first: Line 1-94

You see, i have mount a file on Drive 0 and 1. Line 65 says: handler #0 is ready

* I started XRoar: Line 100-180

Sending "AUTOLOAD.DWL" failed in line 121 with: Handler #0 has died. RIP.
XRoar hangs with copyright message.

* So i shutdown XRoar and start again, but i have DriveWire Server not restarted: Line 188-267

It's the same as above: "AUTOLOAD.DWL" failed in line 209 with: Handler #0 has died. RIP.
XRoar hangs with copyright message.

* I close XRoar and DriveWire
* restart DriveWire again: Line: 274-393
* After DriveWire Start i restart XRoar: Line: 398-477

It's the same: "AUTOLOAD.DWL" failed in line 419 with: Handler #0 has died. RIP.
XRoar hangs with copyright message.

* I close XRoar and eject Drive 0: Line: 483-486
* I eject Drive 1: 490-493
* Restart XRoar: Line 499-572

Same: "AUTOLOAD.DWL" failed in line 512 with: Handler #0 has died. RIP.


Maybe the real problem is:
com.groupunix.drivewireserver.dwprotocolhandler.DWTCPDevice cannot be cast to com.groupunix.drivewireserver.dwprotocolhandler.DWSerialDevice
???
... 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

sorchard
Posts: 419
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: DWLOAD - DriveWire for everybody

Post by sorchard » Sun Nov 16, 2014 7:50 pm

jedie wrote:Maybe the real problem is:

com.groupunix.drivewireserver.dwprotocolhandler.DWTCPDevice cannot be cast to com.groupunix.drivewireserver.dwprotocolhandler.DWSerialDevice
I see what you mean now. Hmm indeed. I wasn't getting that error message so it looks like you have found a new and exciting problem ;-)

I'll have a play to see if I can provoke something similar under Windows...
Stew

jedie
Posts: 630
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: DWLOAD - DriveWire for everybody

Post by jedie » Sun Nov 16, 2014 9:04 pm

Error is reported, see: https://pairlist5.pair.net/pipermail/co ... 37139.html

btw. my becker branch of my DWLOAD Server works with XRoar fine.
... 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
Contact:

Re: DWLOAD - DriveWire for everybody

Post by jedie » Mon Nov 17, 2014 2:55 pm

v0.2.0 of my DWLOAD-Server is out: viewtopic.php?f=8&t=4946&p=12198#p12198

Now i want to implement the real interesting things:
* Dynamic AUTOLOAD.DWL
* Load/Save BASIC listings in ASCII

For the second point i have a question:

On the Client i using RESAVE. On the server side: I can't "see" when a incoming file is complete, isn't it?
The is no information how many 256 Bytes chunks will be send or if the chunk is the last chunk, isn't it?

So it seems that i can only look after every chunk, if the 3x $00 BASIC-listing-"terminator"-bytes are there... Or?
... 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

Post Reply