Logo
 

The Phaser E-stim Software

   New from Phaser Software: Phaser Live. Click the Play Button!

How to Start with Phaser Live
Phaser Live is a web app that runs in your browser. As it's a demo, it doesn't have all the features of the Phaser desktop version. Play around but don't blame us if things get weird!
For an easy and quick start we have preloaded one of the templates. Just click the play button to start playing that track, or select another template from the drop-down list Template. Adjust to your personal liking!
This Phaser Live demo also comes with two sessions, selectable from the drop-down list Session. Select a track to play, or play the entire list. While tracks in Demo 1 are LDC signals optimized for an amplifier and transformer based setup (Phaser Circuit), Demo 2 is intended for use with digital e-stim devices that can process external audio signals.

E-stim Reference and Glossary

E-stim
E-stim, or estim, stands for electrostimulation and means a technique to pass an electric current from one electrode, through living tissue, to another electrode. Sensory perception depends on various variables such as the size and placement of the electrodes, the applied pulse waveform of the stimulating current, the pulse repetition frequency, and the pulse amplitude.
E-stim is usually broken down into different categories such as electromedicine, electrotorture, electrosex, and electropleasure, the last two meaning pleasure through the erotic use of electrostimulation.
Besides the electrodes, e-stim requires an electrostimulation power source, a device that delivers a pulsed current to the electrodes. For electromedical applications TENS units are widely spread and are gaining in popularity with physiotherapists. Quite often, these same TENS units are rebranded, repackaged, and then sold as e-stim devices.
But more and more the market gets dominated by devices specifically designed and manufactured for e-stim. Prices vary from $60 for a simple TENS-like machine to $600 for a more sophisticated multichannel e-stim device.
A popular approach is using specifically designed e-stim software, a power amplifier, and a step-up transformer circuit, also referred to as a Phaser Circuit. This setup allows for generating the stimulating pulses in a most flexible way, creating stimulation effects that are not achievable with off-the-shelf equipment. A still growing e-stim DIY community prefers such homemade devices, known as White Boxes.

Electrostimulation with a Phaser Step-up Circuit

  Electrostimulation with a Phaser Step-up Circuit


E-stim Device
An electrostimulation device in the context of electro-play is a self-contained box that is designed specifically for e-stim. While the majority of these devices are battery powered, some have built-in rechargeable batteries or come with a mains adaptor that even boosts the maximum available output power when plugged in during operation.
Recent e-stim units now are digital devices, controlled by a microprocessor inside the box. Proprietary software running on a computer allows to design and upload new routines or improved firmware into the devices.
More enhanced devices process audio signals and audio files that are fed to the units via an audio input jack. Our Phaser electrostimulation software can directly drive commercially available e-stim devices through the audio input jack, vastly expanding the limited possibilities of the built-in routines and introducing completely new sensations. Phaser can even add Internet remote control features to the devices.

Microprocessor Controlled E-stim Device

  Microprocessor Controlled E-stim Device

Audio Control of E-stim Devices via the Audio Input Jack

  Audio Control of E-stim Devices via the Audio Input Jack

DIY E-stim White Box
A White Box, in the context of electro-play, denotes a homebrew DIY e-stim box that connects to a computer's sound card or to another computer interface. It typically consists of electronic parts that form a Phaser Circuit, and optionally an audio power amplifier.
There are various reasons why people start building their own electrostimulation equipment. The first thing that comes to one's mind is saving money. Good e-stim equipment does have its price, but apparently not everyone is willing to pay such price. Another motivation is the ability to produce levels and sensations that are not achievable with off-the-shelf e-stim devices.
The photo shows a DIY Phaser Circuit that makes use of 6 transformers. This box connects to an audio power amplifier that is driven by e-stim audio signals from a computer.

Homebrew 6 Channel DIY E-stim White Box

  Homebrew 6 Channel DIY E-stim White Box


E-stim Software
The term E-stim software applies to any software application that generates e-stim audio signals for the purpose of electrostimulation, and outputs these signals through the computer's sound card in real-time.
These e-stim audio signals are either fed through an amplifier to a Phaser Circuit, or they directly drive an e-stim device with audio input jack. E-stim software also reads and writes e-stim sound files for use with other media players.
Recent software allows to choose between different pulse waveforms, and to modulate the amplitude and frequency of the signals. One also finds level meters, waveform viewers, features to measure frequency and pulse response, pulse enhancers, and Scalable Graphical User Interfaces.
Electrostimulation software usually comes with a large set of ready-to-run templates and sessions that can be tailored and then saved as shareable session files.
The first-ever e-stim software appeared in 1999. It was our Phaser software 1.0 for Windows 98.

The Phaser E-stim Software: Windows Desktop Version

  The Phaser E-stim Software: Windows Desktop Version

