EMMA 02

MSI/88e

  • Home
  • CDP18S020
    • General Information
    • I/O Map
  • COMX-35
    • General Information
    • F&M
    • Did You Know...?
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Expansion Box
    • Disk
    • Printers
    • Thermal
    • PL-80
    • 32K RAM
    • 80 Column
    • F&M EPROM
    • F&M Joy Card
    • Super Board
    • COMX BASIC V1.00
  • COMiX-35
  • COSMAC Elf
    • General Information
    • I/O Map
    • Front Panels
  • COSMAC Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • COSMAC Microtutor I
    • General Information
    • I/O Map
  • COSMAC Microtutor II
    • General Information
    • I/O Map
  • COSMAC VIP
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • STK
    • Chip-8 and 8X
    • Test-Word
    • Floating Point BASIC 2.2
  • COSMAC VIP II
    • General Information
    • I/O Map
    • Floating Point BASIC 2.2
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • Conic
  • Cosmicos
    • General Information
    • I/O Map
    • Front Panels
    • Mops & Hexmops
    • ASCII Monitor
    • HEX Monitor & UT4
  • CT Payphone
    • General Information
    • I/O Map
    • Memory
    • Keyboard
  • CyberVision
  • EDUKIT
    • General Information
    • I/O Map
    • Front Panel
  • EFA-Datorn
  • ETI-660
  • FRED I
    • General Information
    • I/O Map
    • Front Panel
    • Cassette
    • Software
    • CARDTRAN Syntax
  • FRED II
    • General Information
    • I/O Map
    • Front Panel
    • Cassette
    • Software
    • FPL-2
    • FPL-4
    • FEL-1
  • FRED III
    • General Information
    • I/O Map
    • Memory
    • Software
    • GPL-2
    • GPL-2b
    • GPL-3
    • GPL-4
  • HEC1802
  • HUG1802
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Monitor
    • Chip-8 ETI-660
  • Infinite UC1800
    • General Information
    • I/O Map
    • Front Panel
  • JVIP
  • Macbug
  • Membership Card
    • General Information
    • I/O Map
  • MSI/88e
    • General Information
    • PCB
    • I/O Map
    • Memory
    • Display
    • Keyboard
    • Pseudo Code
  • Netronics Elf II
    • General Information
    • I/O Map
    • Front Panels
    • Keyboard
    • Giant Board
    • BASIC/Math
  • Oscom Nano
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
  • PECOM 32 and 64
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
    • PECOM 32 BASIC
    • PECOM 64 BASIC 1.0 & 4.0
  • Pico/Elf V2
    • General Information
    • I/O Map
  • PTC-701
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • PTC R1.7 Pseudo Code
    • PTC R2.0 Pseudo Code
  • Quest Super Elf
    • General Information
    • I/O Map
    • Front Panel
  • RCA APT VP4801
    • General Information
    • I/O Map
    • Memory
  • RCA CCGS
  • RCA CDS
    • General Information
    • I/O Map
  • RCA CMC
    • General Information
    • I/O Map
  • RCA MS2000
    • General Information
    • I/O Map
    • MicroDos
  • RCA MCDS
    • General Information
    • I/O Map
  • RCA Studio II
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Built-in Software
    • Cartridge Software
    • Homebrew Software
    • Chip-8
    • ST2
  • RCA Studio III
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cartridge Software
  • RCA Studio IV
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST4 Syntax
  • RCA Video Coin
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • SBC1802
  • Studio 2020
  • System 00
    • General Information
    • I/O Map
    • Front Panel
    • Operating Procedures
    • SYSTEM00 Syntax
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip-8
  • VIS1802
  • VP3000
    • General Information
    • I/O Map
  • VT1802
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Built-in Software
    • Cartridge Software

 

 

 

 

 

 

 

 

 

 

 

 

General Information

The MSI/88e is a handheld data entry and collection terminal with cassette recording and acoustic (telephone) data transmission. It is based on the RCA CDP1802 CMOS microprocessor and runs from an 8 KB system ROM. The unit is battery powered and keeps its data and programs in battery-backed CMOS RAM.

The firmware is a stack-based threaded bytecode interpreter: the operator/monitor logic is stored as a token stream and executed by a small native CDP1802 engine. For details about the bytecode language, see the MSI/88e Pseudo Code section. The complete chip inventory of the PCBs is documented in the PCB section.

Technical specifications

Clock: 2.0 MHz (assumed, to be confirmed)
Memory:
      8 KB System ROM (SCM23C65 / CM6400-3)
      Battery-backed RAM (10K/12K or 24K board variant)
Display: 2× MAN2815 14-segment LED modules (16 characters)
Keyboard: 27 keys (7×4 matrix, rows multiplexed with display refresh)
I/O: Polled OUT/INP ports, no interrupts
Serial: Q-bit bit-banged FSK for cassette/acoustic; parallel handshake port on OUT 6, OUT 7 and INP 6 (SEND). 
Power: Main batteries plus lithium “keepers” backup

Firmware architecture

The 8 KB system ROM contains a stack-based threaded bytecode interpreter that executes the firmware’s operator/monitor logic, stored as a token stream starting at 0x1E2B. The interpreter dispatches single-byte opcodes through a handler table and uses R1 as a working register for computed jumps (it is not an interrupt vector).

The terminal uses no interrupts; all I/O is polled in a main loop. On boot with no program loaded, the firmware runs a self-test / idle-display program and then deliberately powers down (DIS/IDL) to save the batteries. The sync bytes 5A 5B at RAM 0x8103/0x8104 mark “a program is loaded”; an external loader (host or cassette) stores the program entry vector at 0x8203/0x8204 into the battery-backed RAM.

Firmware strings

The message table (~0x0690) contains: ERR, DONE, END, R RDY, T RDY, C RDY, REPLACE CELLS, LOW BATTERY, DOUBLE KEY ERROR, ENTER HEADER, BAUD, DELAY, LOADING. This indicates a portable data logger / recording terminal with a real-time clock that writes time-stamped headers to a cassette recorder and transmits via an acoustic coupler.

Other information

  • PCB - complete chip inventory of all boards
  • MSI/88e Pseudo Code - the bytecode interpreter language

Technical documents

  • msi88.asm - Complete CDP1802 disassembly of the 8 KB system ROM
  • MSI/88e Startup Boot Trace - Annotated cold boot trace from reset through native 1802 initialisation and bytecode interpreter startup to the keyboard idle loop

Main emulator features

  • 2× MAN2815 14-segment LED display emulation
  • Polled OUT/INP I/O, no interrupts
  • 27-key matrix keyboard
  • Q-bit bit-banged FSK cassette/acoustic output
  • MSI/88e bytecode pseudo-code debugger