Direct Mode

From C64-Wiki
(Redirected from direct mode)
Jump to navigationJump to search
Stub This article is very short and not very detailed. Please help to improve it.

The direct mode or input mode of the C64 allows interactive input of C64 commands which will be immediately executed or -if not starting with a line number- will be stored as part of a BASIC program kept in RAM. The screen's editor capability to use the full screen as editing area is one of the most appreciated functions of this mode.

The screen editing function makes it possible to create pictures out of PETSCII characters (greatly supported by pictograms on the keyboard caps). To make this task easier there are tools and applications like a screen mask generator (known as PETSCII editor) for comfortable handling, typically for general editing, saving, and loading such pictures.

The direct mode can be regarded as a command line interface (CLI, similar to what is called a shell in other environments) based on BASIC's syntax which allows to interactively launch actions like loading, running and saving of programs and managing programs on storage devices, usually on datasette or floppy disk drive (see also the C64 commands LOAD, SAVE, LIST, RUN and SYS).

On the other hand any input line starting with numbers is regarded as program line which is collected to form a BASIC program that can be listed, edited again and run later on.

A couple of BASIC commands can't be used in the direct mode (mostly caused by their limited or missing usability): DEF, INPUT, INPUT#, GET, GET#. If you try to actually use this BASIC commands the BASIC error message ?ILLEGAL DIRECT ERROR appears.

Some BASIC commands can be actually used in direct mode, but they are of nearly no use whatsoever in this context:

  • STOP does actually nothing, an eventually called CONT refers always to the the last STOP called in program context or it depends on the state from the last RUN,
  • DATA has also no effect, is ignored,
  • READ and RESTORE both will always takes effect only on DATA lines from a program.