See: Description
Interface | Description |
---|---|
DeviceDriver |
This is the interface template for device drivers.
|
ExternalInterruptHandler |
A simple interface for external interrupt handlers.
|
MonitorHandler |
A simple interface to make sure that components including a MonitorPanel have the required methods to communicate with it.
|
XfaFileheader |
The interface with required routines a fileheader object must have.
|
Class | Description |
---|---|
Arith |
Class to speed up some SMSQ/E floating point ari ops.
|
Beep |
This implements a simple BEEP interface.
|
CircularBuffer<T> |
A fixed size true circular LIFO buffer.
|
ClipBoardXfer |
An object accessing the system clipboard for transfer from it.
|
DriveAssignmentsDialog |
Popup window to ask for drive assignments (e.g.
|
FloppyDriver |
This is the driver for reading and writing QL style floppy disk images.
|
Helper |
This isn't really a class per se - it just contains various utility routines (
public static final ones). |
IPError |
A data class containing entirely made up IP error strings.
|
IPHandler |
This handles TCP connections.
|
IPReadAheadBuffer |
A (very primitive) "peekable" byte (not char!)
|
IPSocket |
A socket which may be of different types.
|
IPTypes |
This class just holds some constants for IP comms and data structures.
|
Localization |
This is the localization class, which contains strings in different languages.
|
MemDrive |
This class handles one "MEM" drive - a copy in memory of a qxl.win drive.
|
MemDriver |
This is the device driver for the MEM device.
|
Monitor |
The "monitor" object for the smsqe emulator, controls / starts / stops the emulation thread.
|
MonitorGoThread |
The independent thread that actually handles the emulation on a "g","gb" or "x" command.
|
MonitorGui |
The GUI for the monitor/emulator when run as an application.
|
MonitorPanel |
This is the JPanel containing the monitor windows and command line.
|
MultiMonitorDialog |
A dialog that lets you choose on which monitor in a multi-monitor environment the full screen mode will be displayed.
|
MySocket | |
NfaDriver |
The Native File Access device driver class that allows SMSQE to access native files.
|
NfaFileheader |
Simulates an SMSQE fileheader for files on an NFA device.
|
QemuFileheader |
Creates an SMSQE fileheader for QEMU or SFA files on SFA devices.
|
QL50HzInterrupt |
This simulates a 50 Hz external frame interrupt, and generates screen redraws.
|
SampledSound |
An object to make some sampled sound according to SMSQ/E's SSSS specification.
|
Screen |
The emulated machine's screen, to be subclassed.
|
Screen0 |
The emulated machine's screen - a QL mode 4 or 8 screen.
|
Screen16 |
An 8-bit Aurora compatible screen for SMSQmulator.
|
Screen32 |
This is the screen object for a "mode 32" screen, where each pixels is a word in GGGBBBBB RRRRRGGG format.
|
SfaDriver |
The SMSQE File Access device driver class that allows SMSQE access to SMSQE type files (with header) on a native drive.
|
SfaFileheader |
Creates an SMSQE fileheader for SFA files.
|
SMSQmulator |
The main object, it doesn't do much other than setup and start the monitor.
|
SoundDevice |
A SOUND device to play sampled sound according to SMSQ/E's SSS specification.
|
SpringUtilities |
A 1.4 file that provides utility methods for
creating form- or grid-style layouts with SpringLayout.
|
TBFlasher |
A class to flash the taskbar icon, if it is not focused.
|
TrapDispatcher |
This dispatches the various "traps" called from SMSQE to their handlers.
|
Types |
This just contains static data types.
|
Warnings |
This is just a data structure containing what type of warnings should be suppressed or shown.
|
WinDir |
This is an object containing one directory within a qxl.win drive.
|
WinDrive |
This class handles one "QXL.WIN" drive.
|
WinDriver |
This is the device driver enabling SMSQmulator to read QXL.Win files.
|
WinFile |
This is the class representing one file on a QXL.WIN device.
|
WinSpecialFile |
This is the special access file ("*d2d) on a qxl.win drive.
|
XfaDriver |
The File Access device driver template class that allows SMSQE to access native files.
|
XfaFile |
A file for an (X)FA device.
|
Enum | Description |
---|---|
IPTypes.CONN_STATUS |
Connection status.
|
Exception | Description |
---|---|
DoNothingException |
An exception that does just nothing special.
|
IncorrectFiletypeException |
This exception should get thrown when the WIN, MEM or FLP drivers are fed files that are not of the correct type.
|
To this end, an MC 68000 processor is emulated.
Some implementation notes.
As a general rule, most of the objects here are NOT thread safe. Concurrency was NOT an issue when writing this - it is considered that there is ONE CPU that is emulated, which can only access ONE instruction at a time.
Likewise, all I/O operations on emulated devices (WIN, FLP, NFA, SFA, MEM) are always atomic to SMSQE: the corresponding trap is entered, the device driver is called by it and the CPU emulation is totally suspended whilst the I/O operation is handled by the device driver(the emulation thread is handling the I/O call, too). Hence, the device drivers are not thread safe, either.
----------------- SMSQmulator versions -------------------------
v.2.21 JVA_VER$, JVA_WINDOWTITLE, JVA_NETNAME$ implemented. TCP and SCK drivers should work with most common calls.
Unlockable qxl.win files may be made read only. SampledSound will upsample to 22.05 Khz. Various bug fixes. Better QL Screen
emulation. Window may popup or icon flash if popup event.
This contains several bugfixes (stipples in mode 32, Beep, CMP instructions, file open on xFA devices), configuration of SSSS sample frequency and the possibility to copy the original QL screen to the extended display.
Arith bug fix, Full size window implemented, exit item in "files" menu.
Floppy driver bugfix, RORimm bugfix. Small optimizations for speed. When changing screen mode, this is acted upon immediately (immediate reset).
Small optimizations for speed, screen update interval is selectable.
-------------------- To do list ---------------------------
Known bugs/Still to do are (at least):
(v 2.16) Bugs or necessary things to do:
None.
Desirable enhancements :