Skip to content

Commit

Permalink
update README and EOFM
Browse files Browse the repository at this point in the history
  • Loading branch information
lubeskih committed Sep 15, 2019
1 parent 67eb810 commit 2b7da06
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
36 changes: 20 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,47 @@ Enigma machine emulator for the Web. The emulator is faithful to the workings of

I highly recommend checking out the [Enigma Operator's Field Manual](https://github.com/lubeskih/enigma-simulator/blob/master/docs/EOFM.md) before using the emulator.

### Screenshot

![Enigma](src/misc/ss.png)
![Enigma](src/misc/enigma.gif)

### Starting the emulator

Clone the repository:
##### Cloning the repository

`git clone https://github.com/lubeskih/enigma-emulator.git && cd enigma-emulator`

Then install the packages by entering:
##### Installing required packages

`yarn install`

Starting the emulator can be done with:
##### Running the emulator

`yarn start`

### Navigating around the repository

- `src` - Main source directory
- `src/components` - React components
- `constants` - Enigma constats (e.g. Enigma wiring, turnovers etc...)
- `enigma-logic` - Files that hold the main logic behind the Enigma (stepping, turnover etc..) behind the rotors, reflectors, stators etc...
- `misc` - misc
- `store` - MobX store files used in the project
- `types` - Interfaces/Types used in the project
- `src/constants` - Constant variables used around the project (e.g. Enigma wiring, turnovers etc...)
- `src/enigma-logic` - Files that hold the main logic behind the Enigma (stepping, turnover etc..) behind the rotors, reflectors, stators etc...
- `src/misc` - Misc
- `src/store` - MobX store files
- `src/types` - Interfaces/Types used in the project

### Reporting an issue
### Contributing

Use GitHub's issue system to report an issue (emulator logic error, manual typo etc...).
Although I consider this project finished, contributions are more than welcome.

### Contributing
If you want to contribute, start with opening an issue before writing the code so we can first discuss the idea.

If everything goes well, you are free to open a PR, but please don't forget to include details about your changes.

### Reporting an issue

If you want to report an issue, please use GitHub's issue system.

Contributions are more than welcome.
### Contact

If you want to contribute, start with opening an issue before writing the code so we can first discuss the idea. If everything goes well, you are free to open a PR, but please don't forget to include details about your changes.
Drop me a line or two at `[email protected]`, phone would be easier if you have my number.

### License

Expand Down
10 changes: 8 additions & 2 deletions docs/EOFM.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,13 @@ The Enigma is now set for enciphering or deciphering.

To encipher a message, you need to key-in the plaintext of the message, which will result in a cipher-text output.

##### Space / Stop characters
##### Space / Stop / Comma ...

To add a stop between words or sentences you can use an `X` character.
- KLAM = Parenthesis
- ZZ = Comma
- X = Full stop (end of sentence)
- YY = Point or dot
- X`*****`X = Inverted commas

##### Encoding numbers

Expand All @@ -294,6 +298,8 @@ To include numbers in your message, you first need to indicate that you are abou

When you are receiving a message, if your decoded text has a series of seemingly indecipherable characters, like `YQRT X YYE` you know that the `Y` indicates the start of a number and the proceeding letters correspond to those numbers. The `X` is the stop character.

Sometimes, numbers were written out as `NULL EINZ ZWO DREI VIER FUNF SEQS SIEBEN AQT NEUN`.

###### Notes

- Typically, a complete transmission would include the sender's and receiver's call-signs, frequency, signal strength, readability, intercept station number, time of origin, urgency, number of parts in the signal, number of current part, number of letters in current part, Kenngruppe discriminant (to state which key was being used - TXM in this example) and Grundstellung (RNF in this example). This was all transmitted en clair and followed by the enciphered message-setting (QFL in this example), the enciphered message and finally the end of message signal.
Expand Down
Binary file added src/misc/enigma.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2b7da06

Please sign in to comment.