Making QL Software More Accessible

Anything QL Software or Programming Related.
Super Gold Card
Posts: 528
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Making QL Software More Accessible

Postby tcat » Tue May 07, 2019 9:16 am


Just my bit to the discussion. QL `_zip' seems an universal container preserving QDOS header.

Not sure how many users out there still transfer files to the real thing QL over serial line as I do. This works even on unexpanded QLs, wiith only 128K of mem, where zip simply would not fit (with its 80K of code + 100K dataspace) .

`qzip' - 69206 code / 60764 dataspace (modified)
`zip' - 74112 code / 309388 dataspace !! (ziprelease v3.0)

All is needed is to keep 15 byte QDOS header at least on executables (contains precious dataspace), which is preserved in `_zip' (all 64 bytes). On binaries the header just contain file size and can be reconstructed.

When an executable header is lost, a rule of thumb for `C' binaries, 100K may be a good start for datspace.

I have a modified zip, and zipinfo, that can output the QDOS header.

So on my *ux host I keep binary files along with the twin header.

Or <file_bin> when the header is part of the file already, as saved from QL by COPY <file_bin> TO SER2 or SBYTES SER2

Text files I keep terminated with ^Z ($1A).
These can be loaded e.g. with LOAD SER2Z

This way, I can boot the whole QL from SER2 with a set of programs and extensions.

I have also learnt to cope with qemu zip, as it puts full text verbatim in binaries, "this is qdos header" so to speak, followed by 14 byte header, w/o initial $ff flag

EDIT example

Code: Select all

00000000  5d 21 51 44 4f 53 20 46  69 6c 65 20 48 65 61 64  |]!QDOS File Head|
00000010  65 72 00 0f 00 01 00 00  44 58 00 00 00 00 60 00  |er......DX....`.|

I have coded a set of utilities for SER2 transfer, not much user friendly so far.

Code: Select all

tcat@lynx:~/ql$ qlsnd
No such file
Usage: qlsnd -b [baud] -p[ause] [file]

tcat@lynx:~/ql$ qlrcv
No such file
Usage: qlrcv -b [baud] [file]

tcat@lynx:~/ql$ mkhdr
No such file
Usage: mkhdr -t [type] -s [data space] [file]

tcat@lynx:~/ql$ qemuh  # qemulator
No such file
Usage: qemuh [file]

Example of modified zipinfo

Code: Select all

tcat@lynx:~/ql/sw$ zipinfo -v QED
file system or operating system of origin:      SMS/QDOS
The central-directory extra field contains:
  - A subfield with ID 0xfb4a (SMS/QDOS) and 72 data bytes.
    The QDOS extra field subtype is `QDOS'
      00 00 1e dc 00 01 00 00
      06 00 00 00 00 00 00 03
      51 45 44 00 00 00 00 00
      00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00
      00 00 00 00 47 9d e7 27
      00 00 00 02 00 00 00 00.
  - A subfield with ID 0x5455 (universal time) and 5 data bytes.
    The local extra field has UTC/GMT modification time.
  There is no file comment.

The serial requires at least compatible UART on *ux host side, as QL expects some +12("1"), -12("0") on SER{1,2}. Or a very good [USB/WiFi] adapter with voltage converter.

Last edited by tcat on Thu May 09, 2019 6:20 pm, edited 7 times in total.

Ralf R.
Brittle Membrane
Posts: 106
Joined: Fri Jun 15, 2018 8:58 pm

Re: Making QL Software More Accessible

Postby Ralf R. » Tue May 07, 2019 10:41 am

mk79 wrote:On further look that the Miracle Harddisc was called "WIN"chester is also no coincidence. I'd be astonished if the Atari format also wasn't just the QLWA format, so that would be 3 out of 3 format are just another form of .WIN (or rather QLWA) format. The only difference is that for easier handling these days it's mostly "QLWA on FAT32".

You are quite right, the Atari WIN is QLWA. So, in theory it should be possible to use an MFM or RLL harddisk, formatted at an Miracle Winny at least as a second WIN on an Atari. It is possible to connect a second harddisk in an Atari MegaFile controller (a few wires added). I had this in the very early days, before switching to a SCSI adaptor with a Rodime harddisk.

User avatar
Super Gold Card
Posts: 663
Joined: Sat Apr 19, 2014 1:30 pm
Location: Italy

Re: Making QL Software More Accessible

Postby Outsoft » Tue May 07, 2019 9:24 pm

RWAP wrote:Whilst Dilwyn's site remains the mainstay of QL software for download, we could realistically do with a new approach to make it more accessible.

This could possibly be made a part of the QLWiki which could have a freeware section and provide direct links to the software titles, along with descriptions and screenshots.

However, the main focus of this discussion is about how to make the software itself more accessible.

The problem is that the majority of software on Dilwyn's site is stored as zip files created on a QL; which some users still struggle to download, get to the QL and unzip.

There are of course several formats and perhaps people could upload or add the formats when they do convert them.

We have:

.mdv (Microdrive images for use with vDrive mainly)
.zip (Windows zipped files for use with q-emulator)
_zip (QL zip files - need to be unzipped on a QL or within an emulator)
.img (Floppy Disk image files)

Whilst there are of course the QubdIDE, TDI and QL-SD methods of storing files, there is not really a format suitable (so far as I can see) for downloading a single program and inserting it into the hard disk QXL.WIN container used by these, or QPC2 etc...

If you need MDV versions of original stuff to put online I'm always ready to share our work naturally ;)

Who is online

Users browsing this forum: Derek_Stewart and 1 guest