I sent an e-mail last night but I'm not sure if it was received. Anyway,
I thought I'd try to copy from my real ql
to a q-emulator ql over the serial port, and I'm getting better results
that I was getting using a DOS prompt. I'm
getting so close now I can taste it.
Wonder what a serial port tastes like? Is there enough voltage on the lines
to tingle the tongue. Says he, victim of prank a few years ago when told to
test PP3 9V batteries "on the tongue" :-()
Using q-emulator's serial port I have been able to copy complete files
back and forth between the emulated and real
ql's (no more ctrl-z problems). I just have one last problem with
executables.
I am able to copy the complete file and if I do a copy mdv1_filename to
scr_ on the real and emulated ql's the
output on the screen appears identical; but when I try to EXEC the
"target" file (the copy) I get "bad parameter", Ah, usual loss of QL file
headers on non-QL systems. Headers might not be preserved across the
serial link. Might be worth trying Toolkit 2's "COPY_H" command to see if
that manages to preserve headers.
whereas the "source" file runs correctly. I think this must be what
several of you have to alluded to with
headers. I expect that following the suggestion of zipping the files
would help, however, I still have to get zip
executable copied across.
There is a "self-extracting" version of the "unzip" executable which might
help with this, available from Jonathan Hudson www.daria.co.uk/qdos/
At the top of the page, click on the link to Infozip for SMS/QDOS
Save the downloaded file to somewhere where QemuLator can find it.
To get it self-extracted on QemuLator just LRESPR the SFX file:
LRESPR unzip541xQ.bin
and follow the prompts it gives. Needs quite a lot of free memory (might be
an issue if using the restricted memory unregistered version of QemuLator).
Does anyone have a solution that might help with this? If there's a good
explanation out there regarding these
headers and how executables are different, I'd be grateful if you could
point me in its direction (I'm beginning to
find all this quite interesting ;).
QDOS files have 64 byte file headers (not all of it used). There's a bit of
info about all this on my website - in the Documentation And Information
section, go to the File Formats page, there you'll find the file headers
info. Basically, QDOS files come in four main types, general data files
(type 0), executable(type 1), the Sinclair Relocatable Output File Format
(SROFF-type 2) and Level 2 Directories (type 255 or -1 on systems supporting
level 2 directories, or I think type 3 on old Thor computers). A few more
file types were invented by certain programs over the years (e.g. The
Painter files such as pattern files etc).
The type 1 files (QL executables, put simply programs you can EXEC or EX)
have a long word in the header which specifies how much dataspace (data area
for a job, in bytes) a job is to have (Job is the proper term for an
executable QL program) and a byte which specifies the file type. If these
get lost on a system which doesn't understand QL file headers, tough, back
to the drawing board! Actually you can restore them if you have the relevant
info using an SEXEC command as I alluded to in revious email, though it's
not always easy!
Other stuff in file headers include the various dates info etc.
When it comes to QL data files, these have only two vital parts in the
header, file length and type. Even a PC can deduce the file length of a QL
file, and an emulator will usually assume a type 0 data file unless it knows
better, so data files survive loss of headers in these circumstances quite
well, though you may lose the dates associated such as when the file was
last modified or created.
There are a few little utilities out there (such as my QH system) which can
transfer the header information as a physically separate 64 byte file which
can be used to restore the executable information, though it's a tricky
thing unless you have experience of all this.
Actually, if you do get success with the QL to QemuLator serial transfers,
this is a subject not covered much at the moment. Would it be possible for
you to write up the information you've learned and I could put it on my
website to help other users?
--
Dilwyn Jones
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm