Global

Members

MachineSettings

This is contains a bunch of pre-canned machine property holders to save client client having to figure out the various values.

Currently available are:
  • ZXSpectrum48
  • ZXSpectrum128
These are the properties that must be present in this settings bag:
  • highAmplitude
  • clockSpeed
  • pilotPulse
  • sync1Pulse
  • sync2Pulse
  • bit0Pulse
  • bit1Pulse
  • headerPilotLength
  • dataPilotLength
  • is48k
Source:

Methods

block2a(i, blockDetails) → {Integer}

Handles block ID 2a Stop the tape if in 48K mode
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block5a(i, blockDetails) → {Integer}

Handles block ID 5A "Glue" block (90 dec, ASCII Letter 'Z')
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block10(i, blockDetails) → {Integer}

Handles block ID 10 Standard speed data block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block11(i, blockDetails) → {Integer}

Handles block ID 11 Turbo speed data block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block12(i, blockDetails) → {Integer}

Handles block ID 12 Pure tone
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block13(i, blockDetails) → {Integer}

Handles block ID 13 Sequence of pulses of various lengths
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block14(i, blockDetails) → {Integer}

Handles block ID 14 Pure data block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block15(i, blockDetails) → {Integer}

Handles block ID 15 Direct recording block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block16()

Handles block ID 16 C64 ROM type data block (DEPRECATED)
Source:

block17()

Handles block ID 17 C64 turbo tape data block (DEPRECATED)
Source:

block20(i, blockDetails) → {Integer}

Handles block ID 20 Pause (silence) or 'Stop the tape'
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block21(i, blockDetails) → {Integer}

Handles block ID 21 Group start
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block22(i, blockDetails) → {Integer}

Handles block ID 22 Group end
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block24(i, blockDetails) → {Integer}

Handles block ID 24 Loop start
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block25(i, blockDetails) → {Integer}

Handles block ID 25 Loop end
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block30(i, blockDetails) → {Integer}

Handles block ID 30 Text description
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block31(i, blockDetails) → {Integer}

Handles block ID 31 Message block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block32(i, blockDetails) → {Integer}

Handles block ID 32 Archive info
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block33(i, blockDetails) → {Integer}

Handles block ID 33 Hardware type
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block34()

Handles block ID 34 Emulation info (DEPRECATED)
Source:

block35(i, blockDetails) → {Integer}

Handles block ID 35 Custom info block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

block40()

Handles block ID 40 Snapshot block (DEPRECATED)
Source:

convertTapToAudio(machineSettings, input, output) → {Array}

Converts a TAP to an audio file and returns some details about what it has read.
Parameters:
Name Type Description
machineSettings Object The machine specific settings to use
input Object The input file to read from (this must be an object that provides getLength() and getByte(x) functions or an array.)
output Object The output to write to (this must be a wav.js created wave file or at least something that implements the same interface - it would be fantastic to implement the interface but generate an MP3 forexample).
Source:
Returns:
A list of block objects for each block that was converted in the TAP file.
Type
Array

convertTzxToAudio(machineSettings, input, output) → {Object}

Converts a TZX to an audio file and returns some details about what it has read.
Parameters:
Name Type Description
machineSettings Object The machine specific settings to use
input Object The input file to read from (this must be an object that provides getLength() and getByte(x) functions or an array.)
output Object The output to write to (this must be a wav.js created wave file or at least something that implements the same interface - it would be fantastic to implement the interface but generate an MP3 forexample).
Source:
Returns:
details about the TZX file that was converted
Type
Object

finishFile(addPause)

Handles a finishing off a file
Parameters:
Name Type Description
addPause Boolean True to add a pause before the final block
Source:

tapDataBlock(i, blockDetails) → {Integer}

Handles a TAP file data block
Parameters:
Name Type Description
i Integer The index at which the block ID is
blockDetails Object The details object to fill
Source:
Returns:
The index at the end of this block
Type
Integer

tzxHeader(version) → {Integer}

Handles a TZX header block
Parameters:
Name Type Description
version Object The version object to store
Source:
Returns:
The index at the end of this block
Type
Integer