QL CP/M

Anything QL Software or Programming Related.
Timbo614
ROM Dongle
Posts: 3
Joined: Sun Jan 21, 2018 9:12 pm

Re: QL CP/M

Postby Timbo614 » Mon Jan 22, 2018 8:22 pm

Hi All Questers :) for CP/M for the QL....

This is a thread that I discovered on Google and many assumptions and thoughts on the Quest system are correct but I can correct/confirm a few things because I wrote the BIOS I/O code for the original microdrive version by Quest. I had left before the disk based version was produced (that's another story tho').

It's all a very long time ago and much beer and many lines of code have gone under the bridge since 1984, but what I remember:

The interface card contained 1KB RAM that is bank switchable by writing to an I/O port(memory mapped?). No settings are stored in it. The problem was/is (as mentioned here) that the QL interrupt table is in ROM so the 1KB RAM is used to hold a copy of the interrupt table, with suitable adjustments made for when CP/M has control. Basically at start-up I copied the ROM Interrupt table to the RAM. Then made the adjustments (in the RAM) for where I needed the Interrupts to go. When CP/M booted it of course made it's own adjustments.

When switching the RAM out it retained it's contents so i could flip-flop between RAM/ROM as much as needed. Also The 68000 made "context switching" quite simple by taking advantage of the alternate registers and stack pointer (much like a z80 could do).

As suspected here the O/S ran on top of QDos much like Windows 3.x on MS-DOS for certain operations, especially microdrive reading/writing, screen control, colour display - which was supported via ANSI - and some other things I can't remember! So a lot of the BIOS code was actually creating wrappers around QDos calls and mimicking a floppy drive within a QDos file.

At initial boot of the QL the user had to load and run a small Basic Program IIRC (or it auto ran) . This (again IIRC) changed the memory allocation for basic/QDos, loaded a specialised CP/M IPL/Bootloader into RAM from microdrive and simply jumped to it's start address.

Why did quest do this? You ask. The thinking was based on an extensive Sinclair ad campaign for "OPD" or One-Per-Desk featuring the QL in a central position for businesses - like erm.. one on every desk!. So it followed (sort of) that businesses would want a "proper" operating system like CP/M. They should have course have gone for PC/MS-DOS which would have been only a little more trouble but a lot more expensive licence wise.

Why did I get the job? Because at that time I was writing all their hard disk interface code for various machines both MS-DOS and CP/M (I also did Concurrent-CP/M for the Apricot). So I was considered the closest person they had to a BIOS writer.

Final note. The RAM Disk: The rush was to get the product to a show (of course) and it was terminally slow to do things using microdrives so the day before the show someone said "we need a RAM Disk" So I set about including one. I had it done in 2 or 3 hours, it worked first time. OK ..it was a fixed size but first time no bugs. That had never happened to me before and hasn't since!

Hope that belatedly helps. Timbo.


User avatar
Dave
SandySuperQDave
Posts: 1996
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: QL CP/M

Postby Dave » Tue Jan 23, 2018 5:46 am

I'm not sure if it's the same product but I distinctly remember at Sandy having to burn 100 EPROMs with CP/M. Verifying. Putting on the labels. Soldering up the ROM PCBs. Putting the ICs on. Screwing on the plastic covers. Testing on a testbed QL. Putting the product stickers on.

Thanks for a couple of mornings of miserable work, if that was your fault :P

I kid! I kid!


User avatar
Dave
SandySuperQDave
Posts: 1996
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: QL CP/M

Postby Dave » Tue Jan 23, 2018 5:48 am

That ROM was by Peter somebody? I don't remember the last name.


RWAP
RWAP Master
Posts: 2450
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

Re: QL CP/M

Postby RWAP » Tue Jan 23, 2018 6:34 am

Thanks for all of the information Tim - I have added most of that to the QL Wiki as a bit of background interest.

All we need now is someone to find a working setup!

Dave wrote:I'm not sure if it's the same product but I distinctly remember at Sandy having to burn 100 EPROMs with CP/M. Verifying. Putting on the labels. Soldering up the ROM PCBs. Putting the ICs on. Screwing on the plastic covers. Testing on a testbed QL. Putting the product stickers on.


I guess that was the Sandy CP/Mulator - http://qlwiki.qlforum.co.uk/doku.php?id ... :cpmulator - by Peter Szymanski


User avatar
Dave
SandySuperQDave
Posts: 1996
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: QL CP/M

Postby Dave » Tue Jan 23, 2018 7:58 am

That rings a bell. I don't remember anything about it except making them and packing up the manuals. And the guy's name was Peter (my Dad's name)...



Return to “Software & Programming”

Who is online

Users browsing this forum: No registered users and 5 guests