# hibaazmatkhan/masm-typefall architecture

> Architecture diagram of the GitHub repository hibaazmatkhan/masm-typefall, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hibaazmatkhan/masm-typefall
- Repository: https://github.com/hibaazmatkhan/masm-typefall

## Overview

MASM-TypeFall is a Windows console typing game. The player chooses between sentence-based typing practice and word-dropping gameplay; the latter challenges them to type falling words before they reach the finish line. Difficulty changes word length and count. The README identifies Text.asm as the main assembly source and Irvine32 as the library, but no source excerpts were provided, so internal call details and specific input/output routines cannot be verified.

Main entry points: [`Text.asm`](https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm) (Game), [`irvine/Irvine32.inc`](https://github.com/hibaazmatkhan/masm-typefall/blob/main/irvine/Irvine32.inc) (Irvine32)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameplay["Gameplay"]
  node_game["Game<br/>[Text.asm]"]
  node_tutor["Typing tutor<br/>[Text.asm]"]
  node_dropping["Word dropping<br/>[Text.asm]"]
  node_difficulty["Difficulty settings<br/>[Text.asm]"]
end

subgraph group_runtime["Runtime"]
  node_irvine["Irvine32<br/>[Irvine32.inc]"]
end

node_player(("Player"))

node_player -->|"plays"| node_game
node_game -->|"offers mode"| node_tutor
node_game -->|"offers mode"| node_dropping
node_player -->|"types sentence"| node_tutor
node_tutor -->|"shows feedback"| node_player
node_player -->|"types words"| node_dropping
node_dropping -->|"shows falling words"| node_player
node_game -->|"offers levels"| node_difficulty
node_difficulty -->|"sets challenge"| node_dropping
node_game -->|"uses library"| node_irvine

click node_game "https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm"
click node_tutor "https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm"
click node_dropping "https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm"
click node_difficulty "https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm"
click node_irvine "https://github.com/hibaazmatkhan/masm-typefall/blob/main/irvine/Irvine32.inc"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_game,node_tutor,node_dropping,node_difficulty toneBlue
class node_irvine toneAmber
class node_player toneIndigo
```

## Components

### Gameplay

- [Game](https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm): `Text.asm`
- [Typing tutor](https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm): `Text.asm`
- [Word dropping](https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm): `Text.asm`
- [Difficulty settings](https://github.com/hibaazmatkhan/masm-typefall/blob/main/Text.asm): `Text.asm`

### Runtime

- [Irvine32](https://github.com/hibaazmatkhan/masm-typefall/blob/main/irvine/Irvine32.inc): `irvine/Irvine32.inc`

### Other components

- **Player**

## Connections

- Player → Game: plays
- Game → Typing tutor: offers mode
- Game → Word dropping: offers mode
- Player → Typing tutor: types sentence
- Typing tutor → Player: shows feedback
- Player → Word dropping: types words
- Word dropping → Player: shows falling words
- Game → Difficulty settings: offers levels
- Difficulty settings → Word dropping: sets challenge
- Game → Irvine32: uses library