E-stim Session File
An E-stim Session File basically is a plain text file containing detailed facts about all the wav files belonging to a session. The e-stim software stores each session as a single physical session file, organizing the wav files as tracks in a playlist.
Only descriptions of the wav files are actually stored, which keeps the file size down. Instead of transferring megs of data to another computer, only a small session file needs to be copied to a remote location to have the wav files of a session immediately available.
Phaser session files are compressed to further reduce the file size. Opening such a file in a text editor displays only the file header correctly. Therefore, session files have to be edited by using the originating e-stim software.

Playlist with Tracks of a Phaser Session

  Playlist with Tracks of a Phaser Session


E-stim Template
An E-stim Templates or e-stim routine typically is a single sound track that plays for a few minutes, starting at a low output level and gradually increasing to its maximum towards the end, by the use of a ramp-up function.
E-stim software, as well as most off-the shelf e-stim devices, usually comes with a bunch of already built-in templates for immediate use or as a starting point to design new e-stim patterns and waveforms.
Selecting one of the templates loads the predefined routine that can be adapted to personal tastes. To permanently keep any changes made to a template, one or more templates can first be copied to a session, then edited and finally stored in a session file.
While new session files for a specific device or a software application often are available for download, templates are part of the firmware and hence cannot be updated.

Drop-down List with Phaser's built-in E-stim Templates

  Drop-down List with Phaser's built-in E-stim Templates


E-stim Waveforms
It is commonly accepted that the most energy effective e-stim waveform is a low duty cycle pulse train, a LDC pulse. In contrast, sinusoidal stimulation signals require a linear power amplifier and a low distortion step-up transformer circuit, and the average energy delivered to the tissue by sine waves is much higher than with optimized LDC pulses.
However, sine waves are particularly suitable for exploiting interference effects like the Phaser Effect, and thus are commonly used with StereoStim setups and devices.
The Phaser bPulse waveform is a bi-directional, balanced LDC pulse that has its interphase interval maximized. This delay between the charging and discharging pulse lowers the excitation threshold, and thus also lowers the total energy delivered to the tissue, making it our preferred pulse shape for electrostimulation.
The Phaser iPulse waveform makes use of a fixed interphase interval, which is equal to the pulse width of the signal. This is the recommended e-stim waveform for repetition frequencies below 80 Hz.
Both the bPulse and the iPulse pulses are DC compensated, i.e., they do not have a DC offset, which is also true for the Sine waveform.
Bi-directional pulses, also referred to as biphasic or bipolar pulses, have less average power than sine waves. The average power depends on the pulse width and the pulse repetition rate of the electric stimulation signals.
Recommended energy-efficient e-stim waveforms are the two optimized LDC pulses that our Phaser software emits.

The Sine Waveform

  The Sine Waveform

The bPulse Waveform, Maximized Interphase Interval

  The bPulse Waveform, Maximized Interphase Interval

The iPulse Waveform, Fixed Interphase Interval

  The iPulse Waveform, Fixed Interphase Interval


LDC Pulses
Low Duty Cycle pulse waveforms reduce the tissue power dissipation at the skin-electrode interface, compared to a sinusoidal signal that induces the same sensory perception.
Minimizing the delivered energy to the tissue is of particular importance so as to reduce or eliminate e-stim side effects like tingling, numbness, or skin irritation.
Phaser's unique LDC e-stim waveform optimizes the ratio of stimulus perception to delivered energy through insertion of an interphase interval td, a delay between the charging and the discharging pulse. This interphase interval separates the pulses slightly so that the discharging pulse does not reverse the physiological effect of the charging pulse.

Optimized LDC Pulse with Maximized Interphase Interval td

  Optimized LDC Pulse with Maximized Interphase Interval td


Optimal E-stim Waveform
The first step on the road to the perfect pulse is to choose an electrode-skin model that most closely reflects the e-stim specific environment, and to calculate the actual values of this model's circuit elements from measurements in the lab.
After doing the math it becomes obvious that the optimal electrostimulation waveform LDC reduces the tissue power dissipation by more than 90%, compared to a sinusoidal stimulation inducing the same sensory perception. (For more details see our paper Signals, accessible to customers.)
The pulse width should be chosen to be within the optimum operating range. Phaser's bPulse is our implementation of the optimal e-stim pulse waveform.

Optimal Pulse: Tissue Power dissipation vs. Pulse Width

  Optimal Pulse: Tissue Power dissipation vs. Pulse Width


Amplitude Modulation
Amplitude Modulation means varying (modulating) the output amplitude of the basic frequency by another signal.
The modulation frequency determines how often per second the amplitude of the basic frequency is varied.
The term modulation depth is used to describe the ratio of maximum amplitude to minimum amplitude of the basic frequency. The modulation depth may vary between 100% (max. modulation) and 0% (no modulation).

