OK: Try again. The Forum times out while typing a very long reply so I lost the first attempt on pressing SUBMIT and the draft doesn't seem to be there. Luckily I've had this experience before and copied and pasted the text into an editor just in case it happens with the new Forum software and it did.
Oh boy, the issues of zip/unzip, loss of headers and native format drives keeps getting answered and the same old questions keep on getting asked over and over. File Transfer is without doubt the single hardest issue facing someone new to QL, so it is well worth the struggle to master early on, it will stand you in good stead later. After a while it becomes instinct and you are able to do it without thinking almost (well, unless your name is Dilwyn, when all you need is a new brain occasionally).
First of all, learn the differences between the type of QL drives, which will help you understand what's going on.
Native format drives do not understand QL executable headers at all and simply lose them. Do not try to unzip QL executable files on these at all, doomed to failure from the word go unless you know how to repair QL executables.
SFA is a type of native drive where the program files are modified to hold the executable files headers as part of a modified file, usually by making the file bigger to hold a copy of the header, but it depends on the emulator (QLay and QL2K do this in a completely different way, for example). This creates its own problems, in that if you later want to copy of move files to QDOS format medias, this extra information has to be removed, although if done within the emulator, the emulator will usually try to sort it out invisibly to you.
The third type is QXL.WIN, a type of container file, where a "QDOS" file environment (a single large Windows file on a PC for example) is maintained to allow the executables to be free of the constraints of native host format media.
By understanding where QL executable file headers cannot be handled, you will be halfway to understanding how to work around this. Executable files, put simply, are QL programs which are started with EXEC, EXEC_W or equivalent commands in Toolkit 2 and SMSQ based emulators. This does not apply to data files such as documents and spreadsheets and QL BASIC programs (which are plain text files to all intents and purposes and do not have an executable header to lose!). Trying to EXEC a program which has been in a native host media format goes into bad parameter condition as you've seen, header lost. QDOS and SMSQ just do not have a meaningful error code for when this happens, so it uses the closest, "bad parameter" or "invalid parameter".
Understanding this, what you have to do is move the zipped file into a "QL" environment and do the unzipping there so that the file headers are preserved.
If you do not already have an Unzip program in the SFA or QXL.WIN environments, you are faced with what looks like a catch-22 situation whereby you cannot get Unzip into that environment because it is itself an executable program.
There are two ways around this.
(1) Use Jonathan Hudson 's Unzip SFX (Self Extracter to create an Unzip in a "QL" format drive so working around the problem).
(2) Use my Unzip_bas created with my Job2Bas utility. What this has done is convert UNZIP to a BASIC program (which is not affected by the loss of headers issue by being downloaded to a native format drive and transferred to QL.
Both are described on the Unzip part of the PC-QL Transfer page on my website -
http://www.dilwyn.me.uk/gen/pcqlxfer/index.html . This page does not explicitly deal with SMSQmulator's NFA and SFS drives, but the same principles apply.
So, if you are downloading zipped files from the web, have both a NFA plus an SFA or QXL.WIN drive set up. Put the downloaded zip file into an NFA drive and COPY to the SFA (or a QXL.WIN) drive and do the unzipping part there, or do the Unzip build from SFX or Unzip_bas there to prevent loss of execuatble file headers. Note the SMSQmulator manual warnings about mixing files and separator characters on some drives (I don't have a copy of SMSQmulator installed here to be able to provide step by step guides on doing all this, sorry).
Note one thing - the Unzip SFX is a rather old program. It doesn't always work on all modern systems. Using the Unzip_bas created by Job2Bas works on all systems (well, as long as there is enough free memory) AFAIK.
If you haven't already got yourself Unzip, Unzip_bas, or the SFX, get them from
http://www.dilwyn.me.uk/arch/index.html - the Unzip_bas is under Job2Bas on the page. If possible, I'd use v5.32 or later of Unzip. Some versions need something called Environment Variables (a set of extensions usually called ENV_BIN or similar), but they will work without these, possibly giving an error message triggered by the absence which can be ignored.
You can do the same with the Unzip SFX or the Unzip_bas programs. Both will safely survive being on an NFA drive while being moved to a "QL" environment so that you can rebuild to QL executable once safely inside a "QL" environment.
The file transfer page I mentioned above goes on to explain simple use of the Unzip program once available in your "QL" environment. As Per pointed out, the commands have to be type out EXACTLY right - a space in the wrong place, or mixing up commas and semi-colons, for example, can make it not work.
Hope this helps.