MASM-TypeFall is a typing game written in x86 assembly with the Irvine32 library. Two game modes:
| Mode | What you do |
|---|---|
| Typing Tutor | Type a displayed sentence character-by-character — green for correct, red for mistakes |
| Word Dropping | Random words fall from the top, one row per second. Type each word before it hits the finish line |
Difficulty levels: Easy (4-letter words, 10 words) · Medium (8 letters, 8 words) · Hard (12 letters, 6 words)
📽️ Demo: assets/MASM-TypeFall-Demo.MOV — watch gameplay footage
- Visual Studio 2022 (Community/Professional/Enterprise)
- MASM build tools (included via the "Desktop development with C++" workload)
- Download Visual Studio 2022 (Community is free).
- In the Visual Studio Installer, select the Desktop development with C++ workload.
- On the right side under Installation details, make sure these individual components are checked:
MSVC v143 - VS 2022 C++ x64/x86 build toolsWindows 10 SDKC++ MASM(or MASM under "Optional")
- Click Modify and wait for installation to finish.
✅ MASM (
ML.exe) is included with the C++ workload — no separate install needed.
The Irvine32 library files are already included in the irvine/ folder at the project root:
MASM-TypeFall/
└── irvine/
├── Irvine32.inc
├── Irvine32.lib
├── SmallWin.inc
├── VirtualKeys.inc
└── Macros.inc
💡 The project file uses relative paths to
irvine/for both the MASM include path and the linker library directory, so everything works out of the box.
- Double-click
MASM-TypeFall.sln— it opens in Visual Studio 2022. - If you see a Retarget Projects dialog, just click OK (it will auto-update the toolset).
- In the toolbar, set the solution platform to x86 (or Win32) — Irvine32 only works with 32-bit.
- Build → Build Solution (
F7). - Debug → Start Without Debugging (
Ctrl+F5) to run.
🔧 First build may prompt you to retarget the Windows SDK version — accept the suggested version (10.0.19041.0 or newer).
Key settings used in the project (for reference if adapting to a new MASM project):
| Setting | Location in Property Pages | Value |
|---|---|---|
| Include path | MASM → Include Paths |
irvine (relative path) |
| Library path | Linker → General → Additional Library Directories |
irvine (relative path) |
| Library input | Linker → Input → Additional Dependencies |
irvine32.lib |
| Subsystem | Linker → System → SubSystem |
Console |
| Platform | Active solution platform | x86 (Win32) |
To open the property pages: right-click the project in Solution Explorer → Properties.
Open the Developer Command Prompt for VS 2022 (find it in the Start Menu), then:
cd C:\path\to\MASM-TypeFall
MSBuild MASM-TypeFall.vcxproj /p:Configuration=Debug /p:Platform=Win32
Debug\MASM-TypeFall.exe| Problem | Fix |
|---|---|
Irvine32.inc not found |
Verify the irvine\ folder exists at the project root with all .inc files inside, and that MASM → Include Paths is set to irvine |
unresolved external symbol |
Add irvine32.lib to Linker → Input → Additional Dependencies |
ML.exe not found |
Re-run VS installer and add C++ MASM component under "Desktop development with C++" |
Build fails with v145 toolset error |
The project uses v145 (VS 2026). For VS 2022, change <PlatformToolset>v145</PlatformToolset> → v143 in the .vcxproj file (4 occurrences), or click Retarget when prompted |
| Console window closes immediately | Run with Ctrl+F5 (Start Without Debugging) instead of F5, or add a call ReadChar / pause before the exit |
MASM-TypeFall/
├── Text.asm # Main assembly source (918 lines)
├── MASM-TypeFall.sln # Visual Studio solution
├── MASM-TypeFall.vcxproj # Visual Studio project (MASM)
├── MASM-TypeFall.vcxproj.filters # VS filter file
├── irvine/ # Irvine32 library (self-contained)
│ ├── Irvine32.inc
│ ├── Irvine32.lib
│ ├── SmallWin.inc
│ ├── VirtualKeys.inc
│ └── Macros.inc
├── docs/
│ └── MASM-TypeFall-Report.docx # Course report
├── assets/
│ └── MASM-TypeFall-Demo.MOV # Gameplay demo
├── README.md
└── .gitignore
| Layer | Technology |
|---|---|
| Language | MASM (Microsoft Macro Assembler) |
| Library | Irvine32 (Kip Irvine) |
| Build system | MSBuild / Visual Studio |
| Assembler | ML.exe (MASM) |
| Platform | Windows x86 / x64 |
Computer Organization and Assembly Language — 3rd Semester project.