<commit_before># Cycle-Accurate Atari ST Emulator

### Building

To build, the SDL2 library must be installed.  Also, you need tools
compatible with Lex and Yacc.  E.g. `apt-get install libsdl2-dev
flex bison`.

There are a few different build options:

Normal optimised binary:
`make`

Normal binary with GDB flags:
`make gdb`


### Usage

Command line options:  
`ostis` [`-a` disk image] [`-t` TOS image] [`-s` state image] [`-h`] [`-d`] [disk image] [`-p`] [`-y`] [`-V`]

`-a`  - Load disk image (.ST or .MSA)  
`-t`  - TOS image (default: `tos.img`)  
`-s`  - Save state file  
`-h`  - Show help  
`-d`  - Activate MonST clone  
`-p`  - Dump all video into PPM file (`ostis.ppm`)  
`-y`  - Dump all audio into raw PCM file (`psg.raw`)
`-V`  - Try to wait for 50Hz delay between frames

Special keys:  
`F11`      - save emulator state to file  
`F12`      - print diagnosics  
`F13`      - temporarily save state  
`F14`      - restore temporary state
`PrintScr` - toggle insane amount of debug output (live disassemble)

MonST keys:  
`Esc` - set window address to pc  
`TAB` - cycle window  
`Up`, `Down`, `Left`, `Right` - move window  
`D` - toggle debug mode  
`Alt-T` - change window type  
`Alt-F` - change window font  
`Alt-S` - split window  
`Ctrl-S` - skip instuction  
`Alt-Y` - toggle full screen  
`Ctrl-Z` - step  
`Ctrl-A` - run until next instruction  
`Ctrl-R` - run  <commit_msg>Missed a line break again<commit_after># Cycle-Accurate Atari ST Emulator

### Building

To build, the SDL2 library must be installed.  Also, you need tools
compatible with Lex and Yacc.  E.g. `apt-get install libsdl2-dev
flex bison`.

There are a few different build options:

Normal optimised binary:
`make`

Normal binary with GDB flags:
`make gdb`


### Usage

Command line options:  
`ostis` [`-a` disk image] [`-t` TOS image] [`-s` state image] [`-h`] [`-d`] [disk image] [`-p`] [`-y`] [`-V`]

`-a`  - Load disk image (.ST or .MSA)  
`-t`  - TOS image (default: `tos.img`)  
`-s`  - Save state file  
`-h`  - Show help  
`-d`  - Activate MonST clone  
`-p`  - Dump all video into PPM file (`ostis.ppm`)  
`-y`  - Dump all audio into raw PCM file (`psg.raw`)  
`-V`  - Try to wait for 50Hz delay between frames

Special keys:  
`F11`      - save emulator state to file  
`F12`      - print diagnosics  
`F13`      - temporarily save state  
`F14`      - restore temporary state
`PrintScr` - toggle insane amount of debug output (live disassemble)

MonST keys:  
`Esc` - set window address to pc  
`TAB` - cycle window  
`Up`, `Down`, `Left`, `Right` - move window  
`D` - toggle debug mode  
`Alt-T` - change window type  
`Alt-F` - change window font  
`Alt-S` - split window  
`Ctrl-S` - skip instuction  
`Alt-Y` - toggle full screen  
`Ctrl-Z` - step  
`Ctrl-A` - run until next instruction  
`Ctrl-R` - run  
{'fraction_non_alphanumeric': 0.1403260099220411, 'fraction_numerical': 0.008504606661941885, 'mean_word_length': 2.7791164658634537, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '390505', 'n_tokens_mistral': 1067, 'n_tokens_neox': 1032, 'n_words': 390}