Amplitude Modulation, Modulation Depth 90%

  Amplitude Modulation, Modulation Depth 90%


Frequency Modulation
Frequency Modulation means varying the instantaneous frequency of the basic frequency by the modulating signal.
The modulation frequency determines how often per second the basic frequency is varied. The maximum deviation from the basic frequency is called frequency deviation.
Some restrictions apply: the modulation frequency value must not exceed 50% of the basic frequency, and the frequency deviation value may not exceed the basic frequency.

Frequency Modulation

  Frequency Modulation


Phaser Effect
The Phaser Effect is achieved by generating sine waves with slightly different frequencies for the two channels in a Three-Electrode Setup. This is equal to a continuous and periodic change of the phase relationship between the two e-stim signals. Thus, the combined signal amplitude varies in time with the beat frequency, which is the difference between the two interfering signal frequencies.
Fig. 1 shows two sine waves L and R. R does have a slightly higher frequency than L, thus increasing the phase difference with time. The green line is the combined signal L + R, the electrical stimulation current through the corona electrode, which is slowly varying its amplitude with the differential beat frequency, if using this Phaser Circuit.
Using LDC pulses presents a new problem when it comes to exploiting the interference beats for e-stim purposes. In Fig. 2 two biphasic pulse trains with slightly different frequencies are shown, the blue pulse train having a slightly higher repetition rate. The thing with low energy pulses is that there is nothing, most of the time. That's why it's low energy. Combining both signals does not result in a nicely modulated signal, but in a more or less randomly looking pulse train with some rare peaks when the pulses L and R overlap (green peaks).
The solution here is to apply AM modulation in combination with 180° phase shifts to one of the emitted pulse trains.
In Fig. 3 modulation and phase switching is applied to the pulse train R (blue), the black arrows marking the points of the 180° phase switches. The result is quite comparable to that of sinusoidal interference beats, but at a greatly reduced energy level.
Phaser can emit these LDC pulse patterns, and easily turns any computer into a versatile stimulation source, ready to be used in a three-electrode setup.

Fig. 1 Phaser Effect: Interference Beats

  Fig. 1 Phaser Effect: Interference Beats

Fig. 2 LDC Pulses and Interference Beats

  Fig. 2 LDC Pulses and Interference Beats

Fig. 3 Phaser Effect with LDC Pulses

  Fig. 3 Phaser Effect with LDC Pulses


Phaser Circuit
A Phaser Circuit, also Phaser Step-up Transformer Circuit, essentially is a combination of UL listed low cost mains transformers and a resistor network.
The circuit acts as a high impedance current source in order to maintain a constant stimulation current independent of the load impedance, given by the skin-electrode interface.
The output impedance should be at least ten times the load impedance to achieve current source characteristics, i.e., 10 kΩ or higher, way better than the typical 500 Ω of most off-the-shelf e-stim devices and TENS units.
Encapsulated and vacuum potted low cost mains transformers are usually used to convert the AC mains voltage to a rather lower voltage. Using them in reverse and outside the frequency range they are optimized for requires some extra research, as frequency response plots for the entire audio range are usually not available from the transformer manufacturers.
So we tested different samples from various makers for their usability in a Phaser e-stim step-up circuit.
Most transformers are designed for both the US and European market and hence come with two primary and two secondary windings. Connecting the two primary windings in series and the dual secondary windings in parallel gives the best turns ratio.
Our step-up circuit dissipates more than 90% of the supplied input power as heat in the resistors, the price to pay for such a passive current source. Exactly this high power dissipation is the reason why commercially available, battery-powered, lightweight e-stim devices do have a relatively low output impedance (300 to 500 Ω). Converting most of the power into heat would suck the battery dry pretty quick.
On the other hand, a Phaser Circuit is robust, short-circuit and open-circuit proof, and adds yet another layer of security to the setup if UL listed parts are used.
If power consumption is not a concern, a passive high impedance source is the absolute first choice for any high quality step-up circuit.
The transformer circuit forms a low-pass filter with a roll-off of -6 dB per octave. To improve the frequency response of the step-up circuit, this roll-off must be compensated for by applying a pre-emphasis filter function to the signals that boosts the high frequency components. DynaShape is our implementation of such a digital filter optimized for e-stim.

Phaser E-stim Step-up Transformer Circuit (Simplified)

  Phaser E-stim Step-up Transformer Circuit (Simplified)

Tested Transformers for the Phaser Circuit

  Tested Transformers for the Phaser Circuit

Typical Step-up Transformer Frequency Response

  Typical Step-up Transformer Frequency Response


