Q-emuLator for Windows 95 - Alpha Version 3 - January 25th, 1998
USER MANUAL
Index
Q-emuLator is a software emulator of the Sinclair QL home computer.
Originally written in 1994/95 for the Mac OS, Q-emuLator is now being ported to Windows 95.
Q-emuLator emulates the QL's processor (the Motorola M68008) and redirects the basic QL I/O (video, keyboard, mouse, mass storage, sound, serial ports) to the PC hardware. Putting a QL's ROM in this virtual environment makes it possible to run QDOS without its noticing that it's not running in a QL black case.
Q-emuLator runs like any other applications in the Windows environment, without taking over all the machine. You can switch to other active applications, and Q-emuLator can also run (more slowly) in the background.
A 486 or better system with Windows 95. A QL ROM image (not included).
Sound emulation is available only if DirectX is installed on your system.
The emulator needs a file with a 48K QL rom image. The QL rom is not included in the Q-emuLator’s package for copyright reasons. You can find the rom image on Internet (follow the link from the ‘Q-emuLator for Windows 95’ www page), or you can create it on your QL with the "SBYTES FLP1_QL_ROM,0,49152" command. This command doesn't work on (Super) Gold Card systems, as you get a modified ROM image instead of the original one. Therefore, if you have a (Super) Gold Card, you must disconnect it before using the SBYTES command and copy the ROM to a microdrive, then from there to a floppy after reconnecting the card.
Once you have the ROM file on a QDOS floppy disk you can read it from your PC by using the ‘qltools’ utility (you can find it somewhere in Internet).
Name the file ‘QL_ROM’ and put it in the same directory as the QemuLator.exe program.
(Using a rom image with a different name or in a different directory requires creating and editing a configuration file, as described later in this manual.)
When the QL ROM image is in the Q-emuLator's directory you can start the emulation by choosing "Start" from the QL menu, or by just clicking over the QL's picture.
Have fun!
Some features of the Mac version of Q-emuLator have not been ported to Windows 95, yet:
The program's window has two parts: the upper part shows the QL display, and the lower part the microdrives. (The bar between the two parts should not be dragged around, although the current alpha version does not prevent this action.)
You can attach a Windows directory or a disk drive to a microdrive slot by clicking in it and selecting a command from a popup menu.
To transfer files from your QL system to the PC you can use QDOS formatted floppy disks and read them from Q-emuLator.
Executable files (and some other kind of files) are stored on the PC in a special format containing QDOS-specific information.
The compressed "FileUtil_zip" archive contains some utilities that can be used on a QL, should you ever need to transform files with a QL between QDOS and Q-emuLator for Windows formats. The transformation is automatically carried over for you on your PC when you use Q-emuLator to copy files between a Windows directory and a QDOS formatted disk. To translate (on a QL) QDOS files to the Windows format you can use the "QLToWin_exe" utility. The archive contains two other utilities: "MdvToWin_exe" translates to the Windows format files stored on copy protected microdrives, while "WinToQL_exe" translates back from the Windows format to the QL's.
Note: most non-executable files don't need to store extra QDOS information; therefore they have the same format both in the QDOS and in the Windows environment.
Access to QDOS formatted floppy disks
You can attach QDOS formatted floppy disks to microdrive slots. When you click on a slot you can choose to attach it to a Windows directory or to a floppy disk drive with a QDOS formatted disk in it, or you can empty the slot if it was already filled. Note that you access each of the eight virtual MDV slots with any of the MDV, FLP or WIN names, regardless of what type of medium is attached to a slot.
Note: FLP1 and FLP2 refer to slot 1 and slot 2, NOT to drive A: and B:. Of course, if you like you can attach drive A: to slot 1 and drive B: to slot 2, but you are not required to do so.
Note: When you swap QDOS disks in an attached drive you should tell Q-emuLator about the change by clicking on the slot and choosing the ‘Empty’ command, then by re-attaching the drive to the slot (click on the slot and select the drive from the ‘QDOS Floppy Disk’ sub-menu).
The FORMAT command is not supported.
Access to QDOS formatted floppy disks is not supported under Windows NT.
All other Q-emuLator's features should work also with NT.
Q-emuLator provides a built-in ram disk device driver. If you use it instead of loading a QL software ram disk driver (like 'ramprt') you will gain in speed.
The device name is 'ram' (but you can change it through configuration files) and it has eight drives, 'ram1_' through 'ram8_'.
You can use the ram disk both in dynamic and static mode. In dynamic mode you can freely copy files to the ram disk and more ram will be allocated for it every time it is needed, up to filling the whole QL's memory. In static mode you assign a fixed memory amount to each drive, by formatting the drive and specifying the requested number of blocks as the medium name: for example, the command ‘FORMAT ram1_400’ assigns a fixed amount of 200K (as each block is 512 bytes long) to the first ram drive.
To erase a whole ram disk drive at once use the ‘FORMAT’ command without specifying a file name: for example ‘FORMAT ram4_’.
In static mode all the memory needed by the driver is allocated when you format the drive. This means that you are sure that no other job can take away that memory before the ram driver needs it, but also that the ram driver is not allowed to use more memory than the amount specified.
While dynamic mode is easier to use, you are encouraged to use static mode whenever it is possible, because it is a lot faster: in dynamic mode the driver has to call emulated QDOS routines every time that it wants to allocate or release a block of memory, whereas in static mode all the memory is allocated at the beginning and QDOS is no longer called.
The ram disk device driver is not level 2 (i.e. it doesn't support subdirectories), and there are no SuperBASIC extensions to modify its behaviour (for example there is no RAM_USE keyword).
If you prefer to use another ram disk driver (although it will be slower, as it has to be emulated), just disable the built in device driver through configuration files, and install your driver by installing an add-on rom containing it or by loading it from your boot file.
QL 'BEEP' emulation is available if DirectSound (a DirectX component) is installed on your system.
Sound is on by default. You can turn it off through a switch in the 'QL' menu.
There is still a problem with sound emulation: a click is sometimes heard if a BEEP command is issued when another BEEP command is still playing.
Mouse emulation is provided under the Pointer Environment through a special mouse driver, named ‘MacMouse’.
To take advantage of it, install the ‘MacMouse’ mouse driver (included in the Q-emuLator package) JUST AFTER having installed the Pointer Environment (that is, the ‘PTR_GEN’ extension, not included in the Q-emuLator package).
To install the mouse driver use the following SuperBASIC command:
a=RESPR(1024):LBYTES mdv1_MacMousexy,a:CALL a
or, if Toolkit II is installed:
LRESPR mdv1_MacMousexy
The command assumes that the ‘MacMousexy’ file (replace x and y with the version number: for example ‘MacMouse11’ for the mouse driver version 1.1) is in the first Microdrive slot.
Once the mouse driver is installed, any active QL mouse cursor will be moved instead of the Windows pointer when it is over the QL display window (provided that the QL display window is the frontmost window).
Note that as the QL cursor follows the Windows’ one, its speed is independent from any settings in the QL environment; on the PC, the mouse speed can be set in the Mouse Control Panel.
Unlike the left and right mouse buttons, the central button is not emulated.
The QL had a real time clock, but you had to set it every time you started the computer, because there was no battery to keep it working while the computer was powered off. On Q-emuLator there's no need to set the QL real time clock, as the current date and time is read from the PC clock every time the program starts.
Note: changing the QL clock settings doesn’t affect the PC clock.
SER1 through SER4 are linked to COM1: through COM4:.
The baud rate can be set to most of the usual QDOS values, plus many PC values not originally supported by the QL, up to 256000 baud, if your serial port supports it. For the higher transmission rates, however, it is recommended to use hardware handshake, as otherwise the emulated QL could be too slow to handle the data without losses.
The TRA command, present in JS and later ROM's versions, is not implemented. This command allows to specify a character translation table, but usually communication programs don't use this feature.
The Minerva and SMSQ extensions to the serial driver are not supported.
A configuration file is a text file used to store the emulated QL’s configuration and some other Q-emuLator’s settings.
Configuration files are quite similar to Windows ".INI" files: each line of text describes a different preference or setting, identified by a keyword. The format of each line is:
Keyword = Value
You can, for instance, set the QL’s ram amount to 640K with the following line in a configuration file:
Ram = 640K
Configuration files have the ".QCF" suffix. Unlike ".INI" files, you can have multiple configuration files, and you can store them anywhere you like.
To start Q-emuLator with the settings specified in a particular configuration file, double-click its icon, or drag it onto the Q-emuLator’s icon. If you start Q-emuLator without opening any configuration file, the program uses a default configuration. If you want to define your personal default configuration, you can do it by saving the desired settings into a configuration file named "default.qcf" and placing it in the Q-emuLator’s directory.
You load and save configuration files through commands in the ‘File’ Q-emuLator’s menu.
Some settings cannot be modified from within Q-emuLator (yet), but you can still save a configuration file and edit it directly with any text editor.
Follows a description of the keywords you can find and use in configuration files. For each keyword the following table shows the possible values, their meaning, and the default value. The last column shows how you can alter the setting from within Q-emuLator (a X means that it is not possible, yet).
Keyword1 |
Value |
Meaning |
Default |
Q-emuLator |
Ram |
N N KN M |
QL ram amount: N bytes N kilobytes N megabytes |
128K |
‘RAM’ menu |
MainRom |
name/path2 |
Name/path of main (48K, at address 0) ROM image. |
QL_ROM |
X |
BackRom |
name/path2 |
Name/path of back (16K, at address $C000) ROM image. |
BACK_ROM |
X |
BackRomActive |
Yes/No or On/Off |
Enable back 16K ROM? |
No |
X |
ExpRom |
name/path2 |
Name/path of external (16K, at address $C0000) ROM image. |
|
X |
ExpRomActive |
Yes/No or On/Off |
Enable external 16K ROM? |
No |
X |
UseFloppyName |
Yes/No or On/Off |
Access MDV slots through floppy disk alias? |
Yes |
X |
FloppyName |
name |
Floppy disk alias/device name. |
FLP |
X |
UseHardDiskName |
Yes/No or On/Off |
Access MDV slots through hard disk alias? |
Yes |
X |
HardDiskName |
name |
Hard disk alias/device name. |
WIN |
X |
HasRamDisk |
Yes/No or On/Off |
Enable built-in ram disk? |
Yes |
X |
RamDiskName |
name |
Name of ram disk device. |
RAM |
X |
FastStartup |
Yes/No or On/Off |
Skip initial QL memory check? |
No |
X |
AutoStartSession |
Yes/No or On/Off |
Launch emulation session when Q-emuLator starts? |
No |
X |
Sound |
Yes/No or On/Off |
Enable/Disable sound emulation. |
On |
‘Sound’ command in the ‘QL’ menu |
1
Keywords are not case sensitive, and can contain spaces. For example, you can write ‘FloppyName’, but also ‘FloppyNAME’, ‘FLOPPYNAME’ or ‘floppy name’.
As an example, the following is the content of a configuration file that specifies the default values:
Ram=128K
You are encouraged to create a personalised default configuration file: choose the ‘Save Configuration’ command from the ‘File’ menu, and save the file in the Q-emuLator’s directory, naming it ‘default.qcf’. Then edit this file with a text editor. The most useful changes are to increase the QL ram amount (384K or 640K) and to set the ‘FastStartup’ option to ‘Yes’: this skips the initial QL memory test, so when you start emulation you go directly to the "F1/F2" prompt. You can add a back (and/or external) 16K ROM image by specifying its path and setting the ‘BackRomActive’ (and/or ‘ExpRomActive’) option to ‘Yes’. From now on, these new settings will be automatically used every time you run Q-emuLator, unless you open a different configuration file.
A 16K expansion ROM can also be optionally used by the emulator. You can get a 16K expansion ROM image on your QL with the "SBYTES FLP1_BACK_ROM,49152,16384" command. To tell Q-emuLator to use the ROM, insert or edit in your configuration file the "BackRom" and "BackRomActive" keywords (for details refer to the previous chapter).
You can find news and information about Q-emuLator (both Mac and Windows versions) at the following World Wide Web address:
http://www.geocities.com/SiliconValley/Heights/1296/q-emulator.html
Please send to me feedback about your using Q-emuLator (comments, questions, suggestions, bug reports, etc.) at the following e-mail address: