Ad Space — Top Banner

?REDO FROM START

Commodore Retro Computer

Severity: Minor

What Does This Error Mean?

?REDO FROM START appears when an INPUT statement asked for a number but you typed something that wasn't a valid number.
BASIC throws away your input and asks again.
Just retype using digits only — like 12 or 3.14, not 'twelve' or '1,000' (the comma confuses it).
If your program expects letters, change INPUT A to INPUT A$ in the code.

Affected Models

  • Commodore 64
  • Commodore 64C
  • Commodore 128 in C64 mode
  • Commodore VIC-20
  • Commodore Plus/4

Common Causes

  • Typed letters when program asked for a numeric variable
  • Typed a comma in a number (1,000 fails — use 1000)
  • Typed nothing and pressed RETURN expecting a number
  • Programmer used INPUT A instead of INPUT A$

How to Fix It

  1. Type only digits.

    If the program asks 'How old?' and you used INPUT AGE, you must type a number — 25, not 'twenty-five'.
    Decimal points are fine; commas as thousand-separators are not.

  2. If you wanted text input, fix the program.

    Open the line — LIST 100 — and look for INPUT A or INPUT N.
    To accept text, change to INPUT A$ (string variable, ends with $).
    Then RUN again.

  3. Check for embedded commas.

    On the C64, INPUT splits on commas.
    Typing 'Smith, John' fills two variables if the program expects two.
    If it expects one, the comma triggers REDO FROM START on number inputs or splits the string awkwardly on string inputs.

  4. Use GET for one-character input instead of INPUT.

    If you want a single key without RETURN, GET A$ avoids the type-mismatch trap entirely.
    It puts the next keypress into A$ and continues — no validation, no REDO.

Frequently Asked Questions

Does pressing RETURN with no input cause this?

Sometimes — for numeric INPUT, an empty entry is treated as zero on the C64 ROM, not as REDO FROM START.
The error is specific to typing characters that can't parse as a number.