DynaShape
The Phaser DynaShape pulse enhancer is an adjustable digital filter that compensates for the low-pass filtering effect of step-up transformer circuits.
To preserve the original e-stim pulse waveform, the necessary step-up transformer circuit, the Phaser Circuit, must have a flat frequency response curve. Usually these transformer circuits have a low-pass characteristic. DynaShape applies a pre-emphasis filter function to the e-stim signals that boosts the high frequency components, flattening the frequency response curve.

DynaShape Frequency Response Boost

  DynaShape Frequency Response Boost


Ramp-up Function
A Ramp-up Function gradually increases the output level of an e-stim device or an e-stim software application over time. The name ramp-up function is derived from the appearance of its graph or envelope plot.
Deliberately increasing the intensity of the stimulation over time is something that most people find highly pleasurable. In a BDSM scene, letting the person being stimulated see the slowly increasing levels can be especially arousing and challenging.
In a typical scenario, the stimulation level would be increased from 50% to 100% over a period of 15 minutes.

DynaShape Frequency Response Boost

  Phaser Software: Envelope Plot of a Ramping-up Signal


Three-Electrode Setup
The Three-Electrode Setup, also Tri-Phase Setup, combines two e-stim signals from two independent channels to drive three electrodes. If properly used with stimulation signals that exploit interference beats, a very pleasurable Phaser Effect is achieved.
Most important is to maintain the correct phase relationship of the two signals throughout the circuitry by observing the transformer polarity markings of the Phaser Circuit.
Most of Phaser's e-stim session files and templates are designed for a three-electrode setup.

Three-Electrode Setup: Wiring of E-stim Electrodes, Simplified

  Three-Electrode Setup: Wiring of E-stim Electrodes, Simplified


E-stim Audio Files
E-stim audio files are specifically crafted sound files that are played through an amplifier and a step-up transformer circuit, a Phaser Circuit, and deliver stimulation pulses to appropriate electrodes. Some commercially available e-stim devices are also equipped with an audio input jack and can process e-stim sound files fed into the audio input.
Electrostimulation audio files are either played from a digital player, a CD player, or from a computer.
E-stim audio files tend to be large and often are digitally compressed to save disk space and hence transmission time over the Internet. Lossy compression methods like the very popular MP3 algorithm alter the digital data in an irreversible way and thus should not be applied to any e-stim audio signals. However, such MP3 e-stim audio files are widely available on the Internet, or sold on CDs through retailers.
To create or edit electrostimulation audio files, audio editor software can be used. Tools like Expression Evaluators allow sound to be generated from almost any equation. Some clever minds quickly adopted this to e-stim and published a wide variety of formulas to evaluate pleasurable sounds.
A major drawback of expression evaluation is the tedious process of generating the complete e-stim sound file over and over again for each change made. This is where e-stim software kicks in, generating stimulation signals in real-time.

A Low Duty Cycle (LDC) E-stim Audio File Example

  A Low Duty Cycle (LDC) E-stim Audio File Example

E-stim Signals Generated Using math. Expressions

  E-stim Signals Generated Using math. Expressions

Multi-platform Version
A multi-platform version, also cross-platform version, of an e-stim application runs on a variety of operating systems, offering a platform-independent look-and-feel.
The Phaser standalone Java application makes use of the Java runtime environment, which is available free of charge for most operating systems.
Regardless whether Phaser runs on Windows, macOS, or Linux, the e-stim application will look and behave identically. So, even on a Mac, the close button is on the right edge of Phaser's title bar!
Another approach to multi-platform e-stim software is using a web application that runs in a web browser. Phaser has developed a fancy web application that serves as a demo on the website.

Phaser Multi-platform Version on macOS Big Sur

  Phaser Multi-platform Version on macOS Big Sur


Scalable Graphical User Interface
High-DPI displays have a larger number of pixels in the same screen area compared to traditional computer monitors. This enables the display to produce crisper text and graphics if the applications are high-DPI aware.
Phaser's true DPI scaling feature scales up fonts, buttons, icons, and input fields by the percentage specified. Fonts and UI elements are drawn with more pixels, resulting in a larger, higher fidelity, and sharper experience.
The Windows version of our Phaser e-stim software is fully high-DPI aware and thus appropriately scales to your current Desktop DPI setting without any blurring. You can choose another scaling factor to meet your preferences.
The Java version of Phaser supports true scaling factors of 100, 150, and 200% on all platforms.

4 x Phaser on Windows @ 100%, 150%, 300%, and 500%

  4 x Phaser on Windows @ 100%, 150%, 300%, and 500%

History of the Phaser Software

