// Code generated by class build.Maven; DO NOT EDIT.


//
// Exported Events (JavaScript calls WebWorker functions):
//

    INITIALISE      Everything starts with INITIALISE

      Usage: 
        $ worker.postMessage({ eventType: "INITIALISE", eventData: { EventData } })
        Fires Event: INITIALISED

      EventData:
          verbose
            Verbosity (level=0,1,2)
            Default: 0
          quiet
            Quiet (no output)
            Default: false
          debug
            Enable/Disable additional debug messages
            Default: false

    OPEN      Open the tune to start playing

      Usage: 
        $ worker.postMessage({ eventType: "OPEN", eventData: { EventData } })
        Fires Event: OPENED

      EventData:
          contents
            Tune contents as Uint8Array
          tuneName
            Tune name with extension for type detection
        * startSong
            A tune can contain several songs, you can specify the song to play here (0 - use start song stored in SID)
            Default: 0
        * nthFrame
            We capture every Nth frame for performance reasons. So, you get a frame every (50 / N ) times per second for PAL. 0 means no frame output at all (that means only audio)
            Default: 0
        * sidWrites
            If SID writes should be captured, set to true here
            Default: false
          cartContents
            Cartridge contents as Uint8Array
          cartName
            Cartridge name
          command
            Command to enter after C64 reset to play the tune e.g. Load command
          songLength
            Play length until tune gets stopped or 0 (use default play length)
            Default: 0.0
        * sfxSoundExpander
            Use SFX Sound Expander [FM-YAM alike]
            Default: false
        * sfxSoundExpanderType
            SFX Sound Expander Type (OPL1: YM3526 = 0, OPL2: YM3812 = 1)
            Default: 0

    CLOCK      Clocks the C64 hardware (the buffer size denotes how many times)

      Usage: 
        $ worker.postMessage({ eventType: "CLOCK" })
        Fires Event: CLOCKED

    IDLE      Alternative to CLOCK does nothing in fact (no output is produced)

      Usage: 
        $ worker.postMessage({ eventType: "IDLE", eventData: { EventData } })
        Fires Event: CLOCKED

      EventData:
        * sleepTime
            Give up CPU for some time in ms (0 - no waiting)
            Default: 3

    SET_DEFAULT_PLAY_LENGTH      Set the default tune length in seconds, if song length parameter in OPEN event is 0 (0 means forever)

      Usage: 
        $ worker.postMessage({ eventType: "SET_DEFAULT_PLAY_LENGTH", eventData: { EventData } })
        Fires Event: DEFAULT_PLAY_LENGTH_SET

      EventData:
        * defaultPlayLength
            Set default play length in seconds (0 means endless)
            Default: 0.0

    SET_LOOP      After a tune has been played, repeat it.

      Usage: 
        $ worker.postMessage({ eventType: "SET_LOOP", eventData: { EventData } })
        Fires Event: LOOP_SET

      EventData:
        * loop
            Loop Track
            Default: false

    SET_SINGLE      Playback a single song or all songs of a tune

      Usage: 
        $ worker.postMessage({ eventType: "SET_SINGLE", eventData: { EventData } })
        Fires Event: SINGLE_SET

      EventData:
        * single
            Single Song
            Default: false

    SET_PAL_EMULATION_ENABLE      Enable PAL color effects

      Usage: 
        $ worker.postMessage({ eventType: "SET_PAL_EMULATION_ENABLE", eventData: { EventData } })
        Fires Event: PAL_EMULATION_ENABLE_SET

      EventData:
        * palEmulationEnable
            Use PAL Emulation
            Default: true

    SET_TURBO_TAPE      Set turbo tape format for converted datasette tape files

      Usage: 
        $ worker.postMessage({ eventType: "SET_TURBO_TAPE", eventData: { EventData } })
        Fires Event: TURBO_TAPE_SET

      EventData:
        * turboTape
            Use turbo tape for conversion of non-tape formats
            Default: true

    SET_FADE_TIME      Increase volume at tune start and/or decrease at tune end

      Usage: 
        $ worker.postMessage({ eventType: "SET_FADE_TIME", eventData: { EventData } })
        Fires Event: FADE_TIME_SET

      EventData:
        * fadeInTime
            Increase volume at the start in seconds
            Default: 0.0
        * fadeOutTime
            Decrease volume at the end in seconds
            Default: 0.0

    SET_SAMPLING_RATE      Set sampling rate

      Usage: 
        $ worker.postMessage({ eventType: "SET_SAMPLING_RATE", eventData: { EventData } })
        Fires Event: SAMPLING_RATE_SET

      EventData:
        * samplingRate
            Sampling frequency in Hz (VERY_LOW=8000 Hz, LOW=44100 Hz, MEDIUM=48000 Hz, HIGH=96000 Hz)
            Default: MEDIUM
            Possible Values: [VERY_LOW, LOW, MEDIUM, HIGH]

    SET_SAMPLING      Set sampling method

      Usage: 
        $ worker.postMessage({ eventType: "SET_SAMPLING", eventData: { EventData } })
        Fires Event: SAMPLING_SET

      EventData:
        * sampling
            Sampling Method (DECIMATE=linear interpolation, RESAMPLE=more efficient SINC from chaining two other SINCs)
            Default: DECIMATE
            Possible Values: [DECIMATE, RESAMPLE]

    SET_VOLUME_LEVELS      Lower or raise volume levels, balance sound output or delay specific SID output

      Usage: 
        $ worker.postMessage({ eventType: "SET_VOLUME_LEVELS", eventData: { EventData } })
        Fires Event: VOLUME_LEVELS_SET

      EventData:
        * mainVolume
            Volume of SID in db (-6db..+6db)
            Default: 0.0
        * secondVolume
            Volume of Stereo SID in db (-6db..+6db)
            Default: 0.0
        * thirdVolume
            Volume of 3rd SID in db (-6db..+6db)
            Default: 0.0
        * mainBalance
            Balance of SID l(0)..r(1)
            Default: 0.5
        * secondBalance
            Balance of Stereo SID l(0)..r(1)
            Default: 0.5
        * thirdBalance
            Balance of 3rd SID l(0)..r(1)
            Default: 0.5
        * mainDelay
            Delay of SID in ms (0ms..50ms)
            Default: 0.0
        * secondDelay
            Delay of Stereo SID in ms (0ms..50ms)
            Default: 0.0
        * thirdDelay
            Delay of 3rd SID in ms (0ms..50ms)
            Default: 0.0

    SET_BUFFER_SIZE      How many clock ticks to advance per call of CLOCK (3 * audioBufferSize is recommended)

      Usage: 
        $ worker.postMessage({ eventType: "SET_BUFFER_SIZE", eventData: { EventData } })
        Fires Event: BUFFER_SIZE_SET

      EventData:
        * bufferSize
            Emulation Buffer Size
            Default: 65536

    SET_AUDIO_BUFFER_SIZE      Audio buffer fill level, until a chunk of samples is reported (audioContext's sampleRate is recommended)

      Usage: 
        $ worker.postMessage({ eventType: "SET_AUDIO_BUFFER_SIZE", eventData: { EventData } })
        Fires Event: AUDIO_BUFFER_SIZE_SET

      EventData:
        * audioBufferSize
            Audio Buffer Size
            Default: 16384

    SET_DELAY      Use Delay audio effect

      Usage: 
        $ worker.postMessage({ eventType: "SET_DELAY", eventData: { EventData } })
        Fires Event: DELAY_SET

      EventData:
        * delayBypass
            Audio Post Processor: Delay - bypass post processing
            Default: true
        * delay
            Audio Post Processor: Delay - Delay in ms (0ms..100ms)
            Default: 10
        * delayWetLevel
            Audio Post Processor: Delay - Wet Level in percent (0%..100%)
            Default: 70
        * delayDryLevel
            Audio Post Processor: Delay - Dry Level in percent (0%..100%)
            Default: 70
        * delayFeedbackLevel
            Audio Post Processor: Delay - Feedback Level in percent (0%..100%)
            Default: 10

    SET_REVERB      Use Schroeder reverb audio effect

      Usage: 
        $ worker.postMessage({ eventType: "SET_REVERB", eventData: { EventData } })
        Fires Event: REVERB_SET

      EventData:
        * reverbBypass
            Audio Post Processor: Schroeder Reverb - bypass reverb post processing
            Default: true
        * reverbComb1Delay
            Audio Post Processor: Schroeder Reverb - Comb1 Delay in ms(1.0ms..100.0ms)
            Default: 29.7
        * reverbComb2Delay
            Audio Post Processor: Schroeder Reverb - Comb2 Delay in ms(1.0ms..100.0ms)
            Default: 37.1
        * reverbComb3Delay
            Audio Post Processor: Schroeder Reverb - Comb3 Delay in ms(1.0ms..100.0ms)
            Default: 41.1
        * reverbComb4Delay
            Audio Post Processor: Schroeder Reverb - Comb4 Delay in ms(1.0ms..100.0ms)
            Default: 43.7
        * reverbAllPass1Delay
            Audio Post Processor: Schroeder Reverb - All Pass1 Delay in ms(1.0ms..50.0ms)
            Default: 5.0
        * reverbAllPass2Delay
            Audio Post Processor: Schroeder Reverb - All Pass2 Delay in ms(1.0ms..50.0ms)
            Default: 1.7
        * reverbSustainDelay
            Audio Post Processor: Schroeder Reverb - Sustain Delay in ms(1ms..1000ms)
            Default: 500.0
        * reverbDryWetMix
            Audio Post Processor: Schroeder Reverb - Dry Wet Mix (0.00..1.00)
            Default: 0.25

    SET_ENGINE      Use EMULATION, HARDSID or EXSID useful for USB devices

      Usage: 
        $ worker.postMessage({ eventType: "SET_ENGINE", eventData: { EventData } })
        Fires Event: ENGINE_SET

      EventData:
        * engine
            SID Engine
            Default: EMULATION
            Possible Values: [EMULATION, NETSID, HARDSID, SIDBLASTER, EXSID, USBSID, HARDSID_DLL]

    SET_DEFAULT_EMULATION      Choose default software emulation

      Usage: 
        $ worker.postMessage({ eventType: "SET_DEFAULT_EMULATION", eventData: { EventData } })
        Fires Event: DEFAULT_EMULATION_SET

      EventData:
        * defaultEmulation
            Default Emulation (RESID, RESIDFP)
            Default: RESIDFP
            Possible Values: [DEFAULT, RESID, RESIDFP]

    SET_USER_EMULATION      Force emulation

      Usage: 
        $ worker.postMessage({ eventType: "SET_USER_EMULATION", eventData: { EventData } })
        Fires Event: USER_EMULATION_SET

      EventData:
        * userEmulation
            Force Mono SID Chip Emulation to RESID or RESIDFP (DEFAULT means default emulation)
            Default: DEFAULT
            Possible Values: [DEFAULT, RESID, RESIDFP]
        * stereoEmulation
            Force Stereo SID Chip Emulation to RESID or RESIDFP (DEFAULT means default emulation)
            Default: DEFAULT
            Possible Values: [DEFAULT, RESID, RESIDFP]
        * thirdEmulation
            Force 3-SID Chip Emulation to RESID or RESIDFP (DEFAULT means default emulation)
            Default: DEFAULT
            Possible Values: [DEFAULT, RESID, RESIDFP]

    SET_DEFAULT_CLOCK_SPEED      Use clock speed if unknown.

      Usage: 
        $ worker.postMessage({ eventType: "SET_DEFAULT_CLOCK_SPEED", eventData: { EventData } })
        Fires Event: DEFAULT_CLOCK_SPEED_SET

      EventData:
        * defaultClockSpeed
            Set default VIC clock speed PAL or NTSC (to be used, if UNKNOWN)
            Default: PAL
            Possible Values: [AUTO, PAL, NTSC]

    SET_USER_CLOCK_SPEED      Force clock speed

      Usage: 
        $ worker.postMessage({ eventType: "SET_USER_CLOCK_SPEED", eventData: { EventData } })
        Fires Event: USER_CLOCK_SPEED_SET

      EventData:
        * userClockSpeed
            Force user specific VIC clock speed PAL or NTSC (default: defined by song)
            Default: AUTO
            Possible Values: [AUTO, PAL, NTSC]

    SET_DEFAULT_CHIP_MODEL      Choose default chip model

      Usage: 
        $ worker.postMessage({ eventType: "SET_DEFAULT_CHIP_MODEL", eventData: { EventData } })
        Fires Event: DEFAULT_CHIP_MODEL_SET

      EventData:
        * defaultSidModel
            Default SID Chip Model MOS8580 or MOS6581 (to be used, if UNKNOWN)
            Default: MOS8580
            Possible Values: [AUTO, MOS6581, MOS8580]

    SET_USER_CHIP_MODEL      Force chip model

      Usage: 
        $ worker.postMessage({ eventType: "SET_USER_CHIP_MODEL", eventData: { EventData } })
        Fires Event: USER_CHIP_MODEL_SET

      EventData:
        * userSidModel
            Force Mono SID Chip Model to MOS8580 or MOS6581 (default: from tune or cfg)
            Default: AUTO
            Possible Values: [AUTO, MOS6581, MOS8580]
        * stereoSidModel
            Force Stereo SID Chip Model to MOS8580 or MOS6581 (AUTO means use default model)
            Default: AUTO
            Possible Values: [AUTO, MOS6581, MOS8580]
        * thirdSIDModel
            Force 3-SID Chip Model to MOS8580 or MOS6581 (AUTO means use default model)
            Default: AUTO
            Possible Values: [AUTO, MOS6581, MOS8580]

    HARDSID_MAPPING      HardSID 4U, HardSID UPlay and HardSID Uno USB device: Get mapping of base address to device number

      Usage: 
        $ worker.postMessage({ eventType: "HARDSID_MAPPING", eventData: { EventData } })
        Fires Event: HARDSID_MAPPED

      EventData:
        * chipCount
            Number of detected HardSID devices
            Default: 0
        * hardsid6581
            HardSID 6581 device number
            Default: 0
        * hardsid8580
            HardSID 8580 device number
            Default: 1

    EXSID_MAPPING      ExSID, ExSID+ USB device: Get mapping of base address to device number

      Usage: 
        $ worker.postMessage({ eventType: "EXSID_MAPPING" })
        Fires Event: EXSID_MAPPED

    SIDBLASTER_MAPPING      SIDBlaster USB device: Get mapping of base address to device number

      Usage: 
        $ worker.postMessage({ eventType: "SIDBLASTER_MAPPING" })
        Fires Event: SIDBLASTER_MAPPED

    USBSID_MAPPING      USBSID-Pico USB device: Get mapping of base address to device number

      Usage: 
        $ worker.postMessage({ eventType: "USBSID_MAPPING" })
        Fires Event: USBSID_MAPPED

    SET_FILTER_ENABLE      Enable/disable filter

      Usage: 
        $ worker.postMessage({ eventType: "SET_FILTER_ENABLE", eventData: { EventData } })
        Fires Event: FILTER_ENABLE_SET

      EventData:
        * sidNum
            SID number
            Default: 0
        * filterEnable
            Turn off SID filter emulation
            Default: true

    SET_FILTER_NAME      Choose a filter name to be used for the SID. All available filters of JSIDPlay2 can be used

      Usage: 
        $ worker.postMessage({ eventType: "SET_FILTER_NAME", eventData: { EventData } })
        Fires Event: FILTER_NAME_SET

      EventData:
        * sidNum
            SID number
            Default: 0
        * emulation
            Emulation to set filter name for
            Possible Values: [DEFAULT, RESID, RESIDFP]
        * chipModel
            Chip model to set filter name for
            Possible Values: [AUTO, MOS6581, MOS8580]
        * filterName
            Filter name to set

    SET_DIGI_BOOSTED_8580      Enable MOS8580 digi samples boost

      Usage: 
        $ worker.postMessage({ eventType: "SET_DIGI_BOOSTED_8580", eventData: { EventData } })
        Fires Event: DIGI_BOOSTED_8580_SET

      EventData:
        * digiBoosted8580
            Digi-sample Boost of SID 8580
            Default: false

    SET_STEREO      Set stereo modes to be used

      Usage: 
        $ worker.postMessage({ eventType: "SET_STEREO", eventData: { EventData } })
        Fires Event: STEREO_SET

      EventData:
        * stereoMode
            Stereo Mode to set
            Default: AUTO
            Possible Values: [AUTO, STEREO, THREE_SID]
        * dualSidBase
            Dual SID adress
            Default: 54304
        * thirdSIDBase
            third SID adress
            Default: 54336
        * fakeStereo
            Fake stereo
            Default: false
        * sidToRead
            Fake stereo: SID number to process READs
            Default: FIRST_SID
            Possible Values: [FIRST_SID, SECOND_SID, THIRD_SID]

    SET_MUTE      Mute certain voices of a SID, if desired

      Usage: 
        $ worker.postMessage({ eventType: "SET_MUTE", eventData: { EventData } })
        Fires Event: MUTE_SET

      EventData:
        * sidNum
            SID number
            Default: 0
        * voice
            Voice to mute
            Default: 0
        * value
            mute on/off
            Default: false

    SET_DETECT_PSID64_CHIP_MODEL      Detect PSID64 emulation settings

      Usage: 
        $ worker.postMessage({ eventType: "SET_DETECT_PSID64_CHIP_MODEL", eventData: { EventData } })
        Fires Event: DETECT_PSID64_CHIP_MODEL_SET

      EventData:
        * detectPSID64ChipModel
            Auto-detect PSID64 settings
            Default: true

    TURN_DRIVE_ON      Turn floppy disk drive On/Off

      Usage: 
        $ worker.postMessage({ eventType: "TURN_DRIVE_ON", eventData: { EventData } })
        Fires Event: DRIVE_TURNED_ON

      EventData:
        * driveOn
            Turn floppy disk drive On/Off
            Default: false

    SET_PARALLEL_CABLE      Use floppy disk drive parallel cable

      Usage: 
        $ worker.postMessage({ eventType: "SET_PARALLEL_CABLE", eventData: { EventData } })
        Fires Event: PARALLEL_CABLE_SET

      EventData:
        * parallelCable
            Use floppy disk drive parallel cable
            Default: false

    SET_JIFFY_DOS_INSTALLED      Floppy disk speeder on/off

      Usage: 
        $ worker.postMessage({ eventType: "SET_JIFFY_DOS_INSTALLED", eventData: { EventData } })
        Fires Event: JIFFY_DOS_INSTALLED_SET

      EventData:
        * jiffyDosInstalled
            Use JiffyDos floppy extension
            Default: false

    SET_RAM_EXPANSION      Use floppy drive RAM expansion

      Usage: 
        $ worker.postMessage({ eventType: "SET_RAM_EXPANSION", eventData: { EventData } })
        Fires Event: RAM_EXPANSION_SET

      EventData:
        * ramExpansion0
            Use floppy drive RAM expansion at 0x2000
            Default: false
        * ramExpansion1
            Use floppy drive RAM expansion at 0x4000
            Default: false
        * ramExpansion2
            Use floppy drive RAM expansion at 0x6000
            Default: false
        * ramExpansion3
            Use floppy drive RAM expansion at 0x8000
            Default: false
        * ramExpansion4
            Use floppy drive RAM expansion at 0xA000
            Default: false

    SET_FLOPPY_TYPE      Set floppy disk drive type

      Usage: 
        $ worker.postMessage({ eventType: "SET_FLOPPY_TYPE", eventData: { EventData } })
        Fires Event: FLOPPY_TYPE_SET

      EventData:
        * floppyType
            Set floppy disk drive type
            Default: C1541
            Possible Values: [C1541, C1541_II]

    TURN_PRINTER_ON      Enable/disable printer

      Usage: 
        $ worker.postMessage({ eventType: "TURN_PRINTER_ON", eventData: { EventData } })
        Fires Event: PRINTER_TURNED_ON

      EventData:
        * printerOn
            Enable/disable printer
            Default: false

    SET_WHATSSID      A chunk of 8khz mono samples will be collected for music recognition. Music recognition itself is not part of the web version of the emulator. Simply call my service endpoint for that

      Usage: 
        $ worker.postMessage({ eventType: "SET_WHATSSID", eventData: { EventData } })
        Fires Event: WHATSSID_SET

      EventData:
        * enable
            Recognizes the currently played tune after a few seconds
            Default: true
        * captureTime
            Capture the last N seconds for tune recognition
            Default: 15
        * matchStartTime
            Time (in seconds) when tune recognition should begin
            Default: 15
        * matchRetryTime
            Time (in seconds) after the tune recognition should continue
            Default: 15
        * minimumRelativeConfidence
            Minimum relative confidence required to match a tune
            Default: 4.5

    SET_COMMAND      Type-in multi-line command

      Usage: 
        $ worker.postMessage({ eventType: "SET_COMMAND", eventData: { EventData } })
        Fires Event: COMMAND_SET

      EventData:
        * command
            Command to type

    TYPE_KEY      Type a key (press and release short after)

      Usage: 
        $ worker.postMessage({ eventType: "TYPE_KEY", eventData: { EventData } })
        Fires Event: KEY_TYPED

      EventData:
        * key
            Key to type

    PRESS_KEY      Hold down a key until it gets released again by the next command

      Usage: 
        $ worker.postMessage({ eventType: "PRESS_KEY", eventData: { EventData } })
        Fires Event: KEY_PRESSED

      EventData:
        * key
            Key to press

    RELEASE_KEY      Release a recently pressed key

      Usage: 
        $ worker.postMessage({ eventType: "RELEASE_KEY", eventData: { EventData } })
        Fires Event: KEY_RELEASED

      EventData:
        * key
            Key to release

    PRESS_JOYSTICK      Set a joystick input for the emulator (button press or left/right/bottom/up)

      Usage: 
        $ worker.postMessage({ eventType: "PRESS_JOYSTICK", eventData: { EventData } })
        Fires Event: JOYSTICK_PRESSED

      EventData:
        * number
            Joystick number (0-1)
            Default: 0
        * value
            Joystick value to press (0-16)
            Default: 0

    FAST_FORWARD      Fast forward tune (double the speed)

      Usage: 
        $ worker.postMessage({ eventType: "FAST_FORWARD" })
        Fires Event: FAST_FORWARD_SET

    NORMAL_SPEED      Normal speed

      Usage: 
        $ worker.postMessage({ eventType: "NORMAL_SPEED" })
        Fires Event: NORMAL_SPEED_SET

    GET_TUNE_INFO      Get tune infos (SID properties)

      Usage: 
        $ worker.postMessage({ eventType: "GET_TUNE_INFO" })
        Fires Event: GOT_TUNE_INFO

    GET_PLAYER_INFO      Get player infos (SID ID properties)

      Usage: 
        $ worker.postMessage({ eventType: "GET_PLAYER_INFO" })
        Fires Event: GOT_PLAYER_INFO

    GET_ACTIVE_SETTINGS      Get active settings of each SID (engine, emulation, chip model, filter name)

      Usage: 
        $ worker.postMessage({ eventType: "GET_ACTIVE_SETTINGS" })
        Fires Event: GOT_ACTIVE_SETTINGS

    GET_PLAYLIST      Get playlist for the current tune which can consist of several songs

      Usage: 
        $ worker.postMessage({ eventType: "GET_PLAYLIST" })
        Fires Event: GOT_PLAYLIST

    GET_STATUS      Get status bar contents (call regularly to gain useful information of the emulator status)

      Usage: 
        $ worker.postMessage({ eventType: "GET_STATUS" })
        Fires Event: GOT_STATUS

    INSERT_DISK      Insert a floppy disk. Useful to swap disks. (Turns on floppy disk drive, automatically)

      Usage: 
        $ worker.postMessage({ eventType: "INSERT_DISK", eventData: { EventData } })
        Fires Event: DISK_INSERTED

      EventData:
        * contents
            Disk as Uint8Array
        * diskName
            Disk name

    EJECT_DISK      Eject current disk from floppy disk drive

      Usage: 
        $ worker.postMessage({ eventType: "EJECT_DISK" })
        Fires Event: DISK_EJECTED

    INSERT_TAPE      Insert a tape into datasette

      Usage: 
        $ worker.postMessage({ eventType: "INSERT_TAPE", eventData: { EventData } })
        Fires Event: TAPE_INSERTED

      EventData:
        * contents
            Tape as Uint8Array
        * tapeName
            Tape name

    EJECT_TAPE      Eject current tape from datasette

      Usage: 
        $ worker.postMessage({ eventType: "EJECT_TAPE" })
        Fires Event: TAPE_EJECTED

    CONTROL_DATASETTE      Press button on datasette

      Usage: 
        $ worker.postMessage({ eventType: "CONTROL_DATASETTE", eventData: { EventData } })
        Fires Event: DATASETTE_CONTROLLED

      EventData:
        * control
            Control to press on datasette
            Possible Values: [STOP, START, FORWARD, REWIND, RECORD, RESET, RESET_COUNTER]

    INSERT_REU_FILE      Insert RAM Expansion Unit(REU) image file

      Usage: 
        $ worker.postMessage({ eventType: "INSERT_REU_FILE", eventData: { EventData } })
        Fires Event: REU_FILE_INSERTED

      EventData:
        * contents
            REU as Uint8Array
        * reuName
            REU name

    INSERT_REU      Insert RAM Expansion Unit(REU) of certain size

      Usage: 
        $ worker.postMessage({ eventType: "INSERT_REU", eventData: { EventData } })
        Fires Event: REU_INSERTED

      EventData:
        * sizeKb
            REU size in KB
            Default: 0

    FREEZE_CARTRIDGE      Cartridge freeze

      Usage: 
        $ worker.postMessage({ eventType: "FREEZE_CARTRIDGE" })
        Fires Event: CARTRIDGE_FREEZED

    SET_OSCILLOSCOPE      Oscilloscope function

      Usage: 
        $ worker.postMessage({ eventType: "SET_OSCILLOSCOPE", eventData: { EventData } })
        Fires Event: OSCILLOSCOPE_SET

      EventData:
        * enable
            Enable/disable oscilloscope
            Default: false
        * fps
            Fps refresh rate of oscilloscope data
            Default: 0.0
        * width
            Width of oscilloscope data
            Default: 0
        * height
            Height of oscilloscope data
            Default: 0




//
// Imported Events (WebWorker calls JavaScript functions):
//

    INIT_CONTROL_BUFFER_SAB      SharedArrayBuffer (SAB) - Propagate control buffer for synchronization using Atomics

      EventData:
          controlBuffer
            Int32Array: SAMPLE_FLAG_INDEX, FRAME_FLAG_INDEX, OSC0_FLAG_INDEX, OSC1_FLAG_INDEX, OSC2_FLAG_INDEX

    INIT_SAMPLE_BUFFER_SAB      SharedArrayBuffer (SAB) - Propagate sample buffer

      EventData:
          sampleBuffer
            Sample buffer as Int8Array (to be read as Int16Array: left/ right channel data alternating)

    INIT_PIXEL_BUFFER_SAB      SharedArrayBuffer (SAB) - Propagate frame buffer

      EventData:
          pixelBuffer
            Frame buffer as Uint8Array (to be read as RGBA (MSB to LSB) pixel data big endian, 384 x 285 pixels)

    INIT_GAUGE_SAB      SharedArrayBuffer (SAB) - Propagate gauge buffer

      EventData:
          type
            Gauge type (wav0, wav1, wav2, env0, env1, env2, frq0, frq1, frq2, vol, res, fil)
          chipNum
            SID chip number (0..2)
          gauge
            Gauge buffer as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])

    SAMPLES_SAB      SharedArrayBuffer (SAB) - Sample data has been produced, please consume and notify worker using control buffer

    FRAME_SAB      SharedArrayBuffer (SAB) - Frame data has been produced, please consume and notify worker using control buffer

    OSC_SAB      SharedArrayBuffer (SAB) - Oscilloscope gauge data has been produced, please consume and notify worker using control buffer

      EventData:
          sidNum
            SID number of oscilloscope output
          wav0Txt
            Text of oscilloscope output of waveform (voice 0)
          wav1Txt
            Text of oscilloscope output of waveform (voice 1)
          wav2Txt
            Text of oscilloscope output of waveform (voice 2)
          env0Txt
            Text of oscilloscope output of envelope (voice 0)
          env1Txt
            Text of oscilloscope output of envelope (voice 1)
          env2Txt
            Text of oscilloscope output of envelope (voice 2)
          frq0Txt
            Text of oscilloscope output of frequency (voice 0)
          frq1Txt
            Text of oscilloscope output of frequency (voice 1)
          frq2Txt
            Text of oscilloscope output of frequency (voice 2)
          volTxt
            Text of oscilloscope output of volume
          resTxt
            Text of oscilloscope output of resonance
          filTxt
            Text of oscilloscope output of filter

    SAMPLES      The worker has produced a chunk of sound data

      EventData:
          left
            Left channel data as ArrayBuffer of float32
          right
            Right channel data as ArrayBuffer of float32
          length
            Length of channel data as int

    FRAME      The worker has produced a video frame to display

      EventData:
          image
            Video frame as ImageBitmap (384 x 285 pixels)

    SID_WRITE      The worker notifies about a memory write to a register of a SID chip

      EventData:
          absTime
            Absolute number of clock ticks as long
          relTime
            Relative number of clock ticks since last SID write as int
          addr
            Address as int
          value
            Value as int

    OSC      The worker notifies about oscilloscope view output of a SID chip

      EventData:
          sidNum
            SID number of oscilloscope output
          wav0
            Oscilloscope output of waveform (voice 0) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          wav0Txt
            Text of oscilloscope output of waveform (voice 0)
          wav1
            Oscilloscope output of waveform (voice 1) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          wav1Txt
            Text of oscilloscope output of waveform (voice 1)
          wav2
            Oscilloscope output of waveform (voice 2) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          wav2Txt
            Text of oscilloscope output of waveform (voice 2)
          env0
            Oscilloscope output of envelope (voice 0) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          env0Txt
            Text of oscilloscope output of envelope (voice 0)
          env1
            Oscilloscope output of envelope (voice 1) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          env1Txt
            Text of oscilloscope output of envelope (voice 1)
          env2
            Oscilloscope output of envelope (voice 2) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          env2Txt
            Text of oscilloscope output of envelope (voice 2)
          frq0
            Oscilloscope output of frequency (voice 0) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          frq0Txt
            Text of oscilloscope output of frequency (voice 0)
          frq1
            Oscilloscope output of frequency (voice 1) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          frq1Txt
            Text of oscilloscope output of frequency (voice 1)
          frq2
            Oscilloscope output of frequency (voice 2) as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          frq2Txt
            Text of oscilloscope output of frequency (voice 2)
          vol
            Oscilloscope output of volume as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          volTxt
            Text of oscilloscope output of volume
          res
            Oscilloscope output of resonance as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          resTxt
            Text of oscilloscope output of resonance
          fil
            Oscilloscope output of filter as Int8Array (to be read as Int32Array: number of lines, x1, y1, x2, y2, ...[repeat each line])
          filTxt
            Text of oscilloscope output of filter

    TIMER_END      The worker notifies about a tune, that has reached the end of it's play length

      EventData:
          end
            End time of the tune, that triggered the timer end event as double

    PRINTER      The worker notifies about the printer outputting on paper

      EventData:
          output
            Output, that the printer produced as string
            Possible Values: [OUTPUT_NEWLINE, OUTPUT_PIXEL_BLACK, OUTPUT_PIXEL_WHITE]

    WHATSSID      The worker notifies about a chunk of 8khz mono samples, that has been collected for music recognition

      EventData:
          wav
            Chunk of 8khz mono samples as ArrayBuffer of int8


