Jerrold MVP baseband scrambler

The MVP, or “Modulating Video Processor” is a combined modulator and video scrambler.

The MVP accepts baseband composite NTSC video and audio as inputs, applies sync-suppresion and video-inversion scrambling, and outputs modulated video at a 45.75 MHz IF. The IF-out may then be connected to a suitable upconverter and launch amplifier.

There was a variant, the “MVP-PAL”, which accepted PAL video instead of NTSC. I'd like to obtain one of these units, or find out more about the differences between it and the standard (NTSC) MVP. If you happen to know anything about the MVP-PAL, please contact me.

MVP-II Datasheet

MVP front panel MVP front panel, left side MVP front panel, right side

MVP rear panel MVP rear panel, left side MVP rear panel, right side

The Option DIP switches are located on the rear panel, below the Aux/GND screw terminals.

Option 1 2 3 4 5 6 7 8
RF 0 0 0 0 x x x 0
Baseband 1 0 0 0 x x x 0
Mixed 0 1 0 0 x x x 0
SSE 1 1 0 0 x x x 0
Alternate 0 0 1 0 x x x 0
Special 1 0 1 0 x x x 0
Timing Camouflage 0 x x x x 1 x 0
Data Camouflage 0 x x x x x 1 0
Alignment 0 0 0 0 1 0 0 0
  • Up: 0
  • Down: 1
  • Don't care: X

Scrambling modes

  • RF: none, 6dB or 10dB sync suppression with no inversion or audio privacy. Data is sent as AM modulation of the FM audio carrier. Compatible with RF terminals. Emulates the DSE Digital Scrambler Encoder.
  • Baseband: none, 6dB or 10dB sync suppression with optional video inversion. Data is sent as 3.58MHz bursts on VBI lines. Compatible with Baseband terminals. Emulates the VPE Video Processor Encoder.
  • Mixed: None, 6dB or 10dB sync suppression. Data is sent as both AM modulation of the FM audio carrier, and VBI data. Video inversion and audio privacy are disabled. Compatible with both RF and Baseband terminals.
  • SSE: Emulates the Starpack Scrambler/Encoder. Allows 6dB sync suppression, no video inversion, and no audio privacy. Compatible with Starpack and RF terminals.
  • Alternate: Used with Hamlin encoders to place AM timing data on the sound carrier. No video inversion or audio privacy. Use only with Hamlin compatible RF converters.
  • Timing Camouflage: RF mode only. Inserts false timing pulses to confuse pirate descramblers.
  • Data Camouflage: RF mode only. Inserts false data to confuse pirate descramblers.
Switch position Sync scrambling mode
0 Clear
1 6 dB
2 10 dB
3 Scene change – 16 fields
4 Scene change – 3 seconds
5 Dynamic – 15 seconds
6 Dynamic – 30 seconds
7 Dynamic – 60 seconds
8 Dynamic – 16 fields. Linear change, for test purposes only.
9 Clear
A
B
C
D
E Clear. In remote mode: firmware revision displayed on Service Code Indicator.
F Clear. In remote mode: Remote Address displayed on Service Code Indicator.
Switch position Video scrambling mode
0 Clear
1 Constant inversion
2 Scene Change switching – 16 fields
3 Scene Change switching – 3 seconds
4 Dynamic – 15 seconds
5 Dynamic – 30 seconds
6 Dynamic – 60 seconds
7 Dynamic – 16 fields. Linear change for test purposes only.
8 Clear
9
A
B
C
D
E
F
  • SW304 (rear of PCB, in audio section): Audio input impedance. “600” for 600-ohm balanced audio, “50k” for 50k unbalanced audio.
  • SW303 (front part of audio section): Unknown. Set to “On”.
  • SW302 (middle part of audio section): Unknown. Set to “On”.
    • Switching to “Off” causes attenuation of audio above ~10kHz.
    • Treble boost? Pre-emphasis on/off?
  • SW202 (rear part of video section): Unknown. Set to “Off”.
    • Switching to “On” attenuates audio.
    • Audio attenuator?
  • Main processor: Mitsubishi MELPS-740 variant with internal Jerrold Biphase receiver/transmitter (GIC 135-062-003, 968-100, 946104)
  • ROM: 27C256
  • Realtime clock: Oki MSM62X42B

Memory map

Start End Function
0000 00FF (CPU internal?) Zero page RAM
0100 01FF (CPU internal?) Stack RAM
4400 440F Oki MSM26X42B RTC
nCS0: U17 (74HCT32) pin 8
CS1: tied to Battery Backed VCC
nWR: white PAL pin 16
nRD: white PAL pin 15
RTC read and write are fully-decoded (only active when nCS0 is active). nCS0 is active when either nWR or nRD are active.
4800 U1 (74HC245). Rear panel OPTION dip switches, low 8 bits.
DIR=0, OE=yellow PAL pin 19.
4801 U3 (74HC245). Rear panel REMOTE ADDRESS BCD thumb-wheel MSBs.
DIR=0, OE=yellow PAL pin 18
4802 U2 (74HC245). Rear panel REMOTE ADDRESS BCD thumb-wheel LSB, and SERVICE NUMBER BCD thumb-wheel MSB.
Low nibble: Remote Address LSB.
High nibble: Service Number MSB
DIR=0, OE=yellow PAL pin 17
4803 U4 (74HC245). Rear panel SERVICE NUMBER BCD thumb-wheel LSBs.
DIR=0, OE=yellow PAL pin 16.
4C00 U5 (74HC245). Front panel, VIDEO and SYNC hex thumb-wheel switches.
Low nibble: SYNC
High nibble: VIDEO
DIR=1, OE=yellow PAL pin 15
4C01 Front panel 7-segment LED display, left digit
4C02 Front panel 7-segment LED display, middle digit
4C03 Front panel 7-segment LED display, right digit
5000 5007 Interface FPGA I/O, functions unknown
8000 FFFF 27C256 EPROM
Chip select: not-A15 from U43 (74HC04) pin 8
Output enable: PHI2 clock from CPU pin 31