Phaser 1.10
The first public release of Phaser was version 1.10, released May 15th, 1999. This early version was nothing more than a simple wav file creator, which we were inspired to by the legendary wg32 software of Allan Sydvall. He had released wg32 in April 1998 to the public on his Web site.
One drawback of his tool, running in a DOS box and controlled by a bunch of command line parameters, was that it built just mono files. We decided to code a stereo tool, and that's how Phaser 1.10 was born.
The output of this simple Windows application were wav files, and you had to use a third party player for playback of the sound files. A very popular one was Wolfie Buckleton's StereoStim Wave File Player, a player that could organize and play wav files using scripts and had the ability to fade in / fade out the sound files.

The very first Phaser, as of May 1999

  The very first Phaser, as of May 1999

Phaser 2.0
Phaser 2.0, released by the end of 1999, could create multiple wav files from a so-called Session File, at this time a plain text file containing the parameters necessary to write e-stim sound files to disk.
Session files were typically created and edited using the Phaser software, but you could as well use a text editor like Windows Notepad. You would email or post these small session files, no need to transfer or download megs of sound files any longer.
Phaser 2.0 also introduced the unique EFV (Enhanced File Validation) feature to quickly validate existing wav files on disk against a session file.
A built-in player could playback the sound files created with the software. Phaser now was a real useful tool, but still lacked the ability to output audio signals in real-time.

Phaser 2.0 in an Early Stage, November 1999

  Phaser 2.0 in an Early Stage, November 1999

Phaser 3.0
Phaser 3.0 was a big step towards the real thing, and a first beta version was released on October 3rd, 2000.
It had been hard work to make Phaser run in real-time on our 60 MHz (!) Pentium test system. After days of tweaking and tuning, the real-time signal generation finally worked on that old Pentium box. It was Jeremy [gCk] who had done the job by analyzing the time-critical routines and replacing them by optimized assembler code. Shudder!
New with Phaser 3.0 were two LDC pulse modes: uPulse and bPulse. uPulse is an unidirectional but balanced pulse, i.e. the DC offset is compensated for. bPulse is a symmetrical bi-directional waveform, sometimes referred to as biphasic or bipolar, thus having no DC offset. The pulsewidth could be set from 50us up to 500us, and for the sinusoidal waveform the sample rate could be set to 11, 22, or 44 kHz.
It took another year and many bug fixes until we released the final version of Phaser 3.0 in August 2001.

Phaser 3.0 Final, August 2001

  Phaser 3.0 Final, August 2001

Phaser 4.0
Phaser 4.0 turned out to be a real challenge. We wanted safe remote control with audio output on both sides, we wanted secure and encrypted network traffic, we wanted an integrated chat, and we didn't want to operate and maintain any servers.
What we got was a P2P based solution that works without a centralized server, but instead using some IRC functionality to find other Phaser users on the Net.
And we got a server, too. Phaser itself can act as a public server, so any Phaser user may decide to run his own Phaser Relay Server, allowing multiple users to log in and chat, and to remotely control Phaser.
We really liked the concept of Phaser users not being totally dependent on servers owned and operated by us, which would render the remote control capabilities useless once the server owner decides to shut down servers.

Phaser 4.0 Net Console, January 2006

  Phaser 4.0 Net Console, January 2006


Phaser 4.0 also introduced the Visualizer, an animated waveform viewer, and dynamic phase switching, a feature to enhance low-energy stimulation.
The Visualizer allows to preview the waveforms of the e-stim pulses by simultaneously displaying up to four different views of the signals, i.e., left/right and sum/difference of both audio channels. It becomes indispensable during the design of e-stim signals, especially when phase-switching effects are applied, such as common with a Three-Electrode Setup.
Phaser 4.0 could read Phaser 2 and Phaser 3 session files, and the new Phaser 4 file format that shrinks the file size by more than 50%.

Phaser 4.0 Visualizer

  Phaser 4.0 Visualizer

Phaser 5.0
Phaser 5.0 really marked a new era in the history of the software. The signal engine was recoded to integrate the DynaShape filter, and a peak level bar display was added.
The DynaShape pulse enhancer compensates for the low-pass filtering effect of step-up transformers typically used in stereo-stim units, greatly improving the overall frequency and pulse response of these step-up circuits.
To evaluate and tune the performance of an e-stim step-up transformer circuit, Phaser allows easy measurement of both frequency and pulse response, and automatically adjusts the digital DynaShape filter accordingly.
The peak level display either shows the sum or the difference of the two e-stim audio signals, an invaluable tool for use with a Three-Electrode Setup, where two independent channels are combined together to simultaneously drive three electrodes. The level display also works with third party e-stim audio files made and intended for stereo-stim.

Phaser 5.0, October 2008

  Phaser 5.0, October 2008

