Skip to content
This repository has been archived by the owner on Jun 25, 2020. It is now read-only.
Furrtek edited this page Jan 5, 2016 · 29 revisions

Baseband modules

The baseband code runs on the M4 core and is executed from a 32kB RAM segment, which is initially loaded from SPI flash.

For additional functionality, other baseband binaries (modules) can be loaded from the SD card.

If a HAVOC feature needs a special baseband module, it will attempt to find a matching file within the root of the SD card, and load it.

Baseband modules are .bin files with a 256-byte header having the following structure:

  • (4) "PPM " magic bytes
  • (2) Version (0x01 0x00 for now)
  • (4) Length of binary (not used for now)
  • (16) Name
  • (16) MD5 footprint
  • (214) Description

The raw module binary follows, padded to 32kB. The last 16 bytes are a copy of the MD5 footprint which the module uses for identification. This makes the total binary size 32768-16=32752 bytes max, the linker should complain if exceeded.

These files are generated by the make_baseband_file.py tool. File matching is done with their MD5 footprints, which are stored in modules.hpp.

Use

Play dead

This mode is placed at the top of the main menu list to make it quickly operable in case of emergency (power on, select, select). The purpose of this mode is to fake a blocking error to prevent a suspecting person to inspect and guess what the other modes do. The Portapack will continue playing dead even after a power cycle, the only way to exit the mode is to enter the "secret" key combination entered in Setup -> Play dead and pressing select. It is also possible to exit the mode by reprogramming the device. The key combination has a max length of 10 directional key presses. When Amnesia is enabled, entering the play dead mode will erase the battery-backed RAM (last tune-in frequency, settings...). When Default start is enabled, play dead is always activated on power up (acts as a login).

Xylos TX

...

RDS TX

Basic Radio Data System transmitter in a silent FM multiplex. For now, only the Program Service Name can be set.

LCR TX

Basic Langage de Commande Routier frame generator and transmitter. Used for alphanumeric signs.

Whistle

To do. AM or FM tone generator.

Moltonel

To do. FM tone detector with sweep scan.

Bigfoot

To do. Displays a graphical spectrum representation across a large frequency span.

Frequency manager

To do.