Memory test utility for the TI‑99/4A (32 KB Expansion) with Quick Chip test and Speech


SBMEMTEST checks the TI‑99/4A’s 32 KB expansion RAM for faults and helps you identify defective DRAM chips. It runs entirely from scratchpad and performs three categories of tests:

  1. 32K March RAM Test — Writes/reads test patterns to catch stuck‑at and basic retention issues. Includes an infinite loop testing mode to help uncover intermittent RAM faults.
  2. Retention Test — Writes/reads test patterns to catch stuck‑at and basic retention issues but waits a few minutes between reads and writes
  3. Quick Chip Test — A fast test to highlight fully defective chips and show which chip positions are affected. Most effective when run after power cycling both the console and the PEB.

SBMEMTEST also provides spoken announcements of its actions through the Speech Synthesizer, if one is attached.

Note: The quick chip test detects fully defective chips; it may not catch marginal or intermittent failures. For this, prefer using the march RAM test.

Requirements:

  • TI‑99/4A console
  • TI 32 KB memory expansion (external RAM)
  • Optional: Speech Synthetizer

Quick Tips

  • Run March (1 pass) first. If clean, try Infinite Loop for more than 30 minutes to expose borderline faults.
  • Use Retention test if you suspect memory retention issues
  • Use Quick Chip Test when you need a fast indication of which chip may be faulty on the 32K board

Memory regions tested

SBMEMTEST covers the two standard external 32K memory expansion windows used by TI‑99/4A software:

  • Lower bank: >2000 – >3FFF
  • Higher bank: >A000 – >FFFF
  • The Quick Chip Test samples representative addresses in each bank for a rapid health check.

Main Menu & Controls

At the main menu, use the letter keys shown:

  • T — 32K March RAM Test (single pass)
  • L — 32K March RAM Test (loops until you quit)
  • S — Toggle Stop on Error (on/off)
  • C — Quick Chip Test
  • R — Retention test
  • I — Information screen

While a test is running: – Q — Quit the current test – In some prompts (on error screens), ENTER continues, S disables Stop on Error, Q quits. (Space is also accepted to continue.)

Status cues: – On error, the screen border/background color switches to dark red.

Test Details

A) 32K March RAM Test

Purpose: General‑purpose RAM validation using a sequence of common patterns.

What it does: – Iterates through each address, writing then reading patterns in this order: FF → 00 → A5 → 5A. – Reports any mismatches. Failing addresses scroll onto the screen in hex.

Views/Indicators:

  • ADDR: shows the current address under test.
  • (pattern): shows the active pattern (FF, 00, A5, 5A).
  • ER: failure marker; if any address fails, the test marks failure and lists addresses.
  • If Stop on Error is enabled, the test pauses when the screen fills with failures and gives you a short key prompt.

Pass/Fail:

  • PASS: No mismatches after completing both memory windows.
  • FAIL: Any mismatch. Failing addresses are printed; note them for service.

Modes:

  • T (1 pass): Runs once across both banks.
  • L (loop): Repeats continuously. A loop counter appears on screen. Press Q to stop.

B) RETENTION TEST

Purpose: Unlike a simple march or pattern test, which checks for immediate stuck-at faults, the Retention Test is designed to expose data retention issues—cells that may initially store a value correctly but lose it after a delay. This is particularly useful for detecting marginal or aging RAM devices.

What it does: A predefined pattern (e.g., 00h, FFh, A5h, 5Ah) is written sequentially across the selected memory range. The program then pauses for a few minutes before reading the memory again to check whether the values have been retained.

Pass/Fail: Same as March test.


C) Quick Chip Test

Purpose: Rapid detection of fully defective DRAM chips and mapping them to chip positions on the TI 32 KB board.

IMPORTANT: Most effective when run after power cycling both the console and the PEB.

How it works (simplified): – Probes a representative low‑bank address and a representative high‑bank address in two phases:

  • Retention of zeros: write 00 repeatedly and see if any bit “leaks” to 1.
  • Retention of ones: write FF repeatedly and see if any bit “leaks” to 0.

On‑screen, displays four binary lines during sampling:

  • low= result for zeros and ones (lower bank)
  • high= result for zeros and ones (higher bank)
  • Then clears the screen and prints which chip # appears faulty.

If no bits indicate failure, you’ll see “- NONE -” for that bank.

Important: This quick test is designed to identify chips that are clearly defective. Marginal or intermittent failures may still pass. For deeper coverage, use the March Test. While testing, be sure to power-cycle the console/PEB to ensure defective chips are properly detected.

Stop on Error (S)

  • Toggle from the main menu with S. When enabled, tests pause after the error list area fills, letting you:
    • Press ENTER/SPACE to continue,
    • Press S to disable Stop on Error for the remainder of the session,
    • Press Q to quit the test.

Interpreting Results

  • All tests pass: Your 32 KB expansion appears healthy under these patterns.
  • Intermittent failures: Try multiple runs, including after power‑cycling the console and PEB. Heat or marginal supplies can surface issues.
  • Consistent address failures (March): Likely a specific DRAM or address decoder fault.
  • Quick chip test flags chip #: Replace that chip first. If the board uses sockets, reseat before replacing.