U6 (74HC245) – address not known. DIR = RAM /WE, OE = white PAL pin 18. “B” bus connects to the CPU/RAM/ROM data bus. “A” bus connects to the other 74HC245s and the front panel board.

Thumb-wheel switches

The switches have pull-up resistors, and have their common pin connected to ground. To get the selected value in binary form, invert the value read from the port.

Seven-segment LED display

The firmware contains a table which maps a binary code to segment data values:

Input Character Segment Code
0-9 Digits 0-9 48, F9, 8C, A8, 39, 2A, 0A, F8, 08, 38 respectively.
10 Blank FF
11 F 1E
12 P 1C
13 U 49
14 S 2A
15 b 0B
16 y 29

The segment data bits map to a byte as follows:

 A
F B
 G
E C
 D   *

*=decimal point

Segments:  FGED*CBA
Bits:      76543210

The operation manual for the MVP-II is (at the time of writing) available from http://systemindustrialgroup.com/Enter/support/MVP_op.pdf.

The MVP communicates with a headend controller using the Biphase In and Out ports on the back panel. The data format is Manchester-encoded data, in the same format and at the same data rate as the Jerrold FM data channel commands used to send commands to cable receivers. For more on the FM data channel format, see GI/Jerrold FSK data format.

The input circuit is an LM311 comparator with a 75-ohm terminated input and a threshold of around 1V.

The output driver is a SN75158 which feeds the Biphase output port via a 75-ohm series resistor.

As the voltage levels in use are (broadly) 0V/5V, it is possible to drive the input and output with an Arduino or similar 5V-powered processor.

The MVP's logical address may be set between 260097 and 260999 (3F801 hex to 3FB87 hex, or 774001 octal to 775607 octal) using the BCD thumbwheel switches on the back panel.

The following code can convert the decimal logical address to and from the four-byte logical address sent over the biphase network:

void mvp_addr_to_la(const uint32_t addr, uint8_t *la)
{
	// NOTE: The address entered on the MVP's panel and on the ACC is one higher than the address in the packet.
	uint32_t real_addr = addr - 1;
 
	// encapsulate the LA
	la[0] = 0xE0;	// geocode 0-7
	la[1] = 0xBF;	// octal 77 => headend equipment
	la[2] = 0x40 | ((real_addr >> 6) & 0x3F);	// LA high 6 bits
	la[3] = 0x00 |  (real_addr & 0x3F);			// LA low  6 bits
}
 
 
uint32_t mvp_la_to_addr(const uint8_t *la)
{
	uint32_t real_addr = 0;
 
	// NOTE: The address entered on the MVP's panel and on the ACC is one higher than the address in the packet.
 
	real_addr  = ((uint32_t)la[3] & 0x3F);
	real_addr |= ((uint32_t)la[2] & 0x3F) << 6;
	real_addr |= ((uint32_t)la[1] & 0x3F) << 12;
	real_addr |= ((uint32_t)la[0] & 7) << 18;
 
	return real_addr + 1;
}

Return packets (on the MVP's Biphase Out port) have the following format:

  • IRG bytes (at least one), all 0xFF
  • Packet length in bytes
  • Four-byte logical address (sender address)
  • Data payload
  • Two's complement checksum (sum of all bytes in the packet and the checksum should be zero)
  • XOR checksum (XOR of all bytes in the packet, the two's complement checksum, and the XOR checksum should be zero)

Where return data from a command is described below, only the payload contents will be described.

The following commands are understood by the MVP:

CMD (hex) Addressing Function
FD 41 LA Read current status or schedule entry
FD 60 Broadcast Set clock
FE LA Reset

FD 41: Read

FD 60: Set clock

Outgoing command bytes: 0xFD 0x60 (year) (month) (day) (hour) (minute)
Response payload bytes: None
Field Contents
year Current year, modulo 16. Valid range is 0 to 15.
month Current month. Valid range is 0 to 11.
day Current day. Valid range is 0 to 30.
hour Current hour. Valid range is 0 to 23.
minute Current minute. Valid range is 0 to 59.

Sets the MVP scrambler's realtime clock.

FE: Reset

Outgoing command bytes: 0xFE (LA3..LA0)
Response payload bytes: None

This command causes the addressed MVP scrambler to reboot.

Find me on Mastodon
  • Last modified: 2023/06/19 16:29
  • by philpem