Star on GitHubStar2.4k stars

Case study

vmiv: View-Master Interactive Video emulator and format notes

vmiv emulates the View-Master Interactive Video system by decoding a captured tape video with FFmpeg, extracting the UART-style data bytes and auxiliary audio carried in the scanlines, and feeding them to an 8051 core that runs the VMI8802 ROM alongside a TMS9128 video chip model rendered with SDL2. Its notes document the mainboard chips, VDP register setup and VRAM map, the RLE sprite and tile records, and the packet layout with sequence numbers and CRC-CCITT checks. A companion dstool disassembles and reassembles the stack-based script bytecode delivered on the tape.

Targets
Firmware · Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Copy as MarkdownView JSONCite

Requirements & limits

  • Prerequisites: Building needs a C compiler, SDL2 and the FFmpeg libraries (libavcodec, libavformat, libswscale, libavutil, libavdevice).
  • Prerequisites: Running needs the VMI8802 8051 ROM image (vmi8802.bin by default) and a video capture of a View-Master Interactive Video tape.
  • Limits: The Makefile links imgdecode.o, whose source file is absent from the repository.
  • License: No licence file in the repository; the 8051 core comes from jarikomppa/emu8051.

Cite

BibTeX

@misc{vmiv-case,
  title = {{vmiv: View-Master Interactive Video emulator and format notes}},
  howpublished = {\url{https://codeberg.org/Sprite_tm/vmiv}},
  url = {https://codeberg.org/Sprite_tm/vmiv},
  urldate = {2026-11-09},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/vmiv-case/}}
}

Plain text

vmiv: View-Master Interactive Video emulator and format notes. https://codeberg.org/Sprite_tm/vmiv (accessed 2026-11-09). Awesome REA entry: https://awesomerea.org/resources/vmiv-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/notes.txt
  2. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/main.c
  3. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/emu.c
  4. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/datastream.c
  5. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/opcodes.c
  6. https://codeberg.org/Sprite_tm/vmiv/src/commit/f5d698647720cb7a6f727349a6f7104d9f58a673/Makefile

More in Firmware and hardware

All 260 entries in Firmware and hardwareFirmware and hardware case studies (175)

↑↓ move↵ open⌘↵ new tab