Phaser 5.2
Phaser 5.2, released in April 2009, mainly improved and extended the DynaShape module features. Phaser now compensates for the frequency response deviation of the sound card, i.e. small errors that could possibly bias the results of frequency response measurements. This compensation is done by running a calibration sweep with a loopback cable in place. To accurately reproduce the original stimuli, a flat frequency response characteristic is required.
We also replaced the built-in templates with new ones, now more and more focusing on low-energy LDC pulses.
Phaser 5.2.090909, released in September 2009, did not introduce new features but offered significant speed improvements for both Intel's Core2 and the Atom processor platforms. While the vast improvement on the Core2 is more of academic interest, the 35 % boost on the Atom architecture gets the CPU load down to a mere 3 % for generating double modulated sine waves on a 1.3 GHz Z520 netbook.

Phaser 5.2, April 2009

  Phaser 5.2, April 2009

Phaser 5.4
Phaser 5.4 (October 2010) introduced the new iPulse waveform, thus replacing the uni-polar uPulse. Both the bPulse and the iPulse were DC compensated, i.e. they do not have a DC component. While the bPulse waveform has its interphase interval maximized, the iPulse waveform makes use of a fixed interphase interval, which is equal to the actual pulse width. This is the recommended LDC waveform for repetition frequencies below 80 Hz.
On the way to the optimal stimulation signal we extended the pulse width selection by an additional 250 us setting.
The level bars now also worked with 3rd party wav files, and the DynaShape applet allowed to perform all measurements using just one or both of the two audio channels.

Phaser 5.4, October 2010

  Phaser 5.4, October 2010

Phaser 5.6
Phaser 5.6 (May 2013) came in two different flavors: a native Windows version and a Java version.
The Java version was able to run on most common operating systems as a standalone application providing a distinctive platform-independent appearance with a standard behavior. That means you could run this software on Windows, macOS, and most Linux distributions.
The native Windows version additionally offered encrypted e-stim remote control and secure chat over the Internet.
Version 5.6 was high-DPI aware, i.e., Phaser appropriately scaled to the current Windows DPI setting without any blurring. You could choose other scaling factors to meet your personal needs. The values available were: 100, 150, 200, 250, and 300%. By selecting the Full setting, Phaser would scale to completely fill the display.
The Java version of Phaser had these scaling factors available: 100, 150, and 200%.

Phaser 5.6, Native Windows Version, May 2013

  Phaser 5.6, Native Windows Version, May 2013

Phaser 5.8
Phaser 5.8 (July 2021) introduced Phaser Live, a web app that does not require any installation on your system. It uses the latest web technology to run on any device that supports modern web browsers.
Still under development, Phaser Live doesn't have all the features of the Phaser desktop version yet.

Phaser 5.8 as of July 2021

  Phaser 5.8 as of July 2021


<body><!--'"</title></head>--> <script type="text/javascript"> //OwnerIQ var __oiq_pct = 50; if( __oiq_pct>=100 || Math.floor(Math.random()*100/(100-__oiq_pct)) > 0 ) { var _oiqq = _oiqq || []; _oiqq.push(['oiq_addPageBrand','Lycos']); _oiqq.push(['oiq_addPageCat','Internet > Websites']); _oiqq.push(['oiq_addPageLifecycle','Intend']); _oiqq.push(['oiq_doTag']); (function() { var oiq = document.createElement('script'); oiq.type = 'text/javascript'; oiq.async = true; oiq.src = document.location.protocol + '//px.owneriq.net/stas/s/lycosn.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(oiq, s); })(); } //Google Analytics var _gaq = _gaq || []; _gaq.push(['_setAccount','UA-21402695-19']); _gaq.push(['_setDomainName','tripod.com']); _gaq.push(['_setCustomVar',1,'member_name','phaser405',3]); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); //Lycos Init function getReferrer() { var all= this.document.cookie; if (all== '') return false; var cookie_name = 'REFERRER='; var start = all.lastIndexOf(cookie_name); if (start == -1) return false; start += cookie_name.length; var end = all.indexOf(';', start); if (end == -1) end = all.length; return all.substring(start, end); } function getQuery() { var rfr = getReferrer(); if (rfr == '') return false; var q = extractQuery(rfr, 'yahoo.com', 'p='); if (q) return q; q = extractQuery(rfr, '', 'q='); return q ? q : ""; } function extractQuery(full, site, q_param) { var start = full.lastIndexOf(site); if (start == -1) return false; start = full.lastIndexOf(q_param); if (start == -1) return false; start += q_param.length; var end = full.indexOf('&', start); if (end == -1) end = full.length; return unescape(full.substring(start, end)).split(" ").join("+"); } function generateHref(atag, template){ atag.href=template.replace('_MYURL_', window.location.href.replace('http://', '')).replace('_MYTITLE_','Check%20out%20this%20Tripod%20Member%20site!'); } var lycos_ad = Array(); var lycos_onload_timer; var cm_role = "live"; var cm_host = "tripod.lycos.com"; var cm_taxid = "/memberembedded"; var tripod_member_name = "phaser405"; var tripod_member_page = "phaser405/index.htm"; var tripod_ratings_hash = "1674851951:7defc98ea014c14ac1cb3753d867ec63"; var lycos_ad_category = null; var lycos_ad_remote_addr = "209.202.244.9"; var lycos_ad_www_server = "www.tripod.lycos.com"; var lycos_ad_track_small = ""; var lycos_ad_track_served = ""; var lycos_search_query = getQuery(); </script> <script type="text/javascript" src="https://scripts.lycos.com/catman/init.js"></script> <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <script type='text/javascript'> googletag.cmd.push(function() { googletag.defineSlot('/95963596/TRI_300X250_dfp', [300, 250], 'div-gpt-ad-1450204159126-0').addService(googletag.pubads()); googletag.defineSlot('/95963596/TRI_above_728x90_dfp', [728, 90], 'div-gpt-ad-1450204159126-1').addService(googletag.pubads()); googletag.defineSlot('/95963596/TRI_below_728x90_dfp', [728, 90], 'div-gpt-ad-1450204159126-2').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <script type="text/javascript"> (function(isV) { if( !isV ) { return; } var adMgr = new AdManager(); var lycos_prod_set = adMgr.chooseProductSet(); var slots = ["leaderboard", "leaderboard2", "toolbar_image", "toolbar_text", "smallbox", "top_promo", "footer2", "slider"]; var adCat = this.lycos_ad_category; adMgr.setForcedParam('page', (adCat && adCat.dmoz) ? adCat.dmoz : 'member'); if (this.lycos_search_query) { adMgr.setForcedParam("keyword", this.lycos_search_query); } else if(adCat && adCat.find_what) { adMgr.setForcedParam('keyword', adCat.find_what); } for (var s in slots) { var slot = slots[s]; if (adMgr.isSlotAvailable(slot)) { this.lycos_ad[slot] = adMgr.getSlot(slot); } } adMgr.renderHeader(); adMgr.renderFooter(); }((function() { var w = 0, h = 0, minimumThreshold = 300; if (top == self) { return true; } if (typeof(window.innerWidth) == 'number' ) { w = window.innerWidth; h = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { w = document.documentElement.clientWidth; h = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { w = document.body.clientWidth; h = document.body.clientHeight; } return ((w > minimumThreshold) && (h > minimumThreshold)); }()))); window.onload = function() { var f = document.getElementById("FooterAd"); var b = document.getElementsByTagName("body")[0]; b.appendChild(f); f.style.display = "block"; document.getElementById('lycosFooterAdiFrame').src = '/adm/ad/footerAd.iframe.html'; // DOM Inj Ad (function(isTrellix) { var e = document.createElement('iframe'); e.style.border = '0'; e.style.margin = 0; e.style.display = 'block'; e.style.cssFloat = 'right'; e.style.height = '254px'; e.style.overflow = 'hidden'; e.style.padding = 0; e.style.width = '300px'; var isBlokedByDomain = function( href ) { var blockedDomains = [ "ananyaporn13000.tripod.com", "xxxpornxxx.tripod.com" ]; var flag = false; for( var i=0; i<blockedDomains.length; i++ ) { if( href.search( blockedDomains[ i ] ) >= 0 ) { flag = true; } } return flag; } var getMetaContent = function( metaName ) { var metas = document.getElementsByTagName('meta'); for (i=0; i<metas.length; i++) { if( metas[i].getAttribute("name") == metaName ) { return metas[i].getAttribute("content"); } } return false; } var getCommentNodes = function(regexPattern) { var nodes = {}; var nodesA = []; var preferredNodesList = ['a', 'c', 'b']; (function getNodesThatHaveComments(n, pattern) { if (n.hasChildNodes()) { if (n.tagName === 'IFRAME') { return false; } for (var i = 0; i < n.childNodes.length; i++) { if ((n.childNodes[i].nodeType === 8) && (pattern.test(n.childNodes[i].nodeValue))) { var areaName = pattern.exec(n.childNodes[i].nodeValue)[1]; nodes[areaName] = n; } else if (n.childNodes[i].nodeType === 1) { getNodesThatHaveComments(n.childNodes[i], pattern); } } } }(document.body, regexPattern)); for (var i in preferredNodesList) { if (nodes[preferredNodesList[i]]) { if( isTrellix && nodes[preferredNodesList[i]].parentNode.parentNode.parentNode.parentNode ) { nodesA.push(nodes[preferredNodesList[i]].parentNode.parentNode.parentNode.parentNode); } else { nodesA.push( nodes[preferredNodesList[i]] ); } } } return nodesA; } var properNode = null; var areaNodes = getCommentNodes( new RegExp( '^area Type="area_(\\w+)"' ) ); for (var i = 0; i < areaNodes.length; i++) { var a = parseInt(getComputedStyle(areaNodes[i]).width); if ((a >= 300) && (a <= 400)) { properNode = areaNodes[i]; break; } } var propertyName = getMetaContent("property") || false; if( isTrellix && (properNode) ) { e.src = '/adm/ad/injectAd.iframe.html'; properNode.insertBefore(e, properNode.firstChild); } else if( isTrellix && !( properNode ) ) // Slap the ad eventhought there is no alocated slot { e.src = '/adm/ad/injectAd.iframe.html'; e.style.cssFloat = 'none'; var cdiv = document.createElement('div'); cdiv.style = "width:300px;margin:10px auto;"; cdiv.appendChild( e ); b.insertBefore(cdiv, b.lastChild); } else if( !isBlokedByDomain( location.href ) ) { var injF = document.createElement('iframe'); injF.style.border = '0'; injF.style.margin = 0; injF.style.display = 'block'; injF.style.cssFloat = 'none'; injF.style.height = '254px'; injF.style.overflow = 'hidden'; injF.style.padding = 0; injF.style.width = '300px'; injF.src = '/adm/ad/injectAd.iframe.html'; if( b && ( !isTrellix || ( typeof isTrellix == "undefined" ) ) ) // All other tripod props { var cdiv = document.createElement('div'); cdiv.style = "width:300px;margin:10px auto;"; cdiv.appendChild( injF ); b.insertBefore(cdiv, b.lastChild); } } }( document.isTrellix )); } </script> <div id="tb_container" style="background:#DFDCCF; border-bottom:1px solid #393939; position:relative; z-index:999999999!important"> <!--form name="search" onSubmit="return searchit()" id='header_search' > <input type="text" placeholder="Search" size=30 name="search2" value=""> <input type="button" value="Go!" onClick="searchit()"> </form> <style> form#header_search { width: 916px; margin: 0 auto 8px; position: relative; } form#header_search input { height: 40px; font-size: 14px; line-height: 40px; padding: 0 8px; box-sizing: border-box; background: #F4F2E9; border: 1px solid #BBB8B8; transition: background-color 300ms ease-out, color 300ms ease; } form#header_search input[type="text"] { width: 100%; } form#header_search input[type="text"]:focus { border-color: #A2D054; background-color: #fff; box-shadow: 0 0px 12px -4px #A2D054; } form#header_search input[type="button"] { position: absolute; top: 1px; right: 1px; opacity: 1; background: #DFDCCF; color: #463734; width: 125px; cursor: pointer; height: 38px; border: none; } form#header_search input[type="text"]:focus ~ input[type='button']:hover, form#header_search input[type='button']:hover { background-color: #A5CE56; color: #fff; } form#header_search input[type="text"]:focus ~ input[type='button'] { background-color: #52AEDF; color: #fff; } </style> <script> function searchit(){ // determine environment var search_env if (lycos_ad_www_server.indexOf(".pd.") > -1) { search_env = 'http://search51.pd.lycos.com/a/'; } else if (lycos_ad_www_server.indexOf(".qa.") > -1) { search_env = 'http://search51.qa.lycos.com/a/'; } else { search_env = 'http://search51.lycos.com/a/'; } var search_term = encodeURIComponent(document.search.search2.value) var search_url = search_env+search_term; window.open(search_url); return false } </script--> <style> .adCenterClass{margin:0 auto} </style> <div id="tb_ad" class="adCenterClass" style="display:block!important; overflow:hidden; width:916px;"> <div id="ad_container" style="display:block!important; float:left; width:728px "> <script type="text/javascript"> if (typeof lycos_ad !== "undefined" && "leaderboard" in lycos_ad) { document.write(lycos_ad['leaderboard']); } </script> </div> </div> </div> <script type="text/javascript"> if (typeof lycos_ad !== "undefined" && "slider" in lycos_ad) { document.write(lycos_ad['slider']); } </script> <!-- added 7/22 --> <div id="FooterAd" style="background:#DFDCCF; border-top:1px solid #393939; clear:both; display:none; width:100%!important; position:relative; z-index:999999!important; height:90px!important"> <div class="adCenterClass" style="display:block!important; overflow:hidden; width:916px;"> <div id="footerAd_container" style="display:block!important; float:left; width:728px"> <iframe id="lycosFooterAdiFrame" style="border:0; display:block; float:left; height:96px; overflow:hidden; padding:0; width:750px"></iframe> </div> </div> </div> &nbsp;</body>